Model-Driven Software Development: Integrating Quality Assurance Jörg Rech Fraunhofer Institute for Experimental Software Engineering, Germany Christian Bunse International University in Germany, Germany InformatIon scIence reference Hershey • New York Director of Editorial Content: Senior Managing Editor: Managing Editor: Assistant Managing Editor: Typesetter: Cover Design: Printed at: Kristin Klinger Jennifer Neidig Jamie Snavely Carole Coulson Jennifer Neidig Lisa Tosheff Yurchak Printing Inc Published in the United States of America by Information Science Reference (an imprint of IGI Global) 701 E Chocolate Avenue, Suite 200 Hershey PA 17033 Tel: 717-533-8845 Fax: 717-533-8661 E-mail: cust@igi-global.com Web site: http://www.igi-global.com and in the United Kingdom by Information Science Reference (an imprint of IGI Global) Henrietta Street Covent Garden London WC2E 8LU Tel: 44 20 7240 0856 Fax: 44 20 7379 0609 Web site: http://www.eurospanbookstore.com Copyright © 2009 by IGI Global All rights reserved No part of this publication may be reproduced, stored or distributed in any form or by any means, electronic or mechanical, including photocopying, without written permission from the publisher Product or company names used in this set are for identification purposes only Inclusion of the names of the products or companies does not indicate a claim of ownership by IGI Global of the trademark or registered trademark Library of Congress Cataloging-in-Publication Data Model-driven software development : integrating quality assurance / Jörg Rech and Christian Bunse, editor p cm Summary: "This book provides in-depth coverage of important concepts, issues, trends, methodologies, and technologies in quality assurance for model-driven software development" Provided by publisher Includes bibliographical references and index ISBN 978-1-60566-006-6 (hardcover) ISBN 978-1-60566-007-3 (ebook) Computer software Development Model driven architecture (Computer science) I Rech, Jörg II Bunse, Christian QA76.76.D47M624 2009 005.1 dc22 2008009115 British Cataloguing in Publication Data A Cataloguing in Publication record for this book is available from the British Library All work contributed to this book set is original material The views expressed in this book are those of the authors, but not necessarily of the publisher If a library purchased a print copy of this publication, please go to http://www.igi-global.com/agreement for information on activating the library's complimentary electronic access to this publication Table of Contents Foreword .xiii Preface xv Acknowledgment xix Section I Introduction: MDSD and Quality Chapter I Managing the Quality of UML Models in Practice Ariadi Nugroho, Leiden University, The Netherlands Michel Chaudron, Leiden University, The Netherlands Chapter II Quality in Model Driven Engineering 37 Teade Punter, Embedded Systems Institute, The Netherlands Jeroen Voeten, Embedded Systems Institute, The Netherlands & Eindhoven University of Technology, The Netherlands Jinfeng Huang, Eindhoven University of Technology, The Netherlands Chapter III Examples and Evidences 57 Sowmya Karunakaran, MDA Research Initiative, Chennai, India Chapter IV Integrating Quality Criteria and Methods of Evaluation for Software Models 78 Anna E Bobkowska, Gdańsk University of Technology, Poland Section II Evaluating the Model Quality Chapter V Evaluating Performance of Software Architecture Models with the Palladio Component Model 95 Heiko Koziolek, Universität Oldenburg, Germany Steffen Becker, University of Karlsruhe, Germany Ralf Reussner, University of Karlsruhe, Germany Jens Happe, Universität Oldenburg, Germany Chapter VI Integrating Measures and Redesigns in the Definition of Domain Specific Visual Languages 119 Esther Guerra, Universidad Carlos III de Madrid, Spain Juan de Lara, Universidad Autónoma de Madrid, Spain Paloma Díaz, Universidad Carlos III de Madrid, Spain Chapter VII Measuring Models 147 Martin Monperrus, ENSIETA & University of Rennes 1, France Jean-Marc Jézéquel, University of Rennes & INRIA, France Joël Champeau, ENSIETA, France Brigitte Hoeltzener, ENSIETA, France Section III Improving the Model Quality Chapter VIII Model-Driven Software Refactoring 170 Tom Mens, University of Mons-Hainaut, Belgium Gabriele Taentzer, Philipps-Universität Marburg, Germany Dirk Müeller, Chemnitz University of Technology, Germany Chapter IX A Pattern Approach to Increasing the Maturity Level of Class Models 204 Michael Wahler, IBM Zurich Research Laboratory, Switzerland Chapter X Transitioning from Code-Centric to Model-Driven Industrial Projects: Empirical Studies in Industry and Academia 236 Miroslaw Staron, IT University of Göteborg, Sweden Chapter XI From Requirements to Java Code: An Architecture-Centric Approach for Producing Quality Systems 263 Antonio Bucchiarone, IMT of Lucca, Italy Davide Di Ruscio, University of L’Aquila, Italy Henry Muccini, University of L’Aquila, Italy Patrizio Pelliccione, University of L’Aquila, Italy Chapter XII Quality-Driven Model Transformations: From Requirements to UML Class Diagrams 302 Silvia Abrahão, Valencia University of Technology, Spain Marcela Genero, University of Castilla-La Mancha, Spain Emilio Insfran, Valencia University of Technology, Spain José Ángel Carsí, Valencia University of Technology, Spain Isidro Ramos, Valencia University of Technology, Spain Chapter XIII A Framework for Understanding and Addressing the Semiotic Quality of Use Case Models 327 Pankaj Kamthan, Concordia University, Canada Section IV QA for MDSD in Specific Domains Chapter XIV Assuring Maintainability in Model-Driven Development of Embedded Systems 352 Stefan Wagner, Technische Universität München, Germany Florian Deissenboeck, Technische Universität München, Germany Stefan Teuchert, Durchstreichen, MAN Nutzfahrzeuge AG, Germany Jean-Francois Girard, Durchstreichen, MAN Nutzfahrzeuge AG, Germany Chapter XV Quality Improvement in Automotive Software Engineering Using a Model-Based Approach 374 Tibor Farkas, Fraunhofer Institute FOKUS, Germany Chapter XVI Quality-Aware Model-Driven Service Engineering 400 Claus Pahl, Dublin City University, Ireland Marko Boškovic, University of Oldenburg, Germany Ronan Barrett, Dublin City University, Ireland Wilhelm Hasselbring, University of Kiel, Germany Chapter XVII Model-Driven Integration in Complex Information Systems: Experiences from Two Scenarios 431 Sven Abels, Abelssoft GmbH, Germany Wilhelm Hasselbring, University of Kiel, Germany Niels Streekmann, OFFIS – Institute for Information Systems, Germany Mathias Uslar, OFFIS – Institute for Information Systems, Germany Chapter XVIII High-Quality Software Models of the Mid-Infrared Instrument for the James Webb Space Telescope 447 Jane M C Oh, Jet Propulsion Laboratory, California Institute of Technology, USA Martin S Feather, Jet Propulsion Laboratory, California Institute of Technology, USA Mori A Khorrami, Jet Propulsion Laboratory, California Institute of Technology, USA Compilation of References 461 About the Contributors 494 Index 504 Detailed Table of Contents Foreword xiii Preface xv Acknowledgment xix Section I Introduction: MDSD and Quality Chapter I Managing the Quality of UML Models in Practice Ariadi Nugroho, Leiden University, The Netherlands Michel Chaudron, Technische Universiteit Eindhoven, The Netherlands The quality of a model can be considered from many different perspectives This chapter considers the following perspectives: First, is the model complete in the sense that it describes the information that developers need to know about a system? Second, to which degree does a model of a system corresponds with its implementation Chapter II Quality in Model Driven Engineering 37 Teade Punter, Embedded Systems Institute, The Netherlands Jeroen Voeten, Embedded Systems Institute, The Netherlands & Eindhoven University of Technology, The Netherlands Jinfeng Huang, Eindhoven University of Technology, The Netherlands Model Driven Engineering looks like a promising approach to addressing the late integration and the difference in development productivity between disciplines in embedded systems design This chapter provides a conceptual framework for understanding the possibilities and the flaws in quality assurance in the MDE design flow Chapter III Examples and Evidences 57 Sowmya Karunakaran, MDA Research Initiative, India This chapter aims at highlighting the increased development productivity and quality that can be achieved by Model Driven Software Development (MDSD) The above statement is substantiated by discussing many experiments and case studies in the field of Model Driven development The main emphasis lies on case studies for the measurement of the quality of the models Chapter IV Integrating Quality Criteria and Methods of Evaluation for Software Models 78 Anna E Bobkowska, Gdańsk University of Technology, Poland Successful realization of the model-driven software development visions in practice requires high-quality models This chapter focuses on the quality of the models themselves and discusses context-free and context-dependent quality criteria for models It then moves on to methods of evaluation that facilitate checking whether a model is good enough Section II Evaluating the Model Quality Chapter V Evaluating Performance of Software Architecture Models with the Palladio Component Model 95 Heiko Koziolek, University of Oldenburg, Germany Jens Happe, University of Oldenburg, Germany Steffen Becker, University of Karlsruhe, Germany Ralf Reussner, University of Karlsruhe, Germany Techniques from model-driven software development are useful for analyzing the performance of a software architecture during early development stages This chapter provides an overview of the Palladio Component Model (PCM), a special modeling language targeted at model-driven performance predictions Software architects can use the results of the analytical models to evaluate the feasibility of performance requirements, identify performance bottlenecks, and support architectural design decisions quantitatively Chapter VI Integrating Measures and Redesigns in the Definition of Domain Specific Visual Languages 119 Esther Guerra, Universidad Carlos III, Spain Juan de Lara, Universidad Autónoma de Madrid, Spain Paloma Díaz, Universidad Carlos III, Spain This chapter describes work to facilitate the task of integrating measurement and redesign tools in modeling environments for Domain Specific Visual Languages (DSVLs) The developed DSVL called SLAMMER includes generalizations of some of the more commonly used types of product metrics and frequent model manipulations, which rely on visual patterns for the specification of the elements that should be measured in each metric type Chapter VII Measuring Models 147 Martin Monperrus, ENSIETA, France Jean-Marc Jézéquel, IRISA, France Joël Champeau, ENSIETA, France Brigitte Hoeltzener, ENSIETA, France One way of assessing quality in a given domain is to define domain metrics This chapter presents the S metric, which is generic across metamodels and allows the easy specification of an open-ended, wide range of model metrics Section III Improving the Model Quality Chapter VIII Model-Driven Software Refactoring 170 Tom Mens, University of Mons-Hainaut, Belgium Gabriele Taentzer, Philipps-Universität Marburg, Germany Dirk Mueller, Philipps-Universität Marburg, Germany This chapter explores the emerging research domain of model-driven software refactoring that raises many new challenges Based on a concrete case study with a state-of-the-art model-driven software development tool, AndroMDA, some of these challenges are explored in more detail Furthermore, it proposes solutions to some of the encountered problems by relying on well-understood techniques of meta-modeling, model transformation, and graph transformation Chapter IX A Pattern Approach to Increasing the Maturity Level of Class Models 204 Michael Wahler, IBM Zurich Research Laboratory, Switzerland Class models are typically specified at a high level of abstraction and subsequently refined with textual constraints requiring significant expertise and effort In this chapter, typical refinement problems for class models are identified and it is shown how a list of refinement tasks can be automatically compiled from a given model Chapter X Transitioning from Code-Centric to Model-Driven Industrial Projects: Empirical Studies in Industry and Academia 236 Miroslaw Staron, IT University of Goteborg, Sweden Compilation of References Wing, J.M (1990) A specifier’s introduction to formal methods IEEE Computer, 23(9), 8-24 Winter, Andreas & Ziemann, Jörg (2006) Model-based Migration to Service-Oriented Architectures In U Kaiser, P Kroha, A Winter (Eds.), Workshop Reengineering Prozesse (RePro 2006) Software Migration (pp 16-17) Mainz: Johannes Gutenberg University Mainz Xenos, M., Stavrinoudis, D., Zikouli, K., and Christodoulakis, D (2000) Object-oriented metrics - a survey In Proceedings of the FESMA Conference (FESMA’2000) Yeung, K., Kelly, P.H.J and Bennett, S (2004) Dynamic Instrumentation for Java Using a Virtual JVM Performance Analysis and Grid Computing, 175–187 Winters, G (2005) Use Case Terminology IEEE Software, 22(2), 67 Yilmaz, C., Krishna, A S., Memon, A., Porter, A., Schmidt, D C., Gokhale, A., et al (2005) Main effects screening: a distributed continuous quality assurance process for monitoring performance degradation in evolving software systems In Proc 27th international conference on software engineering (ICSE ‘05) (pp 293-302) New York, NY: ACM Press Zander-Nowicka, J., Schieferdecker, I & Farkas, T (2006): Derivation of Executable Test Models From Embedded System Models using Model Driven Architecture Artifacts - Automotive Domain Proceedings of the Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme III., InformaticsReport 2006-01, Technical University Braunschweig, January 2006, Dagstuhl, Germany Zaniolo,C., Ceri, S., Faloutsos, C., Snodgrass, Subrahmanian, V S and Zicari, R (1997) Advanced Database Systems San Fransisco, CA: Morgan Kaufmann Publishers Zhang, J., Lin, Y., & Gray, J (2005) Generic and Domain-Specific Model Refactoring using a Model Transformation Engine In Model-driven Software Development - Research and Practice in Software Engineering Springer Wirfs-Brock, R (1993) Stereotyping: a technique for characterizing objects and their interactions Object Magazine, 3(4), 50-53 Wirfs-Brock, R., Wilkerson, B., & Wiener, L (1994) Responsibility-driven design: Adding to your conceptual toolkit ROAD, 2(1), 27-34 Wohlin C., Runeson P., Höst M., Ohlson M., Regnell B and Wesslén A (2000) Experimentation in Software Engineering: An Introduction Kluwer Academic Publishers Wohlin, C., Runeson, P., Höst, M., Ohlsson, M C., Regnell, B., & Wesslèn, A (2000) Experimentation in Software Engineering: An Introduction Boston MA: Kluwer Academic Publisher Wolf, W (2003) A decade of hardware / software codesign IEEE Computer, 36 (4), 38 – 43 Wong, B (2006) Different Views of Software Quality In: Measuring Information Systems Delivery Quality E Duggan & J Reichgelt (Eds.) Idea Group, 55-88 Woodside, M., Franks, G & Petriu D C (2007) The Future of Software Performance Engineering In Proceedings of 29th International Conference on Software Engineering, ICSE’07 Track: Future of Software Engineering Wu, X & Woodside, M (2004) Performance modeling from software components In Proceedings of the 4th International Workshop on Software Performance, WOSP2004 (pp 290-301) ACM SIGSOFT Software Engineering Notes www.metamodel.com (2007) How I tell a good metamodel from a bad one? Online article http://www.metamodel.com/staticpages/index php?page=20021010225607569 Visited April 2007 Zhang, P C., Muccini, H , & Li, B X (2007) A comparative study of model checking methods on software architecture Technical Report, Chair of Software Testing and Verification, Southeast University http://cse.seu.edu cn/people/bx.li/en/cstv.htm Zhou, E.Z (2000) XML and data exchange for power system analysis In (IEEE Edt.): IEEE Power Engineering Review, 20, 66-68 Zhu, X., Maiden, N., & Pavan, P (2003) Scenarios: Bringing requirements and architectures together In 2nd International Workshop on Scenarios and State Machines: Models, Algorithms, and Tools Compilation of References Ziemann, Jörg & Leyking, Katrina & Kahl, Timo & Werth, Dirk (2006) Enterprise Model driven Migration from Legacy to SOA In R Gimnich, A Winter (Eds.), Workshop Software-Reengineering und Services (pp 18-27) Koblenz: University of Koblenz-Landau Zimmermann, Olaf & Doubrovski, Vadim & Grundler, Jonas & Hogg, Kerard (2005) Service-oriented architecture and business process choreography in an order management scenario: rationale, concepts, lessons learned In OOPSLA Companion (301-312) Zimmermann, Olaf & Köhler, Jana & Leymann, Frank (2006) The Role of Architectural Decisions in ModelDriven Service-Oriented Architecture Construction In L.A Skar, A.A Bjerkestrand, Best Practices and Methodologies in Service-Oriented Architectures, OOPSLA 2006 Workshop Zou, Y., Kontogiannis, K (2003) Quality Driven Transformation Framework for OO Migration In Proc 2nd ASERC Workshop on Software Architecture, Banff, Canada, pp 18–24 About the Contributors Jörg Rech is a senior scientist and project manager at the Fraunhofer Institute for Experimental Software Engineering (IESE) He worked on different German and European research projects as in the areas software engineering and knowledge management In several industrial projects he helped on analyzing, evaluating, and improving the software development process and product for the diagnosis of defects and the indications of improvements His research mainly concerns software patterns & antipatterns, software diagnostics (quality assurance), refactoring (software evolution), intelligent assistance, semantic technologies, experience-based resp pattern-oriented software development, esp., in the area of model-driven software engineering Dr Rech authored over 35 international journal articles, book chapters, and refereed conference papers, mainly on software engineering and knowledge management Additionally, he is a member of the German Computer Society (Gesellschaft für Informatik, GI) and served as a PC member for different workshops and conferences as well as an editor for several books in the domain of software engineering and the Semantic Web Currently, he is also the speaker of the GI working group on architectural and design patterns Christian Bunse is an associate professor for software engineering at the International University, Germany He received a PhD in computer science from the University of Kaiserslautern, Germany and a BS (Vordiplom) and MS (Diplom) in computer science with a minor in medicine from the University of Dortmund, Germany His research interests concern model-based software development with a specific focus on components, adaptive service engineering, and resource awareness Bunse authored several international journal articles, books (author and editor), book chapters, and refereed conference papers that mainly focus on software engineering, model-based development, and quality assurance In addition, he served as a reviewer for several international journals, as well as a PC member and/or organizer of international workshops and conferences He is a member of the German Computer Society (Gesellschaft für Informatik, GI) *** Sven Abels is a member of the research and development group at TIE Nederland B.V He started working as a freelancer about 12 years ago by founding his own software company, “Abelssoft” Within those activities he conceptualized and implemented software products for end users and also offered IT-consulting for small and mid-sized enterprises Abels received a bachelor’s degree (BSc), a master’s Copyright © 2009, IGI Global, distributing in print or electronic forms without written permission of IGI Global is prohibited About the Contributors degree (Dipl.-Inform) and a PhD (Dr) from the University of Oldenburg (Germany) He also organized several academic workshops and has over 40 publications in journals, proceedings and books Abels joined TIE Nederland B.V in 2006 and works in the research and development group providing concepts and solutions for modern e-Business He also runs his own Web site for research issues at http://www svenabels.org Silvia Abrahão is a tenure-track assistant professor at the Department of Computer Science and Computation, Valencia University of Technology (Spain), where she teaches Web quality and databases She received a PhD in computer science from this same university in 2004 Currently, she is a member of the Software Engineering and Information Systems Research Group and the management committee of the COST Action 294 “Towards the Maturity of IT Usability Evaluation” She regularly serves as an editorial board member of the Journal of Software Measurement, International Journal of Software Engineering and Its Application, and in the PC of several international conferences (ESEM, PROFES, ISESE, RCIS, CADUI, ICSOFT, LA-Web, Mensura, SMEF, etc.) Her current research focuses on quality assurance in model-driven development, usability engineering, Web quality, functional size measurement and empirical software engineering Ronan Barrett is a postgraduate research student at Dublin City University Barrett’s research focuses on service engineering and model-driven development In his forthcoming PhD thesis, he investigates the role of distribution patterns in the model-driven development of high-quality service based software systems He has also investigated performance aspects of distributed systems and has been involved in the design and implementation of Web- and service-based learning technology systems Barrett has published his work across a range of highly reputable conferences and has been a reviewer for conferences on Web service technologies Steffen Becker is a PhD student from DFG-project group Palladio at the University of Karlsruhe, Germany In 2003, he graduated from the Technical University of Darmstadt with honors in information management Becker is speaker of the working group on model-driven software development of the German Gesellschaft für Informatik He is member of the steering committee of the International Conferences on the Quality of Software Architectures (QoSA) His PhD thesis introduces the concept of coupled model transformations from high-level models into code and extra-functional models Anna E Bobkowska graduated from Gdansk University of Technology, Faculty of Electronics, Telecommunication and Informatics in 1996 She took part in the research on ‘A methodology of quality evaluation of information systems’ supported by National Research Council, she designed innovative group project methods within Tempus programme and she was developing a generic model of telecontrol protocols in the industrial research project COMSOFT for ABB Transmit, Finland She defended her PhD thesis, “Software quality prediction with UML models” in 2001 She received young researcher grant from EU SegraVis project (Syntactic and Semantic Integration of Visual Modeling Techniques) and was visiting University of Kent, UK She works in the Department of Software Engineering at Gdansk University of Technology, Poland Marko Bošković is a graduate student at the TrustSoft Research Training Group, University of Oldenburg, Germany His research interests are instrumentation, measurements and empirical performance About the Contributors evaluation of software systems In his PhD thesis he investigates performance measurements and metrics, possibility of temporal databases application in the empirical evaluation, and integration of it in the process of model driven development Antonio Bucchiarone received his first master’s degree in computer science from the University of L‘Aquila (2003) and the second in information technologies from University of Pisa (2005) He is a PhD student at IMT of Lucca since 2005 and he is a collaborator of ISTI-CNR of Pisa Bucchiaron’s research interests are in dynamic software architecture-based development and analysis of global computing systems, requirements engineering and service-oriented architecture From April 2007 he is working at Nokia Siemens Networks of Lisbon, involved in a Research Project on Software Architecture for Embedded System José Ángel Carsí received a PhD in computer science from the Valencia University of Technology in 1999 He is currently an associate professor at the same university, where he teaches software engineering His research interests are: model management, model compilers, software evolution, component models, software architectures and aspect-oriented software development Joel Champeau has a PhD in computer science on FPGA synthesis with dedicated language He is teacher-researcher at the ENSIETA since 1995 in the DTN Laboratory (New Technologies Development) He is involved in the modelling domain for embedded systems He applies MDE methodology and techniques on a system modelling framework based on executable metamodels and on platform modelling for software and hardware code generation This work is related to industrial concerns particularly with Thales AS, Thales Air Sys Michel Chaudron is an associate professor in computer science at the Technische Universiteit Eindhoven and at Leiden Universties’s Institute for Advanced Computer Science (LIACS) During his MSc and PhD he was a visitor at the Programming Research Lab at Oxford University and the Formal Methods Group at Imperial College, London After completing his PhD he worked for two years for an IT company in the area of traffic and transport telematics His research interests are in software architecting and component-based software development, esp in supporting of design-trade-offs in the architecting of complex systems He has been performing empirical studies into the use of UML in professional software development since 1999 Chaudron has published about his research in international and professional journals and conferences He serves on the program committee of conferences in the area of component-based software engineering, software processes and distributed systems Florian Deissenboeck is a research assistant in the Software & Systems Engineering Group of Prof M Broy at the Technische Universität München Currently he works on his PhD thesis about software quality controlling His academic interests lie in software maintenance, software product quality and program comprehension He studied computer science at the Technische Universität München and the Asian Institute of Technology, Bangkok Paloma Díaz received a degree and a doctorate both in computer science from the Polytechnic University of Madrid Since 1992, she has been working in the Universidad Carlos III of Madrid, where she About the Contributors is currently a full professor in the Computer Science Department and is the head of the DEI research group She has been mainly researching in hypermedia/Web engineering, access control modelling, e-learning and emergency information systems She is co-author of several articles and books, member of the ACM and senior member of the IEEE Tibor Farkas was born 1974 in Berlin, Germany Since 1999 he is certified as “Microsoft professional” (MCP) and “Microsoft certified systems engineer” (MCSE) and has been Microsoft partner and chief executive director of QuadConsult GmbH in 2000-2004 In 2005 he obtained his Diploma in Technical Informatics from the Technical University Berlin with the thesis “Model-based systems engineering of embedded automotive systems” Since 2005 he works as research assistant at the Fraunhofer Institute FOKUS in the Competence Center Modeling and Testing for Systems and Service Solutions (MOTION), where since 2006 he is head of working area embedded systems engineering Martin S Feather is a principal in the Software Assurance Technology & Reliability Group at the Jet Propulsion Laboratory, California Institute of Technology He works on developing research ideas and maturing them into practice, with current activities in the areas of software validation (specification, analysis, test automation, V&V techniques), early phase requirements engineering and risk management, and infusion of software engineering research results into practical application For more details, see http://eis.jpl.nasa.gov/~mfeather He obtained bachelor’s and master’s degrees in mathematics and computer science from Cambridge University, England, and a PhD in artificial intelligence from the University of Edinburgh, Scotland Marcela Genero is an associate professor at the Department of Information Systems and Technologies at the University of Castilla-La Mancha, Ciudad Real, Spain She received her MSc in computer science in the Department of Computer Science, University of South, Argentine in 1989, and her PhD at the University of Castilla-La Mancha, Ciudad Real, Spain in 2002 Her research interests are: empirical software engineering, software metrics, conceptual models quality, database quality, quality in product lines, quality in model-driven development, etc Genero has published in prestigious journals (Information and Software Technology, Journal of Software Maintenance and Evolution, Research and Practice, L‘Objet, Data and Knowledge Engineering, Empirical Software Engineering, Journal of Object Technology, Journal of Research and Practice in Information Technology, etc.), and conferences (CAiSE, ER, MODELS/UML, ISESE, METRICS, ESEM, SEKE, etc) She edited with Mario Piattini and Coral Calero the books titled Data and Information Quality (Kluwer, 2001), and Metrics for Software Conceptual Models (Imperial College, 2005) She is member of the International Software Engineering Research Network (ISERN) Jean-Franỗois Girard received a bachelors and master’s degree in computer science from McGill University and a PhD from the Technical University Kaiserslautern Between 1996 and 2004 he worked at the Fraunhofer Institute for Experimental Software Engineering, where he was responsible for reverse engineering Since 2005, he works for MAN Nutzfahrzeuge AG in the software development and technology department, where he is responsible for the project management and the change management systems used in software development Dr Girard represents MAN in the ASAM-AE-ISSUE workgroup and in the AUTOSAR work package “Methodology, Configuration and Templates” He is author of multiple publications About the Contributors Esther Guerra is an assistant professor at the Computer Science Department of the Universidad Carlos III, Madrid Her research interests include meta-modelling, graph transformation, and their application to the generation of environments for domain specific visual languages including advanced features, such as consistency of multi-view languages, metrics specification and analysis mechanisms He has been a doctoral researcher at the Institute of Theoretical Computer Science (TU Berlin) and the Department of Computer Science, University of Rome “Sapienza” Jens Happe is a PhD student from the Graduate School “TrustSoft”, University of Oldenburg, Germany He wrote his master’s thesis about reliability prediction for component-based software systems at Monash University in Melbourne, Australia In his PhD thesis, he analyses concurrency aspects of component-based software systems to improve quality-of-service predictions Since 2000, Wilhelm Hasselbring is professor at the Department of Computing Science, University of Oldenburg, Germany His previous work included assistant professorship at the University of Tilburg, The Netherlands and work as an assistant at the software technology group at the University of Dortmund, Germany He is currently the head of the software engineering group His main research interests include software engineering processes, patterns languages, grid technology, trustworthy computer systems and model driven software development Hasselbring is also chair of the graduate school on trustworthy software systems TrustSoft at the University of Oldenburg and has been director of the Department of Computer Science Brigitte Hoeltzener received her PhD in automatic option robotic from the University Paul Sabatier, Toulouse France, on December 1984 She has participated as French expert to NATO Research Group (RSG9 AC243 Panel 3) in the fields of target detection, data fusion and recognition chain evaluation Then she has integrated the department of system engineering of complex system, DSP; Délégation Générale de l’Armement Actually, she works in ENSIETA in the research laboratory: E3I2 EA 3678 Her research deals with the design of information system dedicated to radar and sonar applications and also, with the complexity of very large system including Human in the loop (Individual or collective integration) Jinfeng Huang received his BEng in computer science from China University of Mining and Technology, China (1997), and his MSc in computer science from Xi‘an Jiaotong University, China (2000, respectively) In 2005, he received his PhD from Eindhoven University of Technology, The Netherlands, for his work on predictable real-time software design Since April 2005, he works as a postdoc researcher at Electrical Engineering Department, Eindhoven University of Technology His research interests include formal methods on concurrent, real-time and distributed systems and software synthesis Emilio Insfrán is an associate professor at the Department of Information Systems and Computation (DISC) of the Valencia University of Technology, Spain and member of the Software Engineering and Information Systems Research Group in the DSIC He received an MS in computer science from the Cantabria University, Spain in 1994 and a PhD from the Valencia University of Technology in 2003 He was a visiting research scientist at the Department of Computer Science, University of Twente, The Netherlands (1999) and at the Department of Information Systems at the Brigham Young University, About the Contributors Utah, USA (2001) His research interests are requirements engineering, model-driven software development, and software quality He has published more than 40 journal and conference papers and he has been involved in a number of national and international projects Jean-Marc Jezequel received an engineering degree in telecommunications from the ENSTB in 1986, and a PhD in computer science from the University of Rennes, France, in 1989 He first worked in telecom industry (at Transpac) before joining the CNRS (Centre National de la Recherche Scientifique) in 1991 Since October 2000, he is a professor at the University of Rennes, leading an INRIA research team called Triskell His interests include model driven software engineering based on object oriented technologies for telecommunications and distributed systems He is the author of the books Object-Oriented Software Engineering with Eiffel and Design Patterns and Contracts (Addison-Wesley, 1996 and 1999), and of more than 90 publications in international journals and conferences He is a member of the steering committee of the MODELS/UML conference series He also served on the editorial boards of IEEE Transactions on Software Engineering and Journal on Software and System Modeling: SoSyM and Journal of Object Technology Pankaj Kamthan has been teaching in academia and industry for several years He has also been a technical editor, participated in standards development, served on program committees of international conferences, and is on the editorial board of the International Journal of Technology Enhanced Learning and the International Journal of Teaching and Case Studies His professional interests and experience include knowledge representation, requirements engineering, and software quality Sowmya Karunakaran is a research engineer, who started the MDA research initiative (MRI) at Chennai in May 2004 She has been doing MDA related research since 2004 Her areas of interest include model transformations, domain patterns, code generators, MDA tools, standards, UML and object constraint language She has published several IEEE papers and whitepapers on MDA Her whitepaper on “Reflections on MDA Case Studies” sought the attention and compliments of many MDA researchers She has conducted experiments on piloting MDA for software projects and analyzing the benefits and best practices Her other research interests include human machine interface computing and virtual reality She has also suggested MDA style of development for some Fortune 500 companies She is currently involved in pioneering MDA for projects and also conducting various training programs on MDA concepts Mori Khorrami is a principal in software engineering (embedded systems) at the Jet Propulsion Laboratory, California Institute of Technology He is currently a project element manger on a flight software task in addition to being the technical group supervisor for Instrument Flight Software Development He has over 27 years of experience in the Software and firmware design and development His current interests are in the common architectures, H/W interface modeling and simulation, object-oriented architectures and design, modeling tools, and field programmable gate arrays He obtained his bachelor’s degrees in electrical engineering from Tehran University and two master’s degrees in electrical engineering and computer science from California State University Northridge Heiko Koziolek is a PhD student from the Graduate School “TrustSoft”, University of Oldenburg, Germany He completed his master’s degree in computer science at the University of Oldenburg in 2005 About the Contributors and has worked for IBM and the Germany software company sd&m His research focuses on modeling parameter dependencies for performance specification of software components Juan de Lara is an associate professor at the Computer Science Department, Universidad Autónoma in Madrid, where he teaches software engineering, model-driven development, and automata theory He holds a PhD degree in computer science, and works in areas such as modelling and simulation, meta-modelling, visual languages and graph transformation He has been a post-doctoral researcher at the MSDL Lab (McGill University), the Institute of Theoretical Computer Science (TU Berlin) and the Department of Computer Science of the University of Rome “Sapienza” Tom Mens obtained the degrees of Licentiate in Mathematics and Advanced Master in Computer Science at the Vrije Universiteit Brussel He was a teaching and research assistant and obtained his PhD at the Vrije Universiteit Brussel in September 1999 After occupying a postdoctoral fellowship of the Fund for Scientific Research, Flanders, he became a lecturer at the University ode Mons-Hainaut in October 2003 He carries out research on formal foundations and tool support for evolving software He published numerous international research articles on this topic, and took part in the organisation of numerous international conferences and workshops He has been involved in several interuniversity research projects and networks, and is director of the ERCIM Working Group on Software Evolution Martin Monperus is a PhD student in computer science in the University of Rennes He received an engineering degree and a MSc from the Compiegne University of Technology in 2004 His research interests include machine learning and software engineering He currently focuses on measurement in the context of model driven software engineering Henry Muccini received his PhD in computer science from the University of Rome – La Sapienza (2002) He is currently an assistant professor at the University of L‘Aquila since 2002 and he has been visiting professor at Information & Computer Science, University of California, Irvine in 2001 and 2006 Muccini’s research interests are on software architecture verification and validation, model-based analysis, testing and model-checking He has published over 50 conference and journal articles on these topics, and co-organized events on software testing, analysis, and fault tolerance He teaches courses on web design, computer architecture lab, and analysis and testing of component-based systems He is the coordinator of the GSEEM, the Global Software Engineering European Master degree He collaborates with many industries and universities in Europe and in the U.S Dirk Müller is a research associate at the Philipps-Universität Marburg He obtained his diploma degree in computer science from the University of Leipzig in 2002 and his doctoral degree in engineering from the University of Kassel in 2006 His field of work combines model-driven engineering and refactoring with an interdisciplinary project—together with biology and philosophy—on the driving role of metaphors in the information sciences He also teaches model-driven engineering at Fulda University of Applied Sciences Ariadi Nugroho is a PhD student at Leiden Institute of Advanced Computer Science (LIACS), Leiden Unversity, The Netherlands He completed his master degree in ICT in business from the same institute 00 About the Contributors in 2006 His research interest has been in the area of software modeling: he graduated with a thesis titled “Modeling Web Service Orchestration with Paradigm” (paradigm is a coordination language developed at LIACS) After finishing his master’s study, Ariadi immediately continued with his PhD research, which focuses on empirical research in quality of UML modeling and software fault prediction As part of his research Ariadi also works regularly in an IT company to keep his research approaches and findings applicable to the industry Jane Oh is the group supervisor of the Software Assurance Technology and Reliability Group at JPL She is the principal investigator of Research and Technology Development projects, “Software assurance for the emerging discipline of model-based design” and “FPGA based verification simulation accelerator and assurance for FPGA/Firmware model-based design” Apropos to this study, she lead a team to adopt model-based requirements and design analysis that enables systems reliability of safety-critical functions that run in real-time Her PhD is from the University of Michigan, Ann Arbor Patrizio Pelliccione is an assistant professor at the University of L‘Aquila, Computer Science Department and he got its PhD in the same university From April 2005 to April 2006 Patrizio was senior researcher at the Faculty of Sciences, Technologies and Communications of the University of Luxembourg Patrizio is author of more than 30 publications in international journals and conferences The research topics are mainly in software architectures, component-based systems, fault-tolerance, model checking, and formal methods Patrizio is chair of the international workshop on Engineering Fault Tolerant Systems (EFTS), is editor of the book Software Engineering of Fault Tolerant Systems, and is reviewer of several workshops, conferences, and journals Claus Pahl is a senior lecturer and the leader of the Software and Systems Engineering research group at Dublin City University, which focuses on Web technologies and Web service engineering in particular His specific interests include model-driven software development, software composition, semantic Web service technologies, and applications of software and service engineering in Web-based software systems, such as learning technology systems Claus has published more than 150 papers including a wide range of journal articles, book chapters, and conference contributions on service engineering and model-driven development He is on the editorial board of several journals and is a regular reviewer for journals in the area of software engineering, Web technologies, and e-learning Mario Piattini is a full professor at the University of Castilla-La Mancha (UCLM), Spain His research interests include software quality, metrics and maintenance He gained his PhD in Computer Science at the Polytechnic University of Madrid, and he leads the Alarcos Research Group He is CISA and CISM by ISACA He is a member of ACM and the IEEE Computer Society Teade Punter received his master’s degree from Twente University in 1991 He was course team leader at the Open University, The Netherlands from 1992-1996 Punter earned his PhD from Eindhoven University of Technology in 2001 for his work on software product certification He worked from 2000 till 2004 as groupleader at Fraunhofer IESE After that he worked as consultant at the Laboratory for Software Quality at Eindhoven University of Technology Since January 2007, he works as Knowledge Manager at the Embedded Systems Institute Teade’s research interests are in model driven development of systems, testing and technology transfer 0 About the Contributors Isidro Ramos is a full professor since 1976 He has been teaching during 36 years in several universities Currently, he is a teacher at the Valencia University of Technology and the leader of the Software Engineering and Information Systems research group of the same university He has been a key researcher in 21 Research Projects, member and president of different Programme Committees of relevant conferences He has also been the international coordinator of the VII CYTED Subprogram on Applied Electronics and Computing, and the rector of the University of Castilla la Mancha He has recently received the Spanish Computer Science National Award 2006 He is currently working in the model-driven engineering and software architectures fields Ralf Reussner is a professor for computer science at the University of Karlsruhe and heads the chair “Software Design & Quality” since 2006 He is also director at the technology transfer center FZI, Karlsruhe He got his master’s degree in 1997 and his PhD in 2001 from the University of Karlsruhe Reussner is editor of the German Handbook on Software Architecture and member of the steering committee of the International Conference on the Quality of Software Architectures (QoSA) His research interests lie in component-based software engineering and prediction of extra-functional properties Davide Di Ruscio received his PhD in computer science from the University of L‘Aquila (Italy) in 2007 with a thesis titled “Specification of Model Transformation and Weaving in Model Driven Engineering” Currently, he is research fellow at the Computer Science Department of the University of L‘Aquila and his main research interests include UML, MDA, EMF, code generation, and methodologies for Web development During his PhD program, he has been involved in the study of formal and pragmatic characteristics of model transformations in model driven engineering In particular, a formal approach based on Abstract State Machines for supporting the implementation independent specification of model transformations has been defined and validated in different applicative domains (data-intensive Web applications, software architecture, middleware based systems) Recently, he started the investigation of more complex model operations like model evolution, synchronization and difference Currently, Di Ruscio is involved in the European project PLASTIC (Providing Lightweight & Adaptable Service Technology for pervasive Information & Communication) of the Sixth Framework Programme Miroslaw Staron obtained a PhD in software engineering from Blekinge Institute of Technology in Ronneby, Sweden in 2005 He has obtained his MSc from Wroclaw University of Technology in Wroclaw, Poland in 2001 His research interests include model driven software development and software measurements His main focus is on using empirical software engineering methods in the above areas and close cooperation with industry – Ericsson and Volvo IT Miroslaw is involved in organizing the series of consistency and quality workshops at the MODELS conference as well as the series of Nordic Workshops on UML and MDE Niels Streekmann graduated form University of Oldenburg in 2005 with a major in computer science He is currently with OFFIS, Oldenburg where he is working in the department business information systems His main research focuses on the public-private project MINT dealing with the model-driven integration of systems in the utility domain Streekmann is member of the GI, bringing in his expertise within the working group for model-driven architectures 0 About the Contributors Gabriele Taentzer is professor for software engineering at the Faculty of Mathematics and Computer Science of the Philipps-Universität Marburg in Germany She achieved the habilitation in computer science at the Technische UniversitŠt Berlin in 2003 Her research interests include model-driven software development, especially domain-specific visual languages, model transformation, and graph transformation Since 2002, she is a member of the steering committee for conferences and workshops on graph transformation and has been program committee member of many international workshops and conferences in the area of software engineering She has been involved in various research projects on graph transformation, visual languages and model-based software development Stefan Teuchert received an electrical engineering degree, with specialization in the area of measurement and control systems from the Technical University Hamburg At MAN Nutzfahrzeuge AG, he was first development engineer in the central division Electric/Electronic/Control and ECU systems (TSE) Since 2005, Mr Teuchert leads the software development and technology department Mathias Uslar graduated from Oldenburg University in 2004 with a major in computer science and a minor in legal informatics Currently, he is with the OFFIS in Oldenburg, a third-party funded institute affiliated with the university His major work deals with interoperability and enterprise application integration in the utilities domain using the Common Information Model CIM (IEC 61970) He furthermore focuses on knowledge management and electronic democracy Mathias is member of the GI, ACM and IEEE Jeroen Voeten received his master’s degree in mathematics and computing science in 1991 and his PhD in electrical engineering in 1997 from the Eindhoven University of Technology, The Netherlands Since 1997 he is working as an assistant professor in the Electronic Systems Group, Faculty of Electrical Engineering As from January 2005 he is also working as a senior research fellow at the Embedded Systems Institute in Eindhoven His research interests include system-level design methodology and performance modeling for embedded systems Stefan Wagner received a diploma in computer science from the University of Applied Sciences Augsburg, an MSc in distributed and multimedia information systems with distinction from Heriot-Watt University, Edinburgh, and a PhD in computer science from the Technische Universität München He works as a post-doctoral researcher at the Software & Systems Engineering Group at TU München His main interests include quality modelling, analysis and especially the connection to economics He is member of the IEEE computer society, the ACM SIGSOFT, and the German informatics society (GI) Michael Wahler is a doctoral student in the Business Integration Technologies Group at the IBM Zurich Research Laboratory He received a diploma in computer science from the Technical University of Munich, Germany, in 2003 and plans to complete a PhD in computer science at the Swiss Federal Institute of Technology Zurich, Switzerland, in 2008 Michael’s research focuses on engineering approaches for developing reliable software, particularly involving model-driven software development He is currently working in the area of data modeling, for which he is developing a pattern approach for concise and consistency-preserving refinement of class models 0 504 Index Symbols D σ Metric 152 DER 431, 436 design quality assessment design quality assessment, use of formal methods fo domain-specific modeling 185 domain experts 106 domain specific visual languages (DSVLs) 119–146 DSL 239 A abstract syntax 122 air traffic control system 65 AndroMDA 175, 178 architecture description language (ADL) 408 architecture description languages (ADLs) 266 ArchJava 271 ATHENA 122 automatic banking machines (ABMs) 327 automotive software engineering 374–399 B behavior preservation 185 Build Module 60 business process modeling language (BPML) 61 business process modeling notation (BPMN) 79 C capability maturity model (CMM) car manufacturers, and quality 374–399 Charmy approach 269 class models, increasing maturity of 204–235 code-centric (CC) developmen 236 cognitive dimensions of notations 331 component-based software engineering (CBSE) 97 constraint patterns 208 E electronic control units (ECU) 375 embedded systems 38–56 embedded systems design 37–56 Extract Method 171 extreme programming (XP) 330 F FAMIX 122 functions refinement tree (FRT) 307 G generative approach, to MDSD 238 goal question metric approach 83 graphical modelling framework (GMF) 107 green field development 236 I IEC-CIM 437 ISO/IEC 9126 405 Copyright © 2009, IGI Global, distributing in print or electronic forms without written permission of IGI Global is prohibited Index J P James Web Space Telescope 447–460 Java 272 Jet Propulsion Laboratory 447–460 Palladio component model 95–118 Palladio component model, an overview 100 patterns, to increase maturity 219 platform-specific model (PSM) 303 ports, public and protected 450 pragmatics 84 program refactoring 170 L language, formal 269 language, informal 269 legacy systems 435 loan application processing workflow 59 M Matlab/Simulink 352 Matlab/Simulink, and embedded systems development 353 maturity, using patterns 219 measurement of complexity 148 Meta Object Facility (MOF) 206 Middleware Company 68–69 MINT 431, 434 model-driven architecture (MDA) 302 model-driven development (MDD) 401, 403 model-driven engineering (MDE) 147–169, 204 model-driven integration, in complex information systems 431–446 model-driven performance 96 model-driven service engineering 400, 403 model-driven software development 79 model-driven software development (MDSD) 1, 352–373 model-driven software refactoring 170–203 model driven engineering 37–56, 39 model driven software development (MDSD) 57–77, 236–262 modeling technology, and increase of quality 81 MOMENT 314 multi-view DSVL (MV-DSVL) 124 N NASA 447–460 Nixon diamonds 216 O Object Constraint Language (OCL) 207 object identifiers 217 Object Management Group 79 OMG, query-view-transformation standard 305 Q quality, pragmatic 335 quality, semantic 334 quality, semiotic 334 quality-driven model transformations 302–326 quality assurance 11 quality assurance, in the MDE design flow 43 quality assurance, of MDSD 57 quality models 356 R RDF schema 438 refactoring 171 reflexive associations 214 resource demanding service effect specifications (RDSEFF) 102 S semantics 84 service-based software development, and quality 406 service-oriented architecture (SOA) 402 service engineering 400, 402 SLAMMER 119–146 SLAMMER, graphical patterns in 126 software architectures (SA) 263–301 software assurance techniques 452 software development, and quality assessment 211 software engineering, automotive 374–399 Software Engineering Institute software models, and quality 78–94 software quality 120 software quality model software services 401 software usability 177 syntax 84 system meter 149 T TargetLink 352 transformation definition 306 0 Index transformation rules 308 U UML-RT 450 UML design 13 unified modeling language 330 university calendar 177 use case models, an overview 328 use case models, a representation 329 V visual modeling languages (VML) 79 X XML 438 0 ... inspections via metrics and quality models to holistic approaches for the quality -driven development of software systems The goals of quality assurance for model- driven software development are diverse... topic of integrating quality assurance into model- driven software development is broad and comes in many different flavors However, when applying model- driven development and quality assurance, ... to quality in model- driven software development, which is presented in four chapter (Chapters I to IV) The chapters cover quality in general, quality aspects, and quality models for quality assurance