Advertisement

Enabling Continuous Software Engineering for Embedded Systems Architectures with Virtual Prototypes

  • Pablo Oliveira Antonino
  • Matthias Jung
  • Andreas MorgensternEmail author
  • Florian Faßnacht
  • Thomas Bauer
  • Adam Bachorek
  • Thomas Kuhn
  • Elisa Yumi Nakagawa
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11048)

Abstract

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.

Keywords

Continuous engineering Architecture drivers Architecture design Architecture simulation Virtual prototypes 

References

  1. 1.
    Bosch, J.: Continuous Software Engineering. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-319-11283-1CrossRefGoogle Scholar
  2. 2.
    Fitzgerald, B., Stol, K.J.: Continuous software engineering: a roadmap and agenda. J. Syst. Softw. 123, 176–189 (2017)CrossRefGoogle Scholar
  3. 3.
    Shamieh, C.: Continuous Engineering for Dummies. Wiley, Hoboken (2014)Google Scholar
  4. 4.
    De Schutter, T.: Better Software. Faster!: Best Practices in Virtual Prototyping. Synopsys Press, Mountain View (2014)Google Scholar
  5. 5.
    O’Connor, R.V., Elger, P., Clarke, P.M.: Continuous software engineering a microservices architecture perspective. J. Softw.: Evol. Process, 29(11) (2017) e1866-n/a e1866 JSME-16-0193.R2Google Scholar
  6. 6.
    Reinhardt, D., Kucera, M.: Domain controlled architecture - a new approach for large scale software integrated automotive systems. In: Proceedings of the PECCS2013 - International Conference on Pervasive and Embedded Computing and Communication Systems (2013)Google Scholar
  7. 7.
    Binkert, N., et al.: The gem5 simulator. SIGARCH Comput. Archit. News 39(2), 1–7 (2011)CrossRefGoogle Scholar
  8. 8.
    Jung, M., Weis, C., Wehn, N.: DRAMSys: a flexible DRAM subsystem design space exploration framework. IPSJ Trans. Syst. LSI Des. Methodol. (T-SLDM) 8, 63–74 (2015)CrossRefGoogle Scholar
  9. 9.
    Jung, M., et al.: Virtual development on mixed abstraction levels: an agricultural vehicle case study. In: Synopsys Usergroup Conference (SNUG), June 2015Google Scholar
  10. 10.
    Jeannet, B., Gaucher, F.: Debugging embedded systems requirements with stimulus: an automotive case-study. In: Proceedings of the 8th European Congress on Embedded Real Time Software and Systems (ERTS 2016) (2016)Google Scholar
  11. 11.
    Morgenstern, A., Antonino, P., Kuhn, T., Pschorn, P., Kallweit, B.: Modeling embedded systems using a tailored view framework and architecture modeling constraints. In: Proceedings of the ECSA 2017. ACM, New York (2017)Google Scholar
  12. 12.
    Knodel, J., Naab, M.: Pragmatic Evaluation of Software Architectures, 1st edn. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-319-34177-4CrossRefGoogle Scholar
  13. 13.
    Harel, D., Marelly, R.: Come, Let’s Play: Scenario-Based Programming Using LSC’s and the Play-Engine. Springer, New York (2003).  https://doi.org/10.1007/978-3-642-19029-2CrossRefGoogle Scholar
  14. 14.
    Gordon, M., Harel, D.: Generating executable scenarios from natural language. In: Gelbukh, A. (ed.) CICLing 2009. LNCS, vol. 5449, pp. 456–467. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-00382-0_37CrossRefGoogle Scholar
  15. 15.
    Antonino, P.O., Morgenstern, A., Kuhn, T.: Embedded-software architects: it’s not only about the software. IEEE Softw. 33(6), 56–62 (2016)CrossRefGoogle Scholar
  16. 16.
    Kuhn, T., Forster, T., Braun, T., Gotzhein, R.: Feral - framework for simulator coupling on requirements and architecture level. In: ACM/IEEE MEMOCODE 2013, pp. 11–22 (2013)Google Scholar
  17. 17.
    Vöst, S., Wagner, S.: Keeping continuous deliveries safe. In: Proceedings of the 39th International Conference on Software Engineering Companion, ICSE-C 2017, pp. 259–261. IEEE Press, Piscataway (2017)Google Scholar
  18. 18.
    Groen, E.C., et al.: The crowd in requirements engineering: the landscape and challenges. IEEE Softw. 34(2), 44–52 (2017)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Pablo Oliveira Antonino
    • 1
  • Matthias Jung
    • 1
  • Andreas Morgenstern
    • 1
    Email author
  • Florian Faßnacht
    • 2
  • Thomas Bauer
    • 1
  • Adam Bachorek
    • 1
  • Thomas Kuhn
    • 1
  • Elisa Yumi Nakagawa
    • 3
  1. 1.Fraunhofer IESEKaiserslauternGermany
  2. 2.Ergosign GmbHSaarbrückenGermany
  3. 3.Department of Computer SystemsUniversity of Sao PauloSao CarlosBrazil

Personalised recommendations