Overview of the Autonomous Systems and Software Area

Autonomous artifacts, such as self-driving cars, unmanned aerial and marine vehicles, and smart robots, are rapidly entering mainstream focus from scientific, societal, technological and industrial perspectives. Additionally, large-scale systems and systems of system, e.g., infrastructure systems, are increasingly automated and self-organizing, with the possibility to make intelligent decisions on the basis of continuous, heterogeneous, multi-source data.

We use the term Autonomous Systems for autonomous artifacts and large-scale self-managing systems consisting of physical infrastructure and software that, together with humans, provide increased functionality, sustainability, and efficiency for society, e.g., self-driving cars, service robots, smart transportation systems, smart power grids and cloud infrastructures.

Autonomous systems must be capable of planning and executing complex functions as intended, with limited human intervention, operating in uncertain and unstructured physical and/or information environments, and managing unexpected external or internal events, e.g., faults. This distinguishes them from mere automated systems, which also are able to execute complex functions, but which mostly assume structured environments, have limited capacity to learn and adapt to unexpected events.

In the most tangible instantiations of autonomy, such as robotics and automated driving, the main focus for autonomy is to replace or complement the human’s capacity to manage complexity, namely, to analyse and make decisions based on vast amounts of, possibly uncertain, data and information in varying forms, under real-time constraints. For both autonomous vehicles and autonomous systems of systems, computations are to an increasing extent performed in the cloud, i.e., in virtualized software and servers located in data centres or in the access network infrastructure. Here a third instantiation of autonomy – autonomic computing – is found, i.e., self-managing data centres which use control, machine learning, and data analytics techniques to master architectural and operational complexity, by deciding dynamically how applications should be mapped to servers, how capacity should be scaled, and, if possible, how to adjust the application’s resource requirements.

The scientific development and evolution of autonomous systems can no longer be separated from the informational environments in which they are embedded. Consequently, scientific and technological advances in the areas of Data Analytics, the Internet of Things, Cyber-Physical Systems, Systems of Systems, and advances in sensor technologies, are essential to the science and development of autonomous systems.  Autonomous systems will also need to cooperate with humans and each other to solve complex tasks, and thus we see collaboration and interaction as another major trend in the science of autonomous systems.

Strategic Areas

The three strategic areas within WASP are defined as follows:

Vehicles, Robots, and Humans

Autonomous vehicles and robots incorporate all classes of robotic systems including aerial, ground, vehicular, and underwater systems and vary in scale from grams to several tons. These systems integrate concepts from control theory such as the use of closed control loops and probabilistic inference, in addition to concepts from artificial intelligence such as the use of model-based, goal-directed behaviour and logical inference. Autonomous decision-making, perceptual processing, information fusion, learning, actuation, and interaction and collaboration with humans are essential capabilities of these types of systems.

Systems of Systems

Systems of Systems (SoS) describe the large-scale integration of several independent self-contained systems to satisfy global needs. In a SoS the individual systems are independent and useful in their own right and maintain a continuing operational existence independent of the SoS. Furthermore, the systems are often developed, operated, and owned by different stakeholders. The development and existence of a SoS is typically evolutionary, with functions and purposes added, removed, and modified during its lifetime. The SoS shows behaviours that are emergent properties of the entire system of systems and cannot be localized to any component system. SoS is a wide research area and the focus in WASP will be the autonomous aspects of SoS, including both infrastructure systems and purely software-based systems. Also here autonomous decision-making, adaptivity, information fusion, learning, and interaction and collaboration with humans are essential capabilities.

Software

Software is the main enabler for all complex engineering systems, and is also responsible for realizing the intelligence that lies at their core. The continuous increase in the potential performance of computational units, and the decrease in their cost means that computational capacity is increasing dramatically. Consequently software becomes more powerful and enables previously unimagined functionality. This, however, also causes a dramatic increase of software size, complexity, and development efforts. Software is currently a large and rapidly increasing part of the development cost of almost all engineering systems. The ability to manage this complexity and ensuring dependability in a dynamic unpredictable environment requires new development approaches and technologies that increase the abstraction level of software design and implementation. This will be the focus of the software research that will be performed in WASP, and includes topics such as model‐driven and component-based engineering, domain-specific languages and tools, testing and verification, dynamic computer architectures, and resource-aware software technologies.

Thematic Areas

The aim of the thematic dimension in WASP is to encapsulate the underlying scientific and technological challenges that are common to all types of autonomous systems, e.g., the need to learn and to collaborate. The thematic areas identified are a) Data Analytics and Learning, b) Collaboration and Interaction, c) Model-Based Systems Engineering, d) Networked and Distributed Systems, and e) Software for Engineering Design, Synthesis, and Autonomous Systems. Areas a, b, and d are focused on the capabilities required or implied by autonomy, whereas Areas c and e are focused on system development. Area c – Model-Based Systems Engineering – takes a model-based approach to the development of the entire system, including their software part, whereas Area e concentrates on software issues.

Data Analytics and Learning

Big Data provides a huge statistical sample that has to be turned into reliable information to be used for e.g. prediction, optimization, and automation. Analytics concerns the discovery of meaningful information in the data, while learning is the act of acquiring new, or modifying and reinforcing, existing knowledge, behaviours, and skills. Fusion of sensor information forms the base for e.g. localization, navigation and tracking.

Collaboration and Interaction

Safe collaboration and interaction between machines (vehicles, robots…) and humans is of fundamental importance for the societal acceptance of autonomous systems. To achieve this we need novel algorithms and supporting theory for designing and analysing efficient human-in-the-loop systems capable of solving complex missions.

Model-Based Systems Engineering

Model-Based Systems Engineering concerns the application of rigorous modelling principles, including requirements analysis and verification, functional analysis, and performance analysis for complex technical systems. This is a very broad field of research that combines best practice with advanced theory and software tools. Our focus in this broad field is on testing and verification extending formal methods with data-driven model verification algorithms.

Networked and Distributed Systems

Autonomy and intelligence are being embedded into a growing range of distributed physical systems linked together through communication networks. In order to manage security, complexity and flexibility of these systems, new theories and tools are needed that support the convergence of control, computing and communication in pervasive integration of smart, networked sensors and actuators into a connected world.

Software for Engineering Design, Synthesis, and Autonomous Systems

The Platform on Networked European Software and Services Initiative has identified software engineering research challenges in three major technology areas: Software engineering in and for the Cloud, Software engineering for Cyber-Physical Systems, and Software engineering for and with Big Data. Novel software engineering principles, techniques, methods and tools need to be developed in order to keep up with the fast technology advances in autonomous systems. Significant trends in this development include open innovation and software ecosystems.

Here we are today

There are now numerous industrial examples showing the tremendous potential and positive impact of technologies arising from the use of autonomous systems and their integration in informational environments. In the area of autonomous driving, collaborations between Uber and CMU and between Nissan and NASA Ames focus on autonomous taxis; Volvo Car’s Drive Me program and Scania’s recent demonstrators of platooning and self-driving heavy trucks are prominent Swedish examples.  In the area of smart homes we have seen Google’s notable acquisition of the smart thermostat company Nest providing the potential for autonomous self-learning HVAC systems, and Apple’s HomeKit technology that enables users to remotely manage their smart homes. Most of these technologies are still in their infancy but are believed to have potentially huge impact in the near future.