A Multiagent-Based Synergistic Approach For Software Fault Tolerance
November 9, 2009
PDF Document - Need a reader? Get one here
As computing becomes pervasive, there are increasing opportunities for the use of collaborative multiagent systems that make use of multiple sources of knowledge for validation, accuracy, and reliability improvement purposes. Application areas include multiple classifier systems, multiple sensor fusion, and redundancy-based software fault tolerant systems. The focus of this work is on the area of software fault tolerance. Most of the practical implementations of software fault tolerant strategies consist of a priori configurations where the number of programs to use is fixed and the mechanism to decide on a final result is some ad-hoc strategy --- majority voting or some variation. The work introduced here explores adaptive strategies to software fault tolerance through the use of multiagent systems. We use collaborative multiagent systems in which all the agents in the system have functionally equivalent capabilities and cooperate in order to increase the overall outcome of the system, that is, all of the agents share the same goals or are trying to maximize a social utility instead of an individual, personal utility. More specifically, our work consists of adaptive voting strategies, a model for representing dependencies among the agents in the system, and a method for estimating dependencies using code complexity measures of the programs corresponding to the agents' tasks. We discuss results showing the effectiveness of diversity, the use of software metrics as possible estimators of dependencies among diverse programs in multi-version systems, and the sensitivity of a collaborative multiagent system to different environments or system parameters such as heterogeneity (i.e. varying degrees of individual reliabilities) and dependencies among the agents.
- (Event) A Multiagent-Based Synergistic Approach for Software Fault Tolerance has PowerPoint slides (Resource) A Multiagent-Based Synergistic Approach For Software Fault Tolerance