Integration und Analyse von Artefakten in der modellbasierten Entwicklung eingebetteter Software

Nowadays, functional and safety requirements of vehicles can hardly be met without embedded software since a pure hardware-oriented realisation would be too complex and would result a huge number of electronic control units. Hence, the vehicle’s weight would increase leading to a higher fuel consumption. During the last years, MATLAB/Simulink has become state of the art for the development of embedded software in the automotive domain. Furthermore, in order to make advantage of commonalities a software product line approach is applied. This kind of development raises new challenges in the context of complexity and evolution management of embedded software. For instance, dependencies within Simulink models as well as links among design artefacts like Simulink model and requirements document are frequently not obvious. Hence, later change requests become more and more complicated to incorporate. This thesis first presents a general concept for artefact integration and analysis in the context of embedded software development in the automotive domain. Second, the concept is realised with two implementation approaches following different paradigms. The model-based approach first parses the original artefacts into models of the Eclipse Modeling Framework (EMF) which are subsequently structurally optimised by model transformations to facilitate later analyses. This results in one EMF model per artefact, the so-called representative. The artefact integration is realised by links among the representatives’ meta models. Analyses of artefacts, which are again realised by model transformations, now operate on these representatives leading to a further EMF model representing the analysis result. The second approach integrates artefacts via a central database. To this end, the original artefacts are first transferred into Java models applying tool-specific as well as Java functionality. In the next step, these models are persisted in the database where they can be linked to each other. Analyses operate on both Java models and the database and are, hence, implemented in Java. After a detailed explanation, the suitability of the approaches for artefact integration and analysis in an industrial context is evaluated based on case studies and developers’ opinions. To this end, the run time efficiency and the scalability to huge Simulink models are investigated. Furthermore, generalisability and extensibility are discussed. Since each approach has to be adaptable to company-specific needs, the complexity of analysis implementation and the necessary background knowledge are considered as well.

[1]  Christian Steger,et al.  Computer-Aided PHA, FTA and FMEA for Automotive Embedded Systems , 2011, SAFECOMP.

[2]  Ralf Reißing,et al.  Consistency Checking of Feature Mapping Between Requirements and Test Artefacts , 2012, ISPE CE.

[3]  Reiko Heckel,et al.  Graph Transformation in a Nutshell , 2006, FoVMT.

[4]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[5]  Stefan Kowalewski,et al.  Applying software product line techniques in model-based embedded systems engineering , 2009, 2009 ICSE Workshop on Model-Based Methodologies for Pervasive and Embedded Software.

[6]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[7]  Will Tracz Confessions of a used program salesman , 1995 .

[8]  Andy Schürr,et al.  MATE - A Model Analysis and Transformation Environment for MATLAB Simulink , 2007, Model-Based Engineering of Embedded Real-Time Systems.

[9]  Sven Patzina,et al.  A Case Study Based Comparison of ATL and SDM , 2011, AGTIVE.

[10]  Ingo Stürmer,et al.  Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme IV, Schloss Dagstuhl, Germany, 7.-9. April 2008, Tagungsband Modellbasierte Entwicklung eingebetteter Systeme , 2008, MBEES.

[11]  Jordi Cabot,et al.  Incremental integrity checking of UML/OCL conceptual schemas , 2009, J. Syst. Softw..

[12]  Licia Capra,et al.  xlinkit: a consistency checking and smart link generation service , 2002, TOIT.

[13]  Holger Giese,et al.  A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink , 2006 .

[14]  Stefan Kowalewski,et al.  Experiences of applying model-based analysis to support the development of automotive software product lines , 2011, VaMoS.

[15]  E. Kindler,et al.  Triple Graph Grammars : Concepts , Extensions , Implementations , and Application Scenarios , 2007 .

[16]  Stefan Kowalewski,et al.  Evolutionsunterstützung für komplexe, modellbasierte Software-Produktlinien , 2012 .

[17]  Danilo Beuche Modeling and Building Software Product Lines with Pure: : Variants , 2008, SPLC.

[18]  Stefan Kubica Variantenmanagement modellbasierter Funktionssoftware mit Software-Produktlinien , 2007 .

[19]  Gregor Engels,et al.  A Hybrid Query Language for an Extended Entity-Relationship Model , 1996, J. Vis. Lang. Comput..

[20]  Martin Törngren,et al.  Integrating safety analysis into the model-based development toolchain of automotive embedded systems , 2010, LCTES '10.

[21]  Siegfried Nolte QVT - Relations Language: Modellierung mit der Query Views Transformation , 2009, Xpert.press.

[22]  Stefan Kowalewski,et al.  Managing complexity and variability of a model-based embedded software product line , 2011, Innovations in Systems and Software Engineering.

[23]  M.L. Griss,et al.  Software reuse architecture, process, and organization for business success , 1997, Proceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering.

[24]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[25]  Bernhard Rumpe,et al.  Agile Modellierung mit UML: Codegenerierung, Testfälle, Refactoring (Xpert.press) , 2006 .

[26]  Viviana Bono,et al.  Delta-Oriented Programming of Software Product Lines , 2010, SPLC.

[27]  Markus Voelter,et al.  Expressing Feature-Based Variability in Structural Models , 2007 .

[28]  Lionel C. Briand,et al.  Impact analysis and change management of UML models , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[29]  Mats Per Erik Heimdahl,et al.  Model-Based Safety Analysis of Simulink Models Using SCADE Design Verifier , 2005, SAFECOMP.

[30]  Stefan Kowalewski,et al.  Analysis of Simulink Models Using Databases and Model Transformations , 2012, MOMPES.

[31]  A. Kalnins,et al.  Simple and efficient implementation of pattern matching in MOLA tool , 2006, 2006 7th International Baltic Conference on Databases and Information Systems.

[32]  Gilles Motet,et al.  A UML model consistency verification approach based on meta-modeling formalization , 2006, SAC.

[33]  Matthias Riebisch Supporting evolutionary development by feature models and traceability links , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[34]  Audris Mockus,et al.  Measuring domain engineering effects on software change cost , 1999, Proceedings Sixth International Software Metrics Symposium (Cat. No.PR00403).

[35]  Andy Schürr,et al.  Checking and Enforcement of Modeling Guidelines with Graph Transformations , 2008, AGTIVE.

[36]  Stefan Kowalewski,et al.  Integration and Analysis of Design Artefacts in Embedded Software Development , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference Workshops.

[37]  Dániel Varró,et al.  Graph Transformation in Relational Databases , 2005, GraBaTs.

[38]  Tobias Rötschke,et al.  MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations , 2006, ECMDA-FA.

[39]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[40]  Tibor Farkas Regelbasierte Konformitätsprüfung kollaborativer Artefakte , 2011 .

[41]  Audris Kalnins,et al.  Model Transformation Language MOLA , 2003, MDAFA.

[42]  Stefan Kowalewski,et al.  EvoFM: feature-driven planning of product-line evolution , 2010, PLEASE '10.

[43]  Markus Völter Modellgetriebene Softwareentwicklung , 2005, Datenbank-Spektrum.

[44]  Andy Schürr,et al.  Introduction to PROGRESS, an Attribute Graph Grammar Based Specification Language , 1990, WG.

[45]  Kathrin Berg,et al.  Tracing software product line variability: from problem to solution space , 2005 .

[46]  Chris Rupp,et al.  UML 2 glasklar: Praxiswissen für die UML-Modellierung , 2012 .

[47]  Annegret Habel,et al.  Graph Transformation for Specification and Programming , 1999, Sci. Comput. Program..

[48]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[49]  Gabriele Taentzer,et al.  AGG: A Graph Transformation Environment for Modeling and Validation of Software , 2003, AGTIVE.

[50]  Jeffrey S. Poulin,et al.  Measuring software reuse - principles, practices, and economic models , 1996 .

[51]  Stefan Kowalewski,et al.  Towards feature-driven planning of product-line evolution , 2009, FOSD '09.

[52]  Gregor Engels,et al.  Consistency Management Within Model-Based Object-Oriented Development of Components , 2003, FMCO.

[53]  Jörg Holtmann,et al.  A Seamless Model-Based Development Process for Automotive Systems , 2011, Software Engineering.

[54]  Kwanwoo Lee,et al.  Automating Product Derivation in Software Product Line Engineering , 2009, Software Engineering.

[55]  S. Seshu,et al.  Introduction to the theory of finite-state machines , 1963 .

[56]  Klaus Pohl,et al.  Dynamic Consistency Checking of Domain Requirements in Product Line Engineering , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[57]  Michael Valášek,et al.  Knowledge supported design and reuse of simulation models , 2001 .

[58]  Marie-Pierre Gervais,et al.  Inconsistency Detection in Distributed Model Driven Software Engineering Environments , 2010, LWI@ASE.

[59]  Albert Zündorf,et al.  The PROGRES approach: language and environment , 1999 .

[60]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[61]  Terrence W. Pratt,et al.  Pair Grammars, Graph Languages and String-to-Graph Translations , 1971, J. Comput. Syst. Sci..

[62]  Christian Dziobek,et al.  Herausforderungen bei der modellbasierten Entwicklung verteilter Fahrzeugfunktionen in einer verteilten Entwicklungsorganisation , 2012, MBEES.

[63]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[64]  Bernhard Rumpe,et al.  Modellierung mit UML: Sprache, Konzepte und Methodik (Xpert.press) , 2006 .

[65]  B. Westfechtel,et al.  GRAS, a graph-oriented database system for (software) engineering applications , 1993, Proceedings of 6th International Workshop on Computer-Aided Software Engineering.

[66]  Paul Mulholland,et al.  Supporting the sharing and reuse of modelling and simulation design knowledge , 2003 .

[67]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[68]  Manfred Broy,et al.  Seamless Model-Based Development: From Isolated Tools to Integrated Model Engineering Environments , 2010, Proceedings of the IEEE.

[69]  Stefan Kowalewski,et al.  Model-Based Analysis of Design Artefacts Applying an Annotation Concept , 2012, Software Engineering.

[70]  Alexander Egyed,et al.  Utilizing the Relationships Between Inconsistencies for more Effective Inconsistency Resolution , 2010, LWI@ASE.

[71]  Manfred Nagl Graph-Grammatiken: Theorie, Anwendungen, Implementierung , 1979 .

[72]  Wilhelm Schäfer,et al.  Supporting iterations in exploratory database reengineering processes , 2002, Sci. Comput. Program..

[73]  Alexander Reder,et al.  Inconsistency management framework for model-based development , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[74]  Wolf Zimmermann Software-Produktlinien : Methoden, Einführung und Praxis , 2005 .

[75]  Stefan Kowalewski,et al.  Variabilität im modelbasierten Engineering von eingebetteten Systemen , 2009, GI Jahrestagung.

[76]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[77]  Ragnhild Van Der Straeten,et al.  Detecting and resolving model inconsistencies using transformation dependency analysis , 2006, MoDELS'06.

[78]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[79]  C. Petri Kommunikation mit Automaten , 1962 .

[80]  Jörg Schäuffele,et al.  Automotive Software Engineering - Grundlagen, Prozesse, Methoden und Werkzeuge effizient einsetzen (3. Aufl.) , 2006 .

[81]  Stefan Kowalewski,et al.  Interactive Configuration of Embedded Systems Product Lines , 2009, MAPLE@SPLC.

[82]  Klaus Pohl,et al.  Towards automated consistency checks of product line requirements specifications , 2007, ASE.

[83]  Stefan Kowalewski,et al.  Test front loading in early stages of automotive software development based on AUTOSAR , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[84]  Richard F. Paige,et al.  On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages , 2009, Rigorous Methods for Software Construction and Analysis.

[85]  Nicolas Anquetil,et al.  A model-driven traceability framework for software product lines , 2010, Software & Systems Modeling.

[86]  Helmut Balzert,et al.  Lehrbuch der Softwaretechnik - Basiskonzepte und Requirements Engineering, 3. Auflage , 2009, Lehrbücher der Informatik.

[87]  Anne-Thérèse Körtgen New Strategies to Resolve Inconsistencies between Models of Decoupled Tools , 2010, LWI@ASE.

[88]  Andy Schürr,et al.  Development of Tool Extensions with MOFLON , 2007, Model-Based Engineering of Embedded Real-Time Systems.

[89]  Stefan Kowalewski,et al.  Ein Ansatz zum merkmalbasierten Konsistenzmanagement in der Produklinienentwicklung , 2013, GI-Jahrestagung.

[90]  Christian Dziobek,et al.  Variability management in the AUTOSAR-based development of applications for in-vehicle systems , 2011, VaMoS.

[91]  Barry W. Boehm,et al.  Verifying and Validating Software Requirements and Design Specifications , 1989, IEEE Software.

[92]  Jens Weiland,et al.  Konfigurationsmanagement variantenreicher Simulink-Modelle , 2005, GI Jahrestagung.

[93]  Kerstin Mueller,et al.  Software Product Line Engineering Foundations Principles And Techniques , 2016 .

[94]  Donald J. Reifer,et al.  Practical software reuse , 1997 .

[95]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.