Software Technology for Autonomous Systems

Today, software is predominant in every system. Software is also a means to make systems smart, and continuously improvable. Example of systems made smart by software are self-driving cars, self-flying airplanes, self-managing telecom networks, and smart factories. Autonomous systems are systems that are able to autonomously behave in unforeseen and only partially known environments. In these sense, autonomous systems are self-adaptive systems, which are able to autonomously decide how to adapt at runtime to environment (context) and user changes, and threats. A self-adaptive system should be able to monitor itself and its context, to detect context changes, to decide how to react and act to execute such decisions. Self-adaptive systems are classified by their characteristics, known as self-* properties. Even with good responses to both system and context changes a set of high-level goals “should be maintained regardless of the environment conditions”: the joint ability of effectively reacting to changes without degrading the level of dependability is a key factor for delivering successful systems that continuously satisfy evolving user requirements.

Moreover, autonomous systems are increasingly characterized by continuous and rapid change, and they employ continuous evolution and continuous learning from observations on their own behavior. Supporting changing evolution is not limited to running software, but includes all sorts of software-related artifacts, such as requirements, architecture, and test cases. In all cases, it supports the automatic deployment of changes in production systems with a firm assessment of correctness, robustness, and other qualities of the  system in operation.

The aim of the cluster is to foster and investigate research in the area of software analysis and construction methods to produce, manage, and maintain autonomous systems.

Objectives:

  • Study the current shortcomings of software technology for autonomous software
  • Propose new techniques (language, library, runtime, …)  for autonomous software
  • Evaluate effectiveness and applicability with empirical experiments

Connection to other WASP clusters:

  • Software Engineering for Smart Systems
  • Autonomous Clouds and Networks

Events:

  • Plenary meeting and poster session during WASP Winter Conference, Jan 10 2018, Lund
  • Faculty meeting WASP Faculty day, May 16 2018, Lidingö

Subprojects and Students:

Cluster leaders: Martin Monperrus (KTH) and Patrizio Pelliccione (Chalmers|GU)

 

 

Diarmuid Corcoran Main advisor: Christian Schulte
Affiliation: Ericsson / KTH – Industrial Phd student

 

He Ye Main advisor: Martin Monperrus
Affiliation: KTH
Email: Send Mail Webpage: Webpage

heye

Project title: Software program repair
Research topic: I am mainly focusing on the software program repair, including patch generation, patch correctness assessment, and deep learning based program repair.
  • A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmark (He Ye, Matias Martinez and Martin Monperrus), Technical report 18.5.03454, arXiv, 2018.

 

 

John Törnblom Main advisor: Simin Nadjm-Tehrani
Affiliation: Linköping University
Email: Send Mail Webpage: link

John Tornblom

Project title: Verification of Safety-Critical and Learning-based Software
Research topic: Machine learning, Safety-critical software, Formal methods
  • Formal Verification of Random Forests in Safety-Critical Applications (In submission)

 

 

Long Zhang Main advisor: Martin Monperrus
Affiliation: KTH
Email: Send Mail Webpage: Webpage1, Webpage2

long

Project title:
Research topic: Chaos engineering, self-healing software, anti-fragile

 

Piergiuseppe Mallozzi Main advisor: Patrizio Pelliccione
Affiliation: Chalmers
Email: Send Mail Webpage: Webpage

piergiuseppe

Project title: Engineering Trustworthy Self-Adaptive Software Systems
Research topic: Our research goes in the direction of building trustworthy self-adaptive software systems with particular emphasis on machine learning techniques to drive the system adaptations and the automotive domainas one of the main targets. In particular we are investigating ways of combining machine-learning with invariants assurance techniques for Autonomous Systems
  • P. Pelliccione, E. Knauss, R. Heldal, S. M. Ågren, P. Mallozzi, A. Alminger, and D. Borgentun, “Automotive architecture framework: The experience of volvo cars” Journal of Systems Architecture, 2017.
  • P. Pelliccione, E. Knauss, R. Heldal, M. Ågren, P. Mallozzi, A. Alminger, and D. Borgentun, “A proposal for an automotive architecture framework for volvo cars” in Automotive Systems/Software Architectures (WASA), 2016 Workshop on, 2016.
  • P. Mallozzi, P. Pelliccione, A. Knauss, C. Berger, and N. Mohammadiha, “Autonomous vehicles: state of the art and state of practice” in Automotive Software Engineering: State of the Art and Future Trends, 2017.
  • P. Mallozzi, R. Pardo, V. Duplessis, P. Pelliccione, and G. Schneider, “MoVEMo – A structured approach for engineering reward functions” in IEEE International Conference on Robotic Computing, 2018.
  • P. Mallozzi, M. Sciancalepore, and P. Pelliccione, “Formal verification of the on- the-fly vehicle platooning protocol” in International Workshop on Software Engineering for Resilient Systems. Springer, 2016.
  • P. Mallozzi, “Combining machine-learning with invariants assurance techniques for autonomous systems” in Proceedings of the 39th International Conference on Software Engineering Companion, ser. ICSE-C ’17, 2017.
  • P. Mallozzi, P. Pelliccione, and C. Menghi, “Keeping intelligence under control” in International Conference on Software Engineering, 2018, SE4COG workshop

 

 

Jonas Krook Main advisor: Martin Fabian
Affiliation: Chalmers
Email: Send Mail Webpage: Webpage

jonas

Project title: Automatic Generation of Decision Logic for Autonomous Vehicles
Research topic: Formal synthesis of logical controllers. Using formal methods to prioritize requirements.

 

Alfred Åkesson Main advisor: Görel Hedin
Affiliation: LTH
Email: Send Mail Webpage: Webpage

alfred

Project title: Adaptive software architectures for autonomous system
Research topic: Research in the design and implementation of a domain specific language for configuration and coordination in a service based middleware for pervasive systems. Evaluated on systems in healthcare and autonomous systems.
  • Alfred Åkesson and Görel Hedin. 2017. Jatte: a tunable tree editor for integrated DSLs. In Proceedings of the 2nd ACM SIGPLAN International Workshop on Comprehension of Complex Systems (CoCoS 2017). ACM, New York, NY, USA, 7-12. DOI
  • Alfred Åkesson. 2018. DSL for End-User Service Composition. In Companion to the 2nd International Conference on the Art, Science, and Engineering of Programming (<Programming’18>). ACM, New York, NY, USA, in press. DOI
  • Alfred Åkesson, Mattias Nordahl, Görel Hedin, and Boris Magnusson. 2018. Live Programming of Internet of Things in PalCom. In Companion to the 2nd International Conference on the Art, Science, and Engineering of Programming (<Programming’18>). ACM, New York, NY, USA, in press. DOI

 

 

Gustaf Waldemarson Main advisor: Michael Doggett

 

 

Maximilian Algehed Main advisor: Mary Sheeran
Affiliation: Chalmers

 

 

Noric Couderc Main advisor: Christoph Reichenbach

 

 

Nicolas Harrand Main advisor: Benoit Baudry
Affiliation: KTH