Continuous Software Engineering – Software Architectures, Model-Based Software Engineering and Continuous-*, March 30-31, Gothenburg

Program

Thursday, March 30

Venue: Styrbord, Campus Lindholmen

10.00-10.30 Coffee

10.30-11.00 Lecture 2.0 Introduction to Software Architecture for Autonomous Systems (slides)
Patrizio Pelliccione, Chalmers

11.00-12.30 Lecture 2.1 Data-Driven Software Platforms (slides)
Jan Bosch, Chalmers

  • Software Product Lines
  • Data-Driven Ecosystems

12.30-13.30 Lunch

13.30-14.30 Lecture 2.2 Software Architecture for Autonomous Systems (slides)
Patrizio Pelliccione, Chalmers

  • Engineering and Architecting the software of Robot Systems
  • Design-time and Run-time phases
  • A concrete example of engineering the software of a team of autonomous multicopters to be used for accomplishing tasks of everyday life

14.30-15.00 Lecture 2.3 Temporal Logics for Synthesis, Model Checking and Run-Time Verification (slides)
Fredrik Heintz, Linköping University

15.00-15.30 Coffee

15.30-17.15 Lecture 2.4 Model-based Software Engineering 1 (slides)
Regina Hebig and Torsten Berger, Chalmers

  • Meta-modeling
  • Concrete syntax
  • Mapping concrete syntax to meta-models

17.15-18.30 Break
18.30-20.00 Dinner at Quality Hotel 11

Friday, March 31

Venue: Styrbord, Campus Lindholmen

08.15-10.00 Lecture 2.5 Model-based Software Engineering 2 (slides)
Regina Hebig and Torsten Berger, Chalmers

  • Model to Text
  • Code generation

10.00-10.15 Coffee

10.15-12.00 Lecture 2.6 Continuous Integration, Deployment, Maintenance and Evolution (slides)
Eric Knauss, Chalmers

  • Continuous X: Integration, Delivery, Deployment, and DevOps – Terminology and Origin
  • Continuous X in the context of Large-Scale System Development
  • Testing Strategies for Continuous X for Embedded Systems
  • The Role of Value, Features, and Requirements
  • Continuous Deployment Practices

12.00-13.15 Lunch

13.15-15.00 Lecture 2.7 Software Architecture for Automotive (slides)
Anders Alminger, VCC and Patrizio Pelliccione, Chalmers

  • Architecting the next generation of vehicles
  • Architecture Framework of Volvo Cars

Examination

Assignment & examination: Model-Based Software Development / Software Synthesis (files)
The assignment is to write an interpreter or a code generator for a given domain-specific language (DSL) in the autonomous systems domain. Models written in the DSL represent high-level movements of a device (e.g., robot or car), which should be transformed (by interpretation or code-generation) into commands of a lower-level language. For the examination, we expect a demonstration of the transformation using examples and that the transformation is correct for these examples.

Literature

  • Software Architecture:
    • ISO/IEC/IEEE, ISO/IEC/IEEE 42010, Systems and software engineering | Architecture description (December 2011).
    • Patrizio Pelliccione, Eric Knauss, Rogardt Heldal, Magnus Ågren, Piergiuseppe Mallozzi, Anders Alminger, Daniel Borgentun, Automotive Architecture Framework: the experience of Volvo Cars, Journal of Systems Architecture, 2017
    • Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione, Massimo Tivoli. Automatic Generation of detailed Flight Plans from High-level Mission Descriptions. In the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 45–55, 2016.
    • Federico Ciccozzi, Davide Di Ruscio, Ivano Malavolta, Patrizio Pelliccione. Adopting MDE for Specifying and Executing Civilian Missions of Mobile Multi-Robot Systems. IEEE Access, Volume 4, pp. 6451- 6466, 2016.
  • Model-based Software Engineering:
    • Marco Brambilla, Jordi Cabot, Manuel Wimmer: “Model-Driven Software Engineering in Practice”, Morgan & Claypool, 2012.
    • Andrzej Wasowski and Thorsten Berger: “Introduction to Model-Driven Software Engineering with Domain-Specific Languages”, 2017.
  • Continuous Integration & Continuous Deployment:
    • Nilsson, A.; Berger, C.; Bosch, J.: Visualizing Testing Activities to Support Continuous Integration: A Multiple Case Study. In: Proc. of 15th Int. Conf. on Agile Processes in Software Engineering and Extreme Programming (XP 2014), pp 171-186, DOI 10.1007/978-3-319-06862-6_12, Rome, Italy, 2014.
    • Rahman, A. A. U.; Helms, E.; Williams, L.; Parnin, C.: Synthesizing continuous deployment practices used in software development. In: Proc. of Agile Conference; pg. 1-10; DOI: 10.1109/Agile.2015.12; Washington DC, USA. 2015
    • Knauss, E.; Pelliccione, P.; Heldal, R.; Ågren, M.; Hellman, S. & Maniette, D.: Continuous Integration Beyond the Team:
      A Tooling Perspective on Challenges in the Automotive Industry. In: Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM ’16), ACM, DOI: 10.1145/2961111.2962639, 2016
  • Data-Driven Platforms:
    • Jan Bosch: Speed, Data, and Ecosystems: Excelling in a Software-Driven World. Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series