Automated Software Engineering

, Volume 20, Issue 2, pp 141–184 | Cite as

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

Article

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.

Keywords

Modeling Model-based software development Model quality Model quality assurance Eclipse Modeling Framework 

References

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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) CrossRefGoogle Scholar
  8. 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
  9. 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) CrossRefGoogle Scholar
  10. 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
  11. BIRT: BIRT Project. http://www.eclipse.org/birt/ (2012). Accessed 29 Aug 2012
  12. 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) CrossRefGoogle Scholar
  13. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. Springer, Berlin (2006) MATHGoogle Scholar
  14. EMF: Eclipse Modeling Framework (EMF). http://www.eclipse.org/modeling/emf/ (2012). Accessed 29 Aug 2012
  15. EMF Compare: EMF Compare Project. http://www.eclipse.org/emf/compare/ (2012). Accessed 29 Aug 2012
  16. EMF Query: EMF Query. http://www.eclipse.org/projects/project.php?id=modeling.emf.query (2012). Accessed 29 Aug 2012
  17. EMF Refactor: EMF Refactor. http://www.eclipse.org/modeling/emft/refactor/ (2012). Accessed 29 Aug 2012
  18. EMF Validation: EMF Validation. http://www.eclipse.org/projects/project.php?id=modeling.emf.validation (2012). Accessed 29 Aug 2012
  19. EMP: Eclipse Modeling Project (EMP). http://www.eclipse.org/modeling/ (2012). Accessed 29 Aug 2012
  20. Epsilon: Epsilon. http://www.eclipse.org/epsilon/ (2012). Accessed 29 Aug 2012
  21. Fowler, M.: Refactoring—Improving the Design of Existing Code. Addison-Wesley, Reading (1999) Google Scholar
  22. Frenzel, L.: The Language Toolkit: an API for automated refactorings in Eclipse-based IDEs. Eclipse-Mag. 5 (2006) Google Scholar
  23. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995) Google Scholar
  24. Genero, M., Piattini, M., Calero, C.: A survey of metrics for UML class diagrams. J. Object Technol. 4(9), 59–92 (2005) CrossRefGoogle Scholar
  25. GMP: Graphical Modeling Project (GMP). http://eclipse.org/modeling/gmp (2012). Accessed 29 Aug 2012
  26. Henshin: EMF Henshin. http://www.eclipse.org/modeling/emft/henshin/ (2012). Accessed 29 Aug 2012
  27. JaMoPP: JaMoPP. http://www.jamopp.org (2012). Accessed 29 Aug 2012
  28. Java: Oracle. Java. http://www.java.com (2012). Accessed 29 Aug 2012
  29. JET: JET. http://www.eclipse.org/modeling/m2t/ (2012). Accessed 29 Aug 2012
  30. 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) CrossRefGoogle Scholar
  31. 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 Google Scholar
  32. Markovic, S., Baar, T.: Refactoring OCL annotated UML class diagrams. Softw. Syst. Model. 7, 25–47 (2008) CrossRefGoogle Scholar
  33. MD: No Magic. MagicDraw. http://www.nomagic.com/products/magicdraw.html (2012). Accessed 29 Aug 2012
  34. MoDisco: MoDisco. http://www.eclipse.org/MoDisco/ (2012). Accessed 29 Aug 2012
  35. MOF: Meta Object Facility (MOF). http://www.omg.org/spec/MOF/2.4.1/ (2012). Accessed 29 Aug 2012
  36. 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) CrossRefGoogle Scholar
  37. OCL: Object Constraint Language (OCL). http://www.omg.org/spec/OCL/ (2012). Accessed 29 Aug 2012
  38. Papyrus: Papyrus. http://www.eclipse.org/modeling/mdt/papyrus/ (2012). Accessed 29 Aug 2012
  39. 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) CrossRefGoogle Scholar
  40. Refactory: Refactory. http://www.modelrefactoring.org/index.php/Refactoring (2012). Accessed 29 Aug 2012
  41. 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) CrossRefGoogle Scholar
  42. Riel, A.J.: Object-Oriented Design Heuristics. Addison-Wesley, Boston (1996) Google Scholar
  43. RSA: IBM Rational Software Architect. http://www-01.ibm.com/software/awdtools/swarchitect/ (2012). Accessed 29 Aug 2012
  44. Sakkinen, M.: Disciplined inheritance. In: Cook, S. (ed.) Proceedings of ECOOP’89, pp. 39–56. Cambridge University Press, Nottingham (1989) Google Scholar
  45. SDM: SDMetrics. http://www.sdmetrics.com/ (2012). Accessed 29 Aug 2012
  46. Steinberg, D., Budinsky, F., Patenostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Reading (2008) Google Scholar
  47. 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) CrossRefGoogle Scholar
  48. 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
  49. UML: Unified Modeling Language (UML). http://www.uml.org (2012). Accessed 29 Aug 2012
  50. 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) CrossRefGoogle Scholar
  51. 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

Copyright information

© Springer Science+Business Media New York 2012

Authors and Affiliations

  1. 1.FB 12—Mathematics and Computer SciencePhilipps-Universität MarburgMarburgGermany

Personalised recommendations