Reliability Engineering With Software Agents
Cyrus F. Nourani 1
Affiliations METAAI and UCSB
Abstract
We present techniques for software reliability engineering
with agents. Abstract Implementations By computing Agents-AII[Nou
94] is applied to the stages of conceptualization, design, and implementation.
The techniques lead to AI systems that can be proved dependable, fault
free, and fault tolerant[Nou 98a,93]. Reliability validation
methods are stated in brief here and in [Nou 98b].
Objects, message passing actions, and implementing agents are defined
by syntactic constructs, expressed in an abstract specification language[Nou
94]. Aggregate modules comprise multiagent kernels. To each specification
there corresponds two kernels running concurrent. Keywords Reliability
Engineering, Distributed A.I., Software Systems, Safety Critical Systems,
Formal Specifications, KB Validation and Verification, Object Level Design,
Multiagent AI, Multi-Kernel Design.
Introduction
A reliability design basis for KB, software and systems
is presented in brief which incorporates a novel method of implementation
based on the method of abstract intelligent implementations (A.I.I.)[
Nou 93,95] and multiagent kernels. Intelligent Reliable
design, i.e., design and implementation of software [Nou
93,94] by AI techniques is an emerging area of crucial importance[Gen92].
The techniques are applied gradually to the real problems encountered
in fields such as intelligent systems, aerospace, and robot planning.
The design techniques presented lead to systems that could be proved dependable
quite easier, without suggesting that what has been designed thus far
is not dependable. AI and software system designs go through the stages
of Conceptualization , Design, and Implementation. Each of the stages
is to be approached in ways that minimize human error and enable the designed
system to automatically recover from faults. The fault recovery issues
are further developed treated by this author in [Nou 98a,93].
The techniques are intimate applications of new data and knowledge engineering
methods. In the present paper software design is viewed as a methodology
that commences with a knowledge acquisition phase, followed by a specification
phase, and concluded by a system implementation phase. The present approach
applies functional nondeterministic knowledge acquisition, fault free
system specification, and multiagent abstract implementations. Knowledge
acquisition includes exception knowledge as an essential component, as
does system specification. It is functional in the sense that it formulates
knowledge acquisition with objects and functions defined on objects. It
is nondeterministic in the sense that the formulation is with multiple
concurrent kernels that are implemented by agents. System implementation
is by independent concurrent computing agents. AI and software systems
are defined in the present paper by a pair of systems, corresponding to
two views of the functionality, each consisting of many computing agents.
The two views are mutually synchronized to enable fault and exception
handling and recovery in an automatic manner. The methods have been applied
to the problems that concern human error in a brief by the author at ECAI-92
Vienna, and for fault free AI system design in [Nou 98a,93,95].
We are developing a basis for a sound theoretical and practical methodology
for designing reliable AI and software systems. Some practical application
areas in aerospace system design is presented in [Nou 94].
The applications to reliable KB are taken on at ESPRII VITAL design projects
and are stated at[Nou 98b].
Design and Functional Implementation
We have presented a twin-engine [Nou98a,93],
consisting of FTN := and FTF:= for FTCS with AI techniques. Each of the
FTN and FTF consists of agents that are mutually, often pair-wise, informable.
FTN is normal functions A and FTE the fault functions F. RNA and RFA their
respective relations on the object set O. Each of the processes can have
a corresponding agent in the dual family. The pair in a computing system
"run"
as a concurrent family of processes. Various functions in FTN and FTF
are represented by agents that are mutually informable across the pair.
The overall functionality of the system depends on the messages passed
across from one agent to another. To each specification there corresponds
two kernels running concurrent. It is depicted by the figure. The AII
function I implements a multiagent specification algebra I : ( , defining
a set of functions: I : ( The theoretical issues of representing AI systems
in this manner and the problem of algebraic characterization of abstract
implementations is briefed by [Nou94]. The design techniques are amenable
to a validation stage for reliability, where the specifications are tested
and automatically checked for consistency. The proposed abstract intelligent
implementation(AII) techniques provide a basis for an approach to synthesis
by Intelligent Trees. The object level declarative definition for individual
modules, expressed in a module specification language, can be mapped to
executable programs by source abstract syntax tree to target abstract
syntax tree morphisms. The techniques achieve functional design, while
providing simple correctness proof paradigms for the synthesis. The methods
implement design specifications with agents put forth at the level of
objects, axioms, types, and rules. A brief overview of a methodology for
validation and verification of AI systems is presented in [Nou98b].
References
[Nou
98a] Nourani,C.F. " Designing Fault Tolerant Systems with Multiagent
AI, FTCS98, Munich, Germany, June 1998.
[Gen92]
Genesereth, M. R. An Agent-Based Approach to Software Interoperability,
In Proceedings of the DARPA Software Technology Conference, 1992.
[Nou98b]
Nourani, C.F.,"Modelling,Validation,and Hybrid Design of Intelligent
Systems," February 1997, KEML98, January 1998, Karlsruhe, Germany.
[Nou93]
Nourani, C.F. "A Multiagent Approach To Fault Free and Fault Tolerant
AI," Proc. FLAIRS-93, Florida AI Symposium, April 1993.
[Nou94]
Nourani,C.F."Abstract Implementation Techniques For AI Systems By
Computing Agents: A Conceptual Overview," SERF-94, Orlando, FL.,
November 11, 1994.
[Nou95]
Nourani,C.F."Designing Concurrent SelfChecking Fail-Safe Systems"
1st IEEE Testing, July 1995, Nice, France.
Author contact: METAAI and UCSB E-Mail: Project_METAAI@CompuServe.com |