Enabling Continuous Software Engineering for Embedded Systems Architectures with Virtual Prototypes

Continuous software engineering aims at orchestrating engineering knowledge from various disciplines in order to deal with the rapid changes within the ecosystems of which software-based systems are part of. The literature claims that one means to ensure these prompt responses is to incorporate virtual prototypes of the system as early as possible in the development process, such that requirements and architecture decisions are verified early and continuously by means of simulations. Despite the maturity of practices for designing and assessing architectures, as well as for virtual prototyping, it is still not clear how to jointly consider the practices from these disciplines within development processes, in order to address the dynamics imposed by continuous software engineering. In this regard, we discuss in this paper how to orchestrate architecture drivers and design specification techniques with virtual prototypes, to address the demands of continuous software engineering in development processes. Our proposals are based on experiences from research and industry projects in various domains such as automotive, agriculture, construction, and medical devices.

[1]  Dominik Reinhardt,et al.  Domain Controlled Architecture - A New Approach for Large Scale Software Integrated Automotive Systems , 2013, PECCS.

[2]  Somayeh Sardashti,et al.  The gem5 simulator , 2011, CARN.

[3]  Thomas Kuhn,et al.  FERAL — Framework for simulator coupling on requirements and architecture level , 2013, 2013 Eleventh ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE 2013).

[4]  Jan Bosch,et al.  Continuous Software Engineering , 2014, Springer International Publishing.

[5]  Thomas Kuhn,et al.  Embedded-Software Architects: It's Not Only about the Software , 2016, IEEE Software.

[6]  Anna Perini,et al.  Crowdsourcing for Software Engineering The Crowd in Requirements Engineering The Landscape and Challenges , 2017 .

[7]  David Harel,et al.  Generating Executable Scenarios from Natural Language , 2009, CICLing.

[8]  Norbert Wehn,et al.  DRAMSys: A Flexible DRAM Subsystem Design Space Exploration Framework , 2015, IPSJ Trans. Syst. LSI Des. Methodol..

[9]  Klaas-Jan Stol,et al.  Continuous software engineering: A roadmap and agenda , 2017, J. Syst. Softw..

[10]  Stefan Wagner,et al.  Keeping Continuous Deliveries Safe , 2016, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[11]  Norbert Wehn,et al.  Virtual Development on Mixed Abstraction Levels: an Agricultural Vehicle Case Study , 2015 .

[12]  Thomas Kuhn,et al.  Modeling embedded systems using a tailored view framework and architecture modeling constraints , 2017, ECSA.

[13]  David Harel,et al.  Come, Let’s Play , 2003, Springer Berlin Heidelberg.