Developing Collaborative Modeling Systems Following a Model-Driven Engineering Approach
Proceedings of the OTM Confederated International Workshops and Posters on On the Move to Meaningful Internet Systems 2008 Workshops ADI AWeSoMe COMBEK EI2N IWSSA MONET OnToContent QSI ORM PerSys RDDS SEMELS and SWWS (2008)
Available from www.springerlink.com
or
Page 1
Developing Collaborative Modeling Systems Following a Model-Driven Engineering Approach
R. Meersman, Z. Tari, and P. Herrero (Eds.): OTM 2008 Workshops, LNCS 5333, pp. 442–451, 2008.
© Springer-Verlag Berlin Heidelberg 2008
Developing Collaborative Modeling Systems Following a
Model-Driven Engineering Approach
Jesús Gallardo, Crescencio Bravo, and Miguel Á. Redondo
Universidad de Castilla-La Mancha, Departamento de Tecnologías y Sistemas de Información,
Escuela Superior de Informática
Paseo de la Universidad 4, 13071 Ciudad Real, Spain
{Jesus.Gallardo,Crescencio.Bravo,Miguel.Redondo}@uclm.es
Abstract. Collaborative modeling systems are useful and promising tools for
many tasks. However, they are difficult to build and are domain-specific. In re-
sponse to this situation, we propose a model-driven process for the development
of this kind of systems. This process is based on the use of some ontologies
which characterize the concepts used in a software architecture to support col-
laborative modeling systems. These ontologies, from which the meta-models
used in the generation process are derived, are explained in detail. In order to
emphasize the utility of the proposal, an example of how the concepts in the on-
tologies are instantiated in a specific system, SPACE-DESIGN, is shown. It is
also explained how by means of this approach it is possible to obtain recon-
figurable systems, even at a level of application domain, by means of the use of
model specifications and transformations.
1 Introduction and Motivation
Groupware systems are an emergent field of Software Engineering that is gaining im-
portance with time. The new necessities of communication and collaborative work re-
quire new types of software [1]. Aspects like awareness, synchronization and shared
workspaces are new concepts that groupware introduces. Moreover, groupware is
more difficult to design and evaluate than non-collaborative applications because so-
cial protocols and group activities must be taken into account [2]. So, groupware de-
velopment needs specific techniques that consider the aforementioned particularities
of this type of software.
In this article, we approach these difficulties by proposing a model-driven engineer-
ing approach for the construction of groupware. We focus on a specific type of group-
ware, which is called general-purpose modeling systems. In these systems, several
users typically interact for the construction of a design or artifact, working on a shared
space according to the whiteboard metaphor. This design is built according to a speci-
fication of a goal or task. With this approach, the use of techniques of software engi-
neering such as meta-modeling is very useful. By means of meta-modeling, we define
the structure of the models that the users will build using the system. As we want the
structure to vary according to the domain of design, at the greatest level of abstraction
we define an ontology that makes up the architectural model of the system. Starting
© Springer-Verlag Berlin Heidelberg 2008
Developing Collaborative Modeling Systems Following a
Model-Driven Engineering Approach
Jesús Gallardo, Crescencio Bravo, and Miguel Á. Redondo
Universidad de Castilla-La Mancha, Departamento de Tecnologías y Sistemas de Información,
Escuela Superior de Informática
Paseo de la Universidad 4, 13071 Ciudad Real, Spain
{Jesus.Gallardo,Crescencio.Bravo,Miguel.Redondo}@uclm.es
Abstract. Collaborative modeling systems are useful and promising tools for
many tasks. However, they are difficult to build and are domain-specific. In re-
sponse to this situation, we propose a model-driven process for the development
of this kind of systems. This process is based on the use of some ontologies
which characterize the concepts used in a software architecture to support col-
laborative modeling systems. These ontologies, from which the meta-models
used in the generation process are derived, are explained in detail. In order to
emphasize the utility of the proposal, an example of how the concepts in the on-
tologies are instantiated in a specific system, SPACE-DESIGN, is shown. It is
also explained how by means of this approach it is possible to obtain recon-
figurable systems, even at a level of application domain, by means of the use of
model specifications and transformations.
1 Introduction and Motivation
Groupware systems are an emergent field of Software Engineering that is gaining im-
portance with time. The new necessities of communication and collaborative work re-
quire new types of software [1]. Aspects like awareness, synchronization and shared
workspaces are new concepts that groupware introduces. Moreover, groupware is
more difficult to design and evaluate than non-collaborative applications because so-
cial protocols and group activities must be taken into account [2]. So, groupware de-
velopment needs specific techniques that consider the aforementioned particularities
of this type of software.
In this article, we approach these difficulties by proposing a model-driven engineer-
ing approach for the construction of groupware. We focus on a specific type of group-
ware, which is called general-purpose modeling systems. In these systems, several
users typically interact for the construction of a design or artifact, working on a shared
space according to the whiteboard metaphor. This design is built according to a speci-
fication of a goal or task. With this approach, the use of techniques of software engi-
neering such as meta-modeling is very useful. By means of meta-modeling, we define
the structure of the models that the users will build using the system. As we want the
structure to vary according to the domain of design, at the greatest level of abstraction
we define an ontology that makes up the architectural model of the system. Starting
Page 2
Developing Collaborative Modeling Systems 443
from this ontology, the meta-models that will be used during the process are derived.
These meta-models will be the basis for building the models that characterize a specific
tool [3].
The particularity of these systems with respect to other modeling systems is that
the design to make is not restricted to a specific domain, that is to say, the system will
be able to deal with diverse scopes of design [4] defined by means of a configuration
process. This way, our approach avoids the problems of having to re-design the sys-
tem for each new domain of design. Our meta-modeling approach is going to over-
come this and is going to allow us to work with the same system for different
domains. Let us think for example about a company of software development that
wants their employees to discuss simultaneously on a flow chart and on a class dia-
gram. With our approach, it could be done using the same system, adapting it on each
occasion to each specific domain.
This article continues by presenting the foundations of collaborative modeling sys-
tems and in particular domain-independent systems. In the third section we explain
the concepts identified in the process of meta-modeling. The following section de-
scribes an ontological approach to the concepts. Next, we apply our proposal to a case
study. Finally, in section 5, we discuss the conclusions drawn and the future work.
2 Domain Independence in Groupware Systems
Within groupware systems, in this work we focus on distributed synchronous systems,
and within them, on the particular type of domain-independent modeling systems. The
first characteristic of these systems is that their purpose is the development of a model
made up by a set of objects and relationships among them. Typically, that model will
be built as an answer to a specific goal.
This way, the usual procedure implies that users work on a shared workspace, in
which they develop the model in a collaborative way. To achieve this, users partici-
pate in design sessions in which they make use of a set of domain objects, predefined
objects and relationships that they can locate on this shared workspace. Thus, this
situation can refer to a group work activity, if the problem is a real situation to solve
in the scope of a company or institution, as well as to an e-learning system, if a learn-
ing method based on problem solving is followed.
The second basic characteristic of the kind of systems to be developed is that they
are independent of the domain considered. At this point, we can define domain as a
certain syntax and semantics that we use to construct our models. Thus, in our sys-
tems, the domain over which the model is developed is not fixed, but it can be defined
by the user by means of suitable authoring tools.
These systems are going to present some very characteristic problems. Examples of
these are the materialization of the shared workspaces, the policies of floor control or
turn taking, the processes of coordination and communication, the definition of the
domains, etc. In order to show the aforementioned characteristics, some examples of
systems related to the approach adopted will now be discussed.
Cool Modes [5] is a cooperative modeling system in which several users work to-
gether in order to design a model or artifact. It includes a shared workspace that
adopts the metaphor of the electronic whiteboard, in addition to a set of plug-ins that
from this ontology, the meta-models that will be used during the process are derived.
These meta-models will be the basis for building the models that characterize a specific
tool [3].
The particularity of these systems with respect to other modeling systems is that
the design to make is not restricted to a specific domain, that is to say, the system will
be able to deal with diverse scopes of design [4] defined by means of a configuration
process. This way, our approach avoids the problems of having to re-design the sys-
tem for each new domain of design. Our meta-modeling approach is going to over-
come this and is going to allow us to work with the same system for different
domains. Let us think for example about a company of software development that
wants their employees to discuss simultaneously on a flow chart and on a class dia-
gram. With our approach, it could be done using the same system, adapting it on each
occasion to each specific domain.
This article continues by presenting the foundations of collaborative modeling sys-
tems and in particular domain-independent systems. In the third section we explain
the concepts identified in the process of meta-modeling. The following section de-
scribes an ontological approach to the concepts. Next, we apply our proposal to a case
study. Finally, in section 5, we discuss the conclusions drawn and the future work.
2 Domain Independence in Groupware Systems
Within groupware systems, in this work we focus on distributed synchronous systems,
and within them, on the particular type of domain-independent modeling systems. The
first characteristic of these systems is that their purpose is the development of a model
made up by a set of objects and relationships among them. Typically, that model will
be built as an answer to a specific goal.
This way, the usual procedure implies that users work on a shared workspace, in
which they develop the model in a collaborative way. To achieve this, users partici-
pate in design sessions in which they make use of a set of domain objects, predefined
objects and relationships that they can locate on this shared workspace. Thus, this
situation can refer to a group work activity, if the problem is a real situation to solve
in the scope of a company or institution, as well as to an e-learning system, if a learn-
ing method based on problem solving is followed.
The second basic characteristic of the kind of systems to be developed is that they
are independent of the domain considered. At this point, we can define domain as a
certain syntax and semantics that we use to construct our models. Thus, in our sys-
tems, the domain over which the model is developed is not fixed, but it can be defined
by the user by means of suitable authoring tools.
These systems are going to present some very characteristic problems. Examples of
these are the materialization of the shared workspaces, the policies of floor control or
turn taking, the processes of coordination and communication, the definition of the
domains, etc. In order to show the aforementioned characteristics, some examples of
systems related to the approach adopted will now be discussed.
Cool Modes [5] is a cooperative modeling system in which several users work to-
gether in order to design a model or artifact. It includes a shared workspace that
adopts the metaphor of the electronic whiteboard, in addition to a set of plug-ins that
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime
Start using Mendeley in seconds!
Readership Statistics
3 Readers on Mendeley
by Discipline
by Academic Status
33% Doctoral Student
33% Ph.D. Student
33% Professor
by Country
33% Japan
33% Chile
33% Spain


