Design approaches for critical embedded systems: A systematic mapping study

Critical Embedded Systems (CES) are systems in which failures are potentially catastrophic and, therefore, hard constraints are imposed on them. In the last years the amount of software accommodated within CES has considerably changed. For example, in smart cars the amount of software has grown about 100 times compared to previous years. This change means that software design for these systems is also bounded to hard constraints (e.g., high security and performance). Along the evolution of CES, the approaches for designing them are also changing rapidly, so as to fit the specialized needs of CES. Thus, a broad understanding of such approaches is missing. Therefore, this study aims to establish a fair overview on CESs design approaches. For that, we conducted a Systematic Mapping Study (SMS), in which we collected 1,673 papers from five digital libraries, filtered 269 primary studies, and analyzed five facets: design approaches, applications domains, critical quality attributes, tools, and type of evidence. Our findings show that the body of knowledge is vast and overlaps with other types of systems (e.g., real-time or cyber-physical systems). In addition, we have observed that some critical quality attributes are common among various application domains, as well as approaches and tools are oftentimes generic to CES.

[1]  Apostolos Ampatzoglou,et al.  An Embedded Multiple-Case Study on OSS Design Quality Assessment across Domains , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[2]  Per Runeson,et al.  Integrating agile software development into stage-gate managed product development , 2006, Empirical Software Engineering.

[3]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[4]  Jürgen Dingel,et al.  Model Transformations for Migrating Legacy Models: An Industrial Case Study , 2012, ECMFA.

[5]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[6]  Markus Oertel,et al.  Creating a reference technology platform: Performing model-based safety analysis in a heterogeneous development environment , 2014, 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[7]  Seetha Ramaiah Panchumarthy,et al.  A framework for software safety in safety-critical systems , 2009, SOEN.

[8]  Guenther Ruhe,et al.  Impact Analysis of Missing Values on the Prediction Accuracy of Analogy-based Software Effort Estimation Method AQUA , 2007, ESEM 2007.

[9]  George Valença,et al.  Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript , 2022 .

[10]  Yann-Gaël Guéhéneuc,et al.  Domain matters: bringing further evidence of the relationships among anti-patterns, application domains, and quality-related metrics in Java mobile apps , 2014, ICPC 2014.

[11]  Daniel D. Gajski,et al.  SPECC: Specification Language and Methodology , 2000 .

[12]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[13]  Muhammad Ali Babar,et al.  On Searching Relevant Studies in Software Engineering , 2010, EASE.

[14]  Robert L. Nord,et al.  A general model of software architecture design derived from five industrial approaches , 2007, J. Syst. Softw..

[15]  Bruce McMillin,et al.  Software engineering: What is it? , 2018, 2018 IEEE Aerospace Conference.

[16]  Fanny Andalia,et al.  Implementation of Analytical Hierarchy Process On Airplane Ticket Booking Application Selection With Software Quality Requirements and Evaluation ISO / IEC 25010 : 2011 , 2018 .

[17]  F. C. Ferrari,et al.  A Systematic Mapping of Architectures for Embedded Software , 2012, 2012 Second Brazilian Conference on Critical Embedded Systems.

[18]  Flávio Oquendo,et al.  The state of the art and future perspectives in systems of systems software architectures , 2013, SESoS.

[19]  Iain Bate Systematic approaches to understanding and evaluating design trade-offs , 2008, J. Syst. Softw..

[20]  Frank Elberzhager,et al.  Analysis and testing of matlab simulink models: a systematic mapping study , 2013, JAMAICA 2013.

[21]  Oisín Cawley,et al.  Lean/Agile Software Development Methodologies in Regulated Environments - State of the Art , 2010, LESS.

[22]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[23]  Jan Bosch,et al.  Archetypical Approaches of Fast Software Development and Slow Embedded Projects , 2013, 2013 39th Euromicro Conference on Software Engineering and Advanced Applications.

[24]  Pearl Brereton,et al.  Using mapping studies as the basis for further research - A participant-observer case study , 2011, Inf. Softw. Technol..

[25]  Natalia Juristo Juzgado,et al.  Developing search strategies for detecting relevant experiments , 2009, Empirical Software Engineering.

[26]  Sergio Johann Filho,et al.  Hellfire: A design framework for critical embedded systems' applications , 2010, 2010 11th International Symposium on Quality Electronic Design (ISQED).

[27]  Peter Marwedel,et al.  Embedded system design , 2010, Embedded Systems.

[28]  Flávio Oquendo,et al.  Architectural description of embedded systems: a systematic review , 2012, ISARCS '12.

[29]  Tore Dybå,et al.  Applying Systematic Reviews to Diverse Study Types: An Experience Report , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).