Abstract
The paradigm of model-based software development has become more and more popular since it promises an increase in the efficiency and quality of software development. Following this paradigm, models become primary artifacts in the software development process. Therefore, software quality and quality assurance frequently leads back to the quality and quality assurance of the involved models. In our approach, we propose a model quality assurance process that can be adapted to project-specific and domain-specific needs. This process is based on static model analysis using model metrics and model smells. Based on the outcome of the model analysis, appropriate model refactoring steps can be performed. In this paper, we present a tool environment conveniently supporting the proposed model quality assurance process. In particular, the presented tools support metrics reporting, smell detection, and refactoring for models being based on the Eclipse Modeling Framework, a widely used open source technology in model-based software development.
Similar content being viewed by others
Notes
In this article, we refer to UML2 being the standard EMF-based representation of UML2, i.e. org.eclipse.emf.uml2.uml.
References
Arendt, T.: A tool environment for quality assurance based on the Eclipse Modeling Framework: additional material. http://www.mathematik.uni-marburg.de/~arendt/mqa/ (2012). Accessed 29 Aug 2012
Arendt, T., Taentzer, G.: Integration of smells and refactorings within the Eclipse Modeling Framework. In: Proceedings of the 5th Workshop on Refactoring Tools Co-Located with ICSE 2012 (2012a). To appear in ACM Digital Library 2012
Arendt, T., Taentzer, G.: Composite refactorings for EMF Models. Technical report. http://www.uni-marburg.de/fb12/forschung/berichte/berichteinformtk (2012b). Accessed 29 Aug 2012
Arendt, T., Taentzer, G.: Besser modellieren: Qualitätssicherung von UML-Modellen. Objektspektrum 06 (2012c). http://www.sigs-datacom.de/fileadmin/user_upload/zeitschriften/os/2012/06/arendt_taentzer_OS_06_12_lo66.pdf
Arendt, T., Mantz, F., Schneider, L., Taentzer, G.: Model refactoring in Eclipse by LTK, EWL, and EMF refactor: a case study. In: Model-Driven Software Evolution, Workshop Models and Evolution (2009). http://www.modse.fr/modsemccm09/doku.php?id=Proceedings. Accessed 29 Aug 2012
Arendt, T., Mantz, F., Taentzer, G.: EMF refactor: specification and application of model refactorings within the Eclipse Modeling Framework. In: 9th Edition of BENEVOL Workshop (2010a). http://rmod.lille.inria.fr/benevol/pier. Accessed 29 Aug 2012
Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformation. In: Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems, MoDELS 2010. LNCS, pp. 121–135. Springer, Berlin (2010b)
Arendt, T., Kranz, S., Mantz, F., Regnat, N., Taentzer, G.: Towards syntactical model quality assurance in industrial software development: process definition and tool support. In: Software Engineering. LNI, vol. 183, pp. 63–74 (2011). GI
Barbier, G., Brunelière, H., Jouault, F., Lennon, Y., Madiot, F.: MoDisco, a model-driven platform to support real legacy modernization use cases. In: Information Systems Transformation: Architecture-Driven Modernization Case Studies, pp. 365–400. Morgan Kaufmann, San Mateo (2010)
Basili, V., Caldiera, G., Rombach, D.H.: The goal question metric approach. In: Marciniak, J. (ed.) Encyclopedia of Software Engineering. Wiley, New York (1994)
BIRT: BIRT Project. http://www.eclipse.org/birt/ (2012). Accessed 29 Aug 2012
Boger, M., Sturm, T., Fragemann, P.: Refactoring browser for UML. In: Aksit, M., Mezini, M., Unland, R. (eds.) Objects, Components, Architectures, Services, and Applications for a Networked World. LNCS, vol. 2591, pp. 366–377. Springer, Berlin (2003)
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. Springer, Berlin (2006)
EMF: Eclipse Modeling Framework (EMF). http://www.eclipse.org/modeling/emf/ (2012). Accessed 29 Aug 2012
EMF Compare: EMF Compare Project. http://www.eclipse.org/emf/compare/ (2012). Accessed 29 Aug 2012
EMF Query: EMF Query. http://www.eclipse.org/projects/project.php?id=modeling.emf.query (2012). Accessed 29 Aug 2012
EMF Refactor: EMF Refactor. http://www.eclipse.org/modeling/emft/refactor/ (2012). Accessed 29 Aug 2012
EMF Validation: EMF Validation. http://www.eclipse.org/projects/project.php?id=modeling.emf.validation (2012). Accessed 29 Aug 2012
EMP: Eclipse Modeling Project (EMP). http://www.eclipse.org/modeling/ (2012). Accessed 29 Aug 2012
Epsilon: Epsilon. http://www.eclipse.org/epsilon/ (2012). Accessed 29 Aug 2012
Fowler, M.: Refactoring—Improving the Design of Existing Code. Addison-Wesley, Reading (1999)
Frenzel, L.: The Language Toolkit: an API for automated refactorings in Eclipse-based IDEs. Eclipse-Mag. 5 (2006)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)
Genero, M., Piattini, M., Calero, C.: A survey of metrics for UML class diagrams. J. Object Technol. 4(9), 59–92 (2005)
GMP: Graphical Modeling Project (GMP). http://eclipse.org/modeling/gmp (2012). Accessed 29 Aug 2012
Henshin: EMF Henshin. http://www.eclipse.org/modeling/emft/henshin/ (2012). Accessed 29 Aug 2012
JaMoPP: JaMoPP. http://www.jamopp.org (2012). Accessed 29 Aug 2012
Java: Oracle. Java. http://www.java.com (2012). Accessed 29 Aug 2012
JET: JET. http://www.eclipse.org/modeling/m2t/ (2012). Accessed 29 Aug 2012
Kolovos, D.S., Paige, R.F., Polack, F., Rose, L.M.: Update transformations in the Small with the Epsilon Wizard Language. J. Object Technol. 6(9), 53–69 (2007)
Lange, C.F.J.: Assessing and improving the quality of modeling: a series of empirical studies about the UML. Ph.D. thesis, Department of Mathematics and Computing Science, Technical University Eindhoven, The Netherlands (2007). Accessed 29 Aug 2012
Markovic, S., Baar, T.: Refactoring OCL annotated UML class diagrams. Softw. Syst. Model. 7, 25–47 (2008)
MD: No Magic. MagicDraw. http://www.nomagic.com/products/magicdraw.html (2012). Accessed 29 Aug 2012
MoDisco: MoDisco. http://www.eclipse.org/MoDisco/ (2012). Accessed 29 Aug 2012
MOF: Meta Object Facility (MOF). http://www.omg.org/spec/MOF/2.4.1/ (2012). Accessed 29 Aug 2012
Mohagheghi, P., Dehlen, V., Neple, T.: Definitions and approaches to model quality in model-based software development—a review of literature. Inf. Softw. Technol. 51(12), 1646–1669 (2009)
OCL: Object Constraint Language (OCL). http://www.omg.org/spec/OCL/ (2012). Accessed 29 Aug 2012
Papyrus: Papyrus. http://www.eclipse.org/modeling/mdt/papyrus/ (2012). Accessed 29 Aug 2012
Porres, I.: Model refactorings as rule-based update transformations. In: Stevens, P., Whittle, J., Booch, G. (eds.) Proc. UML 2003: 6th Intern. Conference on the Unified Modeling Language. LNCS, pp. 159–174. Springer, Berlin (2003)
Refactory: Refactory. http://www.modelrefactoring.org/index.php/Refactoring (2012). Accessed 29 Aug 2012
Reimann, J., Seifert, M., Aßmann, U.: Role-based generic model refactoring. In: Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems, MoDELS 2010. LNCS, pp. 78–92. Springer, Berlin (2010)
Riel, A.J.: Object-Oriented Design Heuristics. Addison-Wesley, Boston (1996)
RSA: IBM Rational Software Architect. http://www-01.ibm.com/software/awdtools/swarchitect/ (2012). Accessed 29 Aug 2012
Sakkinen, M.: Disciplined inheritance. In: Cook, S. (ed.) Proceedings of ECOOP’89, pp. 39–56. Cambridge University Press, Nottingham (1989)
SDM: SDMetrics. http://www.sdmetrics.com/ (2012). Accessed 29 Aug 2012
Steinberg, D., Budinsky, F., Patenostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Reading (2008)
Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.-M.: Refactoring UML models. In: Gogolla, M., Kobryn, C. (eds.) Proc. UML 2001—the Unified Modeling Language. Modeling Languages, Concepts, and Tools. LNCS, vol. 2185, pp. 134–148. Springer, Berlin (2001)
Thongmak, M., Muenchaisri, P.: Using UML metamodel to specify patterns of design refactorings. In: Proceedings of the 8th National Computer Science and Engineering Conference (NCSEC 2004) (2004)
UML: Unified Modeling Language (UML). http://www.uml.org (2012). Accessed 29 Aug 2012
Zhang, J., Lin, Y., Gray, J.: Generic and domain-specific model refactoring using a model transformation engine. In: Model-Driven Software Development, pp. 199–217. Springer, Berlin (2005)
Zhang, M., Baddoo, N., Wernick, P., Hall, T.: Improving the precision of Fowler’s definitions of bad smells. In: Software Engineering Workshop, Annual IEEE/NASA Goddard, pp. 161–166 (2008)
Acknowledgements
This work has been partially funded by Siemens Corporate Technology, Germany. Furthermore, we thank the students Jan Baart, Matthias Burhenne, Gerrit H. Freise, Florian Mantz, Pawel Stepien, and Alexander Weber for their work on our tools. Last but not least, we like to thank the anonymous reviewers for their valuable comments on the previous version of this article.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Arendt, T., Taentzer, G. A tool environment for quality assurance based on the Eclipse Modeling Framework. Autom Softw Eng 20, 141–184 (2013). https://doi.org/10.1007/s10515-012-0114-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-012-0114-7