Modelling a family of systems for crisis management with concern‐oriented reuse

Concern‐oriented reuse (CORE) proposes the concern as a new unit of model‐based reuse encapsulating software artefacts pertaining to a domain of interest that span multiple development phases and levels of abstraction. With CORE, a concern encapsulates multiple reusable features, while allowing its generic models to be customized to problem‐specific contexts. We report on our experience of designing a family of crisis management systems (CMS) with the help of reusable concern libraries. The collected metrics show a considerable amount of reuse in our CMS design. The study provides encouraging evidence that CORE's vision to create large‐scale, generic and reusable entities that are expressed with the most appropriate modelling formalisms at the right level of abstraction is feasible. We present our experience in the design of the CMS and elaborate on the advantages as well as the efforts required to adopt CORE in an industrial setting. Copyright © 2016 John Wiley & Sons, Ltd.

[1]  Miguel A. Fernández,et al.  An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases , 2012, Empirical Software Engineering.

[2]  T. van deStorm Variability and component composition , 2004 .

[3]  Max E. Kramer,et al.  Mapping Aspect-Oriented Models to Aspect-Oriented Code , 2010, MoDELS Workshops.

[4]  Thomas Thüm,et al.  Towards modular analysis of multi product lines , 2013, SPLC '13 Workshops.

[5]  Jennifer Pérez,et al.  Plastic Partial Components: A solution to support variability in architectural components , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

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

[7]  Manfred Broy,et al.  What is the Benefit of a Model-Based Design of Embedded Software Systems in the Car Industry? , 2012 .

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

[9]  Sebastian Erdweg,et al.  A variability-aware module system , 2012, OOPSLA '12.

[10]  Jörg Kienzle,et al.  On the Reuse of Goal Models , 2015, SDL Forum.

[11]  Krzysztof Czarnecki,et al.  Feature and Meta-Models in Clafer: Mixed, Specialized, and Coupled , 2010, SLE.

[12]  Rob C. van Ommering Building product populations with software components , 2002, ICSE '02.

[13]  Andrew W. Appel,et al.  Hierarchical modularity , 1999, TOPL.

[14]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[15]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, Seminal Contributions to Information Systems Engineering.

[16]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[17]  Jacques Klein,et al.  Aspect-oriented multi-view modeling , 2009, AOSD '09.

[18]  Jörg Kienzle,et al.  Concern-Oriented Software Design , 2013, MoDELS.

[19]  Daniel Amyot,et al.  Composing Goal and Scenario Models with the Aspect-Oriented User Requirements Notation Based on Syntax and Semantics , 2013, Aspect-Oriented Requirements Engineering.

[20]  João Araújo,et al.  Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study , 2010, LNCS Trans. Aspect Oriented Softw. Dev..

[21]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[22]  Matthias Schöttle,et al.  Feature modelling and traceability for concern-driven software development with TouchCORE , 2015, MODULARITY.

[23]  Jilles van Gurp,et al.  From SPLs to Open, Compositional Platforms , 2008, Combining the Advantages of Product Lines and Open Source.

[24]  C. W. Krueger New methods in software product line development , 2006 .

[25]  Ruzanna Chitchyan,et al.  Aspect-Oriented Requirements Engineering , 2013, Springer Berlin Heidelberg.

[26]  Gunter Mussbacher,et al.  Combined goal and feature model reasoning with the User Requirements Notation and jUCMNav , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[27]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[28]  Marko Rosenmüller,et al.  Automating the Configuration of Multi Software Product Lines , 2010, VaMoS.

[29]  Jacques Klein,et al.  Aspect-Oriented Design with Reusable Aspect Models , 2010, LNCS Trans. Aspect Oriented Softw. Dev..

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

[31]  Jacques Klein,et al.  Reconciling Automation and Flexibility in Product Derivation , 2008, 2008 12th International Software Product Line Conference.

[32]  Jörg Kienzle,et al.  Crisis Management Systems: A Case Study for Aspect-Oriented Modeling , 2010, LNCS Trans. Aspect Oriented Softw. Dev..

[33]  Gunter Saake,et al.  SPL Conqueror: Toward optimization of non-functional properties in software product lines , 2012, Software Quality Journal.