Visual Construction of Multi-Agent-Systems according to the AgentComponent Approach and the Run-Design-Time Concept

Size: px
Start display at page:

Download "Visual Construction of Multi-Agent-Systems according to the AgentComponent Approach and the Run-Design-Time Concept"

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 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 information

Jade: Java Agent DEvelopment Framework Overview

Jade: 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 information

Towards a Component Agent Service Oriented Model

Towards 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 information

Object-Oriented Design

Object-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 information

Information Collection and Survey Infrastructure, APIs, and Software Tools for Agent-based Systems (An Overview of JADE)

Information 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 information

CHAPTER 6: CREATIONAL DESIGN PATTERNS

CHAPTER 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 information

An Agent Modeling Language Implementing Protocols through Capabilities

An 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 information

Agent-Oriented Software Engineering

Agent-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 information

CHAPTER 7 JAVA AGENT DEVELOPMENT ENVIRONMENT

CHAPTER 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 information

Jade: Java Agent DEvelopment Framework Overview

Jade: 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 information

1.1 Jadex - Engineering Goal-Oriented Agents

1.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 information

Scalable Middleware Environment for Agent-Based Internet Applications]

Scalable 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 information

MaSMT: A Multi-agent System Development Framework for English-Sinhala Machine Translation

MaSMT: 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 information

MaSE2Jadex: A Roadmap to Engineer Jadex Agents from MaSE Methodology

MaSE2Jadex: 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 information

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Produced 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 information

Design Patterns For Object Oriented Software Development Acm Press

Design 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 information

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich

CSCD01 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 information

Design Patterns. An introduction

Design 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 information

An Architectural Strategy for Self-Adapting Systems

An 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 information

Communication 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 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 information

Design Patterns. Gunnar Gotshalks A4-1

Design 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 information

26.1 Introduction Programming Preliminaries... 2

26.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 information

Object-Oriented Design

Object-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 information

Agent-Oriented Software Engineering. Franco Zambonelli April 2010

Agent-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 information

Facade 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 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 information

Monitoring System for Distributed Java Applications

Monitoring 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 information

IG-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 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 information

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS

APPLYING 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 information

Object-Oriented Software Development Goal and Scope

Object-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 information

An Expert System for Design Patterns Recognition

An 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 information

Idioms and Design Patterns. Martin Skogevall IDE, Mälardalen University

Idioms 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 information

Ingegneria 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 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 information

James Newkirk

James 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 information

Survey of MAS Methods and Platforms focusing on organizational concepts

Survey 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 information

A System of Patterns for Web Navigation

A 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 information

Object-Oriented Design

Object-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 information

Design and Evolution of an Agent-Based CASE System for OOAD

Design 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 information

Design Patterns. CSC207 Fall 2017

Design 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 information

Using Design Patterns in Java Application Development

Using 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 information

Coordination Patterns

Coordination 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 information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN 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 information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software 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 information

Crash course on design patterns

Crash 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 information

CHAPTER 6: CREATIONAL DESIGN PATTERNS

CHAPTER 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 information

Pattern Density and Role Modeling of an Object Transport Service

Pattern 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 information

Outline Multi-agent Platforms. Existing problems. Existing problems (2)

Outline 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 information

DESIGN PATTERN MATCHING

DESIGN 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 information

Distributed Runtime Verification of JADE and Jason Multiagent Systems with Prolog?

Distributed 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 information

Environments for Situated Multi-agent Systems: Beyond Infrastructure

Environments 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 information

FIPA specification and JADE. Tomáš Poch

FIPA 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 information

L23.1 Introduction... 2

L23.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 information

Using AOP to build complex data centric component frameworks

Using 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 information

More 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 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 information

Review Software Engineering October, 7, Adrian Iftene

Review 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 information

Object Oriented Methods with UML. Introduction to Design Patterns- Lecture 8

Object 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 information

Health Monitoring Service for Multi-Agent Systems

Health 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 information

w3.ualg.pt/~jvo/poo

w3.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 information

Advanced Object Oriented PHP

Advanced 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 information

Chapter 12 (revised by JAS)

Chapter 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 information

Pattern-Oriented Development with Rational Rose

Pattern-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 information

Using Component-oriented Process Models for Multi-Metamodel Applications

Using 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 information

Partial Acquisition Prashant Jain and Michael Kircher

Partial 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 information

Design Patterns. CSC207 Fall 2017

Design 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 information

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

JOURNAL 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

' 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 information

Platforms for Agent-Oriented Software Engineering

Platforms 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 information

FIPA Agent Management Support for Mobility Specification

FIPA 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 information

Summary of the course lectures

Summary 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 information

C++ INTERFACE CLASSES STRENGTHENING ENCAPSULATION

C++ 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 information

Model-View-Controller

Model-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 information

Introduction to Object-Oriented Programming

Introduction 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 information

Triadic Formal Concept Analysis within Multi Agent Systems

Triadic 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 information

Engineering JADE Agents with the Gaia Methodology

Engineering 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 information

Chapter 5 INTRODUCTION TO MOBILE AGENT

Chapter 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 information

Introduction and History

Introduction 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 information

25.1 Introduction Façade Design Pattern Identification Problem Structure Participants...

25.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 information

Agent-Oriented Software Engineering. Franco Zambonelli February 2005

Agent-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 information

Object Oriented Programming. Michał Bereta

Object 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 information

An ECA Engine for Deploying Heterogeneous Component Languages in the Semantic Web

An 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 information

A Metric of the Relative Abstraction Level of Software Patterns

A 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 information

Product Line Evolution Using Source Packages

Product 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 information

4.1 Introduction Programming preliminaries Constructors Destructors An example... 3

4.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 information

Design Patterns. CSC207 Winter 2017

Design 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 information

Slide 1. Design Patterns. Prof. Mirco Tribastone, Ph.D

Slide 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 information

Command. 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 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 information

Managing test suites for services

Managing 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 information

MAGE: An Agent-Oriented Software Engineering Environment 1

MAGE: 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 information

Agents for Cloud Resource Allocation: an Amazon EC2 Case Study

Agents 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 information

Design Patterns for Description-Driven Systems

Design 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 information

Towards 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 information

Towards the integration of security patterns in UML Component-based Applications

Towards 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 information

A MAS Based ETL Approach for Complex Data

A 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 information

Sprite (contd) Code and Process Migration

Sprite (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 information

A Top-Down Visual Approach to GUI development

A 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 information

Applying 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 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 information

A Grid-Enabled Component Container for CORBA Lightweight Components

A 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 information

Evaluation of Commercial Web Engineering Processes

Evaluation 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 information

RADX - Rapid development of web applications in XML

RADX - 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 information

Lecture 13: Design Patterns

Lecture 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 information

A Meta-Model for Composition Techniques in Object-Oriented Software Development

A 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