Most analysis and design approaches for Self-Adaptive Systems (SASs) require designers to have some knowledge of the system environment. To follow those modeling approaches, designers need domain knowledge of the environment or expert’s help. It makes sense that the approaches are based on knowledge of the environment, but it is difficult to follow the approaches when the designers’ knowledge is not sufficient. There is a lack of practical guidelines of analyzing the environment to support the SAS modeling approaches. As the environment where the system should adapt becomes more complex with many dynamic environmental factors, a practical modeling approach, which considers understanding the environment as one of the major steps in the modeling process, is necessary.
The environment has not been regarded as a first-class entity of SAS modeling and the concepts of the environment of SAS have not been explicitly addressed. Because the main purpose of SAS is adaptation to uncertain environments, the environment of the SAS itself needs to be dealt with thoroughly. The concept and characteristics of the implicitly agreed SAS environment need to be clarified. A method of dealing with the environment practically from the perspective of designers throughout the modeling process is required.
In this study, we propose a method of generating environment models of SASs, considering the environment as a first-class entity of the modeling process. To guide the analysis and understanding of the SAS environment, we propose a meta-model that encompasses the characteristics of the SAS environment. Based on the meta-model, environment models can be generated using historical environment data, which can be collected from existing similar systems or open data. As a case study, we apply our method to a smart traffic control system with real data, while following an existing approach to developing the requirements of an SAS. We show that our proposed method practically helps designers to generate environment models with concrete features that are necessary for SAS modeling by considering the environment as a major entity of the modeling process.
We propose a data-driven environment modeling method for SASs. To provide a practical method of analyzing the environment for SAS modeling, our method guides designers to generate environment models using historical data of the environment. This method provides processes to analyze and understand the environment, assuming that designers lack of the domain knowledge of the environment and has little data analysis capabilities. We also propose a meta-model of the environment so that designers can generate environment models that fully reflect the characteristics of the SAS environment. The generated environment model can be used for SAS modeling.
Figure: Overall Approach
Above figure shows the overall flow of our approach. Input historical data of the environment represents the environment’s known histories such as raw data of sensors. The input data are used to generate an environment model based on the meta-model, which is another input of this method. The environment model generation process includes data analysis techniques such as pattern, outlier, and correlation analysis. The generated environment model represents some concrete features of the environment, such as dynamicity of the environment, correlations of environmental factors, and effects on goal. The extracted and concretized features are used to support designers in analyzing the environment so that they can practically follow the SAS modeling approaches based on such understanding.
(1) A Conceptual Model of Environment for SAS Engineering
Figure: SAS Environment Conceptual Model
Above figure shows a conceptual model of the environment for SASs. An adaptive system adapts its behavior to the surrounding environment. In particular, an SAS decides the adaptation autonomously or with minimal intervention. To decide when and how to adapt to the environment, the SAS has one or more sensors to monitor the changing environment. It is referred to as monitoring and analysis. The SAS has its goals to achieve regardless of changes in the environment. A goal may also derive another goal or has a hierarchical relationship with subgoals. A goal is related to a property that allows verifying whether or not the goal is achieved.
The environment of an adaptive system consists of a number of environmental factors. For example, the traffic environment can be conceptualized as a set of average speed and the number of cars on the roads of interest. An environmental factor may have a correlation with another factor, and it could be static or dynamic, but dynamic environmental factors are dealt with in greater depth for SASs. A dynamic environmental factor changes its status and may have patterned changes such as daily traffic fluctuations. Changes in a dynamic environmental factor generate uncertainty and affect the SAS’s goal.
(2) A Meta-model of Environment for SAS Engineering
Figure: SAS Environment Metamodel
Above figure shows a meta-model of the environment for the SAS that we propose based on the conceptual model. An environment model consists of a number of dynamic environmental factor models. A dynamic environmental factor model has its factor type as discrete, continuous, or non-decidable. For example, the average speed of cars on a road is a continuous factor, but the available/blocked state of a road is a discrete factor. Additionally, a dynamic environmental factor model has its optional information such as analysis techniques and data source of the environmental factor.
To apply our approach to a realistic example, we show the smart traffic control system design in a case study. For a more detailed scenario, we adopt a specific target environment near KAIST, Daejeon, South Korea. Figure below shows the map around KAIST. The traffic of the area varies with time and causes a huge traffic jam every day. The smart traffic control system involved in this case study is a traffic signal controller of the target intersection of three roads, as shown in the figure, which needs to dynamically adapt to reduce the daily traffic jam of the area.
Figure: KAIST Map
We acquired the historical traffic data of the target area from the Daejeon Transportation Data Warehouse system (DTDW 2.0), which is managed by Daejeon City(DTDW 2.0 – http://tportal.daejeon.go.kr). We collected a month’s worth of available data. The data set contains collected data from both directions (upward and downward) of the three roads (Daehak-ro, Expo-ro, and Daedukdae-ro), which are adjacent to the target intersection. For each road, the data set contains the average speed, the number of cars, and the average occupancy of the road. The acquired data set, which contains 18 factors (three factors of two directions of three roads), is used to generate the environment model.
A part of generated environment model including only three factors is shown in figure below. Details are explained in our paper.
Figure: Environment Model with Three Factors
Correlations between traffic environmental factors were analyzed and it is depicted in figure below. Details are explained in our paper.
Application of this traffic environment model to a smart traffic control system design from requirement analysis was conducted and it is depicted in the figure below.
Figure: Adaptive Traffic Control System Requirements
- SAC (accepted)
- KSC (accepted)
- No related tool