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

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Chapter 19: Network Management Business Data Communications, 5e.
Some questions o What are the appropriate control philosophies for Complex Manufacturing systems? Why????Holonic Manufacturing system o Is Object -Oriented.
SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
The Architecture Design Process
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 7: Expert Systems and Artificial Intelligence Decision Support.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
JokerStars: Online Card Playing William Sanville Milestone 4.
Software Process Activities. Process activities Real software processes are inter-leaved sequences of technical, collaborative and managerial activities.
EMBEDDED SOFTWARE Team victorious Team Victorious.
Complex Security Policies Dave Andersen Advanced Operating Systems Georgia State University.
What is Concurrent Programming? Maram Bani Younes.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Concurrent and.
CSE 303 – Software Design and Architecture
Business Analysis and Essential Competencies
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
© 2007 Tom Beckman Features:  Are autonomous software entities that act as a user’s assistant to perform discrete tasks, simplifying or completely automating.
Software Agents: An Overview by Hyacinth S. Nwana and Designing Behaviors for Information Agents by Keith Decker, Anandeep Pannu, Katia Sycara and Mike.
ComplexWorld PhD Project: Modeling Interlevel Relations within ATM Nataliya M. Mogles VU University Amsterdam, The Netherlands.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Summary of Distributed Computing Security Yifeng Zou Georgia State University
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
PROC-1 1. Software Development Process. PROC-2 A Process Software Development Process User’s Requirements Software System Unified Process: Component Based.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Chapter 4 Decision Support System & Artificial Intelligence.
Distributed Models for Decision Support Jose Cuena & Sascha Ossowski Pesented by: Gal Moshitch & Rica Gonen.
Multiagent System Katia P. Sycara 일반대학원 GE 랩 성연식.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Security Architecture of qmail and Postfix Authors: Munawar Hafiz Ralph E. Johnson Prepared by Geoffrey Foote CSC 593 Secure Software Engineering Seminar.
Introspecting Agent-Oriented Design Patterns Manuel Kolp, T. Tung Do, Stéphane Faulkner and T. T. Hang Hoang Presented by Rachel Bock, Sam Shaw, Nicholas.
Agent Overview. Topics Agent and its characteristics Architectures Agent Management.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Introduction to Operating Systems Prepared by: Dhason Operating Systems.
Refactoring Agile Development Project. Lecture roadmap Refactoring Some issues to address when coding.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
CS223: Software Engineering Lecture 32: Software Maintenance.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Powerpoint Templates Data Communication Muhammad Waseem Iqbal Lecture # 07 Spring-2016.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
Done by Fazlun Satya Saradhi. INTRODUCTION The main concept is to use different types of agent models which would help create a better dynamic and adaptive.
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
OOP What is problem? Solution? OOP
Software Engineering (CSI 321)
User Interface Agent Matias Kassala JYPE
Chapter 2: System Structures
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
AGENT FRAMEWORK By- Arpan Biswas Rahul Gupta.
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Self-Managed Systems: an Architectural Challenge
Presentation transcript:

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

Reliability vs. Functionality As software becomes more complex insuring its reliability becomes more challenging. Increasing functionality increases potentials for errors and complications that may arise from those errors.

Proposed Solutions ► Rinard’s [2003] Acceptability-Oriented Computing Goal: To achieve flexibility in programming while ensuring the system runs reliability

Correct vs. Acceptable Behavior As systems become more complex, unrealistic to presume “correct” functionality. Maintaining a system with “acceptable” functionality is more realistic.

Acceptable Behavior Program designer must specify functionality States of acceptable behavior must be identified example: Particular error doesn’t lead to a crash but to a stop.

Rinard’s Architecture Core specifies the functionality Intended to completely specify both the behavior of the system and the structure required to completely implement the behavior. Remains unreliable by itself.

Rinard’s Architecture Outer Layers Enforce acceptable system behavior and structure properties. Identify impending violation of the desired acceptability properties. Restores and maintains program behavior within the acceptability envelope.

Enforcement Resilient Approach: Takes actions to restore system to an acceptable state. Example: Memory is full, release old data. Safe Exit Approach: Allows a program to stop before executing improperly These approaches will be independent to each system and will depend of what the system designer decides in acceptable.

Components Components are modules within outer layers will monitor, correct, and record errors in executions. We introduce: Intelligent components in the form of “Monitor-Agents” that will perform similarly to Rinard’s

Properties of Agents Autonomous/Independent Reactive to their environment Pro-active and work towards a goal Social Ability that allows them to communicate with other agents (may be human of software entities).

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

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

Reactive When an error occurs the agent will be able to detect and choose a solution for repair or for a safe exit. In addition, it’s behavior will be “intelligent”. Pattern recognition will be a characteristic of this intelligence.

Pro-active The pro-active, goal driven behaviour of an agent will be to acquire intelligence through learning in the form of pattern recognition. Neural Networks has been shown viable in the field of pattern recognition.

Pattern Recognition ► Rinard’s method, errors are logged for the systems designers use ► We give the monitor-agent ability to log errors as well as recognize patterns in them. ► Recognize a sequence of errors that always emerge when taking a particular resilient approach and to avoid this sequence may choose a different resilient approach to an error.

Interaction “interaction is the single most important characteristic in complex systems” - Wooldridge and Ciancarini

Errors in Interactions A request to access non-existent memory or simple spelling errors are such examples. Utilize the social ability of the agent to “translate” or repair messages to the core from the environment of the system. The translation is from an input that can possibly lead to an error-prone execution to one that will lead to an acceptable execution.

Designing the System Gaia Method [Wooldridge and Ciancarini] Focuses on the problem solving nature of agents and organizes agents to communicate with each other and with their world. Method of design of an agent-based system.

Gaia Analysis Process Define roles in the system: ► detect error when it occurs ► log the error ► learn from the error ► choose a resilient solution or a safe exit solution

Defining Gaia Models In addition to goals we define models for the system. Since we are using a single agent-based systems, there is one model: services model, which is the interface to the core.

Services Model Services model as a separate component to the agent- monitor. The services model will be independent to a particular core. The services model will be independent to a particular core. In this way we can create a monitor-agent that can be augmented to any existing system. We refer to any existing system as a unreliable core, given the assumption that we are augmenting a system due some reliability issues.