Semantics for Accurate Conflict Detection in SMoVer: Specification, Detection and Presentation by Example

Semantics for Accurate Conflict Detection in SMoVer: Specification, Detection and Presentation by Example

Kerstin Altmanninger, Wieland Schwinger, Gabriele Kotsis
DOI: 10.4018/978-1-4666-1761-2.ch020
(Individual Chapters)
No Current Special Offers


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 increasing variety of modeling environments and languages such tools should be independent of the modeling environment and applicable to various modeling languages. Those VCS characteristics may implicate a lack of information for the conflict detection method by virtue of firstly receiving solely the state of an artifact without concrete editing operations and secondly due to unavailable knowledge about the semantics of a modeling language. However, in optimistic VCSs concurrent changes can result in conflicts and inconsistencies. In environment and language independent VCSs inconsistencies would even arise more often due to information losses. Hence, accurate conflict detection methods are indispensable for the realization of such VCSs. To tackle this task, the “Semantically enhanced Model Version Control System” SMoVer is presented. With SMoVer it is possible to specify the semantics of a modeling language, needed for conflict detection in order to provide more accurate conflict reports than other current environment and language independent VCSs. In this work, it is exemplified how semantics of a specific modeling language can be specified in SMoVer, how those specifications can improve the accuracy of conflict reports and finally how those can be presented to modelers.
Chapter Preview


The shift from code-centric to model-centric software development places models as first class artifacts in Model-Driven Engineering (MDE). A major prerequisite for the wide acceptance of MDE are proper methods and tools which are available for traditional software development, such as build tools, test frameworks or Version Control Systems (VCSs). Considering the latter, VCSs are particularly essential to enable collaborative editing and sharing of model artifacts like UML, ER or Domain Specific Modeling Language (DSML) models.

Different systems use different strategies to provide collaborative editing. With the utilization of pessimistic VCSs, modelers can work on the same set of model artifacts. Parallel editing of the same artifact is prevented by locking. Optimistic VCSs instead are crucial when the development process proceeds in parallel. Those systems enable each modeler to work on a personal copy of a model artifact, which may result in conflicting modifications. Such conflicting modifications need to be resolved and finally merged by appropriate techniques for model comparison, conflict detection, conflict resolution and merging.

Generic VCSs like CVS (2008) or Subversion (Tigris, 2008) are not applicable to model artifacts since they apply text-based comparison in a line-based manner and therefore cannot provide adequate conflict reports. To preserve the logical structure of model artifacts graph-based techniques need to be utilized instead.

Most current optimistic, graph-based VCSs for model artifacts are bounded to a specific modeling environment, e.g., the IBM Rational Software Architect (2008) also known as RSA. Such environment specific VCSs are therefore not widely applicable. Hence, modelers can not utilize the modeling environment of preference but need to use the one for which version control functionalities are provided and the whole model development team is using. So-called environment independent VCSs, like Odyssey-VCS (Murta et al., 2008), instead, are preferable. Such systems allow modelers to use their modeling environment of preference for editing their model versions which leads to a better acceptance of the VCS.

In view of the fact that MDE is not only about UML and in the light of a growing number of DSMLs, VCSs which are solely applicable on specific modeling languages are often not usable. For example, if modelers evolve models for different application areas they might require to employ different modeling languages, for each application area the most appropriate one. To allow parallel editing in a team of the artifacts under development, language specific modeling environments with included version control functionalities can be utilized in some cases. Beside the drawbacks as already mentioned, for many modeling language no language specific VCS exists. Hence, often generic VCSs like Subversion (Tigris, 2008) are utilized. Examples for modeling language specific VCS approaches which provide solely versioning capabilities for e.g., UML models are Cicchetti and Rossini (2007), Oda and Saeki (2005) and RSA (2008). Therefore, the number of supported modeling languages of a VCS is an important characteristic. A modeling language independent (e.g., MOF-based) VCS like Odyssey-VCS (Murta et al., 2008) is desirable. Thus, the utilization of an environment and language independent VCS is of interest for modelers since they can choose their preferred modeling environment for editing model artifacts and furthermore can use the VCS for a number of modeling languages and different application areas.

Complete Chapter List

Search this Book: