Implementing Self-Adaptive Software Architecture by Reflective Component Model and Dynamic AOP: A Case Study

Author(s):  
Yuankai Wu ◽  
Yijian Wu ◽  
Xin Peng ◽  
Wenyun Zhao
2015 ◽  
Vol 8 (4) ◽  
pp. 207-214
Author(s):  
Qingfeng Zhang ◽  
Jing Xu ◽  
Chao Zhang

Author(s):  
Xinjun Mao ◽  
Menggao Dong ◽  
Haibin Zhu

This chapter proposes a multi-agent organization model for self-adaptive software to examine the autonomous components and their self-adaptation that can be occurred at either the fine-grain behavior layer of a software agent or the coarse-grain organization layer of the roles that the agent plays. The authors design two-layer self-adaptation mechanisms and combine them with reinforcement learning together to tackle the uncertainty issues of self-adaptation, which enables software agents to make decisions on self-adaptation by learning at run-time to deal with various unanticipated changes. The reinforcement learning algorithms supporting fine-grain and coarse-grain adaptation mechanisms are designed. In order to support the development of self-adaptive software, the software architecture for individual agents, the development process and the software framework are proposed. A sample is developed in detail to illustrate our method and experiments are conducted to evaluate the effectiveness and efficiency of the proposed approach.


Computers ◽  
2021 ◽  
Vol 10 (3) ◽  
pp. 27
Author(s):  
Shereen Ismail ◽  
Kruti Shah ◽  
Hassan Reza ◽  
Ronald Marsh ◽  
Emanuel Grant

Adaptivity is the ability of the system to change its behavior whenever it does not achieve the system requirements. Self-adaptive software systems (SASS) are considered a milestone in software development in many modern complex scientific and engineering fields. Employing self-adaptation into a system can accomplish better functionality or performance; however, it may lead to unexpected system behavior and consequently to uncertainty. The uncertainty that results from using SASS needs to be tackled from different perspectives. The Internet of Things (IoT) that utilizes the attributes of SASS presents great development opportunities. Because IoT is a relatively new domain, it carries a high level of uncertainty. The goal of this work is to highlight more details about self-adaptivity in software systems, describe all possible sources of uncertainty, and illustrate its effect on the ability of the system to fulfill its objectives. We provide a survey of state-of-the-art approaches coping with uncertainty in SASS and discuss their performance. We classify the different sources of uncertainty based on their location and nature in SASS. Moreover, we present IoT as a case study to define uncertainty at different layers of the IoT stack. We use this case study to identify the sources of uncertainty, categorize the sources according to IoT stack layers, demonstrate the effect of uncertainty on the ability of the system to fulfill its objectives, and discuss the state-of-the-art approaches to mitigate the sources of uncertainty. We conclude with a set of challenges that provide a guide for future study.


2009 ◽  
Vol 32 (1) ◽  
pp. 97-106 ◽  
Author(s):  
Zhi-Ming CHANG ◽  
Xin-Jun MAO ◽  
Zhi-Chang QI

Sign in / Sign up

Export Citation Format

Share Document