agent-based acceptability-oriented computing international symposium on software reliability...

21
Agent-Based Acceptability- Agent-Based Acceptability- Oriented Computing Oriented Computing International Symposium on International Symposium on Software Reliability Engineering Software Reliability Engineering Fast Abstract by Shana Hyvat Fast Abstract by Shana Hyvat

Post on 15-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Agent-Based Acceptability-Agent-Based Acceptability-Oriented ComputingOriented Computing

International Symposium on Software International Symposium on Software Reliability EngineeringReliability Engineering

Fast Abstract by Shana HyvatFast Abstract by Shana Hyvat

Page 2: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Reliability vs. FunctionalityReliability vs. Functionality

As software becomes more complex As software becomes more complex insuring its reliability becomes more insuring its reliability becomes more challenging.challenging.

Increasing functionality increases Increasing functionality increases potentials for errors and potentials for errors and complications that may arise from complications that may arise from those errors.those errors.

Page 3: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Proposed SolutionsProposed Solutions

►Rinard’s [2003] Acceptability-Oriented Rinard’s [2003] Acceptability-Oriented Computing Computing

Goal:Goal: To achieve flexibility in To achieve flexibility in programming while ensuring the programming while ensuring the system runs reliabilitysystem runs reliability

Page 4: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Correct vs. Acceptable Correct vs. Acceptable BehaviorBehavior

As systems become more complex, As systems become more complex, unrealistic to presume “correct” unrealistic to presume “correct” functionality.functionality.

Maintaining a system with Maintaining a system with “acceptable” functionality is more “acceptable” functionality is more realistic.realistic.

Page 5: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Acceptable BehaviorAcceptable Behavior

Program designer must specify Program designer must specify functionalityfunctionality

States of acceptable behavior must be States of acceptable behavior must be identifiedidentifiedexample: example:

Particular error doesn’t lead to a crash but to a stop.Particular error doesn’t lead to a crash but to a stop.

Page 6: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Rinard’s ArchitectureRinard’s Architecture

Core specifies the functionalityCore specifies the functionality

Intended to completely specify both Intended to completely specify both the behavior of the system and the the behavior of the system and the structure required to completely structure required to completely implement the behavior.implement the behavior.

Remains unreliable by itself.Remains unreliable by itself.

Page 7: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Rinard’s ArchitectureRinard’s Architecture

Outer LayersOuter Layers

Enforce acceptable system behavior and Enforce acceptable system behavior and structure properties.structure properties.

Identify impending violation of the desired Identify impending violation of the desired acceptability properties.acceptability properties.

Restores and maintains program behavior Restores and maintains program behavior within the acceptability envelope.within the acceptability envelope.

Page 8: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

EnforcementEnforcement

Resilient Approach:Resilient Approach:Takes actions to restore system to an acceptable Takes actions to restore system to an acceptable state.state.Example:Example:Memory is full, release old data.Memory is full, release old data.

Safe Exit Approach:Safe Exit Approach:Allows a program to stop before executing improperlyAllows a program to stop before executing improperly

These approaches will be independent to each These approaches will be independent to each system and will depend of what the system designer system and will depend of what the system designer decides in acceptable.decides in acceptable.

Page 9: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

ComponentsComponents

Components are modules within outer Components are modules within outer layers will monitor, correct, and record layers will monitor, correct, and record errors in executions.errors in executions.

We introduce: We introduce:

Intelligent components in the form of Intelligent components in the form of “Monitor-Agents” that will perform “Monitor-Agents” that will perform similarly to Rinard’s similarly to Rinard’s

Page 10: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Properties of AgentsProperties of Agents

Autonomous/IndependentAutonomous/Independent

ReactiveReactive to their environment to their environment

Pro-activePro-active and work towards a goal and work towards a goal

Social AbilitySocial Ability that allows them to that allows them to communicate with other agents (may be communicate with other agents (may be human of software entities).human of software entities).

Page 11: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

It will be easy to see how Rinard’s It will be easy to see how Rinard’s concept matches well with the concept matches well with the properties of agents.properties of agents.

Page 12: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

AutonomyAutonomy

Re-engineering an entire system for Re-engineering an entire system for greater reliability may not be practical greater reliability may not be practical in many instances, but amending a in many instances, but amending a system with a separate, autonomous system with a separate, autonomous component, such as an agent, can component, such as an agent, can prove to be a more viable solution. prove to be a more viable solution.

Page 13: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

ReactiveReactive

When an error occurs the agent will be able When an error occurs the agent will be able to detect and choose a solution for repair or to detect and choose a solution for repair or for a safe exitfor a safe exit. .

In addition, it’s behavior will be “intelligent”.In addition, it’s behavior will be “intelligent”.

Pattern recognition will be a characteristic of Pattern recognition will be a characteristic of this intelligence.this intelligence.

Page 14: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Pro-activePro-active

The pro-active, goal driven behaviour of The pro-active, goal driven behaviour of an agent will be to acquire intelligence an agent will be to acquire intelligence through learning in the form of pattern through learning in the form of pattern recognition. recognition.

Neural Networks has been shown viable Neural Networks has been shown viable in the field of pattern recognition.in the field of pattern recognition.

Page 15: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Pattern RecognitionPattern Recognition

► Rinard’s method, errors are logged for the Rinard’s method, errors are logged for the systems designers usesystems designers use

►We give the monitor-agent ability to log We give the monitor-agent ability to log errors as well as recognize patterns in them.errors as well as recognize patterns in them.

► Recognize a sequence of errors that always Recognize a sequence of errors that always emerge when taking a particular resilient emerge when taking a particular resilient approach and to avoid this sequence may approach and to avoid this sequence may choose a different resilient approach to an choose a different resilient approach to an error. error.

Page 16: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

InteractionInteraction

““interactioninteraction is the single most is the single most important characteristic in complex important characteristic in complex systems”systems”

- Wooldridge and Ciancarini- Wooldridge and Ciancarini

Page 17: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Errors in InteractionsErrors in Interactions

A request to access non-existent memory or A request to access non-existent memory or simple spelling errors are such examples.simple spelling errors are such examples.

Utilize the social ability of the agent to Utilize the social ability of the agent to “translate” or repair messages to the core “translate” or repair messages to the core from the environment of the system. from the environment of the system.

The translation is from an input that can The translation is from an input that can possibly lead to an error-prone execution to possibly lead to an error-prone execution to one that will lead to an acceptable one that will lead to an acceptable execution.execution.

Page 18: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Designing the SystemDesigning the System

Gaia Method [Wooldridge and Ciancarini]Gaia Method [Wooldridge and Ciancarini]

Focuses on the problem solving nature of Focuses on the problem solving nature of agents and organizes agents to agents and organizes agents to communicate with each other and with communicate with each other and with their worldtheir world . .

Method of design of an agent-based Method of design of an agent-based system.system.

Page 19: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Gaia Analysis ProcessGaia Analysis Process

Define roles in the system:Define roles in the system:

►detect error when it occursdetect error when it occurs► log the errorlog the error► learn from the errorlearn from the error►choose a resilient solution or a safe choose a resilient solution or a safe

exit solutionexit solution

Page 20: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Defining Gaia ModelsDefining Gaia Models

In addition to goals we define models In addition to goals we define models for the system.for the system.

Since we are using a single agent-Since we are using a single agent-based systems, there is one model:based systems, there is one model:

services modelservices model, which is the interface , which is the interface to the core. to the core.

Page 21: Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat

Services ModelServices Model

Services model as a separate component to the Services model as a separate component to the agent-monitor.agent-monitor.

The services model will be independent to a The services model will be independent to a particular core. particular core.

In this way we can create a monitor-agent that can In this way we can create a monitor-agent that can be augmented to any existing system. be augmented to any existing system.

We refer to any existing system as a unreliable We refer to any existing system as a unreliable core, given the assumption that we are augmenting core, given the assumption that we are augmenting a system due some reliability issues.a system due some reliability issues.