1 Introduction

Nowadays, software-intensive systems, such as cyber-physical systems and self-adaptive systems, are radically transforming our daily lives, businesses, and industries. They have already started to become prominent in our daily life, in the form of self-driving cars, crop-spraying drones, drones, and so on.

Main characteristics expected from such software-intensive systems include: (1) they need to be able to constantly operate in open and dynamic environment; (2) they need to continuously evolve themselves all throughout their life cycles, including autonomous adaptation—via learning—to their open and dynamic operating environment; (3) they should be able to handle various levels of internal uncertainty caused by the employment of AI/MI techniques [1, 3], for instance, and deal with external uncertainty from, e.g., human interactions, uncertain information networks, etc. [4]; and (4) they need to deal with emerging issues that are unknown at the design time but may occur during their operations. Such issues may be critical as they might be highly related to safety, security, and trustworthiness.

Traditional software engineering methodologies are not sufficient to develop such software systems with the above-mentioned characteristics. Therefore, in this special issue, we called for contributions of extending traditional software engineering methodologies for tackling new challenges that emerged when engineering software systems operating in open and dynamic environment, with a particular focus on modeling. In the past, modeling has been recognized as an effective mechanism in dealing with the complexity by raising the level of abstractions and facilitating various of automation in, for instance, test/code generation [2], or prediction of future behaviors and performance with digital twin technologies [5]. We, therefore, believe modeling can still be an effective and principled mechanism for managing the ever-increasing complexity of engineering such systems, and systematically dealing with internal uncertainties, inherent in themselves, and external uncertainties from their operating environment.

2 Selected papers for this theme section

The theme section starts with an Expert’s Voice by Cámara et al. on topics related to the theme section. Then, it continues with two papers that we accepted after a thorough peer-reviewing process.

The Expert’s Voice contribution is “The Uncertainty Interaction Problem in Self-Adaptive Systems” by Javier Cámara, Javier Troya, Antonio Vallecillo, Nelly Bencomo, Radu Calinescu, Betty H.C. Cheng, David Garlan, and Bradley Schmerl. The authors considered the problem of mitigating uncertainty in self-adaptive systems. In particular, while most of the literature focuses on specific types of uncertainty in isolation, the authors put their attention on uncertainties that are not independent, but interact to affect properties of self-adaptive and software-intensive systems. The authors introduced the “Uncertainty Interaction Problem” to identify the challenges that arise due to the interaction of different types of uncertainty. They presented the problem by giving examples of the occurrence of the uncertainty interaction problem in two application domains, the Znn.com news service and an autonomous mobile service robot. This Expert’s Voice is a call for future research in software engineering on this type of interacting uncertainties.

The first accepted paper is “Online adaptation for autonomous unmanned systems driven by requirements satisfaction model” by Yixing Luo, Yuan Zhou, Haiyan Zhao, Zhi Jin, Tianwei Zhang, Yang Liu, Danny Barthaud, and Yijun Yu. In their paper, the authors considered autonomous unmanned systems (AUSs), which usually operate in highly open and dynamic environment. In such environment, when an unexpected situation occurs, some critical requirements of an AUS may be violated. The authors proposed a model-driven and control-based online adaptation approach, which, at runtime, based on a requirements satisfaction model, predicts whether some requirements will be violated, and, if needed, finds an optimal adaptation for the AUS. The approach has been experimented in simulated scenarios (i.e., UAV Delivery and UUV Ocean Surveillance) and in the real world (i.e., DJI Matrice 100 UAV with real-world workloads).

The second accepted paper is “Improving timing analysis effectiveness for scenario-based specifications by combining SAT and LP techniques” by Longlong Lu, Minxue Pan, Tian Zhang, and Xuandong Li. In their paper, the authors observed that open environmental software systems often need to guarantee timing requirements, such as responding promptly to other entities within the system and/or in the environment. The authors used scenario-based specifications (SBS) augmented with timing constraints to model such requirements. Checking the consistency of such constraints can be time-consuming. To tackle this issue, the authors proposed an approach based on SAT and linear programming for the bounded timing analysis of SBS. Experiments on seven case studies show that the approach has better performance than existing tools, in terms of time consumption and memory footprint.