Models in Conflict - A Semantically Enhanced Version Control System for Models
نویسنده
چکیده
For a widespread success of the model-driven paradigm, appropriate tools such as “Version Control Systems” (VCS) are required to adequately support a model-based development process. First attempts to model-based versioning, however, perform conflict detection mainly on basis of a syntactic representation of models without exploiting their semantics. Consequently, in this paper the approach towards a semantically enhanced VCS is presented which enables for semantic conflict detection allowing not only a more precise conflict detection but also the determination of a conflict’s reason, which can simplify the merge process. This is achieved by introducing the concept of semantic views which explicate a certain aspect of a modeling language’s semantics relevant for conflict detection. 1 Motivation The shift from code-centric to model-centric software development places models as first class entities in “Model-driven Development” (MDD) processes. “Version Control Systems” (VCS) are essential when the development process proceeds in parallel. In case the employed modeling tools are not tightly coupled to the VCS, certain approaches that rely on pessimistic methods (e.g., locking) or tracking model modifications (e.g., operation-based mechanisms) are not applicable. Instead a loosely-coupled and optimistic VCS has to be provided which operates in a state-based manner [1]. 2 Problem The challenges emerging when realizing a loosely coupled, optimistic and statebased VCS span from model comparison over conflict detection and conflict resolution to model merging [2, 3]. First, model comparison should not rely on textor tree based VCS [4–6] since they do not take the logical structure of models into account which is required for effective model comparison. Hence existing graph-based approaches have to be employed. Second, conflict detection ? This work has been partly funded by the Austrian Federal Ministry of Transport, Innovation and Technology (BMVIT) and FFG under grant FIT-IT-810806. 2 Kerstin Altmanninger does not only need to consider the syntactical structure of models but should also “understand” the models semantics to be able to properly identify conflicts. But, full formal specifications of the semantics [7] underlying a model are not feasible since only certain aspects are relevant to support the process of conflict detection. Third, conflict resolution requires appropriate identification of the reasons of conflicts especially when going beyond just supporting syntactical conflict detection. Model merging, finally, must produce one consistent new model which can be facilitated by model transformations. 3 Approach In the light of the aforementioned challenges, a semantically enhanced, graphbased VCS for models is proposed. As the core mechanism for representing certain aspects of the model’s semantic so-called “views of interest” are introduced with which syntactic sugar can be eliminated and hidden concepts can be made explicit. The basis of the approach is the metamodel which describes the syntax of the models which have to be versioned. Additionally, to be able to provide semantic conflict detection a metamodel representing a certain view of interest has to be defined. On basis of those metamodels a transformation can be specified such that the rules of a model transformation relate the elements of the metamodel (abstract syntax) to which the original model conforms to and the elements of the metamodel representing the definition of the view of interest. As a consequence of the transformation realizing a semantic mapping, conflict detection can be carried out on both, model and semantic view. Conflicts that are determined purely upon the comparison of two versions of a model are syntactical conflicts whereas a semantic conflict is detected between the representations of such a model’s versions in a semantic view. The actual finding of conflicts in both the original model and the view works analogous to the graph-based detection of structural conflicts in existing VCS like [8–11]. Accordingly, four possible combinations of scenarios that can occur when a model’s semantic views are incorporated into conflict detection can be identified. Fig. 1 depicts a simplified “Business Process Execution Language” (BPEL) example. The metamodel contains Activities which are either contained ordered in a Sequence or are explicitly connected to another preceding Activity by a Link. The metamodel of a concrete semantic view defined upon BPEL eliminates the “syntactic sugar” of Sequence expressing everything in terms of Activity and Link. The model transformation between those metamodels can then be executed on concrete models to create the necessary semantic view on the working copies during the 3-way-conflict detection process. Fig. 1 also shows examples for the four possible combinations of scenarios (A−D) during conflict detection between three model versions (the last revision in the repository V and the two model versions V ′ and V ′′ edited by model developers). Preceding work in this area [1] concentrates on different conflict detection strategies and states OCL expressions for the identification of conflict sets. Models in Conflict 3 No Semantic Conflict Semantic Conflict Metamodel
منابع مشابه
Semantically Enhanced Conflict Detection between Model Versions in SMoVer by Example
For widespread success of the model-driven paradigm, appropriate tools such as Version Control Systems allowing for consistency maintenance between concurrently edited model versions are required to adequately support a model-based development process. Initial attempts for graph-based versioning of model artifacts, however, perform conflict detection mainly on basis of the models’ syntax withou...
متن کاملTowards Accurate Conflict Detection in a VCS for Model Artifacts: A Comparison of Two Semantically Enhanced Approaches
In collaborative software development the utilization of Version Control Systems (VCSs) is a must. For this important task some graph-based VCSs for model artifacts already emerged. Optimistic approaches, which are nowadays the designated ones, allow parallel editing of one resource and therefore changes can result in conflicts and inconsistencies. To be flexible for the ever increasing variety...
متن کاملDetecting Semantic Equivalence in UML Class Diagrams
When developing a system in Model-driven Engineering (MDE), developers change the same diagram in parallel. These changes generate different versions that may conflict. Conflicts can be syntactic, related to the structure of the diagram, or semantic, related to the meaning of the diagram. The detection of semantic conflicts in diagrams should take into consideration both the syntax and semantic...
متن کاملSemantics for Accurate Conflict Detection in SMoVer: Specification, Detection and Presentation by Example
In collaborative software development, the utilization of Version Control Systems (VCSs) is a must. For this, a multitude of pessimistic as well as optimistic VCSs for model artifacts emerged. Pessimistic approaches follow the lock-edit-unlock paradigm whereas optimistic approaches allow parallel editing of one resource, which are therefore the preferred ones. To be flexible for the ever increa...
متن کاملA Modified Empirical Path Loss Model for 4G LTE Network in Lagos, Nigeria
The quality of signal at a particular location is essential to determine the performance of mobile system. The problem of poor network in Lagos, Nigeria needs to be addressed especially now that the attention is toward online learning and meetings. Existing empirical Path Loss (PL) models designed elsewhere are not appropriate for predicting the 4G Long-Term Evolution (LTE) signal in Nigeria. T...
متن کامل