=Paper= {{Paper |id=Vol-1717/paper7 |storemode=property |title=Approaching Collaborative Modeling as an Uncertainty Reduction Process |pdfUrl=https://ceur-ws.org/Vol-1717/paper7.pdf |volume=Vol-1717 |authors=Romina Eramo,Alfonso Pierantonio,Gianni Rosa |dblpUrl=https://dblp.org/rec/conf/models/EramoPR16 }} ==Approaching Collaborative Modeling as an Uncertainty Reduction Process== https://ceur-ws.org/Vol-1717/paper7.pdf
                            Approaching Collaborative Modeling
                            as an Uncertainty Reduction Process

                   Romina Eramo                             Alfonso Pierantonio                          Gianni Rosa
                 Università degli Studi                       Università degli Studi                 Università degli Studi
                   dell’Aquila, Italy                           dell’Aquila, Italy                     dell’Aquila, Italy
             romina.eramo@univaq.it                    alfonso.pierantonio@univaq.it               gianni.rosa@univaq.it


ABSTRACT                                                                    cope with versioned models, and having infrastructures to storage
Model-Driven Engineering (MDE) technologies aim to support the              and manage large models.
growing complexity of software systems. Models are increasingly                When projects and teams are large, modeling activity requires
becoming large and unmanageable, and hence difficult to be under-           designers to divide their models in smaller partitions and work on
stood by humans and processed by machines. As a consequence,                them in a collaborative manner. In a typical scenario, multiple
multi-user environments are necessary to enable designers to cre-           developers work on the same model in multiple branches, where
ate and refine large models in a collaborative manner enabling the          each developer (or sub team) may initialize a repository branch
engineering, modularization and reuse.                                      and make modifications to this model; thus, versions grow rapidly.
   In this paper, we propose a model-driven approach to represent,          Traditional text based version control systems (e.g., SVN, Git) al-
manage and manipulate models edited in a collaborative manner. In           low programmers to write code by locking a portion of work or
particular, we propose to represent the solutions space (i.e, model         to edit code collaboratively; in this case, programmers tend to fre-
versions) in an intensional manner by adopting a model with uncer-          quently perform merge operations involving different versions of
tainty. We define a plan to manage the uncertainty by selecting the         the same textual artifacts. Conversely, in software design, that is
desired design, to manipulate their collaborative models in manu-           a complex and non-linear process, decisions are made at different
ally or automatic way, and to exploit a collaborative environment           development stages and obtaining the merged version early could
for real time multi-user editing. The approach is showed by means           not be desired. In fact, sometimes designers have not the complete,
of a motivating example that involves business models demonstrat-           consistent and accurate information required to make a decision
ing the advantages of the proposed approach.                                at design-time (or when the conflict occurs), that can be regarded
                                                                            as a source of uncertainty [24]. For instance, they could perform
                                                                            some analysis or wait for different view models before to be able to
Keywords                                                                    choose the best strategy. In these cases, they could be interested in
Model-Driven Engineering, Collaborative Modeling, Uncertainty               postponing the version merging and continuing to operate on their
                                                                            model versions separately.

1.    INTRODUCTION
Complex software systems demand for both effective and specific
approaches to keep under control the increasing software function-
alities, heterogeneity, team sizes and geographical distribution of
the developers. The growing maturity of Model-Driven Engineer-
ing (MDE) [27] technologies is leading industry to take advantage
of their benefits in terms of productivity, quality and reuse [22, 7].              Figure 1: The Check Application (CA) sub-process
However, applying MDE in this setting requires research effort in
order to achieve industry-scale tools.
                                                                               In this paper, we propose a model-driven approach to represent
    As observed in [19], scalability is a critical concern for the indus-
                                                                            and manage models edited in a collaborative manner by leverag-
trial adoption of MDE. Large-scale tools have to cope with different
                                                                            ing uncertainty to a first-class status. To this end, we propose a
topics; among many, creating and refining large models in a collab-
                                                                            metamodel-independent approach to represent the solutions space
orative manner, working with model fragments obtained from par-
                                                                            (i.e, multiple versions) in a compact and intensional manner by
titions of large models, enabling the engineering, modularization
                                                                            adopting a model with uncertainty. We define a plan to manage
and reuse of models and fragments, having transformation tools to
                                                                            the uncertainty by selecting the desired design, to manipulate their
                                                                            collaborative models in manually or automatic way, and to exploit a
                                                                            collaborative environment for real time multi-user editing and han-
                                                                            dling of models. The technique is applied to a running example
                                                                            that involves business process models in the domain of Public Ad-
                                                                            ministrations (PAs) demonstrating the advantages of the proposed
                                                                            approach.
                                                                            Structure of the paper. The paper is organized as follows. Sec-
                                                                            tion 2 sets the context of the paper through a motivating example
                                                                            that is used throughout the paper to demonstrate the approach. In
                                           Figure 2: Parallel dependent changes in CA sub-process


Sect. 3 the model-driven approach to represent and manage collab-        process-driven learning and improvement of the process on a user-
orative models with uncertainty is presented and related challenges      friendly basis of wiki pages enriched with additional documenta-
are discussed. In Sect. 4, related works are presented and finally       tion for a clearer understanding of the process together with guid-
Sect. 5 draws some conclusions.                                          ance based on formalized models. The specification of business
                                                                         processes is usually done by means of standard notations like BPMN
                                                                         2.0 [23] and concerns a sequence of activities that the adminis-
2.    MOTIVATING EXAMPLE                                                 tration executes in order to produce a service for the end user.
As aforesaid, the management of large models raises not obvious          Typically, it starts with i) receiving of some input (i.e. request,
issues mainly related to the collaborative use of models. In order to    documentation), then ii) performing activities that add value (i.e.,
illustrate our proposal, we consider a motivating example that takes     checks) using resources (i.e., humans, structures), and finally iii)
place in the public administrations (PAs) sector.                        producing an output.
   In modern society, the role of PAs is undergoing a transformation        For instance, Fig. 1 depicts a sub-process of a standard process,
from controller to proactive service provider. In most cases, the        called Titolo Unico, where a citizen makes a request to municipality
provisioning of services is a collaborative activity shared among        and third parties in order to obtain the permission to start a business
different, possibly many, organizations that are in general quite        activity according to the Italian law. Specifically, in the sub-process
interrelated. In order to provide efficient services to citizens and     Check Application (CA) the employee in charge checks the received
companies, public servants have to manage extremely complex pro-         documents and verifies their validity. After that, the valid requests
cesses and a large amount of information due to changes in law and       are sent to third party in PA in order to undergo the final verification
regulations, societal globalization and fast technology evolution.       and eventually to be accepted.
   In this context, the Learn PAd1 project [8] aims at developing a         Models in PA are constantly updated and shared among different
social, collaborative and holistic e-learning platform that enables      organizations, thus public servants daily deal with a large amount
                                                                         of data and a multitude of model versions, that is tedious and error-
1
  Model-Based Social Learning for Public Administrations is part         prone. In order to better understand the context, let us to consider
of the program FP7-ICT-2013.8.2 Technology-enhanced learning.            the following scenario of collaborative modeling in PAs. Figure 2
The project started on Feb 1, 2014 and terminate on Jul 31, 2016
with a cost of e3,535,000. For further detail please refer to http:      depicts a scenario in which some modelers work collaboratively on
//www.learnpad.eu                                                        the model in Fig. 1, that is considered as initial model. Then, it
                                                       Figure 3: The overall architecture


is extended, refactored and splitted in a set of versions, so that the     management.
changes are parallel dependent causing conflict issues.
   Let us to suppose that, Modeler A and Modeler B are two em-             3.      A MODEL-DRIVEN APPROACH TO
ployees of the same organization and they are working together
in a collaborative manner. Both of them consider the sub-process                   COLLABORATIVE MODELING
Check Application (CA) depicted in Fig. 1 from the Learn PAd               In collaborative modeling, decisions may be made at different de-
repository. The Modeler A is an expert of PAs procedures and               velopment stages requiring the designers to work with their model
adds to the initial model a BPMN element of type Lane, named               versions as long as uncertainty can be solved and a merged version
Municipal Desk, in order to establish the unit responsible for the         can be obtained. In order to reduce the burden of managing a mul-
activity and improve the process execution (see Fig. 2(a)). Then,          titude of model alternatives, we present a metamodel-independent
an expert of the BPMN language, called Modeler B, modifies the             approach able to represent and manage uncertainty in collaborative
model and adds a pair of Inclusive Gateway to logically sepa-              modeling based on a revised basis in [24].
rate the existing message flows between Application valid and                 During the modeling, the same model is edited by multiple users.
Application not valid, as showed in Fig. 2(b).                             Changes introduced by modelers are maintained as alternative el-
   In meanwhile, an other organization decides to re-use models            ements in the model producing uncertainty. During the manage-
stored in the Learn PAd repository. In particular, as depicted in          ment, modelers increasingly reduce (until resolve) such uncertainty
Fig. 2(c), the Modeler C acquires the model in Fig. 2(a) and re-           by choosing among the alternatives. In particular, at each step, the
names the lane Municipal desk into District Desk; in this                  modeler selects the desired alternative (i.e., making a model ele-
way, the responsibility of the activities is given to a different orga-    ment in the solution space as certain), so that the uncertainty is
nizational unit.                                                           gradually resolved by considering choices and dependencies. Note
   Finally, as shown in Fig. 2(d), in a third organization, the Modeler    that, the two phases are not necessarily consecutive, in fact, at any
D performs same changes on the model in Fig. 2(b) in order to              time a modeler may decide to manipulate or manage the model or
improve the quality of the business process. In particular, the el-        a part of it.
ement First Integration Check of type Task is modified in                     The overall architecture of the approach is depicted in Fig. 3.
Integration Check of type SubProcess in order to modeling a                The Metamodel generation is realized by means of a model-to-
more complex process that includes a set of activities.                    model transformation written in ATL2 , called M M 2U M M . It
   Let us to suppose that, modelers continue to work on the model          takes as input a metamodel M M conforms to Ecore3 and gener-
and at a later time each organization requires to merge the modelers       ate the correspondent metamodel with uncertainty U M M . At this
versions and obtain the proper organization version.                       point, modelers may specify their collaborative models with un-
   In this scenario, the same model is modified by different organi-       certainty conform to U M M (see the U M model in the Modeling
zations and for each of them one or more modelers worked on it.            box). An U M model is semantically equivalent to a set of mod-
Furthermore, for the scope of the Learn PAd repository, models and         els {M1 ..Mn } conform to M M (i.e., all the candidate solution
their versions has to be maintained and traced, so that further orga-      models represented in U M ). The component Management allows
nizations can access and re-use it. For these reasons, it is crucial       modelers to select the desired solution models by means of two
to have a comprehensive model representation that enable the in-           operations: F ilter and Concr. The F ilter operation allows to
formation tracing and the management of different model versions           select elements in the solution space parametrically. It is based on
in an automatic manner. The scope of this paper is to represent the        an ATL model-to-model transformation; it takes as input the U M
multitude of generated models into a model with uncertainty capa-          2
ble of encoding all the alternatives in one instance and allowing the          ATL Transformation Language: https://eclipse.org/atl/
                                                                           3
                                                                               EMF Ecore: http://www.eclipse.org/modeling/emf/
                     (a)                                                                 (b)
                                            Figure 4: The Uncertainty Metamodel (UMM) Structure


model and a parameter (represented by a model P M conforms to                         UC and multiplicity 0..* enabling to nest uncertainty
the metamodel P M M ), and outcomes another model conforms to                         points; the attribute uType of type OperatorType for
U M M . In particular, the model U M is filtered by the transforma-                   specifying the logical operator connecting the alterna-
tion, so that the generated model U M1 is semantically equivalent                     tives; the association user of type UUser with multi-
to a subset of the models {M1 ..Mn } according to the parameter ex-                   plicity 1..* for specifying the authors;
pressed in P M . The Concr operation allows to select the desired
final model conforms to M M ; it takes as input the U M model and            The aforementioned procedure is implemented as an endogenous
outcomes all the solution space, i.e. a set of models conforms to         model-to-model transformation implemented in ATL.
M M . The overall architecture has been implemented within the               The main advantage of such representation technique is that the
Eclipse Modelling Framework (EMF)4 5 .                                    uncertainty represented by a set of alternative models is leveraged
                                                                          to a first-class status. Hence, a complete set of models can therefore
3.1     Uncertainty metamodel                                             be manipulated as whole, for instance with an automated transfor-
The uncertainty metamodel U M M is obtained by extending a base           mation (as done for instance in [16]), without iterating over each
metamodel M M with specific connectives able to represent mul-            individual in the set.
tiple alternatives asisen from collaborative modeling. These con-         3.2    Models with uncertainty
nectives denote the points of uncertainty where model elements be-
longing to a certain version are attached. Moreover, such points of          According to the scenario described Sect. 2, we assume that
uncertainty are traceable in order to permit the identification of spe-   in PAs, modelers are interested to specify complex processes by
cific merge strategies. The approach is metamodel independent, in         means of the standard notation BPMN and to exploit the Learn PAd
fact its construction is realized by means of a model transformation      repository where models are constantly updated and shared among
and applies to any Ecore metamodel [14].                                  different organizations.
   The uncertainty metamodel U M M structure is depicted in Fig. 4.          Let us considering the BPMN 2.0 6 language as mentioned in
As in the left-hand side of the figure, the metamodel is composed         the motivating example in Sect. 2. The language specification sup-
of two packages, the Base package that contains the elements of           ports different modeling conformance levels (e.g., process model-
the base metamodel and the Uncertainty package that contains the          ing, process execution, etc.) that makes it as rich and complex. For
elements that extend the base metamodel in order to allow the spec-       the sake of understanding and brevity, we provide a restricted ver-
ification of points of uncertainty.                                       sion of the BPMN 2.0 metamodel that concerns the process model-
   In particular, the uncertainty metamodel U M M is generated ex-        ing conformance level and allows us to specify processes at a cer-
tending the base metamodel as following:                                  tain abstraction level and to model the running example discussed
                                                                          in Sect. 2. Starting from the simplified version of the BPMN meta-
    1) the metaclass User with attribute username that specifies          model, the correspondent uncertainty metamodel UBPMN is ob-
       the author making the editing is added;                            tained as illustrated in the previous section 7 .
                                                                             At this point, modelers may specify their models with uncer-
    2) the metaclass OperatorType that enumerates the logical op-         tainty. In particualr, by using the proposed approach, the model
       erator literals AND, OR and XOR is added;                          in Fig. 2 can be represented by means of the model with uncer-
                                                                          tainty depicted in Fig. 5. The sub process Check Application
    3) for each parent class C in base metamodel, such that it does       is composed of a common part shared among all the modelers
       not specialize other metaclasses:                                  (that is the lane Third Party PA) and an uncertain part in which
       4.1) a corresponding abstract metaclass IC is created such         model elements are independently modified by the four model-
            that C specializes IC. Such interface allows to choose        ers. In particular, the point of uncertainty of type ULane includes
            among a certain element or an uncertain one.                  the nested uncertainty point Municipal Desk edited by Modeler
                                                                          A, Modeler B and Modeler D, and the nested uncertainty point
       4.2) a metaclass UC that extends IC is added. It specifies an      District Desk edited by the Modeler C. Each uncertainty point
            association alternatives of type C and multiplicity           is composed of a set of elements that are in common to the model-
            1..* that relates the alternative elements to the uncer-      ers and nested uncertainty points that group the modeler’s modifi-
            tainty point of type C; an association upoints of type        6
                                                                            For reason of readability, we omit the description of the language.
4
  EMF Modelling Framework: http://www.eclipse.org/modeling/emf/           The interested reader may refer to the OMG specification [23].
5                                                                         7
  The implementation is available at http://jtl.di.univaq.it/               The implementation is available at http://jtl.di.univaq.it/
cations. For instance, the uncertainty point edited by the Modeler       the element named First Document Check of type Task, in line
B and Modeler D is composed of common elements such as Start             16).
Event, Send Instance to Thirdy Part, etc., and a set of nested           1 [...]
uncertainty points, for instance the nested uncertainty point edited     2 
by the Modeler B include the sequence flow P12FirstIntegra-              3 
                                                                         4 
tionCheck, the task First Integration Check, etc.                        5 
                                                                         6 [...]
                                                                         7 
                                                                         8 
                                                                         9 
                                                                        10     
                                                                        11       
                                                                        12         
                                                                        13         [...]
                                                                        14         
                                                                        15            
                                                                        16              
                                                                        17              [...]
                                                                        18            
                                                                        19         
                                                                        20         [...]
                                                                        21     
                                                                        22       
                                                                        23       [...]
                                                                        24 
                                                                        25 
                                                                        26 [...]
                                                                               Listing 1: A fragment of a model conforms to UBPMN

                                                                         3.3    Interoperability between models
                                                                         The proposed approach allows to use models with uncertainty in
                                                                         order to represent design alternatives in collaborative models. The
                                                                         approach aims to respond to the need for techniques indeed to the
                                                                         engineering, modularization and reuse of large models and com-
                                                                         plex modelling enabling their flexible combination.
                                                                            As said, modelers edits their modification on the model with un-
                                                                         certainty that semantically correspond to a set of models conform
                                                                         to the base matamodel (solution space); then alternatives has to be
                                                                         selected and/or merged in order to obtain the desired (final) model
                                                                         version. Dependencies and conflicts in models cause issues related
              Figure 5: The CA sub-process in Fig. 2                     to consistency checking that has to be tackled.
                                                                            However, a number of operation may be needed to give the de-
                                                                         signer a more effective support and to achieve a complete interoper-
   Models with uncertainty may over-approximate the solution space       ability between the base and the uncertainty metamodels, as shown
because of their combinatorial nature [24]. For instance, the sce-       in the next section.
nario in Fig. 2 suggests that only one lane for the same activity can
exist in the final model. However, the generated model with un-          3.4    Management of models with uncertainty
certainty could admit also models with both the lanes giving place       Once the uncertainty metamodel U M M is generated and model-
to more solutions than those expected. Therefore, this outcome is        ers start to edit the model U M conforms to it in a collaborative
avoided by using logical operators that allowing modelers to con-        manner, it is important to achieve the mean to manage the arising
strain and restrict the solutions to the ones depicted in the Fig. 2.    uncertainty. As said, multiple editing generates multiple alterna-
   Listing 1 shows a fragment of the model with uncertainty rep-         tives; modelers may iteratively reduce the uncertainty by selecting
resenting the alternative solution models generated by the collab-       the desired alternatives in a parametric manner and finally, when
orative modeling in Fig. 2. It is given in its XMI 8 format. In          the uncertainty is totally resolved, the final model representing the
particular, the LaneSet is composed of a model element of type           desired design model is obtained. Note that the modeler may inten-
Lane named Third Party PA (line 8) and an uncertainty point              tionally manage a sub-set of uncertainty points and postpone the
of type ULane (line 9). The latter contains two nested uncertainty       complete resolution.
points: the lane Municipal Desk (line 11) edited by the users               To this end, we provide an operation called f ilter that permits to
Modeler A, Modeler B and Modeler D, and the lane District                the modelers to reduce the uncertainty according to a given prop-
Desk (line 22) edited by the users Modeler C. Each uncertainty           erty. In particular, the f ilter operation is a mapping defined as
point is composed of its alternative elements and/or other nested        following:
uncertainty points. For instance, Municipal Desk contains the
element of type StartEvent (line 12) and the uncertainty point                             filter : P × U M M → U M M
edited from Modeler A with a set of alternative elements (such as
                                                                            that for any model with uncertainty U M ∈ U M M and a param-
8
    http://www.omg.org/spec/XMI/                                         eter p defined over the metamodel M M returns a model U M 0 ∈
U M M where the uncertainty is reduced according to p (i.e., the
solution models that not satisfying a given property are removed).
   The operation is implemented by means of a model-to-model
transformation called F ilter written in ATL. As said, it takes as
input the U M model and a parameter (represented by a model P M
conforms to the metamodel P M M ), and outcomes a model U M1
conforms to U M M , that is filtered according to P M . In particular,
the generated model U M1 is included in U M , that is semantically
equivalent to a subset of the models {M1 ..Mn } according to the
parameter expressed in the model P M .
   When the uncertainty is solved, the outcome is a final model
without uncertainty (i.e., concretization model). Along with an in-
cremental management, we provide to the designer the possibility
to directly select one or more (or all as well) concretization models.
   The concretization operator is defined in order to return the whole             Figure 6: A possible resolution of the model in Fig. 5
set of the concretizations represented in a model with uncertainty.
More formally, such operator concr is a mapping defined for any
base metamodel M M :                                                      modeler is still working on a versioned artifact, she may delay the
                                                                          application of model transformations until the information needed
                       concr : U M M → M M                                to perform the merge becomes available, or make premature reso-
   which takes an arbitrary model with uncertainty U M ∈ U M M            lutions of the existing versions in order to apply the model trans-
and returns its k concretizations hM1 · · · Mk i ∈ M M . By entan-        formations, thus creating a risk that these resolutions are incorrect.
gling the uncertainty with the specialized metamodel construction         With our approach, modelers may resolve the uncertainty by con-
U M M , it is of crucial relevance to be able to retrieve the con-        sidering only one version of model, otherwise they may decide to
cretizations as instances of their base metamodel. As one can ex-         postpone the resolution, so they they need to be supported in their
pect, the reasons why this is important can be numerous including         operations (e.g., model transformations should be applied on mod-
the necessity to keep on exploiting, utilizing, and capitalizing on       els with uncertainty [16]). To this reason, we aim to provide a
existing tools.                                                           technique to adapt existing model transformations so that they can
   For instance, the uncertainty of the model in Fig. 5 can be solved     be applied to models even if they contain uncertainty [11].
in this way: i) the versions of the Modeler A and the Modeler                Furthermore, by means of our approach modelers can therefore
B are merged together in order to obtain a final model of the first       easily grasp the differences among candidate models and consis-
organization, ii) the versions of the Modeler C is selected to ob-        tently make their decision without manually inspecting each model
tain a final model of the second organization, iii) the versions of the   individually.
Modeler D is selected to obtain a final model of the third organi-
zation, and iv) a new version is selected by a modeler of a different
                                                                          3.6       Modelling system
organization.                                                                Our approach requires to be integrated on a collaborative model-
   Let us suppose that the modeler’s of the first organization need       ing platform that supports multi user in real time and large models
to solve the uncertainty and obtain a final model, thus the F ilter       (of the scale of millions of model elements) paying attention to ef-
transformation is applied as in the following:                            ficiency and performance.
                                                                             The existing model versioning systems are mainly designed as
      - the modeler selects the task First Integration Check              version control systems (VCS), such as CVS or SVN. They sup-
        belongs to the uncertainty point edited by the Modeler B.         port the long transaction model that assume that designers perform
        Such parameter is given as input of the transformation; since     commit of large part of the work with respect to a certain previous
        the uncertainty point is involved in a logical operation AND      version [19]. These systems are asynchronous and provide merg-
        all the elements in the uncertainty point are taken as certain    ing features and mechanisms able to automatically detect and solve
        part of the final model;                                          conflicts by means of primitives like push, pull, commit and merge.
                                                                             A modeling system supporting our approach has to be able to
      - the modeler selects the parallel gateway P1 belongs to the un-
                                                                          deal with models with uncertainty and to allow multi-users to col-
        certainty point edited by Modeler B and Modeler D. Since
                                                                          laboratively work with their models in a way that the uncertainty
        the uncertainty point is involved in a logical operation AND
                                                                          is transparent. The architecture is designed to support both offline
        both the elements Start2P1 and P1 are taken as certain and
                                                                          and online collaboration in a multi-user and multi-device environ-
        the second point of uncertainty is solved; finally
                                                                          ment, and to provide a model access layer (transaction manage-
      - the lane Municipal Desk is selected and the last uncer-           ment, queries, views and manipulation), and an adaptation layer
        tainty point is solved.                                           for the integration of access control and authentication (these may
                                                                          be provided by additional middleware such as the web server that
  The final model is depicted in Fig. 6.                                  hosts the actual communication between server and client). The
3.5      Manipulation of models with uncertainty                          environment will be implemented as an Eclipse Plugin embedded
                                                                          in the EMF framework9 .
In this work, we aim to support designers in specifying collabora-           Let us to consider that modelers have access to a repository that
tive models and perform operation on them; for instance, designers        provide different organizations to store and manage their models
may need to performs operations of model transformation on ver-           (as in the example in Sect. 2). Thus, modelers need to: i) visualize
sioned models.                                                            the repository and select the desired model by exploit a standard no-
   Model transformation techniques typically operate under the as-
                                                                          9
sumption that models do not contain uncertainty. Actually, when a             https://eclipse.org/modeling/emf/
tation of feature diagrams [10], and ii) edit their artifact by means   a model versioning framework for EMF able to deal with conflict
of an XMI editor and/or a visual editor embedded in the EMF envi-       management.
ronment. Going in more details, when the designer select a model,          They provides a still immature means for collaborative work
the concr operation extract the specific model from the model with      and locking and conflict management [20]; they are more closely
uncertainty. Whereas, when modifications are made from a mod-           aligned with version control system such as CSV and SVN and im-
elers and the push operation is performed, the system as to conse-      plemented within EMF Eclipse. Moreover, they do not fulfill the
quently update the model with uncertainty (i.e., changes are added      need to have a flexible and scalable framework able to work in-
as alternatives within uncertainty points).                             dependently from the specific domain-specific language or ad-hoc
                                                                        architecture.
4.    RELATED WORK
Uncertainty is ubiquitous within contexts such as requirements en-      5.   CONCLUSION
gineering [12], software processes [18] and adaptive systems [26].      MDE is now practiced in industry, and on very large complex sys-
Uncertainty management has been studied in many works, often            tems engineering projects and problems. From this arises the need
with the intention to express and represent it in models. In [15],      to enable designers to create and refine large models in a collabo-
partial models are introduced in order to let the designer specify      rative manner enabling the engineering, modularization and reuse.
uncertain information by means of a base model enriched with an-           In this paper, we proposed to deal with the uncertainty arisen
notations and first-order logic. In [25] a formal approach called       from the collaborative editing of models by means of a metamodel-
MAVO is proposed and applied to design models in order to ex-           independent approach able to represent models with uncertainty.
press and allow automated reasoning in presence of uncertainty.         Furthermore, we proposed to manage the uncertainty by means
In [24], an approach to manage the uncertainty generated as the         of two kinds of operations to reduce or resolve the uncertainty.
outcome of a non-deterministic model transformation is proposed.        We plan to realize a model transformation approach able to deal
The JTL bidirectional transformation engine [9] is revised to ac-       with model with uncertainty (i.e., model with uncertainty are in-
commodate a intensional semantics, that permits a transformation        put and/or output of the transformation engine). Finally, we plan
to natively generate a model with uncertainty instead of a myriad       to integrate our approach in a collaborative environment for real
of models. In particular, a model with uncertainty provides a com-      time multi-user editing. We aim to extend the framework to help
pact representation of the solution space for the sake of usability     the modelers to make decisions among proposed design versions.
and effectiveness. Model transformation techniques typically op-        The versions are initially partitioned, constrained, abstracted, and
erate under the assumption that models do not contain uncertainty.      graphically visualized to the user. Then, when decisions are made,
Nevertheless, the work in [16] proposes a technique for adapting        they are stored and used to drive subsequent decisions.
existing model transformations in order to deal with models con-
taining uncertainty. In [11], the authors propose a bidirectional
model transformation framework to cover incomplete transforma-          6.   ACKNOWLEDGMENT
tions producing a multitude of possible solutions to consistency        This research was supported by the EU through the Model-Based
restoration. This multitude is managed in an intentional manner via     Social Learning for Public Administrations (Learn Pad) FP7 project
models with built-in uncertainty (as proposed in [24]) and allows to    (619583).
these to be included as input in a model transformation process.
   Feature models are a popular formalism for managing variability
in software product lines. In this context, the Familiar project [4]    7.   REFERENCES
provides an executable language that supports manipulating and           [1] The AMOR project. Adaptible model versioning project
reasoning about feature models and fully integrated modeling tool.           website. 2009. http://modelversioning.org.
   Despite a number of works have been proposed to cope with             [2] Eclipse Modeling Team rFamework proposal. 2011.
large and complex software systems, a new line of research is im-            http://www.eclipse.org/proposals/mtf/.
perative in order to achieve scalability across the MDE technical        [3] EMFStore project. 2011. http://eclipse.org/emfstore.
space and to enable MDE to remain relevant [20]. Among the ex-
                                                                         [4] FAMILIAR (for FeAture Model scrIpt Language for
isting approaches that aim to cope with different topics concerning
                                                                             manIpulation and Automatic Reasoning). 2011.
scalability, such as modeling languages, transformations, collab-
                                                                             http://familiar-project.github.io/.
orative modeling, persistence and so on, we consider the follow-
ings as most related to our work. In [17] the authors aim at pro-        [5] Connected Data Objects model repository (CDO) project.
viding compositional technology and techniques for a language-               2012. http://eclipse.org/cdo.
independent model modularization. In particular, they proposed           [6] K. Altmanninger, G. Kappel, A. Kusel, W. Retschitzegger,
a way of extending modeling languages with component capabil-                M. Seidl, W. Schwinger, and M. Wimmer. Amor–towards
ities. The implementation is based on EMF Eclipse. However,                  adaptable model versioning. In 1st International Workshop
the work does not consider issues related to consistency preserving          on Model Co-Evolution and Consistency Management, in
when models are interconnected.                                              conjunction with MODELS, volume 8, pages 4–50, 2008.
   The state of the art in collaborative modeling includes several       [7] P. Baker, S. Loh, and F. Weil. Procs of MoDELS 2005,
prototype attempts of collaborative systems that are more closely            chapter Model-Driven Engineering in a Large Industrial
aligned with version control systems (VCS), such as CVS or SVN               Context – Motorola Case Study, pages 476–491. 2005.
[21, 6, 1, 2]. Recently, the Eclipse collaborative modeling commu-       [8] A. Bertolino. Model-Based Social Learning for Public
nity proposed some convergent approaches. The Eclipse Modeling               Administrations (Learn PAd). EU-FP7 project. Description
Framework Connected Data Objects (CDO) [5] is a model reposi-                of Work, 2014.
tory for EMF models supporting version management. EMF Com-              [9] A. Cicchetti, D. Di Ruscio, R. Eramo, and A. Pierantonio.
pare [13] is a model comparison, differencing and merging tool               JTL: a bidirectional and change propagating transformation
often used in combination with traditional VCS. EMFStore [3] is              language. In SLE10, pages 183–202, 2010.
[10] K. Czarnecki, S. Helsen, and U. Eisenecker. Staged
     configuration using feature models. In International
     Conference on Software Product Lines, pages 266–283.
     Springer, 2004.
[11] Z. Diskin, R. Eramo, A. Pierantonio, and K. Czarnecki.
     Incorporating uncertainty into bidirectional model
     transformations and their delta-lens formalization. In Procs
     of the Bx 2016 Workshop, co-located with ETAPS 2016,
     pages 15–31, 2016.
[12] C. Ebert and J. D. Man. Requirements uncertainty:
     influencing factors and concrete improvements. In Procs. of
     ICSE, pages 553–560. ACM Press, 2005.
[13] Eclipse Foundation. EMF Compare. 2010.
     http://www.eclipse.org/modeling/emft/?project=compare.
[14] R. Eramo, A. Pierantonio, and G. Rosa. Uncertainty in
     bidirectional transformations. In Procs. of MiSE 2014, 2014.
[15] M. Famelis, R. Salay, and M. Chechik. Partial models:
     Towards modeling and reasoning with uncertainty. In ICSE,
     pages 573–583, 2012.
[16] M. Famelis, R. Salay, A. D. Sandro, and M. Chechik.
     Transformation of models containing uncertainty. In
     MoDELS’13, pages 673–689, 2013.
[17] F. Heidenreich, J. Henriksson, J. Johannes, and S. Zschaler.
     Transactions on Aspect-Oriented Software Development VI,
     chapter On Language-Independent Model Modularisation,
     pages 39–82. 2009.
[18] H. Ibrahim, B. H. Far, A. Eberlein, and Y. Daradkeh.
     Uncertainty management in software engineering: Past,
     present, and future. In CCECE, pages 7–12. IEEE, 2009.
[19] D. S. Kolovos, R. F. Paige, and F. Polack. The grand
     challenge of scalability for model driven engineering. In
     Models in Software Engineering, Workshops and Symposia
     at MODELS 2008, pages 48–53, 2008.
[20] D. S. Kolovos, L. M. Rose, N. D. Matragkas, R. F. Paige,
     E. Guerra, J. S. Cuadrado, J. de Lara, I. Ráth, D. Varró,
     M. Tisi, and J. Cabot. A research roadmap towards achieving
     scalability in model driven engineering. In Procs of BigMDE
     2013, page 2, 2013.
[21] G. Kramler, G. Kappel, T. Reiter, E. Kapsammer,
     W. Retschitzegger, and W. Schwinger. Towards a semantic
     infrastructure supporting model-based tool integration. In
     Procs of GaMMa 2006, pages 43–46. ACM, 2006.
[22] P. Mohagheghi, M. A. Fernandez, J. A. Martell,
     M. Fritzsche, and W. Gilani. Models in Software
     Engineering: Workshops and Symposia at MODELS 2008,
     chapter MDE Adoption in Industry: Challenges and Success
     Criteria, pages 54–59. 2009.
[23] B. P. M. OMG. Notation (BPMN) 2.0. Object Management
     Group: Needham, MA, 2494:34, 2011.
[24] G. R. Romina Eramo, Alfonso Pierantonio. Managing
     uncertainty in bidirectional model transformations. In SLE
     2015, 2015.
[25] R. Salay, M. Chechik, J. Horkoff, and A. D. Sandro.
     Managing requirements uncertainty with partial models.
     Requir. Eng., 18(2):107–128, 2013.
[26] P. Sawyer, N. Bencomo, J. Whittle, E. Letier, and
     A. Finkelstein. Requirements-aware systems: A research
     agenda for re for self-adaptive systems. In RE, pages 95–103.
     IEEE, 2010.
[27] D. Schmidt. Guest Editor’s Introduction: Model-Driven
     Engineering. Computer, 39(2):25–31, 2006.