The Adaptive Agent Model Liang Xiao and Des Greer School of Computer Science, Queen's University Belfast, Northern Ireland, UK Software Adaptivity through.

Slides:



Advertisements
Similar presentations
GenArch: Automatic Product Derivation in Multi-agent Systems Product Line Elder Cirilo.
Advertisements

Design Patterns.
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
4. May 2007 Workshop on Dynamic Service Level AgreementsPage 1 Dynamic SLA Negotiation in BREIN Bastian Koller High Performance Computing Center Stuttgart.
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Designing Services for Grid-based Knowledge Discovery A. Congiusta, A. Pugliese, Domenico Talia, P. Trunfio DEIS University of Calabria ITALY
Modelling Agent Knowledge with Business Rules Liang Xiao and Des Greer School of Computer Science, Queen's University Belfast, UK.
1 University of Namur, Belgium PReCISE Research Center Using context to improve data semantic mediation in web services composition Michaël Mrissa (spokesman)
1 Towards Building Generic Grid Services Platform A component oriented approach Jeyarajan Thiyagalingam Stavros Isaiadis, Vladimir Getov Distributed and.
Pierre Nantel, Office of the CIO
1 Toward a Modeling Theory for Predictable Complex Software Designs by Levent Yilmaz Auburn Modeling and Simulation Laboratory Department of Computer Science.
A Hierarchical Agent- oriented Knowledge Model for Multi-Agent Systems Liang Xiao and Des Greer School of Computer Science, Queen's University Belfast,
Lecture 6: Software Design (Part I)
IMS5401 Web-based Systems Development Topic 3: Development for the web 3(f) Implications of issues in web site design.
1. 2 Captaris Workflow Microsoft SharePoint User Group 16 May 2006.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Building the Environment for the Things as a Service GWS Aalborg Fco. Javier Nieto (ATOS)
Some questions o What are the appropriate control philosophies for Complex Manufacturing systems? Why????Holonic Manufacturing system o Is Object -Oriented.
QAD Integrated Customization Toolkit (ICT)
1 Software Engineering II Presentation Software Maintenance.
On the horizon Chapter twenty-five of: Szyperski, Clemens et al. Component Software - Beyond Object-Oriented Programming. Second Edition.
May-June 2001 ISISTAN Research Institute – Tandil, Argentina Software Design Methodologies: UML in Action Dr. Mohamed Fayad, J.D. Edwards Professor Department.
© M.E. Fayad SJSU -- CmpE Analysis Heuristics Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Collaborative Reinforcement Learning Presented by Dr. Ying Lu.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Games Development 2 Entity / Architecture Review CO3301 Week
Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University.
1 Autonomic Computing An Introduction Guenter Kickinger.
SOFTWARE ADAPTIVITY THROUGH XML-BASED BUSINESS RULES AND AGENTS Queen’s University of Belfast, School of Computer Science, Belfast, United Kingdom Liang.
INTELLIGENT SYSTEMS MOTIVATIONS M. Gams. Definition (scientific): Intelligent ststem is a system that learns during its existence. It senses its environment.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
CSE 303 – Software Design and Architecture
Features, Policies and Their Interactions Joanne M. Atlee Department of Computer Science University of Waterloo.
CSCI-383 Object-Oriented Programming & Design Lecture 1.
Automating service management Tiina Niklander Faculty of Science Department of Computer Science In AMICT 2008 Petrozavodsk, May 2008.
Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab ~xenoops/CORRELATE.
Auckland Connected Systems User Group November 19th 2009 Jeffrey Chilberto BizTalk Consultant
Margherita Forcolin (Insiel S.p.A.) Thessaloniki, 13 October 2011.
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
NAVEEN AGENT BASED SOFTWARE DEVELOPMENT. WHAT IS AN AGENT? A computer system capable of flexible, autonomous (problem-solving) action, situated in dynamic,
October 18, 2005 Charm++ Workshop Faucets A Framework for Developing Cluster and Grid Scheduling Solutions Presented by Esteban Pauli Parallel Programming.
Software Testing and Quality Assurance Software Quality Assurance 1.
Illustrations and Answers for TDT4252 exam, June
GRASP: Designing Objects with Responsibilities
Team TFY (Think For You).  Problems we want to solve  What we showed last time  Our new solutions now  Our feature list  Issues identified so far.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
INTELLIGENT SYSTEMS INFORMATION SOCIETY MOTIVATIONS M. Gams.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Dr D. Greer, Queens University Belfast )Chapter Six 1 Software Engineering Chapter Six Software Design Quality Learning Outcomes.
INTELLIGENT SYSTEMS AND INFORMATION SOCIETY M. Gams Institut Jožef Stefan Ljubljana University.
Behavior-based Multirobot Architectures. Why Behavior Based Control for Multi-Robot Teams? Multi-Robot control naturally grew out of single robot control.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
Basic Characteristics of Object-Oriented Systems
An Evolutional Cooperative Computation Based on Adaptation to Environment Naoyasu UBAYASHI and Tetsuo TAMAI Graduate School of Arts and Sciences University.
Applying Adaptive Software Development (ASD) Agile Modeling on Predictive Data Mining Applications: ASD-DM Methodology M. Alnoukari 1 Z.Alzoabi 2 S.Hanna.
Object Oriented Systems Design
ECOMP Information Model
Coordination Contracts, Evolution and Tools
User Interface Agent Matias Kassala JYPE
Component-Level Design
Evaluating Compuware OptimalJ as an MDA tool
A clinical collaboration platform
Structuring Adaptive Applications using AspectJ and AOM
CS385T Software Engineering Dr.Doaa Sami
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Games Development 2 Entity / Architecture Review
Presentation transcript:

The Adaptive Agent Model Liang Xiao and Des Greer School of Computer Science, Queen's University Belfast, Northern Ireland, UK Software Adaptivity through Dynamic Agents and XML-based Business Rules

AAM – L. Xiao, D.Greer, SEKE Overview Motivation Other Approaches Our Approach Conclusions Background Example Adapting Business Policy Adapting Business Concepts Adapting Business Collaboration

AAM – L. Xiao, D.Greer, SEKE Motivation Software maintenance is very expensive Much of Software Engineering research into making systems easily and economically adaptable Need to make change easier and cheaper! Better still is adaptive –Systems change their behaviour according to their context Combining OO with Agent approach may provide a route to adaptivity

AAM – L. Xiao, D.Greer, SEKE Selected approaches to Adaptivity (i) Use of design pattern e.g. Strategy –Predict future behaviour and write code for it –Later select new behaviour –Relies on being able to predict behaviour Co-ordination Contract – externalise coordination as contracts –Evolve by adding/changing contracts –Components still have to be recoded if functionality cannot be achieved via contracts

AAM – L. Xiao, D.Greer, SEKE Selected approaches to Adaptivity (ii) Adaptive (Active) Object Model (AOM) –Model system as metadata –TypeObject, Property and Strategy patterns –Create new classes at runtime –Behaviour can be adapted if predicted –BUT Persistence of new objects requires object database Hard coded classes do not represent business model Adaptivity only if future behaviour has been predicted No easily accessible of the ACTUAL system model

AAM – L. Xiao, D.Greer, SEKE Selected approaches to Adaptivity (iii) Main concerns are cost and time for maintenance Cheapest (ideal) solution is self-adaptivity Objects are passive Need new approach to move responsibility for change towards the user

AAM – L. Xiao, D.Greer, SEKE What’s important? Important in OO: modularity, information hiding … These refer to easy redesign NOT adaptation during operation Much attention on intelligent/autonomous agents for adaptivity –Agents capable of flexible, autonomous action to meet their own objectives

AAM – L. Xiao, D.Greer, SEKE Why Agents and Business Rules? Our Hypotheses: –system consisting of agents, where the behaviour can be configured dynamically as policies or rules will provide better adaptivity –Agents are active, unlike objects Objects have static methods, agents have flexibility –Requirements embedded in code are not easily adapted –Rules can be externalised (as XML) and used by agents Externalisation means ease of change

AAM – L. Xiao, D.Greer, SEKE Illustrative Example Retailer serves students/staff Policies include certain discounts –e.g. individual students/groups/departments –Customers can become ‘premium’ –Goods ordered have different suppliers and discount may depend on that too –Policies added/amended constantly –Suppose a new attribute ‘credit’ is added later and new policies arise based on the value of that

AAM – L. Xiao, D.Greer, SEKE Simple example – change issues 3 categories of change –New business policy e.g. new discount for a certain group –New business concepts e.g ‘credit’ –New business architecture/ collaboration e.g. change to new supplier How can we allow these to be changed?

AAM – L. Xiao, D.Greer, SEKE Adapting Business Policy Business policies represented as rules Business rules traditionally often embedded in code / logic 2 categories –Global = apply to whole business domain. These refer to business policy –( Local = apply to individual agents and refer to how they collaborate)

AAM – L. Xiao, D.Greer, SEKE Adapting business policy (ii) We use a simple template for global rules IF objectName1.attribute1 op1 value1 THEN objectName2.attribute2 op2 value 2 Priority value3 - ruleId objectName1.attributeName1 op1 value1 objectName2.attributeName2 op2 value2 value3

AAM – L. Xiao, D.Greer, SEKE Adapting business policy (iii) IF customer.type == premium THEN customer.discount := 5% Priority 5

AAM – L. Xiao, D.Greer, SEKE Adapting business policy (iii) Business Rules Manager Agent (BRMA) oversees the process BRMA gets top- priority rule Message sent to initialising agent for context (i.e. TRUE: <action. Executed FALSE: move to next rule

AAM – L. Xiao, D.Greer, SEKE Adapting Business Concepts New objects, new attributes may arise Metadata Editor allows these to be added - customer - name type credit

AAM – L. Xiao, D.Greer, SEKE Adapting Business Concepts (ii) New attribute becomes available to business rules editor

AAM – L. Xiao, D.Greer, SEKE Adapting Collaboration Agent systems work via collaboration of agents For AAM collaboration should be adaptive Full architecture independence (two-way encapsulation) is the ideal case –i.e. details of where objects will send messages is hidden Architecture Editor defines local rules –Adjusts who ‘talks’ to who and what happens when

AAM – L. Xiao, D.Greer, SEKE saleProcessing retailer business Company Adapting Collaboration (ii) order.isOrderAttractive() = true - send a message - Company.saleProcessing Retailer.proposalProcessing Propose - … 5 - receipt of message - Retailer.orderProcessing Company.saleProcessing Call for proposal - …

AAM – L. Xiao, D.Greer, SEKE Adapting Collaboration (iii) Rule definitions contain –Causing trigger event –The data content of the message being received –A series of (condition, action, priority) triplets When an event occurs (usually receipt of a message) –The agent looks at its local rule set and chooses which action to take Collaboration is dynamic –Via the Architecture editor rules are changed and saved as XML and used immediately

AAM – L. Xiao, D.Greer, SEKE Belief: the agent that executes the rule updates its beliefwith the information received in the incoming message (business company interest, customer shopping habits, etc.) Event: incoming request message Processing: process the incoming message  Action: ifone ofthe rule conditions is satisfied, then perform a corresponding action with an outgoing message  Rule Outgoing message  a 2 c 1 c 2 c n Check Rule Condition (c 1, c 2, …, c n ) e Message a 2 a 1 a n Rule Specification

AAM – L. Xiao, D.Greer, SEKE Evaluation

AAM – L. Xiao, D.Greer, SEKE Conclusion Agents retrieve knowledge from business rules –New business concepts (Metadata editor) –Change of business policy (Business Rules Editor) –Change of business architectures (Architecture editor) Adaptivity achieved since the editors define the environment and the system reacts

AAM – L. Xiao, D.Greer, SEKE Future vision Some Possibilities –Priorities of rules are learned –Alternative paths are taken as required