Project: Software Technology for Self-Adaptive Systems
The purpose of this project is to increase the engineering efficiency of self-adaptive systems. The development, maintenance and operation of such systems should be manageable and cost-efficient, and the systems should be safe, robust, high-performing, etc. To address these issues, we need to adapt proven software technology to the engineering of self-adaptive systems.
The project was finalised in September 2019. The research results were disseminated at a gathering on 19 September.
Project information
Project manager
Welf Löwe
Project members
Mauro Caporuscio (principal investigator, project A), Jonas Lundberg, Arianit Kurti, Welf Löwe, Rune Gustavsson, Morgan Ericsson (principal investigator, project B), Anna Wingkvist, Maria Ulan, Sabri Pllana (principal investigator, project C), Johan Hagelbäck
Project partners from industry
Hughes Power System, Vattenfall Services Nordic AB, IBM Sweden AB, Sigma Technology, Softwerk, Ericsson, Yaskawa Nordic AB, Wexiödisk AB and ePLAN Software & Service AB
Financier
The Knowledge Foundation (KK-stiftelsen)
Timetable
Sept 2015–Sept 2019
Subject
Computer Science (Department of Computer Science, Faculty of Technology)
More about the project
Emerging cyber-physical systems increasingly change and improve the way we live, work, and communicate. It is the software of these systems that, to a large degree, controls their behavior and determines their usefulness to us. While software is a convenient way for humans to “tell” machines how to behave, the engineering of software-intensive systems is far from a mature discipline.
A software system is developed to meet a set of requirements in a given environment that includes other (cyber-physical) systems. Any system must conform to its environment and requirements, so developers must design the system accordingly. The complex nature of both environment and requirements present a challenge to software developers. When both environment and requirements are uncertain at development time, the challenge becomes almost unmanageable. Uncertainty of system requirements and environment can cause expensive, underperforming, and misbehaving systems.
Self-Adaptive Systems mitigate this risk since they are able to change with the environment and requirements, and still remain reliable. To engineer software for self-adaptive systems is expensive and the quality of these systems varies because their development is more complex than traditional software since it cannot rely of well-established software technology.
TAPPAS
To increase engineering efficiency when developing software to manage systems with uncertain requirements that run in uncertain environments, software engineers need reusable and consolidated know-how. Software technology provides such reusable knowledge for developing classic software systems, including Theories and Models, Architecture, Processes and methods, Platforms, frameworks, libraries, infrastructures, Algorithms and data structures, and Services and Tools. We refer to these artifacts as TAPPAS. The state-of-the-art contributes such TAPPAS but there is a need to consolidate, validate, and integrate these into a sound engineering approach.
Three application projects
The project is based on three challenging Application Projects for self-adaptive systems:
A. Model-driven Engineering of Smart Power Grids (MoDES) with Vattenfall as customer and Hughes Power Systems and IBM as technology providers,
B. Automated Quality Assurance applied to Telecommunication Systems of software and documentation with Ericsson as customer, Sigma Technology and Softwerk as technology providers, and
C. Optimizations applied to Automated Assembly of Customized Control Cabinets for production automation with Wexiödisk and Yaskawa as customers and ePLAN* as technology provider.
Researchers at Linnaeus University will define and develop TAPPAS, in co-production with our industry partners. These are Technology providers who will use, test, benchmark, and validate the TAPPAS, and their Customers who own and directly benefit from self-adaptive systems in their application domains. The answer to our research question is of high relevance to both technology provides and customers.
The project was part of the Software Technology Labs, AdaptWise and Data Intensive Software Technologies and Applications (DISTA) research groups.
* To date, ePLAN’s formal decision to participate is pending.
Application projects
A. Model-driven Engineering of Smart Power Grids (MoDES)
Purpose, State of the Art, and Research Question
Purpose
Smart Environments are envisioned as “small worlds where different kinds of smart device are continuously working to make inhabitants' lives more comfortable”[1]. Smart environments represent a promising application domain that creates new appealing opportunities for sustainable development and business, namely Smart Power Grid (SPG). SPG aims at producing and managing stable sustainable electric energy. Energy production and provision is becoming more and more complex, and it is dynamically changing. In fact, nowadays energy providers can configure power grids to achieve different capacities, depending on both consumer demands and producer supplies. In order to guarantee the provision of stable and sustainable energy in the unknown, ever-changing environment, SPG should self-adapt to functional and extra-functional uncertainty inherent to the execution context. To this end, SPG must be able to ...
- Monitor the environment, e.g., the consumption/production,
- Analyze the data and detect anomalies, e.g., energy loss,
- Plan the needed reconfiguration actions, e.g., switching distribution path, and
- Execute the reconfiguration actions at run time.
The lack of engineering best practices for developing and operating Smart Power Grid, makes industry difficult to fully benefit from such a rich business sector. In fact, full comprehension of continuously self-adapting systems combined with the uncertainty of the execution context in which they operate cannot be anticipated at development time. This means that engineering systems with incomplete knowledge of available resources is very challenging. Considering at the same time (i) the incomplete functional knowledge inherent to system self-adaptation, and (ii) the incomplete extra-functional knowledge inherent to dependability concerns, rises a set of groundbreaking challenges, which requires for radically changing the way software is designed, implemented, validated and operated.
SPG should support adaptive behavior and be able to monitor itself and the environment, detect significant changes, decide how to react, and enact such decisions. Indeed, SPG adaptation deals with run-time (Running System) uncertainty: (i) at Managed System level, because of emerging internal situations, e.g., energy delivery disruptions, interruptions and fluctuation, and (ii) at Environment level, because of external situations, e.g., dynamic changes in the environmental conditions. On the other hand, SPG should also support its evolution towards satisfying new requirements to meet the changing needs of stakeholders, and even the changing stakeholders. Indeed, SPG evolution deals with design-time (Development Process) uncertainties: (i) at business level, because of emerging new markets opportunity, (ii) at design and implementation level, because of emerging new requirements, and (iii) at infrastructure level, because of emerging new technologies.
This drives towards the need of defining Processes and Methods allowing engineers to consider all the above challenges throughout all phases of the software life-cycle, from requirement elicitation to operation. Specifically, the MoDES Project aims at providing a Development Framework (DF) leveraging on Model-Driven Engineering (MDE) paradigm, which refers to the systematic use of models as primary artifacts for the engineering of systems. Therefore, models will be exploited at all stages of the software system development process, from requirement elicitation to design and development, to run time. Departing from traditional software engineering best practices, where models are used off-line for reasoning about the “future” behavior of the system under development, models are now kept alive at run time, and used to continuously assess the “current” behavior of the system under execution.
To this end, the MoDES Project will investigate Theories and Models to achieve run-time analysis: from run-time monitoring to (incremental) model checking. Because of that and since systems reconfigure according to changes in the execution context, their run-time analysis must be carried out on the fly in a timely and efficient manner. It is well known that the computational complexity of analysis techniques is a key challenge.
Research Question
- Industrial Challenges: Developing the SPG system raises a groundbreaking question: How can we design and implement SPG, by creating the prerequisites for it to be dependable and self-adaptive?
- Research Challenges: Generalizing the above Industrial Challenges, the MoDES project contributes to Synergy by addressing the following issue: “How to develop systems that can benefit from smart environments by being at the same time self-adaptive and dependable”.
[1] D. Cook, S. Das. Smart Environments: Technology, Protocols and Applications. Wiley-Interscience (2005).
Goal and Expected Results and Benefits
MoDES will define and develop the Development Framework (DF), which leverages MDE paradigm. Therefore, DF exploits models at all stages of the development process, from requirement elicitation, to design, to run time. Traditional software engineering practices use models only at design time for reasoning about the “future” behavior of the system under development. Rather, models are now kept alive at run time, and used to continuously assess the “current” behavior of the system.
At industry level, practical benefit of MoDES is the development of a Smart Power Grid system, which self-adapts according to the environmental dynamics. In particular we aim at (i) identifying relevant models in smart power grids including load status and prediction models, network configuration models, software configuration models, (ii) developing generator technology that transforms load model instances into configurations, and (iii) developing monitoring technology that derives initial load model instances and actuators technology that deploys the actual network and control software configurations.
Implementation
Referring to next Figure, SPG should be able to monitor (M) both the actual state of the distribution network and the environmental situations (e.g., Transformers, Distribution lines, generators/loads) and store data into a repository (K). Hence, by means of both on-line and off-line analysis (A), SPG should be able to forecast short- and long-term future behavior (e.g., energy loss, voltage drop) and provide DSO with a set of possible actions to adapt the distribution network accordingly (e.g., switching distribution path, adjust the power generation/consumption). DSO is then in charge to make the choice (P) and execute (E) the reconfiguration.
Project Organization
- Linnaeus University (LNU) provides research expertise in Distributed systems, Model-Driven Software Engineering, Software Architecture, Self-adaptive systems.
- Hughes Power Systems (HPS) specialises in development and manufacture of voltage switchgear and transformer products for the electrical Utility industry.
- Vattenfall Services (VS) is Electric Utility that aims to dynamically reconfigure power grid infrastructures to guarantee the provision of stable and sustainable energy in an ever-changing environment.
- IBM Sweden Smarter Planet (IBM) is technology provider for environmental monitoring.
Tools and publications
For tools and publications related to the project, please visit https://mi-da.github.io/cyphef.
B. Automated Quality Assurance applied to Telecommunication Systems
C. Optimizations applied to Automated Assembly of Customized Control Cabinets
Many companies currently assemble control cabinets manually, from reading and interpreting electrical circuits to the actual assembly of modules and cables. This process could be largely automated with adaptive robots and software systems.
The functionality of a control cabinet is described as electrical circuit using abstract symbols to represent electrical components and lines to represent the wires that interconnect components. An electrical circuit is an abstract representation of control cabinet that does not contain the information about the physical properties, such as, component dimensions. To produce the control cabinet, one needs first to develop a real-world cabinet layout based on electrical circuit. In the cabinet layout, (1) abstract symbols are mapped to real-world components with their corresponding physical properties, and (2) location of components within the cabinet is determined.
Determining the optimal location of cabinet components requires the exploration of a large configuration space. For real-world control cabinets it is impractical to evaluate all possible cabinet configurations. Therefore, we apply methods for intelligent exploration of cabinet configuration space that enable to find a near-optimal configuration without evaluation of all possible configurations.
Staff
- Anna Wingkvist Research advisor
- +46 470-70 89 93
- annawingkvistlnuse
- Arianit Kurti professor, head of department
- +46 470-70 83 75
- arianitkurtilnuse
- Jonas Lundberg Senior lecturer
- +46 470-70 89 67
- jonaslundberglnuse
- Mauro Caporuscio Professor
- +46 470-70 85 58
- maurocaporusciolnuse
- Morgan Ericsson professor
- +46 470-76 78 72
- +46 72-594 17 48
- morganericssonlnuse
- Welf Löwe Professor
- +46 470-70 84 95
- +46 76-760 36 62
- welflowelnuse