In this paper, we explore the integration of evolutionary computation into the development and run-time support of dynamically-adaptable, high-assurance middleware. The open-ended nature of the evolutionary process has been shown to discover novel solutions to complex engineering problems. In the case of high-assurance adaptive software, however, this search capability must be coupled with rigorous development tools and run-time support to ensure that the resulting systems behave in accordance with requirements. Early investigations are reviewed, and several challenging problems and possible research directions are discussed.
Abstract. Dynamically adaptive systems (DAS) must cope with changing system and environmental conditions that may not have been fully understood or anticipated during development time. RELAX is a fuzzy logic-based specification language for making DAS requirements more tolerable to unanticipated environmental conditions. This paper presents AutoRELAX, an approach that generates RELAXed goal models that address environmental uncertainty by identifying which goals to RE-LAX, which RELAX operators to apply, and the shape of the fuzzy logic function that defines the goal satisfaction criteria. AutoRELAX searches for RELAXed goal models that enable a DAS to satisfy its functional requirements while balancing tradeoffs between minimizing the number of RELAXed goals and minimizing the number of adaptations triggered by minor and adverse environmental conditions. We apply AutoRELAX to an industry-provided network application that self-reconfigures in response to adverse environmental conditions, such as link failures.
Object-oriented frameworks support design and code reuse for specific application domains. To facilitate the development of evolutionary computation (EC) programs, such as genetic algorithms, developers often extend and customize EC frameworks with application code that defines the EC problem being solved. The application code, however, crosscuts the EC framework whenever candidate solutions are encoded, decoded, evaluated, and output. A change in the application logic, such as adding a parameter to the problem being solved, requires additional changes across code that extends the framework. This paper presents Arachne, an aspect-oriented approach for developing EC programs that extracts the crosscutting concerns of an application code into aspects that can be woven into the EC framework at compile time. To facilitate applying Arachne, we implemented a prototype tool to support the automatic generation of aspect code for two widely used EC frameworks, JGAP and ECJ. We demonstrate Arachne by applying it to re-engineer EC benchmark programs and an industry-provided problem.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.