Abstract
Model differentiation techniques, which provide the capability to identify mappings and differences between models, are essential to many model development and management practices. There has been initial research toward model differentiation applied to Unified Modeling Language (UML) diagrams, but differentiation of domain-specific models has not been explored deeply in the modeling community. Traditional modeling practice using the UML relies on a single fixed general-purpose language (i.e., all UML diagrams conform to a single metamodel). In contrast, Domain-Specific Modeling (DSM) is an emerging model-driven paradigm in which multiple metamodels are used to define various modeling languages that represent the key concepts and abstractions for particular domains. Therefore, domain-specific models may conform to various metamodels, which requires model differentiation algorithms be metamodel-independent and able to apply to multiple domain-specific modeling languages. This paper presents metamodel-independent algorithms and associated tools for detecting mappings and differences between domain-specific models, with facilities for graphical visualization of the detected differences.
Similar content being viewed by others
Notes
Please note that this is not a serious limitation when compared to other differentiation methods. The large majority of differentiation techniques offer syntactic comparison only, especially those focused on detecting textual differences.
Because the actual color shown in the browser cannot be rendered in print, the figure has annotations that indicate the appropriate color.
References
Alanen M and Porres I (2003) Difference and union of models. In Proceedings of the Sixth International Conference on Unified Modeling Language (UML) LNCS 2863, pp 2–17, Springer-Verlag, San Francisco, California.
Budinsky F, Steinberg D, Merks E, Ellersick R and Grose T (2004) Eclipse Modeling Framework. Addison-Wesley, Redwood City, California.
Chawathe SS, Rajaraman A, Garcia-Mollina H and Widom J (1996) Change detection in hierarchically structured information. In Proceedings of SIGMOD International Conference on Management of Data pp 493–504, ACM Press, Montreal, Canada.
Cicchetti A, Di Ruscio D and Pierantonio A (2007) A metamodel-independent approach to difference representation. Journal of Object Technology (Special Issue from TOOLS Europe 2007), June 2007, 20 pages.
Eick SG, Steffen JL and Summer EE (2001) SeeSoft – a tool for visualizing line-oriented software statistics. IEEE Transactions on Software Engineering 18 (11), 957–968.
Gray J, Tolvanen JP, Kelly S, Gokhale A, Neema S and Sprinkle J (2007) Domain-specific modeling. In Handbook of Dynamic System Modeling (FISHWICK P, Ed.), Chapter 7, CRC Press, Boca Raton, Florida.
Hunt JW and Mcilroy MD (1975) An algorithm for differential file comparison computing Science Technical Report, No. 41, Bell Laboratories.
Khuller S and Raghavachari B (1996) Graph and network algorithms. ACM Computing Surveys 28 (1), 43–45.
Kurtev I, Bezivin J, Jouault F and Valduriez P (2006) Model-based DSL frameworks. In Companion of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) pp 602–616, Portland, Oregon.
Ledeczi Á, Bakay A, Maroti M, Volgyesi P, Nordstrom G, Sprinkle J and Kaisai G (2001) Composing domain-specific design environments. IEEE Computer 34 (11), 44–51.
Lin Y, Zhang J and Gray J (2005) A framework for testing model transformations. In Model-Driven Software Development (BEYDEDA S, BOOK M and GRUHN V, Eds), pp 219–236, Springer, Berlin, Germany.
MAGICDRAW (2007) Magic Draw UML, http://www.magicdraw.com/.
Mandelin D, Kimelman D and Yellin D (2006) A Bayesian approach to diagram matching with application to architectural models, In Proceedings of the 28th International Conference on Software Engineering (ICSE) pp 222–231, Shanghai, China.
Mehra A, Grundy J and Hosking J (2005) A generic approach to supporting diagram differencing and merging for collaborative design. In Proceedings of the 20th International Conference on Automated Software Engineering (ASE) pp 204–213, Long Beach, California.
METAEDIT+ (2007) MetaEdit+4.5 User's Guide, http://www.metacase.com.
Microsoft (2005) Visual Studio Launch: Domain-Specific Language (DSL) Tools: Visual Studio 2005 Team System, http://msdn.microsoft.com/vstudio/teamsystem/workshop/DSLTools.
Ohst D, Welle M and KELTER U (2003) Differences between versions of UML diagrams, In Proceedings of the European Software Engineering Conference/Foundations of Software Engineering pp 227–236, Helsinki, Finland.
ROSE (2007) IBM Rational Rose, http://www-306.ibm.com/software/awdtools/developer/rose/.
Sendall S and Kozaczynski W (2003) Model transformation – the heart and soul of model-driven software development. IEEE Software 20 (5), 42–45.
Wang Y, Dewitt DJ and Cai J (2003) X-Diff: an effective change detection algorithm for XML documents. In Proceedings of the 19th International Conference on Data Engineering pp 519–530, Bangalore, India.
Xing Z and Stroulia E (2005) UMLDiff: an algorithm for object-oriented design differencing. In Proceedings of the 20th International Conference on Automated Software Engineering (ASE) pp 54–65, Long Beach, California.
Acknowledgements
This work was supported in part by an NSF CAREER award (CCF-0643725).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Lin, Y., Gray, J. & Jouault, F. DSMDiff: a differentiation tool for domain-specific models. Eur J Inf Syst 16, 349–361 (2007). https://doi.org/10.1057/palgrave.ejis.3000685
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1057/palgrave.ejis.3000685