Delta Modeling for Software Architectures

Architectural modeling is an integral part of modern software development. In particular, diverse systems benefit from precise architectural models since similar components can often be reused between different system variants. However, during all phases of diverse system development, system variability has to be considered and modeled by appropriate means. Delta modeling is a language-independent approach for modeling system variability. A set of diverse systems is represented by a core system and a set of deltas specifying modifications to the core system. In this paper, we give a first sketch of how to apply delta modeling in MontiArc, an existing architecture description language, in order to obtain an integrated modeling language for architectural variability. The developed language, ∆-MontiArc, allows the modular modeling of variable software architectures and supports proactive as well as extractive product line development.

[1]  Tomoji Kishi,et al.  Aspect-Oriented Modeling for Variability Management , 2008, 2008 12th International Software Product Line Conference.

[2]  Robert K. Brayton,et al.  Verifying Continuous Time Markov Chains , 1996, CAV.

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

[4]  Andreas Lüdtke,et al.  Modellierung von Entscheidungen beim Einfädeln auf die Autobahn , 2009 .

[5]  Stefan Kowalewski,et al.  Early Behaviour Modelling for Control Systems , 2009, 2009 Third UKSim European Symposium on Computer Modeling and Simulation.

[6]  Hassan Gomaa,et al.  Designing Software Product Lines with UML , 2005, 29th Annual IEEE/NASA Software Engineering Workshop - Tutorial Notes (SEW'05).

[7]  Steffen Prochnow Efficient development of complex statecharts , 2008 .

[8]  Hardi Hungar,et al.  Integrated Modelling for Safe Transportation - Driver modeling and driver experiments , 2008 .

[9]  Ulrik Brandes,et al.  Fast and Simple Horizontal Coordinate Assignment , 2001, GD.

[10]  Rob C. van Ommering Software Reuse in Product Populations , 2005, IEEE Trans. Software Eng..

[11]  Husain Aljazzar,et al.  Safety Analysis of an Airbag System Using Probabilistic FMEA and Probabilistic Counterexamples , 2009, 2009 Sixth International Conference on the Quantitative Evaluation of Systems.

[12]  Stephan Weißleder Simulated Satisfaction of Coverage Criteria on UML State Machines , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[13]  Justyna Zander-Nowicka,et al.  Model-based Testing of Real-Time Embedded Systems in the Automotive Domain , 2009 .

[14]  A. Jefferson Offutt The Coupling Effect: Fact or Fiction , 1989, Symposium on Testing, Analysis, and Verification.

[15]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[16]  Bernhard Schätz,et al.  Clone detection in automotive model-based development , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[17]  Peter Liggesmeyer,et al.  A New Component Concept for Fault Trees , 2003, SCS.

[18]  Andrew Hinton,et al.  PRISM: A Tool for Automatic Verification of Probabilistic Systems , 2006, TACAS.

[19]  Xavier Crégut,et al.  The TOPCASED project : a toolkit in open source for critical aeronautic systems design , 2006 .

[20]  Holger Giese,et al.  On the Unification of Megamodels , 2012 .

[21]  John A. McDermid,et al.  An integrated tool set for software safety analysis , 1993, J. Syst. Softw..

[22]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[23]  Richard Dearden,et al.  Randomized testing for Robotic plan execution for autonomous systems , 2010, 2010 IEEE/OES Autonomous Underwater Vehicles.

[24]  Jean-Marc Jézéquel,et al.  Towards a UML Profile for Software Product Lines , 2003, PFE.

[25]  Clémentine Nebut,et al.  Requirements by contracts allow automated system testing , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[26]  T. Reiter,et al.  ModelCVS A Semantic Infrastructure for Model-based Tool Integration , 2005 .

[27]  André van der Hoek,et al.  Modeling Product Line Architectures through Change Sets and Relationships , 2007, 29th International Conference on Software Engineering (ICSE'07).

[28]  Ina Schaefer,et al.  Variability Modelling for Model-Driven Development of Software Product Lines , 2010, VaMoS.

[29]  Carlo Batini,et al.  A layout algorithm for data flow diagrams , 1986, IEEE Transactions on Software Engineering.

[30]  Florian Leitner-Fischer,et al.  Quantitative Safety Analysis of UML Models , 2010 .

[31]  Ana Moreira,et al.  Formal Specifications of User Requirements , 1999, Automated Software Engineering.

[32]  Pietro Baroni,et al.  Fault diagnosis through history reconstruction: An application to power transmission networks , 1997 .

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

[34]  Christiane Fellbaum,et al.  Book Reviews: WordNet: An Electronic Lexical Database , 1999, CL.

[35]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[36]  Mario Friske,et al.  Composition of Model-based Test Coverage Criteria , 2008, MBEES.

[37]  C. Krueger,et al.  Eliminating the adoption barrier , 2002, IEEE Software.

[38]  Malcolm Wallace,et al.  Modular Architectural Representation and Analysis of Fault Propagation and Transformation , 2005, FESCA@ETAPS.

[39]  A. Jefferson Offutt,et al.  Generating Tests from UML Specifications , 1999, UML.

[40]  Simona Bernardi,et al.  A dependability profile within MARTE , 2011, Software & Systems Modeling.

[41]  Michael Leuschel,et al.  An Approach of Requirements Tracing in Formal Refinement , 2010, VSTTE.

[42]  Yassine Lakhnech,et al.  Hierarchical Automata as Model for Statecharts , 1997, ASIAN.

[43]  Klaus D. Müller-Glaser,et al.  GeneralStore - a CASE-tool integration platform enabling model level coupling of heterogeneous designs for embedded electronic systems , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[44]  Makis Stamatelatos,et al.  Fault tree handbook with aerospace applications , 2002 .

[45]  Stefania Bandini,et al.  Case-Based Troubleshooting in the Automotive Context: The SMMART Project , 2008, ECCBR.

[46]  Bernhard Rumpe,et al.  Refinement of Pipe-and-Filter Architectures , 1999, World Congress on Formal Methods.

[47]  YangQuan Chen,et al.  Autopilots for small unmanned aerial vehicles: A survey , 2010 .

[48]  David Garlan,et al.  Acme: an architecture description interchange language , 2010, CASCON.

[49]  Christel Baier,et al.  Model-Checking Algorithms for Continuous-Time Markov Chains , 2002, IEEE Trans. Software Eng..

[50]  Birgit Vogel-Heuser,et al.  Modellierungsansatz für Zeitanforderungen und Kommunikationsnetze , 2008 .

[51]  Jon Whittle,et al.  Model composition in product lines and feature interaction detection using critical pair analysis , 2007, MODELS'07.

[52]  Gianfranco Lamperti,et al.  Diagnosis of active systems : principles and techniques , 2003 .

[53]  Michael Jackson,et al.  A Reference Model for Requirements and Specifications , 2000, IEEE Softw..

[54]  Ulf Nilsson,et al.  A Comparative Study of Industrial Static Analysis Tools , 2008, SSV.

[55]  Dragan Gasevic,et al.  Model Driven Engineering and Ontology Development , 2009 .

[56]  Michael A. Jackson,et al.  Problem Frames - Analysing and Structuring Software Development Problems , 2000 .

[57]  Thomas A. Henzinger,et al.  The theory of hybrid automata , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[58]  Jörg Holtmann,et al.  Eine erweiterte Systemmodellierung zur Entwicklung von softwareintensiven Anwendungen in der Automobilindustrie , 2010, Software Engineering.

[59]  Manfred Broy,et al.  Specification and development of interactive systems: focus on streams, interfaces, and refinement , 2001 .

[60]  Eric N. Johnson,et al.  UAV Flight Test Programs at Georgia Tech , 2004 .

[61]  Jean Bézivin,et al.  On the Need for Megamodels , 2004, OOPSLA 2004.

[62]  Oliver Niggemann,et al.  Statistical Models of Network Traffic , 2010 .

[63]  Carlo Batini,et al.  Automatic graph drawing and readability of diagrams , 1988, IEEE Trans. Syst. Man Cybern..

[64]  Claus Möbus Probabilistic and Empirical Grounded Modeling of Agents in Partial Cooperative (Traffic) Scenarios , 2008, Mensch & Computer Workshopband.

[65]  José Oncina,et al.  Learning Stochastic Regular Grammars by Means of a State Merging Method , 1994, ICGI.

[66]  Hoan Anh Nguyen,et al.  Complete and accurate clone detection in graph-based models , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[67]  Mitsuhiko Toda,et al.  Methods for Visual Understanding of Hierarchical System Structures , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[68]  Holger Giese,et al.  Model Synchronization at Work: Keeping SysML and AUTOSAR Models Consistent , 2010, Graph Transformations and Model-Driven Engineering.

[69]  Birgit Vogel-Heuser,et al.  PERFORMANCE ANALYSIS OF INDUSTRIAL ETHERNET NETWORKS BY MEANS OF TIMED MODEL-CHECKING , 2006 .

[70]  A. Jefferson Offutt,et al.  Investigations of the software testing coupling effect , 1992, TSEM.

[71]  Georg Frey,et al.  Measuring the impact of vertical integration on response times in ethernet fieldbuses , 2007, 2007 IEEE Conference on Emerging Technologies and Factory Automation (EFTA 2007).

[72]  U. Kulesza,et al.  Bridging the Gap Between Features and Models , 2007 .

[73]  Michel Wermelinger,et al.  A graph transformation approach to software architecture reconfiguration , 2002, Sci. Comput. Program..

[74]  Tom Mens,et al.  Guiding Architectural Restructuring through Architectural Styles , 2010, 2010 17th IEEE International Conference and Workshops on Engineering of Computer Based Systems.

[75]  Bernhard K. Aichernig,et al.  Test case generation by OCL mutation and constraint solving , 2005, Fifth International Conference on Quality Software (QSIC'05).

[76]  Peter Eades,et al.  A Heuristic for Graph Drawing , 1984 .

[77]  J. Sowa The challenge of knowledge soup , 2006 .

[78]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[79]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[80]  Lars Grunske,et al.  Probabilistic Model-Checking Support for FMEA , 2007, Fourth International Conference on the Quantitative Evaluation of Systems (QEST 2007).

[81]  Michiel Helvensteijn,et al.  Abstract delta modeling , 2010, GPCE '10.

[82]  Vincenzo Gervasi,et al.  On the Systematic Analysis of Natural Language Requirements with CIRCE , 2006, Automated Software Engineering.

[83]  Colin de la Higuera,et al.  Probabilistic DFA Inference using Kullback-Leibler Divergence and Minimality , 2000, ICML.

[84]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[85]  Jeremy J. Carroll,et al.  Resource description framework (rdf) concepts and abstract syntax , 2003 .

[86]  Stephan Weißleder,et al.  Quality of Automatically Generated Test Cases based on OCL Expressions , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[87]  Jeff Magee,et al.  Using resemblance to support component reuse and evolution , 2006, SAVCBS '06.

[88]  Mark Harman,et al.  Control Dependence for Extended Finite State Machines , 2009, FASE.

[89]  Jean-Raymond Abrial,et al.  Formal methods in industry: achievements, problems, future , 2006, ICSE.

[90]  Ji Wang,et al.  Slicing Hierarchical Automata for Model Checking UML Statecharts , 2002, ICFEM.

[91]  Stefan Voget Future Trends in Software Architectures for Automotive Systems , 2003 .

[92]  Deborah L. McGuinness,et al.  OWL Web ontology language overview , 2004 .

[93]  Andreas Krämer,et al.  Systematic testing of the continuous behavior of automotive systems , 2006, SEAS '06.

[94]  Kimon P. Valavanis,et al.  Designing an autonomous helicopter testbed: from conception through implementation , 2008 .

[95]  Herbert Hanselmann,et al.  Challenges in automotive software engineering , 2008, ICSE Companion '08.

[96]  Tim Weilkiens,et al.  Systems engineering with SysML / UML - modeling, analysis, design , 2007 .

[97]  Luca de Alfaro,et al.  Linear and Branching Metrics for Quantitative Transition Systems , 2004, ICALP.

[98]  John F. Sowa,et al.  Knowledge representation: logical, philosophical, and computational foundations , 2000 .

[99]  Jonas Helming,et al.  Unicase – an Ecosystem for Unified Software Engineering Research Tools , 2008 .

[100]  Stacy J. Prowell,et al.  Foundations of Sequence-Based Software Specification , 2003, IEEE Trans. Software Eng..

[101]  Birger Møller-Pedersen,et al.  Adding Standardized Variability to Domain Specific Languages , 2008, 2008 12th International Software Product Line Conference.

[102]  Martin Gogolla Unified Modeling Language , 2009, Encyclopedia of Database Systems.

[103]  Ingo Stürmer,et al.  Overview of existing safeguarding techniques for automatically generated code , 2005, ACM SIGSOFT Softw. Eng. Notes.

[104]  Holger Giese Towards Scenario-Based Synthesis for Parametric Timed Automata , 2003 .

[105]  Rasul Mohammadi Fault diagnosis of hybrid systems with applications to gas turbine engines , 2009 .

[106]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[107]  T. Kanade Model-Based Testing of Reactive Systems , 2005 .

[108]  Oscar Díaz,et al.  Feature Oriented Model Driven Development: A Case Study for Portlets , 2007, 29th International Conference on Software Engineering (ICSE'07).

[109]  Claus Möbus,et al.  Further Steps towards Driver Modeling According to the Bayesian Programming Approach , 2009, HCI.

[110]  Ioan Jurca,et al.  Towards early performance assessment based on UML MARTE models for distributed systems , 2009, 2009 5th International Symposium on Applied Computational Intelligence and Informatics.

[111]  Emden R. Gansner,et al.  A Technique for Drawing Directed Graphs , 1993, IEEE Trans. Software Eng..

[112]  Steven P. Miller,et al.  Applicability of modified condition/decision coverage to software testing , 1994, Softw. Eng. J..

[113]  R. Dearden,et al.  Detecting and Learning Unknown Fault States in Hybrid Diagnosis , 2009 .

[114]  Douglas C. Schmidt,et al.  Applying model intelligence frameworks for deployment problem in real-time and embedded systems , 2006, MoDELS'06.

[115]  Ulrich Epple,et al.  A layer-based approach to build up diagnosis applications in process industries , 2009, 2009 IEEE International Conference on Control and Automation.

[116]  Petra Mutzel,et al.  Port Constraints in Hierarchical Layout of Data Flow Diagrams , 2009, GD.

[117]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[118]  Birgit Vogel-Heuser,et al.  Techniken zur effizienten Verifikation von Echtzeitsystemen durch Model-Checking , 2006 .

[119]  Angelo Gargantini,et al.  Using model checking to generate tests from requirements specifications , 1999, ESEC/FSE-7.

[120]  Georg Frey,et al.  Evaluation of Response Time in Ethernet-based Automation Systems , 2006, 2006 IEEE Conference on Emerging Technologies and Factory Automation.

[121]  Steve Heath,et al.  Embedded Systems Design , 1997 .

[122]  Husain Aljazzar,et al.  Debugging of Dependability Models Using Interactive Visualization of Counterexamples , 2008, 2008 Fifth International Conference on Quantitative Evaluation of Systems.

[123]  Iris Groher,et al.  Product Line Implementation using Aspect-Oriented and Model-Driven Software Development , 2007 .

[124]  Andrea Bondavalli,et al.  Stochastic Dependability Analysis of System Architecture Based on UML Models , 2002, WADS.

[125]  Georg Sander,et al.  The ILOG JViews Graph Layout Module , 2001, Graph Drawing.

[126]  Cees Witteveen,et al.  A Likelihood-Ratio Test for Identifying Probabilistic Deterministic Real-Time Automata from Positive Data , 2010, ICGI.

[127]  Georg Sander,et al.  A Fast Heuristic for Hierarchical Manhattan Layout , 1995, GD.

[128]  Willy Chen,et al.  > Semantic Web Use Cases and Case Studies Use Case : How Ontologies and Rules Help to Advance Automobile Development , 2008 .

[129]  Roberto Tamassia,et al.  On Embedding a Graph in the Grid with the Minimum Number of Bends , 1987, SIAM J. Comput..

[130]  Georg Sander,et al.  Layout of Directed Hypergraphs with Orthogonal Hyperedges , 2003, GD.

[131]  Henrik Eriksson,et al.  The evolution of Protégé: an environment for knowledge-based systems development , 2003, Int. J. Hum. Comput. Stud..

[132]  Martin Fränzle,et al.  Light-weight hybrid model checking facilitating online prediction of temporal properties , 2009 .

[133]  Vincenzo Gervasi,et al.  Processing natural language requirements , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[134]  Sven Apel,et al.  Model Superimposition in Software Product Lines , 2009, ICMT@TOOLS.

[135]  Georg Sander,et al.  Graph Layout through the VCG Tool , 1994, GD.

[136]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems, Advanced Lectures , 2005 .

[137]  David Lorge Parnas,et al.  Functional Documents for Computer Systems , 1995, Sci. Comput. Program..

[138]  Kurt Sandkuhl,et al.  Patterns in Ontology Engineering: Classification of Ontology Patterns , 2005, ICEIS.

[139]  Reinhard von Hanxleden,et al.  Taming graphical modeling , 2010, MODELS'10.

[140]  Jürgen Jasperneite,et al.  PROFINET: an integration platform for heterogeneous industrial communication systems , 2005, 2005 IEEE Conference on Emerging Technologies and Factory Automation.

[141]  Dehla Sokenou Generating Test Sequences from UML Sequence Diagrams and State Diagrams , 2006, GI Jahrestagung.

[142]  Frank Köster,et al.  DeSCAS Design Process Model for Automotive Systems -- Development Streams and Ontologies , 2009 .

[143]  Eda Marchetti,et al.  Introducing a Reasonably Complete and Coherent Approach for Model-based Testing , 2005, TACoS.

[144]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[145]  G. Marsal Evaluation of Real-Time Capabilities of Ethernet-based Automation Systems using Formal Verification and Simulation , 2005 .

[146]  Marco Ajmone Marsan,et al.  On Petri nets with deterministic and exponentially distributed firing times , 1986, European Workshop on Applications and Theory of Petri Nets.

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

[148]  Michael J. Butler,et al.  An Open Extensible Tool Environment for Event-B , 2006, ICFEM.

[149]  Sebastian Rudolph,et al.  Semantic Web: Grundlagen , 2008 .

[150]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[151]  D. Lindberg,et al.  Unified Medical Language System , 2020, Definitions.

[152]  Richard F. Paige,et al.  Probabilistic Failure Propagation and Transformation Analysis , 2009, SAFECOMP.

[153]  Philippe Massonet,et al.  GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[154]  Mario Piattini,et al.  Ontologies for Software Engineering and Software Technology , 2010 .

[155]  John F. Sowa,et al.  Principles of semantic networks , 1991 .

[156]  Bernhard Rumpe,et al.  MontiCore: a framework for the development of textual domain specific languages , 2008, ICSE Companion '08.

[157]  Diego Latella,et al.  Towards a Formal Operational Semantics of UML Statechart Diagrams , 1999, FMOODS.

[158]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[159]  Dana Angluin,et al.  Learning Regular Sets from Queries and Counterexamples , 1987, Inf. Comput..