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.