Skip to main content
Log in

A tool environment for quality assurance based on the Eclipse Modeling Framework

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Listing 1
Listing 2
Fig. 21
Fig. 22
Listing 3
Listing 4
Fig. 23
Fig. 24
Listing 5
Listing 6
Fig. 25
Fig. 26

Similar content being viewed by others

Notes

  1. 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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

    Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • 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

    Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • Basili, V., Caldiera, G., Rombach, D.H.: The goal question metric approach. In: Marciniak, J. (ed.) Encyclopedia of Software Engineering. Wiley, New York (1994)

    Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. Springer, Berlin (2006)

    MATH  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Google Scholar 

  • Genero, M., Piattini, M., Calero, C.: A survey of metrics for UML class diagrams. J. Object Technol. 4(9), 59–92 (2005)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • Riel, A.J.: Object-Oriented Design Heuristics. Addison-Wesley, Boston (1996)

    Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • 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)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Thorsten Arendt.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-012-0114-7

Keywords

Navigation