Publikationsserver der Universitätsbibliothek Marburg

Titel:Quality Assurance of Software Models - A Structured Quality Assurance Process Supported by a Flexible Tool Environment in the Eclipse Modeling Project
Autor:Arendt, Thorsten
Weitere Beteiligte: Taentzer, Gabriele (Prof. Dr.)
Veröffentlicht:2014
URI:https://archiv.ub.uni-marburg.de/diss/z2014/0357
DOI: https://doi.org/10.17192/z2014.0357
URN: urn:nbn:de:hebis:04-z2014-03572
DDC: Informatik
Titel(trans.):Qualitätssicherung von Softwaremodellen - Ein strukturierter Qualitätssicherungsprozess unterstützt durch eine flexible Werkzeugumgebung innerhalb des Eclipse Modeling Project
Publikationsdatum:2014-07-02
Lizenz:https://rightsstatements.org/vocab/InC-NC/1.0/

Dokument

Schlagwörter:
Model quality, model smells, Qualitätssicherung, model refactoring, Modell-Refactoring, Modellmetriken, Modellqualität, quality assurance, model metrics, Smells

Summary:
The paradigm of model-based software development (MBSD) has become more and more popular since it promises an increase in the efficiency and quality of software development. In this paradigm, software models play an increasingly important role and software quality and quality assurance consequently leads back to the quality and quality assurance of the involved models. The fundamental aim of this thesis is the definition of a structured syntax-oriented process for quality assurance of software models that can be adapted to project-specific and domain-specific needs. It is structured into two sub-processes: a process for the specification of project-specific model quality assurance techniques, and a process for applying them on concrete software models within a MBSD project. The approach concentrates on quality aspects to be checked on the abstract model syntax and is based on quality assurance techniques model metrics, smells, and refactorings well-known from literature. So far, these techniques are mostly considered in isolation only and therefore the proposed process integrates them in order to perform model quality assurance more systematically. Three example cases performing the process serve as proof-of-concept implementations and show its applicability, its flexibility, and hence its usefulness. Related to several issues concerning model quality assurance minor contributions of this thesis are (1) the definition of a quality model for model quality that consists of high-level quality attributes and low-level characteristics, (2) overviews on metrics, smells, and refactorings for UML class models including structured descriptions of each technique, and (3) an approach for composite model refactoring that concentrates on the specification of refactoring composition. Since manually reviewing models is time consuming and error prone, several tasks of the proposed process should consequently be automated. As a further main contribution, this thesis presents a flexible tool environment for model quality assurance which is based on the Eclipse Modeling Framework (EMF), a common open source technology in model-based software development. The tool set is part of the Eclipse Modeling Project (EMP) and belongs to the Eclipse incubation project EMF Refactor which is available under the Eclipse public license (EPL). The EMF Refactor framework supports both the model designer and the model reviewer by obtaining metrics reports, by checking for potential model deficiencies (called model smells) and by systematically restructuring models using refactorings. The functionality of EMF Refactor is integrated into standard tree-based EMF instance editors, graphical GMF-based editors as used by Papyrus UML, and textual editors provided by Xtext. Several experiments and studies show the suitability of the tools for supporting the techniques of the structured syntax-oriented model quality assurance process.

Zusammenfassung:
Das Paradigma der modellbasierten Softwareentwicklung (MBSD) erfreut sich immer zunehmender Beliebtheit, da es eine Steigerung von Effizienz und Qualität in der Softwareentwicklung verspricht. Folgedessen spielen Softwaremodelle eine immer wichtigere Rolle und die Themen Qualität und Qualitätssicherung von Software werden somit zurückgeführt auf die Themen Qualität und Qualitätssicherung der beteiligten Modelle. Der grundlegende Inhalt dieser Arbeit ist die Definition eines strukturierten, syntaxorientierten und an projektspezifische bzw. domänenspezifische Bedürfnisse anpassbaren Prozesses für die Qualitätssicherung von Softwaremodellen. Dieser Prozess besteht aus zwei Teilprozessen. Im ersten Prozess werden projektspezifische Techniken für die Qualitätssicherung spezifiziert, die anschließend mit Hilfe des zweiten Prozesses an konkreten Softwaremodellen während eines MBSD Projektes angewendet werden können. Der Ansatz konzentriert sich dabei auf diejenigen Qualitätsaspekte, die auf der abstrakten Syntax des Modells überprüft werden können und benutzt die aus der Forschungsliteratur bekannten Qualitätssicherungstechniken Modellmetriken, Smells und Refactorings, die bis dato jedoch nur se-parat betrachtet wurden. Der vorgeschlagene Prozess integriert jetzt diese Techniken auf strukturierte Weise und ermöglicht so eine systematische Qualitätssicherung von Softwaremodellen. Drei ausgesuchte Beispiele mit unterschiedlichen Modellierungssprachen dienen als Proof-of-Concept Implementierungen des Prozesses und zeigen die Eignung, die Flexibilität und somit die Zweckmäßigkeit des Ansatzes. Im Zusammenhang mit der Thematik Qualitätssicherung von Softwaremodellen beinhaltet die Arbeit zudem die folgenden zusätzlichen Beiträge: (1) die Definition eines Qualitätsmodells für Modellqualität, (2) Übersichten über Metriken, Smells und Refactorings für UML-Klassenmodelle inklusive strukturierter Beschreibungen dieser Techniken sowie (3) einen konzeptionellen Ansatz für die Spezifikation von komponierten Modell-Refactorings. Der hohe Zeitaufwand und die potentielle Fehleranfälligkeit von manuell durchgeführten Modellanalysen erfordern eine weitgehende Automatisierung verschiedener Aktivitäten des vorgeschlagenen Qualitätssicherungsprozesses. Ein weiterer Hauptbeitrag dieser Arbeit ist die Entwicklung einer flexiblen Werkzeugumgebung für die Qualitätssicherung von Modellen, die auf dem Eclipse Modeling Framework (EMF), einer weit verbreiteten open-source Technologie im Bereich der modellbasierten Softwareentwicklung, basieren. Die Werkzeuge sind Teil des Eclipse Modeling Project (EMP) und gehören zum offiziellen Inkubations-Projekt EMF Refactor, das unter der Eclipse Public License (EPL) zur Verfügung gestellt wird. Das Framework unterstützt Modellierer und Analysten bei der Erstellung von Metrikenberichten, dem Auffinden sogenannter Model Smells sowie der systematischen Restrukturierung der Modelle durch Refactorings. Die Funktionalität von EMF Refactor ist dabei in die baumbasierten EMF Instanzeditoren, in die auf GMF basierenden grafischen Editoren und in die von Xtext bereitgestellten textuellen Modelleditoren integriert. Verschiedene Experimente und Studien zeigen die Zweckmäßigkeit und die Eignung der Werkzeuge für die Unterstützung der Techniken in dem zuvor beschriebenen syntaxorientierten Qualitätssicherungsprozess für Softwaremodelle.

Bibliographie / References

  1. Markus Völter, Thomas Stahl, Jorn Bettin, Arno Haase, and Si- mon Helsen. Model-Driven Software Development: Technology, En- gineering, Management. John Wiley, 2006.
  2. Inc. Cunningham & Cunningham. Model Smell, 2014. URL http://c2.com/cgi/wiki?ModelSmell.
  3. Kent Beck and Cynthia Andres. Extreme Programming Explained: Embrace Change (2nd Edition). Addison-Wesley Professional, 2004.
  4. Robert Cecil Martin. Agile Software Development, Principles, Pat- terns, and Practices. Prentice Hall, 2003.
  5. Martin Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 1999.
  6. Dave Astels. Refactoring with UML. In Proc. 3rd International Conference on eXtreme Programming and Flexible Processes in Soft- ware Engineering, pages 67–70, 2002.
  7. Damien Pollet, Didier Vojtisek, and Jean-Marc Jézéquel. OCL as a Core UML Transformation Language. In WITUML: Workshop on Integration and Transformation of UML models (held at ECOOP 2002), Malaga, Spain, 2002.
  8. Jing Zhang, Yuehua Lin, and Jeff Gray. Generic and Domain- Specific Model Refactoring Using a Model Transformation Engine. In Sami Beydeda, Matthias Book, and Volker Gruhn, editors, Model-driven Software Development, pages 199– 217. Springer, 2005.
  9. S.R. Chidamber and C.F. Kemerer. A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering, 20 (6):476–493, 1994.
  10. Hyoseob Kim and Cornelia Boldyreff. Developing Software Metrics Applicable to UML Models. In ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE), 2002.
  11. David Miranda, Marcela Genero, and Mario Piattini. Empirical Validation of Metrics for UML Statechart Diagrams. In Olivier Camp, JoaquimB.L. Filipe, Slimane Hammoudi, and Mario Pi- attini, editors, International Conference on Enterprise Information Systems (ICEIS), pages 101–108. Springer Netherlands, 2005.
  12. Gabriele Taentzer. Towards Generating Domain-Specific Model Editors with Complex Editing Commands. In In Proc. Intern. Workshop Eclipse Technology eXchange(eTX), 2006.
  13. Francisca Losavio, Ledis Chirinos, Nicole Lévy, and Amar Ramdane-Cherif. Quality Characteristics for Software Archi- tecture. Journal of Object Technology, 2(2):133–150, 2003.
  14. Marko Boger, Thorsten Sturm, and Per Fragemann. Refactoring Browser for UML. In Objects, Components, Architectures, Services, and Applications for a Networked World, volume 2591 of LNCS, pages 366–377. Springer, 2003.
  15. Ivan Porres. Model Refactorings as Rule-Based Update Trans- formations. In Proc. UML 2003: 6th International Conference on the Unified Modeling Language, volume 2863 of LNCS, pages 159–174. Springer, 2003.
  16. Ian Sommerville. Software Engineering, 9th Edition. Addison- Wesley, 2010.
  17. Dimitrios S. Kolovos, Richard F. Paige, Fiona Polack, and Louis M. Rose. Update Transformations in the Small with the Epsilon Wizard Language. Journal of Object Technology, 6(9):53– 69, 2007.
  18. Dimitrios S. Kolovos, Richard F. Paige, and Fiona Polack. The Epsilon Object Language (EOL). In Model Driven Architecture -Foundations and Applications, LNCS, pages 128–142. Springer, 2006.
  19. David Harel. Statecharts: A visual formalism for complex sys- tems. Science of Computer Programming, 8(3):321–274, 1987.
  20. Gabriele Taentzer. AGG: A Tool Environment for Algebraic Graph Transformation. In Manfred Nagl, Andreas Schürr, and Manfred Münch, editors, Applications of Graph Transformations with Industrial Relevance, volume 1779 of LNCS, pages 481–488.
  21. Ralf Reißing. Towards a Model for Object-Oriented Design Measurement. In ECOOP Workshop on Quantative Approaches in Object-Oriented Software Engineering (QAOOSE), pages 71–84, 2001.
  22. Barry W. Boehm. A Spiral Model of Software Development and Enhancement. Computer, 21(5):61–72, 1988.
  23. F. Brito e Abreu and W. Melo. Evaluating the Impact of Object- Oriented Design on Software Quality. In Proceedings of the 3rd International Software Metrics Symposium, pages 90–99, 1996.
  24. Krzysztof Czarnecki and Simon Helsen. Feature-based survey of model transformation approaches. IBM Systems Journal, 45 (3):621–646, 2006.
  25. Yair Wand and Ron Weber. Research Commentary: Information Systems and Conceptual Modeling–A Research Agenda. Infor- mation Systems Research, 13(4):363–376, 2002.
  26. Marcela Genero, Mario Piattini, and Coral Calero. A Survey of Metrics for UML Class Diagrams. Journal of Object Technology, 4 (9):59–92, 2005.
  27. William F. Opdyke. Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign, Champaign, IL, USA, 1992.
  28. Lionel Briand, Prem Devanbu, and Walcelio Melo. An Inves- tigation into Coupling Measures for C++. In Proceedings of the 19th International Conference on Software Engineering (ICSE), pages 412–421, New York, NY, USA, 1997. ACM.
  29. Mel O'Cinneide and Paddy Nixon. Composite Refactorings for Java Programs. In Proc. of Workshop on Formal Techniques for Java Programs at ECOOP 2000, pages 129–135, 2000.
  30. G. Sunyé, D. Pollet, Y. Le Traon, and J. Jézéquel. Refactoring UML models. In Proc. UML 2001: 4th International Conference on the Unified Modeling Language, volume 2185 of LNCS, pages 134–148. Springer, 2001.
  31. Manuel Wimmer, Salvador Martínez, Frédéric Jouault, and Jordi Cabot. A Catalogue of Refactorings for Model-to-Model Transformations. Journal of Object Technology, 11(2):21–40, 2012.
  32. Dave Steinberg, Frank Budinsky, Marcelo Patenostro, and Ed Merks. EMF: Eclipse Modeling Framework, 2nd Edition. Addi- son Wesley, 2008.
  33. Joshua Kerievsky. Refactoring to Patterns. Addison-Wesley, 2004.
  34. Alexander Egyed. Instant Consistency Checking for the UML. In Proceedings of the 28th international conference on Software engi- neering, ICSE '06, pages 381–390. ACM, 2006.
  35. Slavisa Markovi´Markovi´c. Composition of UML Described Refactoring Rules. In OCL and Model Driven Engineering, UML 2004 Confer- ence Workshop, pages 45–59, 2004.
  36. Barbara Kitchenham and Stuart Charters. Guidelines for per- forming Systematic Literature Reviews in Software Engineer- ing. Technical Report EBSE 2007-001, Keele University and Durham University Joint Report, 2007.
  37. Jan Philipps and Bernhard Rumpe. Roots of Refactoring. In Kenneth Baclavski and Haim Kilov, editors, Proc. 10th OOPSLA Workshop on Behavioral Semantics, pages 187–199. Northeastern University, 2001.
  38. E. Biermann, K. Ehrig, C. Köhler, G. Kuhns, G. Taentzer, and E. Weiss. Graphical Definition of In-Place Transformations in the Eclipse Modeling Framework. In Model Driven Engineer- ing Languages and Systems, MoDELS 2006, LNCS, pages 425–439. Springer, 2006.
  39. Marcela Genero, M. Esperanza Manso, Mario Piattini, and Fran- cisco Garcia. Early Metrics for Object Oriented Information Sys- tems. In Dilip Patel, Islam Choudhury, Shushma Patel, and Ser- gio Cesare, editors, OOIS 2000, pages 414–425. Springer, 2001.
  40. Carnegy Mellon University Software Engineering Institute (CMU/SEI). Capability Maturity Model Integration (CMMI), 2014. URL http://cmmiinstitute.com/.
  41. Niklaus Wirth. What Can We Do about the Unnecessary Diver- sity of Notation for Syntactic Definitions? Communications of the ACM, 20(11):822–823, 1977.
  42. V. Basili, G. Caldiera, and H. D. Rombach. Goal question metric approach. In J. C. Marciniak, editor, Encyclopedia of Software Engineering, pages 528–532. John Wiley & Sons, Inc., 1994.
  43. E. Biermann, C. Ermel, and G. Taentzer. Precise Semantics of EMF Model Transformations by Graph Transformation. In Model Driven Engineering Languages and Systems, MoDELS 2008, volume 5301 of LNCS, pages 53–67. Springer, 2008.
  44. Thorsten Arendt, Enrico Biermann, Stefan Jurack, Christian Krause, and Gabriele Taentzer. Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations. In Model Driven Engineering Languages and Systems (MoDELS), volume 6394 of LNCS, pages 121–135, 2010.
  45. Wei Li and Sallie Henry. Object-Oriented Metrics that Predict Maintainability. Journal of Systems and Software, 23(2):111 – 122, 1993.
  46. Robert B. Grady and Deborah L. Caswell. Software Metrics: Es- tablishing a Company-Wide Program. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1987.
  47. Robert B. Grady. Practical Software Metrics for Project Manage- ment and Process Improvement. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1992.
  48. Parastoo Mohagheghi, Vegard Dehlen, and Tor Neple. Defini- tions and Approaches to Model Quality in Model-Based Soft- ware Development -A Review of Literature. Information and Software Technology, 51(12):1646–1669, 2009.
  49. Francisco J. Lucas, Fernando Molina, and Ambrosio Toval. A systematic review of UML model consistency management . In- formation and Software Technology, 51(12):1631–1645, 2009.
  50. Günter Kniesel and Helge Koch. Static Composition of Refac- torings. Science of Computer Programming, 52:9–51, 2004.
  51. M. Marchesi. OOA Metrics for the Unified Modeling Lan- guage. In Proceedings of the Second Euromicro Conference on Soft- ware Maintenance and Reengineering, pages 67–73, 1998.
  52. Bran Selic. A Systematic Approach to Domain-Specific Lan- guage Design Using UML. In 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Comput- ing (ISORC), pages 2–9, 2007.
  53. R. Harrison, S. Counsell, and R. Nithi. Coupling Metrics for Object-Oriented Design. In Proceedings of the Fifth International Software Metrics Symposium, pages 150–157, 1998.
  54. Brian Dobing and Jeffrey Parsons. How UML is Used. Commu- nications of the ACM, 49(5):109–113, 2006.
  55. Ken Schwaber and Mike Beedle. Agile Software Development with Scrum. Prentice Hall, 2001.
  56. Jacqueline A. McQuillan and James F. Power. On the Applica- tion of Software Metrics to UML Models. In Thomas Kühne, ed- itor, Models in Software Engineering, volume 4364 of LNCS, pages 217–226. Springer, 2007.
  57. Groove. GRaphs for Object-Oriented VErification, 2014. URL http://groove.cs.utwente.nl/.
  58. Bhuvan Unhelkar. Verification and Validation for Quality of UML 2.0 Models. Wiley-Interscience, 2005.
  59. Hans Schippers, Pieter Van Gorp, and Dirk Janssens. Lever- aging UML Profiles to Generate Plugins From Visual Model Transformations. Electronic Notes in Theoretical Computer Science, 127(3):5 – 16, 2005.
  60. Reinhold Achatz Manfred Broy Klaus Pohl, Harald Hönninger. Model-Based Engineering of Embedded Systems – The SPES 2020 Methodology. Springer, 2012.
  61. Donald B Roberts. Practical Analysis for Refactoring. PhD the- sis, University of Illinois at Urbana-Champaign, Champaign, IL, USA, 1999.
  62. T.J. McCabe. A Complexity Measure. Software Engineering, IEEE Transactions on, SE-2(4):308–320, Dec 1976.
  63. Christian F.J. Lange, Bart DuBois, Michel R.V. Chaudron, and Serge Demeyer. An Experimental Investigation of UML Mod- eling Conventions. In Oscar Nierstrasz, Jon Whittle, David Harel, and Gianna Reggio, editors, Model Driven Engineering Languages and Systems (MoDELS), volume 4199 of LNCS, pages 27–41. Springer, 2006.
  64. Christian F. J. Lange. Improving the Quality of UML Models in Practice. In Proceedings of the 28th international conference on Software engineering, ICSE '06, pages 993–996, New York, NY, USA, 2006. ACM.
  65. Marcel van Amstel, Mark van den Brand, and Phu H. Nguyen. Metrics for Model Transformations. In Ninth Belgian- Netherlands Software Evolution Workshop (BENEVOL), 2010.
  66. Heiko van Elsuwe and Doris Schmedding. Metriken für UML- Modelle. Informatik Forschung und Entwicklung, 18(1):22–31, 2003.
  67. Slavi┼ía Markovi´Markovi´c and Thomas Baar. Refactoring OCL Anno- tated UML Class Diagrams. Software and Systems Modeling, 7: 25–47, 2008.
  68. Jan Reimann, Mirko Seifert, and Uwe Aßmann. Role-Based Generic Model Refactoring. In Model Driven Engineering Lan- guages and Systems, 13th International Conference, MoDELS 2010, LNCS, pages 78–92. Springer, 2010.
  69. Aline Lúcia Baroni and Fernando Brito e Abreu. An OCL-Based Formalization of the MOOSE Metric Suite. In Proceedings of the 7th ECOOP Workshop on Quantitative Approaches in Object- Orietend Software Engineering, 2003.
  70. Christian F.J. Lange. Assessing and Improving the Quality of Mod- eling: A series of Empirical Studies about the UML. PhD thesis, Department of Mathematics and Computing Science, Techni- cal University Eindhoven, The Netherlands, 2007. http://www. langomat.de/research/thesis/thesis.pdf.
  71. Alexander Egyed. Automatically Detecting and Tracking In- consistencies in Software Design Models. Software Engineering, IEEE Transactions on, 37(2):188–204, 2011.
  72. Martin Fowler. Code Smell, 2014. URL http://martinfowler. com/bliki/CodeSmell.html.
  73. Alexander Pretschner and Wolfgang Prenninger. Computing refactorings of state machines. Software and Systems Modeling, 6 (4):381–399, 2007.
  74. Marcela Genero. Defining and Validating Metrics for Conceptual Models. PhD thesis, University of Castilla-La-Mancha, Ciudad Real, Spain, 2002.
  75. Bernd Oestereich. Die UML 2.0 Kurzreferenz für die Praxis. Old- enbourg Verlag, 2004.
  76. Maurice H. Halstead. Elements of Software Science (Operating and Programming Systems Series). Elsevier Science Inc., New York, NY, USA, 1977.
  77. Jim A. McCall, Paul K. Richards, and Gene F. Walters. Factors in Software Quality. Volume I. Concepts and Definitions of Soft- ware Quality. Technical Report ADA049014, General Electric Co. Sunnyvale California, 1977.
  78. Emmad I. M. Saadeh. Fine-grained Transformations for Refactoring. PhD thesis, University of Pretoria, South Africa, 2009.
  79. Hartmut Ehrig, Karsten Ehrig, Ulrike Prange, and Gabriele Taentzer. Fundamentals of Algebraic Graph Transformation. EATCS Monographs in Theoretical Computer Science. Springer, 2006.
  80. International Organization for Standardization / International Electrotechnical Commission. IEC 62304:2006 – Medical device software – Software life cycle processes, 2014. URL http://www. iso.org/iso/catalogue _ detail.htm?csnumber=38421.
  81. David S. Frankel. Model Driven Architecture Applying MDA. John Wiley & Sons, 2003.
  82. Gabriel Barbier, Hugo Brunelière, Frédéric Jouault, Yves Lennon, and Frédéric Madiot. MoDisco, a Model-Driven Plat- form to Support Real Legacy Modernization Use Cases. In In- formation Systems Transformation: Architecture-Driven Moderniza- tion Case Studies, pages 365–400. The Morgan Kaufmann/OMG Press, 2010.
  83. Arthur J Riel. Object-Oriented Design Heuristics. Addison-Wesley Longman Publishing Co., Inc., 1996.
  84. Mark Lorenz and Jeff Kidd. Object-Oriented Software Metrics: A Practical Guide. Prentice-Hall, Inc., 1994.
  85. R.C. Martin. OO Design Quality Metrics: An Analysis of De- pendencies. In Workshop Pragmatic and Theoretical Directions in Object-Oriented Software Metrics, 1994.
  86. Piotr Kosiuczenko. Redesign of UML Class Diagrams: A For- mal Approach. Software & Systems Modeling, 8(2):165–183, 2009. [94] Al Lake and Curtis Cook. Use of Factor Analysis to Develop OOP Software Complexity Metrics. In Proceedings of the 6th An- nual Oregon Workshop on Software Metrics. Citeseer, 1994.
  87. Hartmut Ehrig, Claudia Ermel, and Karsten Ehrig. Refactor- ing of Model Transformations. Electronic Communications of the EASST, 18, 2009.
  88. Siemens. Siemens Corporate Technology (CT), 2014. URL http:
  89. G.C. Murphy, D. Notkin, and K.J. Sullivan. Software Reflexion Models: Bridging the Gap Between Design and Implementation. Software Engineering, IEEE Transactions on, 27(4):364–380, 2001.
  90. Florian Mantz. Syntactic Quality Assurance Techniques for Software Models. Master's thesis, Department of Mathemat- ics and Computing Science, Philipps-University Marburg, Ger- many, 2009.
  91. The Eclipse Foundation. EMF Compare, 2014. URL http:// eclipse.org/emf/compare/.
  92. The Eclipse Foundation. Eclipse, 2014. URL http://www. eclipse.org/.
  93. The Eclipse Foundation. Epsilon, 2014. URL http://www. eclipse.org/epsilon/.
  94. The Eclipse Foundation. Henshin, 2014. URL http://www. eclipse.org/henshin/.
  95. The Eclipse Foundation. MoDisco, 2014. URL http://www. eclipse.org/MoDisco/.
  96. The Eclipse Foundation. Papyrus, 2014. URL http://www. eclipse.org/papyrus/.
  97. The Eclipse Foundation. Sirius, 2014. URL http://eclipse. org/sirius/.
  98. The Eclipse Foundation. ViaTra, 2014. URL http://www. eclipse.org/viatra2/.
  99. Scott W. Ambler. The Elements of UML Style. Cambridge Uni- versity Press, 2002.
  100. Leif Frenzel. The Language Toolkit: An API for Automated Refactorings in Eclipse-based IDEs. Eclipse Magazin, 5, 2006. [68] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlis- sides. Design patterns: Elements of Reusable Object-Oriented soft- ware. Addison-Wesley Longman Publishing Co., Inc., 1995.
  101. D. Binkley, M. Davis, D. Lawrie, and C. Morrell. To camelcase or under_score. In IEEE 17th International Conference on Program Comprehension (ICPC), pages 158–167. IEEE, 2009.
  102. Harald Störrle. Towards clone detection in UML domain mod- els. Software & Systems Modeling, 12(2):307–329, 2013.
  103. Lukasz Dobrzá nski. UML Model Refactoring -Support for Maintenance of Executable UML Models. Master's thesis, De- partment of Systems and Software Engineering, Blekinge Insti- tute of Technology, 2005.
  104. OMG. Unified Modeling Language (UML), 2014. URL http: //www.uml.org/.
  105. Mathupayas Thongmak and Pornsiri Muenchaisri. Using UML Metamodel to Specify Patterns of Design Refactorings. In Pro- ceedings of the 8th National Computer Science and Engineering Con- ference (NCSEC), 2004.
  106. Claudia Ermel, Frank Hermann, Jürgen Gall, and Daniel Bi- nanzer. Visual Modeling and Analysis of EMF Model Trans- formations Based on Triple Graph Grammars. Electronic Com- munications of the EASST, 54:1–14, 2012. [38] Florian Fieber, Michaela Huhn, and Bernhard Rumpe. Modell- qualität als Indikator für Softwarequalität: eine Taxonomie. Informatik-Spektrum, 31(5):408–424, 2008.
  107. Jörg Rech and Sebastian Weber. Werkzeuge zur Ermittlung von Software-Produktmetriken und Qualitätsdefekten. Techni- cal Report 108.05/D, Fraunhofer Institut Experimentelles Soft- ware Engineering, 2005.
  108. Rainer Koschke. Survey of Research on Software Clones. In Duplication, Redundancy, and Similarity in Software, num- ber 06301 in Dagstuhl Seminar Proceedings. Internationales Begegnungs-und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, Germany, 2007.
  109. Norman G. Vinson and Janice A. Singer. A Practical Guide to Ethical Research Involving Humans. In Forrest Shull, Dag Sjøberg, and Janice A. Singer, editors, Guide to Advanced Empiri- cal Software Engineering, pages 229–256. Springer, 2008.
  110. Harald Störrle. On the Impact of Layout Quality to Under- standing UML Diagrams. In Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pages 135–142, 2011.
  111. Robert Cecil Martin. Designing Object-Oriented C++ Applications. Prentice Hall, 1995.
  112. Kent Beck and Martin Fowler. Bad Smells in Code. In Martin Fowler, editor, Refactoring: Improving the Design of Existing Code, pages 75–88. Addison-Wesley Professional, 1999. [12] Technische Universität Berlin. AGG: The Attributed Graph Grammar System, 2014. URL http://user.cs.tu-berlin.de/ ~gragra/agg/.
  113. The Eclipse Foundation. Xtext, 2014. URL http://www.eclipse. org/Xtext/.
  114. The Eclipse Foundation. ATL Transformation Language, 2014. URL http://www.eclipse.org/atl/.
  115. [43] The Eclipse Foundation. Business Intelligence and Reporting Tools (BIRT), 2014. URL http://www.eclipse.org/birt/.
  116. The Eclipse Foundation. Java Development Tools (JDT), 2014. URL http://www.eclipse.org/jdt/.
  117. The Eclipse Foundation. Eclipse Modeling Project, 2014. URL http://www.eclipse.org/modeling/.
  118. The Eclipse Foundation. Eclipse Modeling Framework Project (EMF), 2014. URL http://www.eclipse.org/modeling/emf/.
  119. The Eclipse Foundation. Graphical Modeling Project (GMP), 2014. URL http://www.eclipse.org/modeling/gmp/.
  120. The Eclipse Foundation. Java Emitter Templates (JET), 2014. URL http://www.eclipse.org/modeling/m2t/?project=jet.
  121. [48] The Eclipse Foundation. EMF Validation, 2014. URL http://www.eclipse.org/projects/project.php?id= modeling.emf.validation.
  122. The Eclipse Foundation. Automating Eclipse PDE Unit Tests using Ant, 2014. URL http://www.eclipse.org/resources/ resource.php?id=424.
  123. Marcela Genero, Ana M Fernández-Saez, H James Nelson, Geert Poels, and Mario Piattini. Research Review: A System- atic Literature Review on the Quality of UML Models. Journal of Database Management (JDM), 22(3):46–70, 2011.
  124. – Systems and software engineering – Systems and soft- ware Quality Requirements and Evaluation (SQuaRE) – System and software quality models, 2014. URL http://www.iso.org/iso/home/store/catalogue _ ics/ catalogue _ detail _ ics.htm?csnumber=35733.
  125. Philipp Seuring. Design and Implementation of a UML Model Refactoring Tool. Master's thesis, Hasso Plattner Institute for Software Systems Engineering at the University of Potsdam, 2005.
  126. OMG. Object Management Group, 2014. URL http://www.omg. org/.
  127. Marcela Genero, Mario Piattini, and Coral Calero. Early Mea- sures for UML Class Diagrams. L'Objet, 6(4):489–515, 2000.
  128. J. Bansiya and C.G. Davis. A Hierarchical Model for Object- Oriented Design Quality Assessment. IEEE Transactions on Soft- ware Engineering, 28(1):4–17, 2002.
  129. J. Ghayathri and E. Mohana Priya. Software Quality Models: A Comparative Study. International Journal of Advanced Research in Computer Science and Electronics Engineering (IJARCSEE), 2(1): 42–51, 2013.
  130. Markku Sakkinen. Disciplined Inheritance. In ECOOP, vol- ume 89, pages 39–56, 1989.
  131. Marco Brambilla, Jordi Cabot, and Manuel Wimmer. Model- Driven Software Engineering in Practice. Morgan & Claypool, 2012.
  132. Lars Schneider. Development of a Refactoring Plug-in for the Eclipse Modeling Framework. Master's thesis, Department of Mathematics and Computing Science, Philipps-University Mar- burg, Germany, 2009.


* Das Dokument ist im Internet frei zugänglich - Hinweise zu den Nutzungsrechten