Today autonomous artefacts, such as self-driving cars, unmanned aerial and marine vehicles, have entered the mainstream. Additionally, large-scale systems and systems of system are increasingly automated and can make intelligent decisions based on data.
The recent technological progress has led to that autonomous systems no longer can be separated from the environments in which they are embedded. Scientific and technological advances in the areas of data analytics, the Internet of Things, and advances in sensor technologies are essential to the development of autonomous systems. Collaboration and interaction are other trends in the science of autonomous systems.
The term “autonomous systems” is used for autonomous artefacts 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, smart transportation systems, and cloud infrastructures.
Autonomous systems must be capable of planning and executing complex functions with limited human intervention, operating in uncertain and unstructured physical or information environments, and managing unexpected external or internal events.
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. Autonomous systems need to be able cooperate with humans and each other to solve complex tasks. Collaboration and interaction are other important research areas.
In the most tangible instantiations of autonomy, such as robotics and automated driving, the focus is to replace or complement the human’s capacity to analyse, learn and make decisions based on vast amounts of, possibly uncertain, information under real-time constraints.
For both autonomous vehicles and autonomous systems of systems, computations are increasingly performed in the cloud. Here a third instantiation of autonomy – autonomic computing – is found, i.e., self-managing data centers which use 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 software research in WASP covers both software methodology (in Sweden commonly referred to as Software Engineering) and software technology.
The research falls primarily within two areas:
- Software methodology and technology for the modelling, analysis, development, training, verification, and deployment of autonomous or AI and ML-based systems.
- Software methodology or technology that contains or utilizes autonomy, automation, AI, learning, or feedback. This includes, for example, experiment-driven development practices, self-reflection, self-adaptive software systems, self-repairing software, and automatic programming.