Towards Mapping Control Theory and Software Engineering Properties using Specification Patterns

08/18/2021
by   Ricardo Caldas, et al.
0

A traditional approach to realize self-adaptation in software engineering (SE) is by means of feedback loops. The goals of the system can be specified as formal properties that are verified against models of the system. On the other hand, control theory (CT) provides a well-established foundation for designing feedback loop systems and providing guarantees for essential properties, such as stability, settling time, and steady state error. Currently, it is an open question whether and how traditional SE approaches to self-adaptation consider properties from CT. Answering this question is challenging given the principle differences in representing properties in both fields. In this paper, we take a first step to answer this question. We follow a bottom up approach where we specify a control design (in Simulink) for a case inspired by Scuderia Ferrari (F1) and provide evidence for stability and safety. The design is then transferred into code (in C) that is further optimized. Next, we define properties that enable verifying whether the control properties still hold at code level. Then, we consolidate the solution by mapping the properties in both worlds using specification patterns as common language and we verify the correctness of this mapping. The mapping offers a reusable artifact to solve similar problems. Finally, we outline opportunities for future work, particularly to refine and extend the mapping and investigate how it can improve the engineering of self-adaptive systems for both SE and CT engineers.

READ FULL TEXT
research
04/28/2023

AI Safety Subproblems for Software Engineering Researchers

In this 4-page manuscript we discuss the problem of long-term AI Safety ...
research
04/24/2020

A Hybrid Approach Combining Control Theory and AI for Engineering Self-Adaptive Systems

Control theoretical techniques have been successfully adopted as methods...
research
04/11/2019

First things first: If software engineering is the solution, then what is the problem?

Software engineering (SE) undergoes an ontological crisis and it lacks o...
research
04/24/2020

Towards Bridging the Gap between Control and Self-Adaptive System Properties

Two of the main paradigms used to build adaptive software employ differe...
research
09/17/2020

Deep Learning Software Engineering: State of Research and Future Directions

Given the current transformative potential of research that sits at the ...
research
03/19/2021

Towards Better Adaptive Systems by Combining MAPE, Control Theory, and Machine Learning

Two established approaches to engineer adaptive systems are architecture...
research
03/31/2022

On the Evaluation of NLP-based Models for Software Engineering

NLP-based models have been increasingly incorporated to address SE probl...

Please sign up or login with your details

Forgot password? Click here to reset