A Survey of Model Comparison Strategies and Techniques in Model Driven Engineering

This survey paper shows the recent state of model comparison as it’s applies to Model Driven engineering. In Model Driven Engineering to calculate the difference between the models is a very important and challenging task. There are number of tasks involved in model differencing that firstly starts with identifying and matching the elements of the model. In this paper, we discuss how model matching is accomplished, the strategies, techniques and the types of the model. We also discuss the future direction. We found out that many of the latest model comparison strategies are geared near enabling Meta model and similarity based matching. Therefore model versioning is the most dominant application of the model comparison. Recently to work on comparison for versioning has begun to deteriorate, giving way to different applications. Ultimately there is wide change among the tools in the measure of client exertion needed to perform model comparisons, as some require more push to encourage more sweeping statement and expressive force.




References:
[1] D., Paige, Kolovos, R., and Polack, F. (2006). Model comparison: a
foundation for model composition and model transformation testing. In
IWGIMM, pages 13–20
[2] Pierantonio and Brun, A. (2008). Model differences in the Eclipse
modelling framework. The European Journal for the Informatics
Professional, pages 29–34.
[3] K., Seidl, Altmanninge, and Wimmer, M. (2009). A survey on model
versioning approaches. International Journal of Web Information
Systems, 5(3):pages271–304.
[4] Alanen, M. and Porres, I. (2003). Difference and union of
models.Springer-Verlag Berlin Heidelberg 2003: pages 2–17.
[5] Koschke, R. (2006). Survey of research on software clones. Information
and Software Technology 55 (2013),pages:1165–1199
[6] Cordy, Roy, C., J., and Koschke, R. (2009). Comparison and evaluation
of code clone detection techniques and tools: A qualitative approach.
Science of Computer Program-Ming, 74(7):pages:470–495
[7] Deissenboeck, F., Hummel, B., Jürgen’s, E., Schatz, B., Wagner, S.,
Girard, J., and Teuchert, S. (2009). Clone detection in automotive
model-based development. In ICSE: pages 603–612.
[8] Deissenboeck, F., Hummel, B., Juergens, E., Pfaehler, M., and Schaetz,
B. (2010). Model clone detection in practice. In IWSC, pages 57–64.
[9] Ohst, D., Welle, M., and Kelter, U. (2003). Differences be-tween
versions of UML diagrams. ACM SIGSOFT Soft-ware Engineering
Notes, 28(5), pages: 227–236.
[10] Dirk Ohst, Michael Welle and UdoKelter,September 1–5,
2003,Differences between Versions of UML Diagrams, IN
ESEC/FSE’03:pages:1-10
[11] Selonen, P. and Kettunen, M. (2007).Met model-based inference of
inter-model correspondence. In ECSMR: Pages 71–80.
[12] Oliveira, H., Murta, L., and Werner, C. (2005). Odyssey-vcs: a flexible
version control system for UML model elements. In SCM:pages 1–16.
[13] Brun, C. and Pierantonio, A. (2008). Model differences in the Eclipse
modeling framework. The European Journal for the Informatics
Professional: pages 29–34.
[14] Farail, P., Gaufillet, P., Canals, A., Le Camus, C., Sciamma, D., Michel,
P., Cregut, X., and Pantel, M. (2006). The top cased project: a toolkit in
open source for critical aeronautic systems design. ERTS: pages 1–8,
electronic.
[15] Clavel, M., Duran, F., Eker, S., Lincoln, P., Marti-Oliet, N., Meseguer,
J., and Quesada, J. (2002). Maude: specification and programming in
rewriting logic. Theoretical Computer Science, 285(2): pages: 187–243.
[16] M. Alanen and I. Porres. Difference and Union of Models. In UML
2003 - The Unified Modeling Language, Springer-Verlag, 2003, volume
2863 of LNCS, pages 2–17.
[17] P. Farail, P. Gaufillet, A. Canals, C. L. Camus, D. Sciamma, P. Michel,
X. Crgut, and M. Pantel. AFIS 2006 Conference, The TOPCASED
project: a Toolkit in Open source for Critical Aeronautic Systems
Designpages:1-6
[18] In ERTS06, 2006.Sabrina Fortsch and Bernhard Westfechtel.
Differencing and merging of software diagrams - state of the art and
challenges. In ICSOFT (SE), pages 90-99.
[19] B. Collins-Sussman, B. Fitzpatrick, and C. Pilato. Inc., 2004, Version
Control with Subversion. For Subversion 1.1. O’Reilly & Associates,
pages:1-299
[20] R. Reddy, R. France, S. Ghosh, F. Fleurey, and B. Baudry. 2005, Model
composition a signature-based approach. In AOM Workshop:pages:1-7
[21] Raghu Reddy, Robert France, Sudipto Ghosh, Franck Fleurey, and
Benoit Baudry. October 2005, Model composition - a signature-based
approach. In Aspect Oriented Modeling,pages:1-7
[22] Z. Xing and E. Stroulia. 2005, UMLDiff: an algorithm for objectoriented
design differencing. In ASE’05. ACM: pages 54–65
[23] S. Nejati, M. Sabetzadeh, M. Chechik, S. Easterbrook, and P. Zave.
Matching and merging, AT&T Laboratories–Research: pages:1-10
[24] Lindholm, T., Kangasharju, J., Tarkoma, (2006), Fast and simple xml
tree differencing by sequence alignment. In: DocEng '06, ACM
pages:75-84
[25] Treude, C., Berlik, S., Wenzel, S., Kelter, (2007), Difference
computation of large models. In: ESEC-FSE '07, ACM pages:295-304
[26] Antonio, Cicchetti, Davide, Di Ruscio, Ludovico Iovino, Alfonso
Pieantonio (2011). Managing the evolution of data intensive web
application by model driven teachniques,Springer-Verlag,pages:1-31
[27] Ali Fatolahi, Stéphane S. Some. (2014), Assessing a Model-Driven
Web-Application Engineering Approach. Journal of Software
Engineering and Applications, pages:360-370
[28] M. Alanen and I. Porres. Difference and Union of Models. In UML 2003
- The Unified Modeling Language, volume 2863 of LNCS, Springer-
Verlag: pages 2–17.
[29] Yuehua Lin, Jeff Gray & Frédéric Jouault DSMDiff: a differentiation
tool for domain-specific models,pages:1-30
[30] Cédric Brun, Obeo France.(2008) Comparing and Merging Models with
Eclipse An update on EMF Compare.pages:1-36
[31] Nejati, M. Sabetzadeh, M. Chechik, S. Easterbrook, and P. Zave (2007),
Matching and merging of state charts specifications. IEEE Computer
Society: pages 54–64
[32] Pontisso, N.; French Space Agency, Toulouse; Chemouil, D.
TOPCASED Combining Formal Methods with Model-Driven
Engineering: pages1-12.
[33] Xing and Eleni Stroulia (2005), UMLDiff: An Algorithm for Object-
Oriented Design Differencing Zhenchang.ACM, pages:54-65.
[34] R. Reddy, R. France, S. Ghosh, F. Fleurey, and B. Baudry. (2005)
Model composition - a signature-based approach.AOM,pages:1-7.
[35] Kolovos, (2009). Establishing correspondences between models with the
epsilon comparison language. In Model Driven Architecture-
Foundations and Applications, pages 146–157.
[36] Lin, Y., Gray, J., and Jouault, F. (2007). DSMDiff: a differentiation tool
for domain-specific models. European Journal of Information Systems,
pages: 349–361.
[37] Kolovos, D., Di Ruscio, D., Pierantonio, A., and Paige, R. (2009).
Different models for model matching: An analysis of approaches to
support model differencing. In CVSM: pages 1–6.
[38] Mehra, A., Grundy, J., and Hosking, J. (2005). A generic approach to
supporting diagram differencing and merging for collaborative design.
In ASE, pages: 204–213.
[39] Nguyen, T. (2006). A novel structure-oriented difference approach for
software artifacts. In CSAC, volume 1, pages: 197–204.
[40] Van den Brand, M., Protic, Z., and Verhoeff, T. (2010). Generic tool for
visualization of model differences. In IWMCP, pages: 66–75.
[41] Gheyi, R., Massoni, T., and Borba, P. (2005). An abstract equivalence
notion for object models. Electronic Notes in Theoretical Computer
Science, pages:3–21.
[42] Maoz, S., Ringert, J., and Rumpe, B. (2011). A manifesto for semantic
model differencing. In ICMSE, MOD-ELS’10, pages: 194–203.
[43] Henry Chesbroug, JIM Spohrer A Research manifesto for Services
sciences. In Communication of the ACM, July 2006, vol 49, pages: 35-
40.
[44] Chen, J. and Cui, H. (2004). Translation from adapted UML to promela
for corba-based applications. Model Checking Software, pages: 234–
251.
[45] Latella, D., Majzik, I., and Massink, M. (1999). Automatic verification
of a behavioural subset of UML state chart diagrams using the SPIN
model-checker. Formal Aspects of Computing, pages: 637–664.
[46] Lilius, J. and Paltor, I. (1999). Formalising UML state ma-chines for
model checking. UML, pages: 430–444.
[47] Stevens, P. (2009). A simple game-theoretic approach to checkonlyqvt
relations. Theory and Practice of Model Transformations, pages:165–
180.
[48] Deissenboeck, F., Hummel, B., Jurgens, E., Schatz, B., Wagner, S.,
Girard, J., and Teuchert, S. (2009). Clone detection in automotive
model-based development. In ICSE, pages:603–612.
[49] Pham, N., Nguyen, H., Nguyen, T., Al-Kofahi, J., and Nguyen, T.
(2009). Complete and accurate clone detection in graph-based models.
In ICSE, pages: 276–286.
[50] Deissenboeck, F., Hummel, B., Juergens, E., Pfaehler, M., and Schaetz,
B. (2010). Model clone detection in park-tice. In IWSC, pages:57–64.
[51] Al-Batran, B., Schatz, B., and Hummel, B. (2011). Seman-tic clone
detection for model-based development of embedded systems. Model
Driven Engineering Languages and Systems, pages: 258–272.
[52] Alalfi, M. H., Cordy, J. R., Dean, T. R., Stephan, M., and Stevenson, A.
(2012). Models are code too: Near-miss clone detection for Simulink
models. In ICSM, volume 12.pages:1-10
[53] Liu, H., Ma, Z., Zhang, L., and Shao, W. (2007). Detecting duplications
in sequence diagrams based on suffix trees. In APSEC, pages:269–276.
[54] Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., and Zave, P.
(2007). Matching and merging of state charts specifications. In ICSE,
pages:54–64. [55] Rho, J. and Wu, C. (1998). An efficient version model of software
diagrams. In APSEC, pages:236–243.
[56] Xing, Z. and Stroulia, E. (2005). UMLDiff: an algorithm for objectoriented
design differencing. In ASE, pages:54–65.
[57] Girschick, M. (2006). Difference detection and visualization in UML
class diagrams. Technical University of Darmstadt Technical Report
TUD-CS-2006-5, pages: 1– 15.
[58] Barrett, S., Butler, G., and Chalin, P. (2010). Mirador: a synthesis of
model matching strategies. In IWMCP, pages:2–10.
[59] Reddy, R., France, R., Ghosh, S., Fleurey, F., and Baudry, B. (2005).
Model Composition - A Signature-Based Approach.pages:1-7
[60] Elrad, T., Aldawud, O., and Bader, A. (2002). Aspect-oriented
modeling: Bridging the gap between implementation and design. In
Generative Programming and Component Engineering, pages: 189–201.
[61] Berardi, D., Calvanese, D., and De Giacomo, G. (2005). Reasoning on
UML class diagrams. Artificial Intelli-gence, pages:70–118.
[62] Maoz, S., Ringert, J., and Rumpe, B. (2011). Cd2alloy: Class diagrams
analysis using alloy revisited. Model Driven Engineering Languages and
Systems, pages: 592– 607.
[63] Chawathe, S., Rajaraman, A., Garcia-Molina, H., and Widom, J. (1996).
Change detection in hierarchically structured information. In ICMD,
pages: 493–504.
[64] Kelter, U., Wehren, J., and Niere, J. (2005). A generic difference
algorithm for UML models. Software Engineering, pages:105–116.
[65] Altmanninger, K., Kappel, G., Kusel, A., Retschitzegger, W., Seidl, M.,
Schwinger, W., and Wimmer, M. (2008). AMOR-towards adaptable
model versioning. In MCCM, volume 8, pages: 4–50.
[66] Chen, P., Critchlow, M., Garg, A., Van der Westhuizen, C., and van der
Hoek, A. (2004). Differencing and merging within an evolving product
line architecture. PFE, pages: 269–281.
[67] Rubin, J. and Chechik, M. (2012). Combining related products into
product lines. In 15th International Conference on Fundamental
Approaches to Software Engineering,pages:1-15
[68] Soto, M. and Munch, J. (2006). Process model difference analysis for
supporting process evolution. Software Process Improvement, pages:
123–134.
[69] Soto, M. (2007). Delta-p: Model comparison using seman-tic web
standards. Softwaretechnik-Trends, pages:27–31.
[70] Dijkman, R., Dumas, M., Van Dongen, B., Karik, R., and Mendling, J.
(2011). Similarity of business process models: Metrics and evaluation.
Information Systems, pages:498–516.
[71] Stephan, M., Alafi, M., Stevenson, A., and Cordy, J. (2012).Towards
qualitative comparison of simulink model clone detection approaches. In
IWSC, pages:84–85.