10/21/2005CIS Dept., UMass Dartmouth1 Towards a Role-Based Agent Development Environment for Open Multi-Agent Software Systems Prof. Haiping Xu Concurrent.

Slides:



Advertisements
Similar presentations
January 30, 2014 Copyright Jim Farley Beyond JDBC: Java Object- Relational Mappings Jim Farley e-Commerce Program Manager GE Research and Development
Advertisements

Mobile Agents Mouse House Creative Technologies Mike OBrien.
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
10/09/2006CIS Dept., UMass Dartmouth1 A Petri Net Based XML Firewall Security Model for Web Services Invocation Prof. Haiping Xu Concurrent Software Systems.
1 Trust Management and Theory Revision Ji Ma School of Computer and Information Science University of South Australia 24th September 2004, presented at.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
TRAVEL RESERVATION SYSTEM USING WEB SERVICES COMPOSITION LANGUAGE
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
The Architecture of Transaction Processing Systems
5/26/2005CIS Dept., UMass Dartmouth1 A Methodology for Role- Based Modeling of Open Multi-Agent Software Systems Prof. Haiping Xu Concurrent Software Systems.
Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science.
Multi-Agent System for Online Auctions Jose Manuel Valladares Pernas CIS Master Project - Fall 2004 Advisor: Dr. Haiping Xu.
1212 Management and Communication of Distributed Conceptual Design Knowledge in the Building and Construction Industry Dr.ir. Jos van Leeuwen Eindhoven.
Course Instructor: Aisha Azeem
Research team members Adaptive Complex Enterprise Data Warehousing Repository Generation Semantic Web Knowledge Extraction.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Client/Server Software Architectures Yonglei Tao.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Introduction To System Analysis and design
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
Chapter Intranet Agents. Chapter Background Intranet: an internal corporate network based on Internet technology. Typically, an intranet can.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
INTELLIGENT AUTOMATION INC. Extending Rational Rose to support MAS design in UML Intelligent Automation Inc. 2 Research Place, Suite 202 Rockville, MD.
An Introduction to Software Architecture
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
Introduction to MDA (Model Driven Architecture) CYT.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
1 MAIN TABLE OF CONTENTS Definition: SOFTWARE AGENT HOW MANY TYPES OF AGENT? DEFINITION OF MOBILE AGENT: SOFTWARE AGENTS PROPERTIES, WORKING OF MOBILE.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
A security framework combining access control and trust management for mobile e-commerce applications Gregor v.Bochmann, Zhen Zhang, Carlisle Adams School.
Identity Management: A Technical Perspective Richard Cissée DAI-Labor; Technische Universität Berlin
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
SEMANTIC AGENT SYSTEMS Towards a Reference Architecture for Semantic Agent Systems Applied to Symposium Planning Usman Ali.
Christoph F. Eick University of Houston Organization 1. What are Ontologies? 2. What are they good for? 3. Ontologies and.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
A Portrait of the Semantic Web in Action Jeff Heflin and James Hendler IEEE Intelligent Systems December 6, 2010 Hyewon Lim.
Slide 1 2/22/2016 Policy-Based Management With SNMP SNMPCONF Working Group - Interim Meeting May 2000 Jon Saperia.
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
Comparison of The Workflow Management Systems Bizagi, ProcessMaker, and Joget Mohamed Zeinelabdeen Abdelgader [1], Omer Salih Dawood [2], Mohamed Elhafiz.
SOA Blueprints Learning Best Practices and Sample Applications for SOA Miko Matsumura.
Information System Applications
Chapter 2 Database System Concepts and Architecture
Designing Agents’ Behaviors and Interactions within ADELFE
APPLICATION OF DESIGN PATTERNS FOR HARDWARE DESIGN
Introduction to Agents
Inventory of Distributed Computing Concepts
Evaluating Compuware OptimalJ as an MDA tool
.NET vs. J2EE Architecture
An Introduction to Software Architecture
Presentation transcript:

10/21/2005CIS Dept., UMass Dartmouth1 Towards a Role-Based Agent Development Environment for Open Multi-Agent Software Systems Prof. Haiping Xu Concurrent Software Systems Laboratory Computer and Information Science Department University of Massachusetts Dartmouth North Dartmouth, MA URL:

10/21/2005CIS Dept., UMass Dartmouth2 Acknowledgment Prof. Xiaoqin Zhang Neural and Intelligent Systems Laboratory Computer and Information Science Department University of Massachusetts Dartmouth Rinkesh Patel Concurrent Software Systems Laboratory Computer and Information Science Department University of Massachusetts Dartmouth

10/21/2005CIS Dept., UMass Dartmouth3 Outline Part 1: A Formal Framework for Role-Based Agent Modeling Background and Motivation An Organizational Approach Part 2: Development of Role-Based Open MAS Three Layered Model-Driven Development Model Case Study: Organizing a Conference Role-Based Agent Development Environment (RADE) Conclusions and Future Work Part 1: A Formal Framework for Role-Based Agent Modeling Part 1: A Formal Framework for Role-Based Agent Modeling Background and Motivation Background and Motivation An Organizational Approach An Organizational Approach

10/21/2005CIS Dept., UMass Dartmouth4 Intelligent Agent – An AI Perspective From AI perspective, an agent is a computer system situated in some environment, that is capable of flexible, autonomous actions in order to meet its design objectives Agent properties include Situatedness (reactiveness) Autonomy (proactiveness) Sociability (responsibility, communication capability, organization capability, etc.)

10/21/2005CIS Dept., UMass Dartmouth5 Software Agent – A Software Engineering Perspective From software engineering perspective, an agent can be considered as an active object, i.e., an object with a mental state A software agent is a program that acts on behalf of (human) user Example: air ticket seller agent and air ticket buyer agent in e-commerce

10/21/2005CIS Dept., UMass Dartmouth6 Open Multi-Agent System Multi-agent system (MAS) is a concurrent software system with more than one agent A traditional MAS consists of a fixed number of software agents In an open MAS, agents can join or leave an agent society at will take or release roles dynamically

10/21/2005CIS Dept., UMass Dartmouth7 An Example (Simulating a Company) Employee 1: TeamLeader_1 P_1.1 Employee 2: P_1.m P_2.2 Employee X:... Manager TeamLeader_1TeamLeader_2 P_1.1P_1.mP_2.1P_2.n ……

10/21/2005CIS Dept., UMass Dartmouth8 Role-Based Modeling Role-based modeling is one of the most effective methodologies for agent-based system analysis and design In most of the existing work abstract constructs used to conceptualize and understand the system no realizations in the implemented system Suitable for closed multi-agent systems We propose a methodology for role-based modeling of open multi-agent systems

10/21/2005CIS Dept., UMass Dartmouth9 An Organizational Approach Separate the concepts of role organization and role space role organization contains conceptual roles role space contains role instances At the third layer, we define an agent society that consists of agent instances The agent society can be designed independently of the role organization and role space

10/21/2005CIS Dept., UMass Dartmouth10 A Generic Model of Role-Based Open MAS role_A role_C role_D role_E Role Organization Role Space agent_1 agent_2 agent_3 Agent Society roleInstance_1 roleInstance_2 roleInstance_n role_B roleInstance_k

10/21/2005CIS Dept., UMass Dartmouth11 Formal Specifications - Role and Role Organization

10/21/2005CIS Dept., UMass Dartmouth12 Formal Specifications - Role Space and Agent

10/21/2005CIS Dept., UMass Dartmouth13 Role-Based MAS Design Design Role classes and their relationships inheritance relationship aggregation relationship association relationship incompatibility relationship To ease software engineer’s effort, we propose a design process for MAS development

10/21/2005CIS Dept., UMass Dartmouth14 A Generic Procedure to Design Open MAS 1.Design the set of Role classes  and their relationship  1:  X   [IH | AG], where IH and AG represent the relationship types of inheritance and aggregation, respectively. 2.Design the role organization  according to the class schema RoleOrganization, and define any association relationships and incompatibility relationships between classes, i.e.,  2:  X   [AS | IC], where AS and IC represent the relationship types of association and incompatibility, respectively. 3.Design the role space  according to the class schema RoleSpace. The role space  should support creating, advertising, and searching for role instances. It may use existing middleware, e.g., Sun Jini, for its purpose. 4.Refine the Agent class with a set of sensors and a set of appropriate reasoning mechanisms. This step may overlap with Step Design agent society  according to the class schema AgentSociety. The agent society  contains a set of agent instances of type Agent, and it corresponds to the role organization  with the same organization/society design purpose.

10/21/2005CIS Dept., UMass Dartmouth15 Open Role Space and Open Agent Society Open role space role instances can be added into or deleted from a role space dynamically Open agent society agents can join or leave the system at will agents can take or release role instances in a role space dynamically

10/21/2005CIS Dept., UMass Dartmouth16 A-R Mapping A-R mapping is a process for agents from an agent society  to take or release role instances in a role space . Both of agent society  and role space  are defined upon the role organization . Formally, the A-R mapping is defined as follows where f is a partial function mapping from an agent instance to a set of role instances.

10/21/2005CIS Dept., UMass Dartmouth17 The Process of A-R Mapping 1.Initialization: The agent society  makes a request to the role space  to instantiate the major LeadingRole class defined in the role organization , and create a role instance for it. 2.Role assignment: for each agent  in the agent society , do the following: a.When agent  receives any sensor data from its environment, it may decide to generate some new goals or subgoals based on the sensor data and agent  ’s motivations. b.With its reasoning mechanisms, agent  further deduce a set  of needed roles of types defined in the role organization . If none of the roles in set  is of type LeadingRole, go to step 2.d. c.If any role in role set  is a leading role of type LeadingRole, agent  takes the corresponding role instance from the role space , if available, updates the hiring number of other roles as needed, and makes requests to the role space  to create role instances for those roles under hiring. d.Repeat the following for a period of time  : Search the role space  for any role instances that match roles in role set . If there is a match, agent  takes that role instance. If all roles in role set  have been matched with some role instances in the role space , go to Step 3. e.If any role in the role set  cannot be matched with a role instance in the role space , agent  may decide to release all role instances or keep its current occupations. 3.Marking role incompatibility: for each agent , mark its role incompatibility as the following: for any role instances r1, r2  .rolesTaken, if .relationship(r1.getClass, r2.getClass) == incompatibility, mark agent  as potential role incompatibility with a self-loop. 4.Setting up interaction relationships: for each agent , set up the interaction relationship between agent  and other agents from the same agent society  as the following : for any agent instance   .agentInstances, where   , if  r1  .rolesTaken, r2  .rolesTaken such that .relationship(r1.getClass, r2.getClass) == association, then ( ,  )  dom .interaction.

10/21/2005CIS Dept., UMass Dartmouth18 Outline Part 1: A Formal Framework for Role-Based Agent Modeling Background and Motivation An Organizational Approach Part 2: Development of Role-Based Open MAS Part 2: Development of Role-Based Open MAS Three Layered Model-Driven Development Model Three Layered Model-Driven Development Model Case Study: Organizing a Conference Case Study: Organizing a Conference Role-Based Agent Development Environment (RADE) Role-Based Agent Development Environment (RADE) Conclusions and Future Work

10/21/2005CIS Dept., UMass Dartmouth19 Development of Open MAS “The sooner you start, the longer it takes.” by Fred Brook Need to spend time on requirements capture Need to spend time on software design Propose our model-driven development of open MAS Develop a Role-based Agent Development Environment (RADE) to support rapid application development (RAD).

10/21/2005CIS Dept., UMass Dartmouth20 Model-Driven Development of Role-Based Open MAS Inspired by the Model-Driven Architecture (MDA), proposed by OMG We propose a three layered development model Separation of concerns: architecture domain, application domain, solution domain Support automatic or semi-automatic rapid application development (RAD) of open MAS

10/21/2005CIS Dept., UMass Dartmouth21 Three Layered Development Model AIPIM (Application Independent Platform Independent Model) ASPIM (Application Specific Platform Independent Model) ASPSM (Application Specific Platform Specific Model)

10/21/2005CIS Dept., UMass Dartmouth22 Application Independent Platform Independent Model (AIPIM) Defines a high level of abstraction that is independent of any particular applications and any implementation technology An AIPIM is typically suitable for a set of applications Mobile agent model Multi-agent system model Role-based agent model

10/21/2005CIS Dept., UMass Dartmouth23 Application Specific Platform Independent Model (ASPIM) Defines a high level of abstraction Specific to a particular application Independent of any implementation technology Needs application domain knowledge Describes a software system that supports some business logic.

10/21/2005CIS Dept., UMass Dartmouth24 Application Specific Platform Specific Model (ASPSM) Defines an abstraction of the software system Specific to a particular application Specific to an implementation technology Specifies the software system in terms of some specific implementation technology J2EE, EJB, Java Servlets Microsoft.Net, C# IBM Websphere, web services technology

10/21/2005CIS Dept., UMass Dartmouth25 Model-Driven Development Process

10/21/2005CIS Dept., UMass Dartmouth26 Transformation between Two Models source model target model

10/21/2005CIS Dept., UMass Dartmouth27 Example: Transformation Definition Suppose model A is written in UML and model B is a relational database model A transformation definition that translates an association in UML into a foreign key relation may look as follows

10/21/2005CIS Dept., UMass Dartmouth28 A Transformation Rule if the association A to B is adorned by an association class or the multiplicity at both ends is more-than-one then create a table representing the association class or the association and create foreign keys in both the table representing A and the table representing B referring this new table else if the multiplicity at one end is zero-to-one then create a foreign key in the table representing the class at that end, referencing the other end else // the multiplicity of the association is one-to-one create a foreign key in one of the tables, referencing the other end end if

10/21/2005CIS Dept., UMass Dartmouth29 Association Relationship

10/21/2005CIS Dept., UMass Dartmouth30 Relational Database Schema SIDNAME BDATEGPAEYEAR STUDENT CNUMCNAMESEMESTYEARTIMECLIMIT COURSE SIDCNUMSEMESTYEAR COURSETAKEN

10/21/2005CIS Dept., UMass Dartmouth31 Case Study: Organizing a Conference Involves the following major processes Submit papers by authors Assign program committee members Assign primary program committee members Assign papers to (primary) program committee members Goal: Automate (or semi-automate) the above processes using agent technology

10/21/2005CIS Dept., UMass Dartmouth32 An Open MAS for Organizing a Conference Role AuthorRole PCChairRole PCMemberRole Role Organization Role Space agent_1 r1 PrimaryPCMemberRole r4 assign papers notify decision r2r3 r5 r6 … [same paper] LeadingRole agent_2agent _3 Agent Society agent_4agent_5 … notify decision assign papers [same paper]

10/21/2005CIS Dept., UMass Dartmouth33 Design of the AIPI Model Is based on the role-based agent formal framework Is independent of the application of organizing a conference Can be reused for development of other role- based open MAS applications

10/21/2005CIS Dept., UMass Dartmouth34 AIPIM

10/21/2005CIS Dept., UMass Dartmouth35 Design of the ASPI Model Define the LeadingRole class Each role organization defines a leading role Is responsible for creating other role instances Define role classes in role organization PCChairRole as a subclass of LeadingRole PCMemberRole, PrimaryPCMemberRole, and AuthorRole as subclasses of the Role class Define LeadingAgent and OrdinaryAgent

10/21/2005CIS Dept., UMass Dartmouth36 ASPIM

10/21/2005CIS Dept., UMass Dartmouth37 Examples of Agent Interaction Protocol (AIP) Request for Primary PC MemberRequest for Paper Reviewer

10/21/2005CIS Dept., UMass Dartmouth38 Design of the ASPS Model Design the role space as a server Contains role instances Provides two interfaces: Interface for the leading agent and interface for ordinary agents The database server is behind the role space Each agent can run on a different machine An agent communicate with the role space through middleware An agent society is chaired by the leading agent Agents communicate with each other using AIP

10/21/2005CIS Dept., UMass Dartmouth39 Architecture of Agent-Based Conference Organizer

10/21/2005CIS Dept., UMass Dartmouth40 Design of Database Schema MIDATTRGOALPLANACTIONAID PCMEMBER AIDATTRMOTISENSREASM AGENT PIDTITLEKEYWDSPAGES PAPER TIDATTRMOTISENSREASMAID AUTHOR AIDPID WRITEPAPER

10/21/2005CIS Dept., UMass Dartmouth41 Choosing the Right Middleware Communication support between agents and the role space between the leading agent and ordinary agents Middleware functionalities Service provider vs. service consumer Service publisher vs. service subscriber Synchronous vs. asynchronous message passing Security issues Middleware options: RMI, CORBA, Sun Jini, Web Services, etc.

10/21/2005CIS Dept., UMass Dartmouth42 Role-Based Agent Development Environment (RADE) To support rapid application development (RAD) of open MAS To provide a friendly graphical user interface for software development To provide automated or semi-automated tools for model transformation To automatically generate code based on ASPSM

10/21/2005CIS Dept., UMass Dartmouth43 A Prototype of RADE

10/21/2005CIS Dept., UMass Dartmouth44 Graphical Editor for Role Organization

10/21/2005CIS Dept., UMass Dartmouth45 Some User Interfaces Role Properties Agent Properties

10/21/2005CIS Dept., UMass Dartmouth46 Role Assignment and Paper Assignment

10/21/2005CIS Dept., UMass Dartmouth47 Conversation Example - 1

10/21/2005CIS Dept., UMass Dartmouth48 Conversation Example - 2

10/21/2005CIS Dept., UMass Dartmouth49 EXPECTED Final Schedule

10/21/2005CIS Dept., UMass Dartmouth50 Conclusions A role-based methodology has been proposed for development of open MAS The design of roles and agents can be separated, which simplifies agent development A three-layered agent development model is proposed A prototype of RADE is built to show the feasibility of our approach (in progress)

10/21/2005CIS Dept., UMass Dartmouth51 Future Work Develop and demonstrate the RADE prototype with case studies Design automatic model transformation tools Incorporate agent negotiation mechanisms for agent communications Develop the Role-based Agent Development Environment (RADE) for rapid application development of open MAS

10/21/2005CIS Dept., UMass Dartmouth52 Thank you for your attention! The slides for this talk can be downloaded from