Visual Construction of Multi-Agent-Systems according to the AgentComponent Approach and the Run-Design-Time Concept
|
|
- Erick Ray
- 6 years ago
- Views:
Transcription
1 Visual Construction of Multi-Agent-Systems according to the AgentComponent Approach and the Run-Design-Time Concept Philipp Meier Institute of Computer Science, Ludwig-Maximilians-Universität Abstract During the last years graphical tools have been developed for constructing Multi-Agent-Systems (MAS) [15, 1, 2]. We provide additional concepts for simplifying the visual construction of MAS, namely the AgentComponent approach [13] and the Run-Design-Time concept [12]. The AgentComponent approach combines agent technology and component technology and adds component features like reusability and customizability to agent technology. This approach defines the components an agent is composed of and the services an agent provides for its visual construction. The Run-Design-Time concept provides a visual handle on the running and deployed agents, i.e. running agents can be visually customized according to the AgentComponent approach. Using the Run-Design-Time concept there is no need to stop the running MAS to extend and customize its functionality or structure. In this paper we give a gentle introduction to these additional concepts and we show how MAS can be visually constructed using the AgentComponent Tool which implements both additional concepts. We will guide the reader through a simple example of building a MAS illustrated by screenshots from the AgentComponent Tool. 1. Introduction Agents are autonomously and proactively working software entities which communicate and collaborate using certain protocols (FIPA-ACL, KQML) [8, 9, 11]. As agents are complex software entities the construction of MAS, composed of collaborating and communicating agents, is a difficult task. Visual tools [15, 2, 1] have been developed for simplifying the construction of MAS. We enhance these visual tools by two additional concepts. First we have found the features of software components (reusebility and customizability [3]) as a suitable means to define the sub-components and the services of an agent (AgentComponent). In the second step we have realized that the runtime customization and extension of MAS is not (well) supported in other agent toolkits. Therefore we develop an architecture for agents to support their customization during runtime (Run-Design-Time). We realize both additional concepts in the AgentComponent Tool that will guide the reader through a simple example in Sect. 3. In Sect. 2 we give a short introduction of both concepts (Run-Design-Time and AgentComponent). Sect. 3 describes the visual construction of a simple MAS illustrated by screenshots of the AgentComponent Tool. In Sect. 4 we discuss some related work and the differences to our approach. And finally Sect. 5 concludes the paper. 2. A Gentle Introduction to the AgentComponent Approach and the Run-Design-Time Concept This section gives a gentle inroduction into the basic concepts for the AgentComponent and the Run-Design- Time. The AgentComponent approach and the Run- Design-Time concept are detailly presented in [13, 12]. AgentComponent. In general, the AgentComponent has all agent properties [9, 11] like autonomy, reactivity, proactivity and interaction and adds component features like reusability and customizability (according to the componentifying concept [13]). An AgentComponent is a generic component that consists of default subcomponents and services that every agent must provide in any context. And in this way an AgentComponent can be instantiated/reused for every agent one wants to build. By customizing the default AgentComponent (w.r.t. its subcomponents) it can be adjusted for different contexts. Every AgentComponent includes the following entities for which it provides services (the collection of all AgentComponent services is shown in Fig. 1): A knowledge base, communication slots (holding communication partners), a set of ontologies and a set of Process- Components (behaviours). A user can easily customize an AgentComponent instance for his purpose and for his con-
2 text in the following ways: 1. Customizing the communication partners of an AgentComponent instance. Each AgentComponent instance has so-called slots that hold information about communication partners. Communication partners can be added to or removed from the slots of AgentComponent instances. 2. Customizing the ontologies of an AgentComponent instance. Ontologies can be registered or deregistered from an AgentComponent instance. 3. Customizing the ProcessComponents of an Agent- Component instance. AgentComponent instances consist of so-called ProcessComponents (PCs) that implement and describe simple or complex behaviours that can be added to or removed from any AgentComponent instance. 4. Customizing the knowledge base of an AgentComponent instance. Each AgentComponent instance includes a knowledge base where instances of ontology concepts can be asserted, retracted and retrieved. provides for inter-agent communication (send and receive). Using these services messages and informations (ontology concepts included in messages) can be sent and received. And finally the IntraAgentWorkflowInterface defines the services on the knowledge base of an AgentComponent (assert, retrieve, retract). These services are also used to control the intra-agent workflow, i.e. to control the workflow of ProcessComponents that have been added to an AgentComponent instance. E.g. a ProcessComponent requires (retrieve) an instance of an ontology concept from the knowledge base, that has been added (assert) to the knowledge base before by another ProcessComponent. Run-Design-Time Concept. The Run-Design-Time concept determines the way how agents can be visually customized using a tool. The goal of the Run-Design- Time (RDT) concept is to give a visual handle on a deployed MAS. I.e. any created and deployed agent can be graphically customized while it is running on a platform. The AgentComponent approach [13] (we have introduced above) provides the underlying customization concepts for the agents (AgentComponent) that we want to visually cutomize according to the RDT concept. Fig. 2 insinuates the parts an AgentComponent is composed of (CommunicationPartners, Ontologies, Behaviours and a Knowledgebase). A deployed AgentComponent instance and its running components are visually represented by AgentMeta- Datas. These AgentMetaDatas represent the visual handle <<AC>> <<Interface>> IntraAgentWFInterface assert retrieve retract <<Interface>> StructuralInterface addac removeac addpc removepc addslot removeslot connectslot disconnectslot addonto removeonto <<Interface>> InterAgentWFInterface send receive System developer / User / PC Figure 1. The services provided by the generic AgentComponent Fig. 1 presents the interfaces w.r.t. the services of the AgentComponent. The interfaces of the AgentComponent are separated into StructuralInterface, InterAgent- WorkflowInterface and IntraAgentWorkflowInterface. The StructuralInterface defines all services for customizing the structure of an AgentComponent instance w.r.t MAS (e.g. adding or removing AgentComponents, ontologies, slots, ProcessComponents). The InterAgentWorkflowInterface describes the services that an AgentComponent instance Figure 2. The Run Design Time concept on the running AgentComponents. I.e. every graphical customization of an AgentMetaData has a direct effect on the represented deployed AgentComponent instance. So e.g. visually adding an CommunicationPartner (see Fig. 2) to an AgentMetaData has the same adding effect on the represented running AgentComponent. The realization of the RDT concept requires an elaborated software architecture. For this purpose we have used well-known object-oriented design patterns, namely the
3 Model-View-Controller, Mediator, Interface and Observer [10, 4]. We adjusted these patterns for agent-oriented software development and described them in a catalogue of Agent Implementation Patterns [12, 14]. Using this architecture we realized a prototype tool (AgentComponent Tool) that implements the AgentComponent approach and the Run-Design-Time concept. In the next section we demonstrate by simple exapmles how to visually design and customize a MAS according to the AgentComponent approach and the Run-Design-Time concept. These examples are illustrated by screenshots of the AgentComponent Tool. 3. Visual Construction and Customization of Multi-Agent-Systems In this section we guide the reader through an example of constructing and customizing a MAS. The simple example-mas consists of two AgentComponent instances ( philipp and anna ). We will show how to create these AgentComponent instances, to customize their communication partners, ontologies and ProcessComponents (according to the services in Fig. 1). We will also show how one can visually customize the knowledge base of Agent- Component instances. Moreover we present some features of the AgentComponent Tool that are not covered by the Run-Design-Time or AgentComponent concepts, namely how ProcesComponents can change the structure of an AgentComponent instance and how permissions for every AgentComponent can be set. Before we start with the construction of the example- MAS we need to take a closer look on the AgentComponent Tool which we use to illustrate the example. As we mentioned before the AgentComponent Tool implements on the one hand the AgentComponent approach and on the other hand the Run-Design-Time concept for customizing the running AgentComponents. Moreover this tool supports the distributed construction of MAS, i.e. several Graphical User Interfaces (GUI) can take part in building and customizing MAS. For this purpose the AgentComponent Tool consists of the following parts which are again realized as agents: The Mediator service: The Mediator manages/controls all communication (concerning the services of the AgentComponent, see Fig. 1) between the running AgentComponents and the GUIs that take part in customizing the MAS composed of AgentComponents. The Client GUIs: The Client GUIs can run on different hosts and take part in constructing and customizing a MAS composed of AgentComponents. They provide the visual handle on the MAS. The Mediator, the Client GUIs and the AgentComponent are based on the JADE (Java Agent Development Kit) Framework for MAS [7]. They are all implemented as JADE-Agents (refer to [12] for a detailed information on the design and implementation of the AgentComponent Tool). To run the AgentComponent Tool we have to start the JADE agent platform. Then we start/register the Mediator service that waits for Client GUIs to take part in constructing the MAS. The Mediator is visualized by the MEDIATORGUI that simply shows all messages received from the Client GUIs and the deployed AgentComponent instances. Now we can start Client GUIs. After starting a Client GUI it shows up consisting of three parts (see Fig. 3): The toolbar including agents (AgentComponent) and ProcessComponent which can be added. The agent panel where AgentComponent instances can be inserted and customized. The behaviour panel where the ProcessComponents can be added to an AgentComponent instance and customized. After this short introduction of the tool we begin with our example by inserting/adding two AgentComponent instances to the MAS. Adding AgentComponent instances. Our example- MAS consists of two AgentComponent instances, namely philipp and anna. In this paragraph we create both agents with empty communication slots, an empty ontology slot, an empty ProcessComponent slot and an empty knowledge base. This means we instantiate two default AgentComponents with different names. In the next paragraphs we will show a stepwise refinement of these default AgentComponents by customizing their sub-components and adjusting them for our simple context. To create and add an AgentComponent instance using the Client GUI we choose one of the provided agent buttons on the toolbar (e.g. AC) and drop it on the agent panel. After inserting the AgentComponent s name it appears in the agent panel and is started on the JADE platform (see Fig. 3). The visualized AgentComponent (AgentMetaData) instance provides a list for the communication partner slots, a button for customizing the ontologies and a button for filling created slots with destinations (other agents). Adding and filling communication partner slots. In the next step we want philipp to know anna using the communication slot mechanism. For this purpose we add a communication slot called friends to philipp and fill this slot with anna as destination. In this way we produce a communication path between philipp and anna. Using the Client GUI we create a communication partner
4 Figure 3. Inserting and starting an AgentComponent instance Figure 4. Adding and filling a communication partner slot slot (right click on the slot list and inserting a name for the slot) and fill this slot with other AgentComponent instances as destinations (using the Link Slots button). Fig. 4 fills the created slot friends of philipp with anna as destination. Double clicking on a slot shows up a dialog containing all the entries of the marked slot. Adding ontologies. Ontologies consist of concepts that define a particular context. Instances of such ontology concepts can be sent between agents for collaboration in a certain context. To understand received ontology concepts each participating agent requires a registration of these ontologies. In our example we provide a simple ontology called PaperOntology that defines some concepts for writing a paper for a conference and organzing the authors of that paper. Both philipp and anna need to understand this ontology (we present later how to create instances of these ontology concepts and how to send these instances over a communication slot). Using the Client GUI we have to activate the onto button that shows up the ontology dialog where provided ontologies can be registered to or deregistered from an AgentComponent in-
5 stance. In Fig. 5 we register the provided ontology Paper- Ontology with the AgentComponent instance philipp. Figure 6. Adding ProcessComponents to AgentComponent instances Figure 5. Adding ontologies to AgentComponent instances Adding ProcessComponents. ProcessComponents represent the behaviours of an AgentComponent instance. These behaviours can be added to or removed from Agent- Component instances like philipp and anna. We provide some example behaviours all listed on the toolbar of the Client GUI. We use the simple SendHello and ReceiveHello ProcessComponents to illustrate the way behaviours work. When a ProcessComponent has been added to an AgentComponent instance it starts immediately its workflow. In our example (see Fig. 6) we add the Send- Hello behaviour to philipp, that sends the string Hello, How Are You Doing using the slot friends. And we add the ReceiveHello behaviour to anna that receives the sent message and prints it. In this way we can build up inter-agent workflows, i.e. communication and collaboration between AgentComponent instances. To add a ProcessComponent to an AgentComponent instance using the Client GUI we drop a provided behaviour from the toolbar on to the behaviour panel of an AgentComponent instance (see Fig 6). Creating ontology instances and using the knowledge base. Now we use our example-mas to create instances of ontology concepts, to assert these instances to the knowledge base of the AgentComponent instance and to send them over existing slots to other AgentComponent instances. We use the before registered PaperOntology to illustrate these features. The concept Creates- PaperOrder of the PaperOntology holds some basic information about a conference where the paper should be submitted. We create an instance of this concept, assert it to philipp s knowledge base and send it over the slot friends to anna. Then anna receives the sent CreatesPaperOrder instance and asserts it to her knowledge base. For this purpose we use a special ProcessComponent, Figure 7. Using the Introspector part 1 namely the Introspector. The Introspector is a powerful tool that visualizes the structure of an AgentComponent instance (slots, ontologies, knowledge base). Using this tool one can create instances of provided ontologies and can assert (w.r.t retract and retrieve) them to the knowledge base of the AgentComponent instance. Moreover these ontology instances can be sent and received over existing slots of an AgentComponent instance. Fig. 7 shows how an Introspector working on philipp can be used to create an instance of an ontology concept CreatesPaperOrder ( CreatesPaperOrder is an element of the before registered PaperOntology ). This instance (the class structure of this
6 instance and the values of the created instance are shown in the tree and the table in the center of the Introspector) can be asserted to the knowledge base (the instances of the knowledge base are shown in the list on the left bottom of the Introspector). And finally we send this instance using the before added slot friends. Fig. 8 shows how an Introspector working on anna can be used to receive an instance of an ontology concept. For this purpose we need to indicate (mark) that we want to receive a concept of the PaperOntology. Having marked the PaperOntology and activated the Receive Predicate button the received instance is shown in the list on the right bottom of the Introspector. Now the received instance can be asserted to the knowledge base of anna. Figure 9. Customizing the structure of an AgentComponent instance via a behaviour Figure 8. Using the Introspector part 2 Changing the structure of an AgentComponent instance by ProcessComponents. Besides our example we demonstrate the use of special ProcessComponents, that change the structure of AgentComponent instances. ProcessComponents are able to change the structure of Agent- Component instances and MAS (such as adding or removing AgentComponent instances, slots, ontologies or behaviours). These structural changes are automatically reported to the Client GUIs and presented there. In Fig. 9 we drop the Runtime ProcessComponent on to the behaviour panel of anna. The Runtime behaviour changes the structure in the following way: Adding a slot ( newslot ), an ontology ( PaperOntology ), a behaviour ( ReceiveCompany ) and a new AgentComponent instance called Fritz. These changes in the running MAS are immediately visualized by all participating Client GUIs as indicated in Fig. 9. Setting permissions for AgentComponent instances. Again, besides our example we demonstrate an additional feature of the AgentComponent Tool. As the AgentComponent Tool can be split up in several Client GUIs run- ning on different machines, but working on one MAS, permissions for each AgentComponent instance can be set. Permissions can be set to HIDE (hiding the Agent- Component instance in all other AgentComponent guis), VISIBLE (make the AgentComponent instance visible in all Client GUIs but no customization can be done) and CUSTOMIZE ALL (makes the AgentComponent instance customizable in all existing Client GUIs). Fig. 10 shows two started Client GUIs, where a white-coloured name of the AgentComponent instance indicates that this Client GUI is the administrator (i.e. in this gui the permissions for the AgentComponent instances can be changed) for the AgentComponent instance. In Fig. 10 we choose Figure 10. Setting permissions for Agent- Component instances to HIDE anna in all other existing Client GUIs and
7 immediately anna disappears in the second Client GUI. 4. Related Work DESIRE [6] also describes a component-based design method for agents. In contrast to [6] we have no compositional processes and knowledge, instead we have autonomously working processes (ProcessComponents). Moreover our AgentComponent provides infrastructure services but no workflow control for the processes as proposed by [6]. The AgentComponent concept does also not focus on certain agent types like weak agents, strong agents or BDI-agents. The ProcessComponents can be implemented more or less intelligently, with beliefs, desires and intentions or only with normal task execution functionality. FIPA-OS [5] is a component-oriented multi-agentframework for constructing FIPA compliant agents using mandatory components (i.e. components required by ALL FIPA-OS Agents to execute) and optional components (i.e. components that a FIPA-OS Agent can optionally use). The mandatory parts of an FIPA-OS-Agent are the Agent class which can be extended, the TaskManager that represents the functionality of an agent, the Conversation Manager for protocol-like conversation between agents and the Message Transport Service for sending and receiving messages. ZEUS, agenttool and AGIL [15, 1, 2] are visual agent toolkits for building MAS. Each agent can be visually constructed from different components (e.g. ZEUS uses Ontologies, Tasks, organization structures to represent an agent. AGIL builds their agents from workflow activities). For these visually designed components the correspondent agent code is generated (mostly Java code) and the whole MAS is deployed on a platform. Although the design process for constructing MAS is quite elaborate supported there exists almost no runtime customization functionality as we have proposed with the Run-Design- Time concept. Only the Zeus developers have also seen the need for runtime support of MAS. In [16] they present the Visualizer Tool that consists of several tools mainly for inspecting the state, organization structure, tasks and messages of an agent (society tool, report tool, agentviewer, statistics tool). The Control Tool, that is also included in the Visualizer Tool, is supposed to customize the MAS w.r.t. the single agents during runtime but this feature is not yet supported. 5. Concluding Remarks We have shown in this paper how visual tools can help in building MAS by encapsulating the complexity of agent technology. For this purpose we have introduced additional concepts for simplifying MAS construction and we have shown a visual tool (AgentComponent Tool) based on these concepts. Using the AgentComponent Tool the MAS building process is simplyfied by visualizing the components of an agent and the generic services of each agent (see Sect. 2). Moreover the Run-Design-Time concept advances the visual construction of MAS as it provides a visual handle on the running and deployed agents. In this way running systems can be extended and customized without stopping the whole system. 6. References [1] agenttool Website. sdeloach/ai/agentool.htm. [2] AGIL Website. [3] Desmond Francis D Souza, Alan Cameron Wills. Objects, Components and Frameworks With UML. Addison Wesley, [4] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns, Elements of Reusable Object- Oriented Software. Addison-Wesley, [5] FIPA-OS Website. [6] Frances M.T. Brazier, Catholijn Jonker, Jan Treur. Principles of Component-Based Design of Intelligent Agents. Data and Knowledge Engineering, 41:1 28, [7] The JADE Programmers Guide. [8] Jaques Ferber. Multiagentensysteme, Eine Einführung. Addison Wesley, [9] M. Wooldridge and P.Ciancarini. Agent-Oriented Software Engineering: The State of the Art. Agent- Oriented Software Engineering. Springer-Verlag Lecture Notes, 1957, [10] Mark Grand. Patterns in Java. Wiley, [11] Nick R. Jennings et al. Agent-Based Business Process Management. ACM SIGMOD Record 27, pages 32 39, [12] Philipp Meier, Martin Wirsing. Implementation Patterns for Visual Construction of Multi-Agent-Systems, Technical Report. [13] Richard Krutisch, Philipp Meier, Martin Wirsing. The AgentComponent Approach, Combining Agents And Components. In Proceedings of MATES-03, Springer series of Lecture Notes on Artificial Intelligence, to appear, [14] K. Schelfthout, T. Coninx, A. Helleboogh, T. Holvoet, E. Steegmans, and D. Weyns. Agent Implementation Patterns. citeseer.nj.nec.com/schelfthout02agent.html. [15] Zeus Website. [16] The Zeus Agent Building Toolkit, The Runtime Guide.
Use and Reuse of Multi-Agent Models and Techniques in a Distributed Systems Development Framework
Use and Reuse of Multi-Agent Models and Techniques in a Distributed Systems Development Framework Agostino Poggi, Michele Tomaiuolo Dipartimento di Ingegneria dell Informazione Università degli Studi di
More informationJade: Java Agent DEvelopment Framework Overview
Jade: Java Agent DEvelopment Framework Overview Stefano Mariani s.mariani@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna a Cesena Academic Year
More informationTowards a Component Agent Service Oriented Model
Towards a Component Agent Service Oriented Model Nour Alhouda Aboud, Eric Cariou and Eric Gouardères LIUPPA Laboratory Université de Pau et des Pays de l Adour BP 1155 64013 Pau Cedex France {Nour-alhouda.Aboud,
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 20: GoF Design Patterns Creational 1 Software Patterns Software Patterns support reuse of software architecture and design. Patterns capture the static
More informationInformation Collection and Survey Infrastructure, APIs, and Software Tools for Agent-based Systems (An Overview of JADE)
Course Number: SENG 609.22 Session: Fall, 2003 Document Name: Infrastructure, APIs, and Software tools for agent-based system (An Overview of JADE) Course Name: Agent-based Software Engineering Department:
More informationCHAPTER 6: CREATIONAL DESIGN PATTERNS
CHAPTER 6: CREATIONAL DESIGN PATTERNS SESSION III: BUILDER, PROTOTYPE, SINGLETON Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012 by Carlos E. Otero For non-profit
More informationAn Agent Modeling Language Implementing Protocols through Capabilities
An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,
More informationAgent-Oriented Software Engineering
Agent-Oriented Software Engineering Lin Zuoquan Information Science Department Peking University lz@is.pku.edu.cn http://www.is.pku.edu.cn/~lz/teaching/stm/saswws.html Outline Introduction AOSE Agent-oriented
More informationCHAPTER 7 JAVA AGENT DEVELOPMENT ENVIRONMENT
CHAPTER 7 JAVA AGENT DEVELOPMENT ENVIRONMENT 159 Chapter 7 Java Agent Development Environment For more enhanced information resources it requires that the information system is distributed in a network
More informationJade: Java Agent DEvelopment Framework Overview
Jade: Java Agent DEvelopment Framework Overview Multiagent Systems LM Sistemi Multiagente LM Stefano Mariani revised by Andrea Omicini s.mariani@unibo.it, andrea.omicini@unibo.it Dipartimento di Informatica:
More information1.1 Jadex - Engineering Goal-Oriented Agents
1.1 Jadex - Engineering Goal-Oriented Agents In previous sections of the book agents have been considered as software artifacts that differ from objects mainly in their capability to autonomously execute
More informationScalable Middleware Environment for Agent-Based Internet Applications]
Scalable Middleware Environment for Agent-Based Internet Applications] Benno J. Overeinder and Frances M.T. Brazier Department of Computer Science, Vrije Universiteit Amsterdam De Boelelaan 1081a, 1081
More informationMaSMT: A Multi-agent System Development Framework for English-Sinhala Machine Translation
MaSMT: A Multi-agent System Development Framework for English-Sinhala Machine Translation B. Hettige #1, A. S. Karunananda *2, G. Rzevski *3 # Department of Statistics and Computer Science, University
More informationMaSE2Jadex: A Roadmap to Engineer Jadex Agents from MaSE Methodology
MaSE2Jadex: A Roadmap to Engineer Jadex Agents from MaSE Methodology Radziah Mohamad, Safaai Deris and Hany H. Ammar Abstract Agent Oriented Software Engineering (AOSE) is one of the fields of the agent
More informationProduced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar
Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie
More informationDesign Patterns For Object Oriented Software Development Acm Press
Design Patterns For Object Oriented Software Development Acm Press We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your
More informationCSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich
CSCD01 Engineering Large Software Systems Design Patterns Joe Bettridge Winter 2018 With thanks to Anya Tafliovich Design Patterns Design patterns take the problems consistently found in software, and
More informationDesign Patterns. An introduction
Design Patterns An introduction Introduction Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Your design should be specific to the problem at
More informationAn Architectural Strategy for Self-Adapting Systems
An Architectural Strategy for Self-Adapting Systems Danny Weyns and Tom Holvoet DistriNet Labs, Department of Computer Science Katholieke Universiteit Leuven Celestijnenlaan 200A, B-3001 Leuven, Belgium
More informationCommunication Ontological Description Process Fragment. Author: M. Cossentino, V. Seidita Last saved on: 23/06/2010
Communication Ontological Description Process Fragment Author: M. Cossentino, V. Seidita Last saved on: 23/06/2010 1 Index Fragment Goal...3 Fragment Origin...3 The PASSI Process lifecycle...4 Fragment
More informationDesign Patterns. Gunnar Gotshalks A4-1
Design Patterns A4-1 On Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every problem
More information26.1 Introduction Programming Preliminaries... 2
Department of Computer Science Tackling Design Patterns Chapter 27: Proxy Design Pattern Copyright c 2016 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents 26.1 Introduction.................................
More informationObject-Oriented Design
Object-Oriented Design Lecture 20 GoF Design Patterns Behavioral Department of Computer Engineering Sharif University of Technology 1 GoF Behavioral Patterns Class Class Interpreter: Given a language,
More informationAgent-Oriented Software Engineering. Franco Zambonelli April 2010
Agent-Oriented Software Engineering Franco Zambonelli April 2010 1 Outline Part 1: What is Agent-Oriented Software Engineering (AOSE) Why it is important Key concepts. Part 2: Agent-methodologies Key Concepts
More informationFacade and Adapter. Comp-303 : Programming Techniques Lecture 19. Alexandre Denault Computer Science McGill University Winter 2004
Facade and Adapter Comp-303 : Programming Techniques Lecture 19 Alexandre Denault Computer Science McGill University Winter 2004 March 23, 2004 Lecture 19 Comp 303 : Facade and Adapter Page 1 Last lecture...
More informationMonitoring System for Distributed Java Applications
Monitoring System for Distributed Java Applications W lodzimierz Funika 1, Marian Bubak 1,2, and Marcin Smȩtek 1 1 Institute of Computer Science, AGH, al. Mickiewicza 30, 30-059 Kraków, Poland 2 Academic
More informationIG-JADE-PKSlib. An Agent Based Framework for Advanced Web Service Composition and Provisioning. Erick Martínez & Yves Lespérance
IG-JADE-PKSlib An Agent Based Framework for Advanced Web Service Composition and Provisioning Erick Martínez & Yves Lespérance Department of Computer Science York University Toronto, Canada 1 Motivation
More informationAPPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS
APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS Adem Zumbul (TUBITAK-UEKAE, Kocaeli, Turkey, ademz@uekae.tubitak.gov.tr); Tuna Tugcu (Bogazici University, Istanbul, Turkey, tugcu@boun.edu.tr) ABSTRACT
More informationObject-Oriented Software Development Goal and Scope
Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic
More informationAn Expert System for Design Patterns Recognition
IJCSNS International Journal of Computer Science and Network Security, VOL.17 No.1, January 2017 93 An Expert System for Design Patterns Recognition Omar AlSheikSalem 1 and Hazem Qattous 2 1 Department
More informationIdioms and Design Patterns. Martin Skogevall IDE, Mälardalen University
Idioms and Design Patterns Martin Skogevall IDE, Mälardalen University 2005-04-07 Acronyms Object Oriented Analysis and Design (OOAD) Object Oriented Programming (OOD Software Design Patterns (SDP) Gang
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Design Patterns part 1
Ingegneria del Software Corso di Laurea in Informatica per il Management Design Patterns part 1 Davide Rossi Dipartimento di Informatica Università di Bologna Pattern Each pattern describes a problem which
More informationJames Newkirk
Private Interface Class Structural James Newkirk newkirk@oma.com Intent Provide a mechanism that allows specific classes to use a non-public subset of a class interface without inadvertently increasing
More informationSurvey of MAS Methods and Platforms focusing on organizational concepts
Survey of MAS Methods and Platforms focusing on organizational concepts Estefanía Argente Adriana Giret Soledad Valero Vicente Julián Vicente Botti Departamento de Sistemas Informáticos y Computación,
More informationA System of Patterns for Web Navigation
A System of Patterns for Web Navigation Mohammed Abul Khayes Akanda and Daniel M. German Department of Computer Science, University of Victoria, Canada maka@alumni.uvic.ca, dmgerman@uvic.ca Abstract. In
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationDesign and Evolution of an Agent-Based CASE System for OOAD
Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering
More informationDesign Patterns. CSC207 Fall 2017
Design Patterns CSC207 Fall 2017 Design Patterns A design pattern is a general description of the solution to a well-established problem using an arrangement of classes and objects. Patterns describe the
More informationUsing Design Patterns in Java Application Development
Using Design Patterns in Java Application Development ExxonMobil Research & Engineering Co. Clinton, New Jersey Michael P. Redlich (908) 730-3416 michael.p.redlich@exxonmobil.com About Myself Degree B.S.
More informationCoordination Patterns
Coordination Patterns 1. Coordination Patterns Design Patterns and their relevance for Coordination Oscar Nierstrasz Software Composition Group Institut für Informatik (IAM) Universität Bern oscar@iam.unibe.ch
More informationDESIGN PATTERN - INTERVIEW QUESTIONS
DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions
More informationSoftware Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.
Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice
More informationCrash course on design patterns
Crash course on design patterns Yann-Gaël Guéhéneuc guehene@emn.fr From Olivier Motelet s course (2001/10/17) École des Mines de Nantes, France Object Technology International, Inc., Canada Design patterns
More informationCHAPTER 6: CREATIONAL DESIGN PATTERNS
CHAPTER 6: CREATIONAL DESIGN PATTERNS SESSION I: OVERVIEW OF DESIGN PATTERNS, ABSTRACT FACTORY Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012 by Carlos E. Otero
More informationPattern Density and Role Modeling of an Object Transport Service
Pattern Density and Role Modeling of an Object Transport Service Dirk Riehle. SKYVA International. 25 First Street, Cambridge, MA 02129, U.S.A. E-mail: driehle@skyva.com or riehle@acm.org Roger Brudermann.
More informationOutline Multi-agent Platforms. Existing problems. Existing problems (2)
Multi-agent Platforms Cosmin Carabelea Why multi-agent platforms? Examples of multi-agent platforms Cosmin.Carabelea@emse.fr SMA/SIMMO ENS Mines Saint-Etienne September 30 th, 2003 1 2 Existing problems
More informationDESIGN PATTERN MATCHING
PERIODICA POLYTECHNICA SER. EL. ENG. VOL. 47, NO. 3 4, PP. 205 212 (2003) DESIGN PATTERN MATCHING Dániel PETRI and György CSERTÁN Department of Measurement and Information Systems Budapest University of
More informationDistributed Runtime Verification of JADE and Jason Multiagent Systems with Prolog?
Distributed Runtime Verification of JADE and Jason Multiagent Systems with Prolog? Daniela Briola, Viviana Mascardi, and Davide Ancona DIBRIS, Genoa University, Italy daniela.briola,viviana.mascardi,davide.ancona@unige.it
More informationEnvironments for Situated Multi-agent Systems: Beyond Infrastructure
Environments for Situated Multi-agent Systems: Beyond Infrastructure Danny Weyns 1, Giuseppe Vizzari 2, and Tom Holvoet 1 1 AgentWise, DistriNet, Katholieke Universiteit Leuven, Belgium {danny.weyns, tom.holvoet}@cs.kuleuven.be
More informationFIPA specification and JADE. Tomáš Poch
FIPA specification and JADE Tomáš Poch Agents System that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives [Wooldridge
More informationL23.1 Introduction... 2
Department of Computer Science COS121 Lecture Notes: L23 Adapter Design Pattern 23 & 26 September 2014 Copyright c 2014 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents L23.1 Introduction.................................
More informationUsing AOP to build complex data centric component frameworks
Using AOP to build complex data centric component frameworks Tom Mahieu, Bart Vanhaute, Karel De Vlaminck, Gerda Janssens, Wouter Joosen Katholieke Universiteit Leuven Computer Science Dept. - Distrinet
More informationMore on Design. CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson
More on Design CSCI 5828: Foundations of Software Engineering Lecture 23 Kenneth M. Anderson Outline Additional Design-Related Topics Design Patterns Singleton Strategy Model View Controller Design by
More informationReview Software Engineering October, 7, Adrian Iftene
Review Software Engineering October, 7, 2013 Adrian Iftene adiftene@info.uaic.ro Software engineering Basics Definition Development models Development activities Requirement analysis Modeling (UML Diagrams)
More informationObject Oriented Methods with UML. Introduction to Design Patterns- Lecture 8
Object Oriented Methods with UML Introduction to Design Patterns- Lecture 8 Topics(03/05/16) Design Patterns Design Pattern In software engineering, a design pattern is a general repeatable solution to
More informationHealth Monitoring Service for Multi-Agent Systems
Health Monitoring Service for Multi-Agent Systems MSc Thesis Final Report A thesis submitted in part fulfilment of the degree of MSc in Advanced Software Engineering with the supervision of Dr. Rem Collier
More informationw3.ualg.pt/~jvo/poo
POO - Programação Orientada por Objetos OOP - Object-oriented programming 2015/2016 José Valente de Oliveira jvo@ualg.pt 1 www.ualg.pt w3.ualg.pt/~jvo/poo 1 http://www.fct.ualg.pt/gcal?curso=lei What is
More informationAdvanced Object Oriented PHP
CNM STEMulus Center Web Development with PHP November 11, 2015 1/17 Outline 1 2 Diamond Problem Composing vs Inheriting Case Study: Strategy Design Pattern 2/17 Definition is when a class is based on another
More informationChapter 12 (revised by JAS)
Chapter 12 (revised by JAS) Pattern-Based Design Slide Set to accompany Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman
More informationPattern-Oriented Development with Rational Rose
Pattern-Oriented Development with Rational Rose Professor Peter Forbrig, Department of Computer Science, University of Rostock, Germany; Dr. Ralf Laemmel, Department of Information Management and Software
More informationUsing Component-oriented Process Models for Multi-Metamodel Applications
Using Component-oriented Process Models for Multi-Metamodel Applications Fahad R. Golra Université Européenne de Bretagne Institut Télécom / Télécom Bretagne Brest, France Email: fahad.golra@telecom-bretagne.eu
More informationPartial Acquisition Prashant Jain and Michael Kircher
1 Partial Acquisition Prashant Jain and Michael Kircher {Prashant.Jain,Michael.Kircher}@mchp.siemens.de Siemens AG, Corporate Technology Munich, Germany Partial Acquisition 2 Partial Acquisition The Partial
More informationDesign Patterns. CSC207 Fall 2017
Design Patterns CSC207 Fall 2017 Design Patterns A design pattern is a general description of the solution to a well-established problem using an arrangement of classes and objects. Patterns describe the
More informationJOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 Vol. 1, No. 2, July-August 2002 Representing Design Patterns and Frameworks in UML Towards
More information' Dept. of Systems Engineeering, Hokkaido Univ., Japan
OB JECT-ORIENTED DESIGN PATTERN APPROACH TO SEAMLESS MODELING, SIMULATION AND IMPLEMENTATION OF' DISTRIBUTED CONTROL SYSTEMS Satoshi ana ail, Takeshi Kishinamil, Toyoaki ~omura~, Kiyoshi uehiro3, Kazuhiro
More informationPlatforms for Agent-Oriented Software Engineering
Platforms for Agent-Oriented Software Engineering Mariusz Nowostawski Geoff Bush Martin Purvis Stephen Cranefield Department of Information Science, University of Otago P.O. Box 56, Dunedin, New Zealand
More informationFIPA Agent Management Support for Mobility Specification
1 2 3 4 5 6 FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Management Support for Mobility Specification 7 8 Document title FIPA Management Support for Mobility Specification Document number PC000087B
More informationSummary of the course lectures
Summary of the course lectures 1 Components and Interfaces Components: Compile-time: Packages, Classes, Methods, Run-time: Objects, Invocations, Interfaces: What the client needs to know: Syntactic and
More informationC++ INTERFACE CLASSES STRENGTHENING ENCAPSULATION
C++ INTERFACE CLASSES STRENGTHENING ENCAPSULATION Separating a class s interface from its implementation is fundamental to good quality object oriented software design/programming. However C++ (when compared
More informationModel-View-Controller
CNM STEMulus Center Web Development with PHP November 11, 2015 1/8 Outline 1 2 2/8 Definition A design pattern is a reusable and accepted solution to a particular software engineering problem. Design patterns
More informationIntroduction to Object-Oriented Programming
1/9 Introduction to Object-Oriented Programming Conception et programmation orientées object, B. Meyer, Eyrolles Object-Oriented Software Engineering, T. C. Lethbridge, R. Laganière, McGraw Hill Design
More informationTriadic Formal Concept Analysis within Multi Agent Systems
Triadic Formal Concept Analysis within Multi Agent Systems Petr Gajdoš, Pavel Děrgel Department of Computer Science, VŠB - Technical University of Ostrava, tř. 17. listopadu 15, 708 33 Ostrava-Poruba Czech
More informationEngineering JADE Agents with the Gaia Methodology
Engineering JADE Agents with the Gaia Methodology Pavlos Moraïtis 1,2, Eleftheria Petraki 2, and Nikolaos I. Spanoudakis 2 1 Dept. of Computer Science University of Cyprus P.O. Box 20537, CY-1678 Nicosia,
More informationChapter 5 INTRODUCTION TO MOBILE AGENT
Chapter 5 INTRODUCTION TO MOBILE AGENT 135 Chapter 5 Introductions to Mobile Agent 5.1 Mobile agents What is an agent? In fact a software program is containing an intelligence to help users and take action
More informationIntroduction and History
Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek September 15, 2016 Content /FHTenL September 15, 2016 2/28 The idea is quite old, although rather young in SE. Keep up a roof. /FHTenL
More information25.1 Introduction Façade Design Pattern Identification Problem Structure Participants...
Department of Computer Science Tackling Design Patterns Chapter 25: Façade Design Pattern Copyright c 2016 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents 25.1 Introduction.................................
More informationAgent-Oriented Software Engineering. Franco Zambonelli February 2005
Agent-Oriented Software Engineering Franco Zambonelli February 2005 1 Outline Part 1: What is Agent-Oriented Software Engineering (AOSE) Why it is important Key concepts. Part 2: Agent-methodologies Key
More informationObject Oriented Programming. Michał Bereta
Object Oriented Programming Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl Time and place Thursday, 18:00 20:15 Classroom 142 Institute of Informatics Warszawska street (Faculty of chemistry building)
More informationAn ECA Engine for Deploying Heterogeneous Component Languages in the Semantic Web
An ECA Engine for Deploying Heterogeneous Component s in the Semantic Web Erik Behrends, Oliver Fritzen, Wolfgang May, and Daniel Schubert Institut für Informatik, Universität Göttingen, {behrends fritzen
More informationA Metric of the Relative Abstraction Level of Software Patterns
A Metric of the Relative Abstraction Level of Software Patterns Atsuto Kubo 1, Hironori Washizaki 2, and Yoshiaki Fukazawa 1 1 Department of Computer Science, Waseda University, 3-4-1 Okubo, Shinjuku-ku,
More informationProduct Line Evolution Using Source Packages
Product Line Evolution Using Source Packages Arie van Deursen Merijn de Jonge CWI P.O. Box 94079, 1090 GB Amsterdam, The Netherlands http://www.cwi.nl/ {arie,mdejonge} Abstract We present a language-independent
More information4.1 Introduction Programming preliminaries Constructors Destructors An example... 3
Department of Computer Science Tackling Design Patterns Chapter 4: Factory Method design pattern Copyright c 2016 by Linda Marshall and Vreda Pieterse. All rights reserved. Contents 4.1 Introduction.................................
More informationDesign Patterns. CSC207 Winter 2017
Design Patterns CSC207 Winter 2017 Design Patterns A design pattern is a general description of the solution to a well-established problem using an arrangement of classes and objects. Patterns describe
More informationSlide 1. Design Patterns. Prof. Mirco Tribastone, Ph.D
Slide 1 Design Patterns Prof. Mirco Tribastone, Ph.D. 22.11.2011 Introduction Slide 2 Basic Idea The same (well-established) schema can be reused as a solution to similar problems. Muster Abstraktion Anwendung
More informationCommand. Comp-303 : Programming Techniques Lecture 22. Alexandre Denault Computer Science McGill University Winter 2004
Command Comp-303 : Programming Techniques Lecture 22 Alexandre Denault Computer Science McGill University Winter 2004 April 1, 2004 Lecture 22 Comp 303 : Command Page 1 Last lecture... Chain of Responsibility
More informationManaging test suites for services
Managing test suites for services Kathrin Kaschner Universität Rostock, Institut für Informatik, 18051 Rostock, Germany kathrin.kaschner@uni-rostock.de Abstract. When developing an existing service further,
More informationMAGE: An Agent-Oriented Software Engineering Environment 1
MAGE: An Agent-Oriented Software Engineering Environment 1 Zhongzhi Shi, Haijun Zhang, Yong Cheng Yuncheng Jiang, Qiujian Sheng, Zhikung Zhao (Key Laboratory of Intelligent Information Processing, Institute
More informationAgents for Cloud Resource Allocation: an Amazon EC2 Case Study
Agents for Cloud Resource Allocation: an Amazon EC2 Case Study J. Octavio Gutierrez-Garcia and Kwang Mong Sim, Gwangju Institute of Science and Technology, Gwangju 500-712, Republic of Korea joseogg@gmail.com
More informationDesign Patterns for Description-Driven Systems
Design Patterns for Description-Driven Systems N. Baker 3, A. Bazan 1, G. Chevenier 2, Z. Kovacs 3, T Le Flour 1, J-M Le Goff 4, R. McClatchey 3 & S Murray 1 1 LAPP, IN2P3, Annecy-le-Vieux, France 2 HEP
More informationTowards developing multi-agent systems in Ada G. Aranda, J. Palanca, A. Espinosa, A. Terrasa, and A. García-Fornes {garanda,jpalanca,aespinos,aterrasa,agarcia}@dsic.upv.es Information Systems and Computation
More informationTowards the integration of security patterns in UML Component-based Applications
Towards the integration of security patterns in UML Component-based Applications Anas Motii 1, Brahim Hamid 2, Agnès Lanusse 1, Jean-Michel Bruel 2 1 CEA, LIST, Laboratory of Model Driven Engineering for
More informationA MAS Based ETL Approach for Complex Data
A MAS Based ETL Approach for Complex Data O. Boussaid, F. Bentayeb, J. Darmont Abstract : In a data warehousing process, the phase of data integration is crucial. Many methods for data integration have
More informationSprite (contd) Code and Process Migration
Sprite (contd) Sprite process migration Facilitated by the Sprite file system State transfer Swap everything out Send page tables and file descriptors to receiver Demand page process in Only dependencies
More informationA Top-Down Visual Approach to GUI development
A Top-Down Visual Approach to GUI development ROSANNA CASSINO, GENNY TORTORA, MAURIZIO TUCCI, GIULIANA VITIELLO Dipartimento di Matematica e Informatica Università di Salerno Via Ponte don Melillo 84084
More informationApplying Design Patterns to accelerate development of reusable, configurable and portable UVCs. Accellera Systems Initiative 1
Applying Design Patterns to accelerate development of reusable, configurable and portable UVCs. Accellera Systems Initiative 1 About the presenter Paul Kaunds Paul Kaunds is a Verification Consultant at
More informationA Grid-Enabled Component Container for CORBA Lightweight Components
A Grid-Enabled Component Container for CORBA Lightweight Components Diego Sevilla 1, José M. García 1, Antonio F. Gómez 2 1 Department of Computer Engineering 2 Department of Information and Communications
More informationEvaluation of Commercial Web Engineering Processes
Evaluation of Commercial Web Engineering Processes Andrew McDonald and Ray Welland Department of Computing Science, University of Glasgow, Glasgow, Scotland. G12 8QQ. {andrew, ray}@dcs.gla.ac.uk, http://www.dcs.gla.ac.uk/
More informationRADX - Rapid development of web applications in XML
RADX - Rapid development of web applications in XML José Paulo Leal and Jorge Braz Gonçalves DCC-FC, University of Porto R. Campo Alegre, 823 4150 180 Porto, Portugal zp@dcc.fc.up.pt, jgoncalves@ipg.pt
More informationLecture 13: Design Patterns
1 Lecture 13: Design Patterns Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2005 2 Pattern Resources Pattern Languages of Programming Technical conference on Patterns
More informationA Meta-Model for Composition Techniques in Object-Oriented Software Development
A Meta-Model for Composition Techniques in Object-Oriented Software Development Bedir Tekinerdogan Department of Computer Science University of Twente P.O. Box 217, 7500 AE Enschede, The Netherlands E-Mail:
More information