A sustainable-development approach for self-adaptive cyber–physical system’s life cycle: A systematic mapping study

https://doi.org/10.1016/j.jss.2021.111010Get rights and content

Highlights

  • Develop sustainable architectures using a Systems-Development Life-Cycle.

  • Design sustainable architectures centered on Self-adaptive techniques.

  • A systematic mapping study about self-adaptive Cyber–Physical Systems.

  • Develop feedback loops on SA-CPSs with machine-learning techniques.

Abstract

Cyber–Physical Systems (CPS) refer to a new generation of systems where the cyber and physical layers are –strongly– interconnected. The development of these systems requires two fundamental parts. First, the design of sustainable architectures –centered on adaptation, throughout a System-Development Life-Cycle (SDLC)– to develop robust and economically profitable products. Second, the use of self-adaptive techniques to adjust CPSs to the evolving circumstances of their operation context. This work presents a systematic mapping study (SMS) that discusses different approaches used to develop self-adaptive CPSs (SA-CPSs) at each stage of the SDLC, focused on sustainability. The results show trends such as (i) Designs are not limited to particular application domains, (ii) Performance was the most commonly used attribute, and (iii) Monitor–Analyze–Plan–Execute over a shared Knowledge (MAPE-K) is the predominant feedback loop applied in the cyber layer. The results also raise challenges such as (i) How to design and evaluate sustainable SA-CPSs, (ii) How to apply unit and integration testing in the development of SA-CPSs, and (iii) How to develop feedback loops on SA-CPSs with the integration of machine-learning techniques.

Introduction

Cyber–Physical Systems (CPSs) are systems composed of collaborative computational elements to control physical entities. Also, CPSs can be defined as complex and complicated systems that require techniques of sophisticated design, which include interaction between the physical world and the cyber world. CPSs integrate (i) Mathematical modeling of physical systems, (ii) Formal computation models, (iii) Simulation of heterogeneous systems, (iv) Software engineering strategies, and (v) Verification and validation methods (Jensen et al., 2011).

A concept associated with CPSs is the Internet of Things (IoT), where communication is very important (Marwedel, 2018), in which systems are interconnected and collaborate. Taken together, CPSs and IoT will conform to most of the future applications of information technology.

The design of CPSs is a task that has to be broken down into several sub-tasks to be tractable (Marwedel, 2018). Most CPSs are designed for specific types of requirements (Stankovic, 2014). Usually, these requirements concern both the physical and the cyber parts, and functional and non-functional aspects. In the physical part, actuators, sensors, and embedded-system processors are used for computer-controlled tasks. In turn, the physical part must interact with the cyber part, implemented through software systems, in order (i) to process data from the entire CPS, (ii) to diagnose all types of system failures, (iii) to make real-time decisions to prevent major failures, and (iv) to make data-based decisions that exhibit real-world behavior (Lee, 2008).

The use of self-adaptation techniques, in CPSs, is considered an effective approach to deal with changes in its environment and structure. Current challenges include the design and development of effective, energy-efficient, and sustainable self-adaptive CPSs (SA-CPSs) (Chantem et al., 2019).

According to Koziolek (2011), sustainability implies the development of technically–robust and economically–profitable products. Although sustainability has been more associated with the environmental context, it is becoming –increasingly– important in the context of engineering, in general, and software engineering, in particular (Pankowska, 2013). In software systems that are part of a CPS, sustainability is –strongly– linked to non-functional attributes such as maintainability. Koziolek et al. define that maintainability is divided in the following non-functional attributes: (i) analysability, (ii) stability, (iii) testability, (iv) understandability, (v) modifiability, (vi) portability, and (vii) evolvability (Koziolek, 2011).

The design of CPSs –both the physical part and the cyber part– should include the design of their architecture and its sustainability. Additional to this, their design must consider issues related to self-adaptation to satisfy requirements in a dynamic environment (Zeadally et al., 2019a). The concept of architecture has several meanings (and definitions): The International Organization for Standarization (ISO) defines the architectural design as the ”process of conceiving, defining, expressing, documenting, communicating, certifying, maintaining and improving an architecture throughout a system’s life cycle”(International Organization for Standardization, 2011b). The design of an architecture is a key process in the System-Development Life-Cycle (SDLC), and the quality of the architecture of a system –strongly– determines its sustainability (Koziolek, 2011, Chitchyan et al., 2017).

Understand and identifying sustainability strategies used at each stage of the SDLC of SA-CPSs, is important for the success of sustainable systems, and, particularly, to (i) improve practices; (ii) identify current opportunities, threats, trends; and, also, (iii) serve as an inspiration for the development of future sustainable autonomous systems. Nonetheless, making a system sustainable by adding attributes such as self-adaptation, increasing evolvability and increasing energy-efficiency, may increase its complexity and maintenance (by humans). The increase in complexity is both at the level of development and deployment. The first is related to the way the solution is implemented and the second is related to the context where will be used the solution (domain, process). Also, the maintainability plans allow establishing specific practices, as well as resources and relevant sequences of activities, which can be difficult to be followed/applied by humans. Thus, trade-offs should be taken into account when using sustainability strategies in SA-CPSs considering the different elements involved. Previous works do not carry out an analysis of sustainability strategies used at each stage of the SDLC of the SA-CPSs, based on the above ideas. Lin et al. (2009) point out that existing methods for designing and developing CPSs are usually limited to specific fields of application. Another problem that this work found is that some approaches are focused only on the physical part of the CPSs, ignoring the cyber part, or others only deal with the cyber part, resulting in a lack of integration. Finally, Lin and Panahi propose a framework, for the development of CPSs, with an emphasis on sustainability and predictability. However, they restrict the system architecture to Service-Oriented Architecture (SOA), without taking into account the use of other architectural patterns in the design of the CPSs architecture (Lin and Panahi, 2010).

In this section, three Systematic Literature Reviews (SLRs), associated with SA-CPSs, were analyzed.

First, Muccini et al. (2016) investigated the role of self-adaptation within CPSs. In their SLR, 42 studies were included. In their analysis, Muccini et al. concluded that aspects –such as performance and reliability– are well covered, and CPS’s most challenging aspects –such as interoperability and security– are still barely covered by the literature. Muccini et al. also concluded that Monitor, Analyze, Plan, Execute, and Knowledge (MAPE-K) model is the dominant adaptation mechanism, followed by agents and self-organization. The main challenges, defined by Muccini et al., were: (i) How to map these aspects to layers and adaptation mechanisms, (ii) How to integrate adaptation mechanisms within and across layers, and (iii) How to ensure system-wide consistency of adaptation.

Second, Musil et al. (2017) surveyed CPS studies that apply the promising design strategy of combining different self-adaptation mechanisms across the technology layers of the system (physical, proxy, communication, service and middleware, application, and social layers). In their research, Musil et al. identified performance as the dominant adaptation purpose. For the adaptation mechanisms, Musil et al. identified smart elements, multi-agent systems, and MAPE-K as the most applied.

Third, Zeadally et al. (2019a) established the state-of-the-art on CPSs from the self-adaptation perspective and evaluated the main self-adaptive approaches proposed, in the literature. Zedeally also evaluated the techniques to enable self-adaptation capabilities –within CPSs– at different architectural layers. An important conclusion is that adaptation should be implemented in all layers of a CPSs, and that researchers must adopt a holistic view of CPSs that includes (i) Self-adaptation, (ii) Autonomy, (iii) Efficiency, (iv) Functionality, (v) Reliability, (vi) Safety, (vii) Scalability, and (viii) Usability. Zedeally et al. defined as research opportunities the development of cost-effective self-adaptation cross-layer solutions, as well as run-time model-driven approaches that manage requirements.

In contrast to the SLRs of Zeadally et al. (2019a), Musil et al. (2017), and Muccini et al. (2016), this article discusses the designs of SA-CPSs from a perspective of the SDLC and identifies –at each stage of the SDLC–: (i) How the development was carried out and (ii) How sustainability –from both, the technical and economical perspectives– was taken into account. These two perspectives are the most relevant to CPSs according to Koziolek et al.’s SLR (Koziolek, 2011).

The contribution of this article is summarized as follows: A general overview of the strategies used for the development of SA-CPSs, gaps found in each stage of the SDLC, and finally, trends and future-research directions.

The present document is structured as follows. Section 2 presents the basis of sustainable and self-adaptive techniques, in CPS, and the SDLC. Section 3 presents the methodology to search and select relevant articles. Section 4 groups the articles found in the literature, for each phase of the SDLC. Section 5 analyzes the results of the reviewed articles, and presents the trends and limitations found. Section 6 presents the potential challenges. Finally, Section 7 outlines the conclusions of this research.

Section snippets

Background

This section is divided into three parts. First, it presents the SDLC. Second, it introduces the definition of sustainability of systems. Finally, it defines self-adaptability in CPSs.

Methodology

The search strategy and the search process used for the articles are explained as follows.

Results

This section presents the results divided into each stage of the SDLC (see a summary in Table 7).

Discussion

This section presents the most important trends and limitations concerning the results from Section 4. Trends and limitations are divided into the stages of the SDLC (see a summary of limitations in Table 8 and a representation of trends in Fig. 61)

Challenges

Given the discussion of the trends and weaknesses, the following opportunities for future research were found.

Conclusions

This SMS presented general strategies used to design SA-CPSs, at each stage of the SDLC, introduced in Fig. 1. This SMS took into account the sustainability and self-adaptability of the SA-CPSs. Sixteen articles were selected for this SMS that presented a self-adaptive framework or an architecture for SA-CPSs.

This SMS unveiled several trends in the design of SA-CPSs. First, the designs are not limited to particular application domains. Second, performance was the most commonly used attribute.

CRediT authorship contribution statement

Luisa Restrepo: Conception and design of study, Acquisition of data, Analysis and/or interpretation of data, Writing - original draft. Jose Aguilar: Conception and design of study, Analysis and/or interpretation of data, Writing - review & editing. Mauricio Toro: Conception and design of study, Analysis and/or interpretation of data, Writing - review & editing. Elizabeth Suescún: Conception and design of study, Analysis and/or interpretation of data, Writing - review & editing.

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Acknowledgments

The authors would like to thank Vicerectoria de Descubrimiento y Creación from Universidad EAFIT. This research was supported by Universidad EAFIT, Colombia . The authors would also like to thank David Velasquez for his early comments and suggestions on this research. All authors approved the version of the manuscript to be published.

Luisa Restrepo received a B.Sc. degree in Computer Science in 2015 and a M.Sc. degree in Engineering from Universidad EAFIT, Colombia with emphasis on Software engineering, in 2019. Since 2020, Luisa works as Adjunct Professor at the Department of Systems and Informatics Engineering at Universidad EAFIT. Her research interests include requirements engineering, assessment of software applications, software reuse, cyber–physical systems, and data quality.

References used in the review (16)

There are more references available in the full text version of this article.

Cited by (0)

Luisa Restrepo received a B.Sc. degree in Computer Science in 2015 and a M.Sc. degree in Engineering from Universidad EAFIT, Colombia with emphasis on Software engineering, in 2019. Since 2020, Luisa works as Adjunct Professor at the Department of Systems and Informatics Engineering at Universidad EAFIT. Her research interests include requirements engineering, assessment of software applications, software reuse, cyber–physical systems, and data quality.

Professor Jose Aguilar received the B. S. degree in System Engineering in 1987 (Universidad de Los Andes-Venezuela), the M. Sc. degree in Computer Sciences in 1991 (Universite Paul Sabatier-France), and the Ph.D degree in Computer Sciences in 1995 (Universite Rene Descartes-France). He was a Postdoctoral Research Fellow in the Department of Computer Sciences at the University of Houston (1999-2000) and in the Laboratoire d’Analyse et d’Architecture des Systems of Toulouse, France (2010-2011). He is a Titular Professor in the Department of Computer Science at the Universidad de los Andes, Mérida, Venezuela, and contracted professor of the Department of Systems Engineering of the EAFIT University, Medellin, Colombia. His research interests include artificial intelligence, industry 4.0, IoT, cyber–physical and autonomic systems.

Mauricio Toro received a B.Sc. degree in Computer Science and Engineering from Pontificia Universidad Javeriana, Colombia, in 2009. Mauricio got a PhD degree in Computer Science from Université de Bordeux, France with emphasis on Artificial Intelligence, in 2012. Mauricio was a postdoctoral fellow at the Computer-Science department at University of Cyprus, during 2013. Since 2014, Mauricio works as Assistant Professor at the Department of Systems and Informatics Engineering and as a researcher of the GIDITIC Group at Universidad EAFIT. His research interests include artificial intelligence, industry 4.0, machine learning, computer vision, and agricultural applications.

Elizabeth Suescún Monsalve received a B.Sc. degree in Computer Science from Politecnico Colombiano JIC, Colombia, in 2004. Elizabeth got a Master and PhD degree in Computer Science from Pontifical Catholic University of Rio de Janeiro - PUC-Rio, Brazil with emphasis on Software Engineering, from 2010 to 2014. Since 2015, Elizabeth works as Assistant Professor at the Department of Systems and Informatics Engineering and as a researcher of the GIDITIC Group at Universidad EAFIT. Her research interests include Software Engineering, DevOps, industry 4.0, Software Transparency, Intentional Modeling, cyber–physical systems and its applications.

Editor: Heiko Koziolek.

View full text