ABSTRACT
In this paper we consider two major concerns in the process of comparing two models -- representation and calculation of model differences.
Based on previous work, we adopt a set of requirements which a difference representation should satisfy in order to be seamlessly used in Model Driven Engineering environments. Given these requirements, we represent model differences by means of a differences model, which conforms to a differences metamodel. We show that the traditional meta-modeling approaches, which conform to the four-layered meta-modeling architecture, lack means for the specification of differences metamodels which fully satisfy the specified requirements. Consequently, we specify a metametamodel which offers a different view on the traditional metamodeling approaches and we use it to define the differences metamodel which fully satisfies the specified requirements.
Traditional approaches to difference calculation consider models as trees, and use the structure provided by these trees to guide the calculation process. The calculation algorithms used in those approaches are based on matching elements in one model to elements in another model by using one of the following four types of matching: static-identity, signature-based, similarity-based, and language-specific. We adopt the same philosophy, but unlike the traditional approaches which have a fixed calculation algorithm and a fixed matching type, we provide a calculation algorithm that is highly configurable and is designed such that all four traditional types of matching can be used together.
As a proof-of-concept we have implemented a tool which allows representation, calculation, and visualization of model differences.
- Ecore. download.eclipse.org/modeling/emf/emf/javadoc/2.5.0/org/eclipse/emf/ecore/package-summary.html#details (Viewed June 2010).Google Scholar
- Generic modelling enviroment. www.isis.vanderbilt.edu/projects/gme (Viewed June 2010).Google Scholar
- Metamodel-assisted model comparison tool. www.win.tue.nl/~zprotic/mctool.html (Viewed June 2010).Google Scholar
- Metaobject facility. www.omg.org/mof (Viewed June 2010).Google Scholar
- M. Alanen and I. Porres. Difference and union of models. TUCS Technical Report No 527, TUCS Turku Centre for Computer Science, 2003.Google Scholar
- S. Arya, D. M. Mount, N. S. Netanyahu, R. Silverman, and A. Y. Wu. An optimal algorithm for approximate nearest neighbor searching fixed dimensions. J. ACM, 45(6):891--923, 1998. Google ScholarDigital Library
- S. S. Chawathe, A. Rajaraman, H. Garcia-Molina, and J. Widom. Change detection in hierarchically structured information. In SIGMOD '96: Proceedings of the 1996 ACM SIGMOD International Conference on Management of data, pages 493--504, New York, NY, USA, 1996. ACM. Google ScholarDigital Library
- A. Cicchetti. Difference Representation and Conflict Management in Model-Driven Engineering. PhD thesis, Universita' degli Studi dell'Aquila, 2007.Google Scholar
- A. Cicchetti, D. Di Ruscio, and A. Pierantonio. A metamodel independent approach to difference representation. Journal of Object Technology, pages 165--185, 2007.Google ScholarCross Ref
- J. H. Friedman, J. L. Bentley, and R. A. Finkel. An algorithm for finding best matches in logarithmic expected time. ACM Trans. Math. Softw., 3(3):209--226, 1977. Google ScholarDigital Library
- A. Henrich, H. W. Six, and P. Widmayer. The lsd tree: spatial access to multidimensional and non-point objects. In VLDB '89: Proceedings of the 15th international conference on Very large data bases, pages 45--53, San Francisco, CA, USA, 1989. Morgan Kaufmann Publishers Inc. Google ScholarDigital Library
- J. E. Hopcroft and R. M. Karp. An n5/2 algorithm for maximum matchings in bipartite graphs. SIAM J. Comput., 2(4):225--231, 1973.Google ScholarDigital Library
- U. Kelter, J. Wehren, and J. Niere. A generic difference algorithm for uml models. In P. Liggesmeyer, K. Pohl, and M. Goedicke, editors, Software Engineering 2005, volume 64 of LNI, pages 105--116. GI, 2005.Google Scholar
- D. S. Kolovos. Establishing correspondences between models with the epsilon comparison language. In ECMDA-FA '09: Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications, pages 146--157, Berlin, Heidelberg, 2009. Springer-Verlag. Google ScholarDigital Library
- D. S. Kolovos, D. Di Ruscio, A. Pierantonio, and R. F. Paige. Different models for model matching: An analysis of approaches to support model differencing. ICSE Workshop on Comparison and Versioning of Software Models, pages 1--6, 2009. Google ScholarDigital Library
- P. Konemann. Model-independent differences. In Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models (CVSM '09), pages 37--42, Washington, DC, USA, 2009. IEEE Computer Society. Google ScholarDigital Library
- Y. Lin, J. Gray, and F. Jouault. DSMDiff: a differentiation tool for domain-specific models. European Journal of Information Systems, 16(4):349--361, August 2007.Google ScholarCross Ref
- S. Liu and E. Tanaka. On the editing distance between unordered labeled trees. In Electronics and Communications in Japan, pages 1358--1371. Scripta Technica, Inc., 1996.Google Scholar
- C. Treude, S. Berlik, S. Wenzel, and U. Kelter. Difference computation of large models. In ESEC-FSE '07: Proc. of the the 6th joint meeting of the ESEC and the ACM SIGSOFT symposium on The FSE, pages 295--304, New York, NY, USA, 2007. ACM. Google ScholarDigital Library
- M. van den Brand, Z. Protić, and T. Verhoeff. Generic tool for visualization of model differences. Accepted to IWMCP 2010. Google ScholarDigital Library
- K. Zhang, R. Statman, and D. Shasha. On the editing distance between unordered labeled trees. Inf. Process. Lett., 42(3):133--139, 1992. Google ScholarDigital Library
- S. Zschaler, D. S. Kolovos, N. Drivalos, R. F. Paige, and A. Rashid. Domain-specific metamodelling languages for software language engineering. In SLE '09: Proceedings of the international conference on software language engineering, pages 334--353. Springer Berlin / Heidelberg, 2009. Google ScholarDigital Library
Index Terms
- Fine-grained metamodel-assisted model comparison
Recommendations
Metamodel specialization for graphical modeling language support
MODELS '16: Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and SystemsMost of current modeling languages are based on graphical diagrams. The concrete graphical syntax of these languages typically is defined informally -- by text and diagram examples. Only recently, starting from UML 2.5, a formalism is offered for ...
Metamodel specialization for graphical language support
Most of current modeling languages are based on graphical diagrams. The concrete graphical syntax of these languages typically is defined informally--by text and diagram examples. Only recently, starting from UML 2.5, a formalism is offered for defining ...
Developing model transformation tools using the UML metamodel: challenges and solutions
SEA '07: Proceedings of the 11th IASTED International Conference on Software Engineering and ApplicationsModel transformation tools often work at the meta-model level by manipulating instances of metamodel constructs. In our work on enabling automatic test case generation from UML diagrams, we built a tool that converts a sequence diagram to a graph ...
Comments