We propose to use Artificial Intelligence techniques to monitor and control complex processing chains of software components. We consider software systems that run in an evolving environment and thus may require adaptation at run time. Our approach relies on knowledge representations of both structural and dynamic aspects of components and processing chains.The paper concentrates more precisely on run time adaptation to cope with context changes. Run time policies are expressed by means of inference rules. At run time an inference engine uses these rules to orchestrate the component chain, in particular to achieve run time adaptations, such as component parameter tuning or re-assembly of the processing chain. We describe the general evaluation-repair mechanism which involves to evaluate environment changes and execution results and then to trigger the suitable reconfigurations. I. CONFIGURATION OF SOFTWARE PROCESSING CHAINSConfiguring and adapting complex chains of processing components to environment changes is an important challenge that has concerned us for years. This problem occurs in many domains, such as signal processing, image processing, or scientific computing. It necessitates to reason on the usage of components at configuration as well as at run time. Our goal is to automate, as much as possible, the correct (re)configurations of such processing chains during their life time. To this end, we followed a cross-disciplinary approach that works in two directions.One the one hand, we have applied a software engineering approach to design knowledge-based system generators. We propose a set of toolkits (mainly component frameworks) to design and customize the different elements necessary to produce a knowledge-based system, e.g., interfaces, inference engines, or knowledge acquisition tools. This approach allows knowledge-based system developers a significant gain in time, and improves software readability and safeness; this "software engineering for artificial intelligence" direction is out of the scope of this paper and is described in details in [1]. We also propose an extensible domain specific language (DSL), YAKL [2]. It provides knowledge base developers with a user-friendly syntax and a well defined semantics. This language can be checked for consistency and translated into various formats.On the other hand, we have developed dedicated artificial intelligence methods to capture and to operationalize the organization and the dynamic behavior of processing chains. Our knowledge-based approach, called supervision [3], aims at monitoring processing chains composed of software components. This means to automate the decisions necessary to manage components at configuration as well as at run time, in accordance with the current context, the intermediate results, and the changes in the environment.The paper focuses more specifically on the mechanism to dynamically monitor and control processing chains at run time. This mechanism relies on knowledge representation presented in section II. Section III describ...
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.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.