Use and Reuse of Multi-Agent Models and Techniques in a Distributed Systems Development Framework
|
|
- Martin Powers
- 5 years ago
- Views:
Transcription
1 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 Parma Viale G.P. Usberti 181A I Parma, Italy {Agostio.Poggi, Michele.Tomaiuolo}@unipr.it Abstract In this paper, we present a software framework, called HDS, that tries to simplify the realization of distributed applications by merging the client-server and the peer-to-peer paradigms and by implementing all the interactions among all the processes of a system through the exchange of typed messages. Typed messages are the element that mainly characterized such a software framework. In fact, they can be considered an object-oriented implementation of an agent communication language message and so they are means that makes HDS a suitable software framework both for the realization of multi-agent systems and for the reuse of multi-agent model and techniques in non-agent based systems. 1 Introduction In the early 1990s, Multi-Agent Systems (MAS) were put forward as a promising paradigm for the realization of complex distributed systems. Over the years, MAS researchers have developed a wide body of models, techniques and methodologies for developing complex distributed systems, have realized several effective software development tools, and have contributed to the realization of several successful applications. However, even if today s software systems are more and more characterized by a distributed and multi-actor nature, that lends itself to be modeled and realized taking advantage of MAS techniques and technologies, very few space in software development. It is due for several reasons [Maříka and Lažanský, 2007; [McKean et al., 2008; DeLoach, 2009; Weyns et al, 2009]. One of the most important reasons is that the large part of software developers have few knowledge about MAS technologies and solutions mainly because of the lack of references to the results of MAS research outside the MAS community. Moreover, even when there is a good knowledge about MAS, software developers do not evaluate the possibility of their use because: i) they believe that multi-agent approaches are not technically superior to traditional approaches (i.e., there are not problems where a MAS approach cannot be replaced by a non-agent approach), and ii) they consider MAS approaches too sophisticated and hard to understand to be used outside the research community. Therefore, it is possible to state that the MAS community has yet to demonstrate the significant benefits of using agent-oriented approaches to solve complex problems, but also that some efforts should be done for making easier the use and the integration of MAS technologies and solutions in mainstream software development technologies and solutions. In particular, MAS developers should avoid to consider MAS solutions a panacea for all the kinds of system. Therefore, a MAS should be realized only when its components must express the typical features (i.e., proactiveness, sociality and goal) that distinguish a software agent from another software component. Moreover, when a new MAS is realized and must be embedded and integrated with an existing software environment where other software systems are running and interact with each other. In this case, MAS developers usually try to propose, as most effective integration solution, the agentification of the other software systems even if this kind of integration, besides requiring the burden of encapsulating the interface of a nonagent-based system with a code that generates and processes messages of the agent communication language (ACL) used by the MAS, often might not guarantee the level of performance, security and transactionality required in such a software environment. It is because the majority of the MAS community has still the belief that agents are the best means for supporting software interoperability. This belief comes from the first important works on multi-agent systems [Genesereth and Ketchpel, 1994; Bradshaw, 1997] and was partially supported by the specifications for [FIPA, 2001]; however, in the last ten years the advent and the success of Web services and service-oriented architecture have shown that what software customers and developers want solutions that simply renew the traditional ways of integrating systems avoiding any solution that might be considered too complex or that might reduce the quality of the system.
2 In this paper, a software framework, called HDS, whose goal is to simplify the realization of distributed applications taking advantage of multi-agent model and techniques and providing an easy way for the integration between MAS and non-agent based systems. The next section describes the main features of the HDS software framework. Section three discusses about the experimentation of such a framework both in using agent techniques inside non-agent based systems and in the realization of MAS. Finally section fours concludes the paper sketching some future research directions. 2 HDS HDS (Heterogeneous Distributed System), is a software framework that has the goal of simplifying the realization of distributed applications by merging the client-server and the peer-to-peer paradigms and by implementing all the interactions among all the processes of a system through the exchange of typed messages. In particular, HDS provides both active and passive processes (respectively called actors and servers) and an application can be distributed on a (heterogeneous) network of computational nodes (from now called runtime nodes). Figure 1 shows the architecture of an HDS distributed system. runtime node actor HDS middleware server Figure 1. The architecture of an HDS distributed system HDS is implemented by using the Java language and takes advantage of preexistent Java software libraries and solutions for managing concurrency and distribution. This implementation, besides realizing the HDS middleware components, provides some components (i.e., interfaces, concrete and abstract classes) to simplify the realization of applications taking also advantages of multi-agent models and techniques. The design of the software has been planned with the goal of guaranteeing an easy realization of several implementations of the HDS middleware taking advantages of different technologies and algorithms without the need of remarkable modifications both on the HDS middleware and on the application code when the application is deployed with a different implementation of the HDS middleware. This feature is important for enabling the use of different solutions for the management of the execution of the processes running inside the same runtime node (i.e., the same Java Virtual Machine), but also for supporting the communication among processes of different runtime nodes. Therefore, while, on the one hand, the HDS framework can be used for the study and the development of new algorithms and software for the management of concurrency and distribution, on the other hand, different concurrent and distribution software libraries can be integrated in such a middleware for obtaining the best implementation of an application also on the basis of the features of the environment where it should be executed. In particular, each node of an application can use a different implementation of the concurrency support and different distribution supports can be used in the same application. To cope with the previous goal the HDS middleware was completely modeled through Java interfaces and then a first implementation was realized by using the concurrent support provided by the standard Java runtime environment and on the distribution support provided by Java RMI [Pitt and McNiff, 2001] and JMS [Monson-Haefel and Chappell, 2000]. In particular, this implementation was modularized to maintain a strong separation between the code that should be reused by all the possible implementations and the code that any different implementation must certainly rewrite. Moreover, the components provided by the HDS framework to simplify the realization of applications (e.g.,, the abstract classes for realizing actors and servers) do not refer to a specific implementation of the HDS middleware, but to its model; therefore, an application can be deployed and executed with one of the available implementations of the HDS middleware by taking advantages of a launching tool, provided by the HDS framework that customizes the application code to a specific middleware implementation by simply injecting very few objects at the startup of each runtime node [Fowler, 2004]. The model and the implementation of the HDS middleware can be divided in three main modules respectively called concurrency, runtime and distribution modules. 2.1 Concurrency Module The concurrency module defines the computational entities that concurrently act inside a runtime node and provides the means for supporting their interaction. These computational entities are called processes and are divided in actors and servers. Actors are active processes that can have a proactive behavior and so can start the execution of some tasks without the request of other processes. Servers are passive processes that are only able to perform tasks in response of the request of other processes. Moreover, while both servers and actors may directly take advantage of the services provided by other kinds of application, only the servers can provide services to external applications by simply providing one or more public interfaces. A process can interact with the other processes through the exchange of messages based on one of the following three types of communication: synchronous communication, the process sends a message to another process and waits for its answer;
3 asynchronous communication, the process sends a message to another process, performs some actions and then waits for its answer; one-way communication, the process sends a message to another process, but it does not wait for an answer. In particular, while actors can start synchronous, asynchronous and one-way communication with all the processes, servers can only starts synchronous communication.. The exchange of messages between two processes is possible thanks to the use a reference. A reference is a proxy of the process that makes transparent the communication respect to the location of the process. Therefore, when a process wants to send a message to another process, it must obtain the reference to the other process and it can be done by taking advantage of the lookup service provided by the runtime module. 2.2 Runtime Module The runtime module defines and implements the basic services that the HDS middleware provides to the processes of an application. This module is based on three main objects respectively called registry, lookup, filterer and factory. The registry and the lookup objects cooperate for guaranteeing the access of a process to the references of the other processes. In fact, while the registry object provides the binding and unbinding of the identifiers of the processes with their reference, the lookup object provides the listing of the identifiers of the processes and the retrieval of a process reference on the basis of the identifier of the process. The filterer object allows the customization of the communication among processes. Normally, a process can communicate with all the other processes of the application and the exchange of messages does not involve any operation that is not related to deliver the message to the destination. However, the filterer object can modify it by dynamically associating additional services (e.g., security, debugging and logging) with the exchange of messages. applied to the input messages and the others are applied to the output messages (Figure 2 shows the flow of messages from the process reference to the output message filters). The primary scope of a message filter is to disable the reception / sending of some messages, but they can be used for performing operations on messages (e.g., encryption and decryption). Finally, the factory object has the duty of creating the processes. This object performs the most important tasks for customizing the application code to a specific middleware implementation. In fact, when it creates a new process, it binds the application code encoded into such a process with the middleware components providing the concurrent support that is necessary for the execution and the exchange of messages of the process. 2.3 Distribution Module The distribution module has the goal of supporting the communication of the processes of a runtime node to the processes of the other nodes of the application possibly through different types of communication supports (Figure 3 shows an application whose runtime nodes are connected through two different type of communication technology). This module is based on: a distributor object, some connector objects and some connection objects. The distributor object has the duty of managing the connections of a runtime node towards the other runtime nodes of the application. The distributor object does it through a set of connector objects. A connector object is a connections handler that manages the connections of a runtime node realized with a specific communication technology. A connector object does it through a set of connection objects. distributor connection process input filters output filters... mailer... reference Figure 2. Flow of the messages from the process reference to the output message filters. In fact, the filterer object can associate two lists of compositional filters [Bergmans & Aksit, 2001] with each process. These compositional filters (from now called message filters) are applied to the message exchanged by the process: the ones of the first list are RMI connectors Figure 3. A distributed application based on three run time nodes connected through the use of RMI and JMS communication technologies. A connection object manage a mono-directional communication channel from/to another runtime node of the application. In particular, a connection provides a remote lookup service that provides the listing of the remote processes and the access to their references. 2.4 Typed Messages JMS connectors Processes interact through messages that can considered typed because of their content. In fact, the content of a message is represent by an object whose type in-
4 dicates the use that the receiver should make of the content of the message. Perform Request Inform Query Content Figure 4. Classification of the content of the messages derive from ACL communicative acts. Typed messages allow to couples the meaning of the communicative acts of an ACL with the meaning of the concepts expressed by a domain ontology. In fact, a first hierarchy of Java interfaces can allow to split the messages on the basis the ACL communicative acts perform and then other interfaces and concrete classes can specialize such interfaces for defining the ontology of a specific application domain, i.e., the messages exchanged during the execution of the tasks of such an application domain. However, in the current implementation of the HDS framework, messages are not classified on the basis of the complete list of the communicative acts provided by an ACL (i.e., KQML [Finin et al., 1994] or FIPA ACL [FIPA, 2001]), but: i) messages are split into request and response messages, ii) request messages are split in perform, inform and query messages, and iii) and response are split into result and error messages. It can be done because from our experience and from the analysis of several real application scenarios and software implementation, what can be important (or at least can simplify the implementation) in some kinds of application is to be able to distinguish i) the requests that require a simple exchange of data (i.e., inform and query requests) from the ones that require the execution of actions (i.e., perform requests), and ii) the positive and negative responses. shows the hierarchy of interfaces classifying message content on the basis of ACL communicative acts. 2.5 Development Supports Result Response Error HDS provides some software components and tools for simplifying the development of applications. In fact, the definition of actors and servers is simplified by the availability of an actor and a server abstract class that provide the methods for getting the information about the other processes of the application and for exchanging messages with them. Moreover, the startup of an distributed application is possible through a launching tool that uses a set of configuration files for starting an initial set of process, for defining the set of rules that associate message filters with processes and for initializing the connections between the different runtime nodes of an application. Finally, the monitoring and debugging of a distributed application is simplified for a set of tools that take advantage of message filters for tracing and/or the interactions between the processes. 3 HDS and MAS The features offered by the HDS framework make possible and quite simple the extension of HDS software both for the realization of multi-agent systems and for the reuse of the typical models and techniques, that are exhibited in multi-agent systems, in other kinds of software systems. In fact, while, on the one hand, the features provided by an actor make it suitable for the realization of some processes that exhibit the typical behavior of the most known agent architectures, on the other hand, the features provided by typed messages make them suitable for implementing the usual coordination and negotiation techniques expressed by multiagent systems. Moreover, the features provided by typed messages make them suitable for implementing such coordination and negotiation techniques outside a multi-agent system and without any (or with a limited) knowledge about agent communication languages and ontologies. As a first step for taking advantage of agent models and techniques in the HDS framework, we realized some software components for simplifying the realization of BDI agents [Rao and Georgeff, 1995] and the use of the interaction protocols defined in the FIPA specifications [FIPA, 2001]. In particular, we realized an abstract implementation of a BDI agent by extending the abstract actor class with: i) a working memory, where maintaining the beliefs, desires and intentions of the agent, ii) a plan library, where maintaining the set of predefined plans and iii) an interpreter able to select the plan that must be used to achieve the current intension, and able to execute it, but without the possibility of stopping it before its complete execution. Therefore starting from this abstract implementation, a concrete BDI agent can be obtained by providing the code for initializing and updating the working memory and for filling the plan library, Moreover, we realized an abstract implementation of some interaction protocols that derive from the interaction protocols defined in the FIPA specifications. This implementation replaces the ACL messages with typed messages delegates to the application developer only the duty of writing the code processing the content of the message, selecting the the message to be sent and building its content. The use of both the BDI agent abstract class and the interaction protocols software library have been experimented in an market place application, where agents can buy and sell goods through the use of English and Dutch auctions. In particular, we realized two different implementations: the first implementation was based on the use of both the BDI agents and the interaction protocols software library, and the second implementation was based only on the use of the interaction protocols software library. This experimentation was done by two groups of master students: the students of the first group had a good knowledge about artificial intelligence and agent-based systems because they followed two courses on those topics and the student of the second group had few knowledge about such topics because they did
5 not follow any related course. In few words, the results of the experimentation were that all the students have not difficulties to obtain a goad implementation of the version of the application without the use of the BDI agents, but while the students without any knowledge about artificial intelligence and agent-based system had very difficulties for realizing the version of the application based on the use of BDI agents obtaining some implementations that do not completely exploit BDI agent features, the other students did it obtaining more flexible implementations respect to the ones without BDI agents, but spending a lot of time in their implementation. 4 Conclusions This paper presented a software framework, called HDS, that has the goal of simplifying the realization of distributed applications by merging the client-server and the peer-to-peer paradigms and by implementing all the interactions among all the processes of a system through the exchange of typed messages. HDS can be considered a software framework for the realization of any kind of distributed system. However, some of its functionalities derive from the one offered by JADE [Bellifemine et al., 2001; Bellifemine et al., 2008] that must be considered one of the most known and use software framework for the developing of MAS. It is not depends only on that the people involved in the development of the HDS software framework was involved in the development of JADE too, but Acknowledgments. References [Bellifemine et al., 2001] Fabio Bellifemine, Agostino Poggi and Giovanni Rimassa. Developing multi agent systems with a FIPA-compliant agent framework. Software Practice & Experience, 31: , [Bellifemine et al., 2008] Fabio Bellifemine, Giovanni Caire, Agostino Poggi and Giovanni Rimassa. JADE: a Software Framework for Developing Multi- Agent Applications. Lessons Learned. Information and Software Technology Journal, 50:10-21, [Bergmans and Aksit, 2001] Lodewijk Bergmans and Mehmet Aksit. Composing crosscutting concerns using composition filters. Communications of ACM, 44(10):51-57, [Bradshaw, 1997] Jeffrey M. Bradshaw. An introduction to software agents. In, Jeffrey M. Bradshaw, editor, Software Agents, pp. 3-46, MIT Press, Cambridge, MA, [DeLoach, 2009] Scott A. DeLoach. Moving multiagent systems from research to practice. Agent- Oriented Software Engineering, 3(4): , [Finin et al., 1994] Tim Finin, Richard Fritzson, Don McKay and Robin McEntire. KQML as an agent communication language. In Proc. of the Third international Conference on information and Knowledge Management, pp , Gaithersburg, MD, [FIPA, 2001] FIPA Specifications, Available from [Fowler, 2004] Martin Fowler. Inversion of control containers and the dependency injection pattern, Available from: [Genesereth and Ketchpel, 1994] Michael R. Genesereth and Steven P. Ketchpel. Software Agenta, Communications of ACM, 37(7):48-63, [Maříka and Lažanský, 2007] Vladimír Maříka and Jiří Lažanský. Industrial applications of agent technologies. Control Engineering Practice, 15(11): , [McKean et al., 2008] Jez McKean, Hayden Shortery, Michael Luckz, Peter McBurneyxand Steven Willmott. Technology diffusion: analysing the diffusion of agent technologies, Autonomous Agents and Multi-Agent Systems, 17(2): , [Monson-Haefel and Chappell, 2000] Richard Monson-Haefel David Chappell. Java Message Service. O'Reilly & Associates, [Pitt and McNiff, 2001] Esmond Pitt and Kathy McNiff. Java.rmi: the Remote Method Invocation Guide. Addison-Wesley, [Rao and Georgeff, 1995] Anand S. Rao, Michael P. Georgeff: BDI Agents: From Theory to Practice. In Proc. of the First International Conference on Multiagent Systems, pp , San Francisco, CA, [Weyns et al, 2009] Danny Weyns, Alexander Helleboogh and Tom Holvoet. How to get multiagent systems accepted in industry? Agent-Oriented Software Engineering, 3(4): , 2009.
DEVELOPING APPLICATIONS WITH HDS
DEVELOPING APPLICATIONS WITH HDS Enrico Franchi, Agostino Poggi, Michele Tomaiuolo Dipartimento di Ingegneria dell'informazione Università degli Studi di Parma Parma, Italy Abstract HDS (Heterogeneous
More informationHDS: a Software Framework for the Realization of Pervasive Applications
HDS: a Software Framework for the Realization of Pervasive Applications AGOSTINO POGGI Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Viale G.P. Usberti 181A, Parma, 43100
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 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 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 informationVisual Construction of Multi-Agent-Systems according to the AgentComponent Approach and the Run-Design-Time Concept
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 meierp@pst.informatik.uni-muenchen.de
More informationUnifying Agent and Component Concepts - Jadex Active Components
Unifying Agent and Component Concepts - Jadex Active Components Alexander Pokahr, Lars Braubach, Kai Jander Distributed Systems and Information Systems Group (VSIS) Department of Informatics, University
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 informationDistributed Implementation of a Self-Organizing. Appliance Middleware
Distributed Implementation of a Self-Organizing Appliance Middleware soc-eusai 2005 Conference of Smart Objects & Ambient Intelligence October 12th-14th 2005 Grenoble, France Oral Session 6 - Middleware
More informationAgent based Cellular Automata Simulation
Agent based Cellular Automata Simulation P. Fornacciari, G. Lombardo, M. Mordonini, A. Poggi and M. Tomaiuolo Dipartimento di Ingegneria e Architettura Università degli Studi di Parma Parma, Italy {paolo.fornacciari,gianfranco.lombardo,monica.mordonini,agostino.poggi,michele.tomaiuolo}@unipr.it
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 informationExtending JADE for Agent Grid Applications
Extending JADE for Agent Grid Applications Agostino Poggi, Michele Tomaiuolo and Paola Turci Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma {poggi,tomamic,turci}@ce.unipr.it
More informationAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Computer Network.
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Computer Network Introduction Prof. Agostino Poggi Summary Theory Data Transmission Packet Transmission
More informationA Multi-Agent System for Information Semantic Sharing
A Multi-Agent System for Information Semantic Sharing Agostino Poggi and Michele Tomaiuolo Dipartimento di Ingegneria dell Informazione, Università degli Studi di Parma Viale U. P. Usberti 181/A, 43100
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 informationFrom Objects to Agents: The Java Agent Middleware (JAM)
From Objects to Agents: The Java Agent Middleware (JAM) Laboratory of Multiagent Systems LM Laboratorio di Sistemi Multiagente LM Elena Nardini elena.nardini@unibo.it Ingegneria Due Alma Mater Studiorum
More informationDeveloping Scalable Applications with Actors
Developing Scalable Applications with Actors AGOSTINO POGGI Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Viale G.P. Usberti 181A, Parma, 43124 ITALY agostino.poggi@unipr.it
More informationChapter XVI Multi-Agent Systems for Semantic Web Services Composition
324 Chapter XVI Multi-Agent Systems for Semantic Web Services Composition Agostino Poggi Università degli Studi di Parma, Italy Paola Turci Università degli Studi di Parma, Italy Abstract The vision which
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 informationIntegrating Rule and Agent-Based Programming to Realize Complex Systems
Integrating Rule and Agent-Based Programming to Realize Complex Systems ALESSANDRO BENEVENTI, AGOSTINO POGGI, MICHELE TOMAIUOLO, PAOLA TURCI Dipartimento di Ingegneria dell Informazione Università degli
More informationAn Architecture and System for Support of Cooperation in Multi-Agent Software Development
296 Conf. on Software Eng. Research and Practice SERP'07 An Architecture and System for Support of Cooperation in Multi-Agent Software Development Xuetao Niu, School of Information and Communication Technology
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 informationA Survey on Agent Communication Languages
2011 International Conference on Innovation, Management and Service IPEDR vol.14(2011) (2011) IACSIT Press, Singapore A Survey on Agent Communication Languages Sandip Vaniya 1, Bhavesh Lad 2 and Shreyansh
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 informationDeveloping multi-agent systems with a FIPA-compliant agent framework
SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2001; 31:103 128 Developing multi-agent systems with a FIPA-compliant agent framework Fabio Bellifemine 1, Agostino Poggi 2,, and Giovanni Rimassa
More informationLesson 19 Software engineering aspects
Lesson 19 Software engineering aspects Service Oriented Architectures Security Module 4 - Architectures Unit 1 Architectural features Ernesto Damiani Università di Milano SOA is HAD HAD is an old concept
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 informationWeb Services Annotation and Reasoning
Web Services Annotation and Reasoning, W3C Workshop on Frameworks for Semantics in Web Services Web Services Annotation and Reasoning Peter Graubmann, Evelyn Pfeuffer, Mikhail Roshchin Siemens AG, Corporate
More informationAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Distributed and Agent Systems
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Distributed and Agent Systems Prof. Agostino Poggi What is CORBA? CORBA (Common Object Request
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
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 informationA Tutorial on Agent Based Software Engineering
A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on Agent Based Software Engineering Qun Zhou December, 2002 Abstract Agent oriented software
More informationArtificial Intelligence Agent Oriented Software Engineering
Artificial Intelligence Agent Oriented Software Engineering Maurizio Martelli, Viviana Mascardi {martelli, mascardi}@disi.unige.it University of Genoa Department of Computer and Information Science AI,
More informationOn the Use of Agents as Components of Software Systems
Federico Bergenti Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Parco Area delle Scienze 181/A, 43100 Parma, Italy bergenti@ce.unipr.it Michael N. Huhns Department of Computer
More informationDynamic Adaptability of Services in Enterprise JavaBeans Architecture
1. Introduction Dynamic Adaptability of Services in Enterprise JavaBeans Architecture Zahi Jarir *, Pierre-Charles David **, Thomas Ledoux ** zahijarir@ucam.ac.ma, {pcdavid, ledoux}@emn.fr (*) Faculté
More informationMonitoring BPMN-Processes with Rules in a Distributed Environment
Monitoring BPMN-Processes with Rules in a Distributed Environment Lothar Hotz 1, Stephanie von Riegen 1, Lars Braubach 2, Alexander Pokahr 2, and Torsten Schwinghammer 3 1 HITeC e.v. c/o Fachbereich Informatik,
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 informationMeta-Modeling Communication and Interaction inside MASs with Ontologies
Meta-Modeling Communication and Interaction inside MASs with Ontologies Valentina Cordì, Viviana Mascardi DISI, Università di Genova, Via Dodecaneso 35, 16146, Genova, Italy. Abstract. The need of a unifying
More informationJava RMI Middleware Project
Java RMI Middleware Project Nathan Balon CIS 578 Advanced Operating Systems December 7, 2004 Introduction The semester project was to implement a middleware similar to Java RMI or CORBA. The purpose of
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 informationAnnouncements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris
Announcements Email me your survey: See the Announcements page Today Conceptual overview of distributed systems System models Reading Today: Chapter 2 of Coulouris Next topic: client-side processing (HTML,
More informationBorland Application Server Certification. Study Guide. Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved.
Borland Application Server Certification Study Guide Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved. Introduction This study guide is designed to walk you through requisite
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 informationThe Actor Role Coordinator Implementation Developer s Manual
The Actor Role Coordinator Implementation Developer s Manual Nianen Chen, Li Wang Computer Science Department Illinois Institute of Technology, Chicago, IL 60616, USA {nchen3, li}@iit.edu 1. Introduction
More informationOntology-Based Remote Collaboration for the Development of Software System
Ontology-Based Remote Collaboration for the Development of Software System M. Mari, A. Poggi, P. Turci Dipartimento di Ingegneria dell Informazione, Università di Parma Parco Area delle Scienze 181/A 43100
More informationAn Ambient Intelligence Application Integrating Agent and Service-Oriented Technologies
An Ambient Intelligence Application Integrating Agent and -Oriented Technologies Nikolaos Spanoudakis a, b Pavlos Moraitis b a Singular Logic S.A. nspan@singularlogic.eu www.singularlogic.eu b Paris Descartes
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 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 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 informationDecentralized and Embedded Management for Smart Buildings
PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS ISBN 978-86-7031-188-6, pp. 3-7, 2011 Decentralized and Embedded Management for Smart Buildings Giancarlo Fortino and Antonio Guerrieri DEIS
More informationInternational Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Emerging Technologies in Computational
More informationSoftware Integration Using a Dynamic Wrapper Agent
Software Integration Using a Dynamic Wrapper Agent MIRIAM A. M. CAPRETZ & MARY C. HRYB Department of Electrical and Computer Engineering University of Western Ontario London, Ontario, CANADA N6A 5B9 Abstract:
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 informationApplication Servers in E-Commerce Applications
Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand
More informationWhy Consider Implementation-Level Decisions in Software Architectures?
1. Abstract Why Consider Implementation-Level Decisions in Software Architectures? Nikunj Mehta Nenad Medvidović Marija Rakić {mehta, neno, marija}@sunset.usc.edu Department of Computer Science University
More informationThe Agentcities Network Architecture
The Agentcities Network Architecture Steven Willmott EPFL steven.willmott@epfl.ch Jonathan Dale Fujitsu jonathan.dale@fla.fujitsu.com Jerome Picault Motorola jerome.picault@motorola.com Matteo Somacher
More informationProfiling and optimization for Android applications on the tatami platform
Profiling and optimization for Android applications on the tatami platform Understanding the tatami Platform and the S-CLAIM Language Jaber Hassoun Advisor: S. l. dr. ing. Andrei Olaru University "Politehnica"
More informationIntroduction to Intelligent Agents
Introduction to Intelligent Agents Pınar Yolum p.yolum@uu.nl Utrecht University Course Information Jointly taught with Mehdi Dastani Topics Work Schedule Grading Resources Academic Integrity Spring 2018
More informationAgent based Modeling and Simulation with ActoMoS
Agent based Modeling and Simulation with ActoMoS Agostino Poggi Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Parma, Italy agostino.poggi@unipr.it Abstract ActoMoS is an
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 informationMapping Multi- Agent Systems Based on FIPA Specification to GPU Architectures
Mapping Multi- Agent Systems Based on FIPA Specification to GPU Architectures Luiz Guilherme Oliveira dos Santos 1, Flávia Cristina Bernadini 1, Esteban Gonzales Clua 2, Luís C. da Costa 2 and Erick Passos
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 informationAN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY
AN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY MOHAMMAD ZAHIRI, MOHAMMAD R. KHAYYAMBASHI Department of Computer Eng. and Information Technology, University of Sheikh Bahaei, Isfahan, Iran Computer
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 informationDesign of Labour Agency Platform Based on Agent Technology of JADE *
Design of Labour Agency Platform Based on Agent Technology of JADE * Xiaobin Qiu **, Nan Zhou, and Xin Wang Network Center, China Agriculture University, Beijing 100083, P.R. China qxb@cau.edu.cn Abstract.
More informationThe Active Components Approach for Distributed Systems Development
The Active Components Approach for Distributed Systems Development Alexander Pokahr and Lars Braubach Distributed Systems and Information Systems Group, Computer Science Department, University of Hamburg
More informationAgents for e-business Applications
Agents for e-business Applications A.Negri, A. Poggi, M. Tomaiuolo, P. Turci Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Viale delle Scienze, 181A 43100 Parma Tel. +39
More informationIntroduction to Distributed Systems
Introduction to Distributed Systems Other matters: review of the Bakery Algorithm: why can t we simply keep track of the last ticket taken and the next ticvket to be called? Ref: [Coulouris&al Ch 1, 2]
More informationSocket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.
Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise
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 informationInvestigating F# as a development tool for distributed multi-agent systems
PROCEEDINGS OF THE WORKSHOP ON APPLICATIONS OF SOFTWARE AGENTS ISBN 978-86-7031-188-6, pp. 32-36, 2011 Investigating F# as a development tool for distributed multi-agent systems Extended abstract Alex
More informationIntegrating Ontologies into Distributed Multi-Agent System
Integrating Ontologies into Distributed Multi-Agent System Khaoula ADDAKIRI Department of Mathematics and Computer Science Université Hassan 1 er, FSTS, LABO LITEN Settat, Morocco Mohamed BAHAJ Department
More informationText Mining and the. Text Mining and the Semantic Web. Semantic Web. Tim Finin. University of Maryland Baltimore County
Text Mining and the Text Mining and the Semantic Web Semantic Web Tim Finin University of Maryland Baltimore County recommend tell register Next Generation Data Mining Workshop Baltimore, November 2002
More informationScalable Computing: Practice and Experience Volume 13, Number 2, pp
Scalable Computing: Practice and Experience Volume 13, Number 2, pp. 100 119. http://www.scpe.org ISSN 1895-1767 c 2012 SCPE DEVELOPING DISTRIBUTED SYSTEMS WITH ACTIVE COMPONENTS AND JADEX LARS BRAUBACH
More informationWhich Role for an Ontology of Uncertainty?
Which Role for an Ontology of Uncertainty? Paolo Ceravolo, Ernesto Damiani, Marcello Leida Dipartimento di Tecnologie dell Informazione - Università degli studi di Milano via Bramante, 65-26013 Crema (CR),
More informationHierarchical vs. Flat Component Models
Hierarchical vs. Flat Component Models František Plášil, Petr Hnětynka DISTRIBUTED SYSTEMS RESEARCH GROUP http://nenya.ms.mff.cuni.cz Outline Component models (CM) Desired Features Flat vers. hierarchical
More informationAgents and areas of application
Agents and areas of application Dipartimento di Informatica, Sistemistica e Comunicazione Università di Milano-Bicocca giuseppe.vizzari@disco.unimib.it andrea.bonomi@disco.unimib.it 23 Giugno 2007 Software
More information6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views
1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties
More informationIntroduction to Multi-Agent Programming
Introduction to Multi-Agent Programming 1. Agent Communication Speech Acts, KIF, KQML, FIPA, JADE, IPC Alexander Kleiner, Bernhard Nebel Contents Introduction Speech Acts Agent Communication Languages
More informationAvailable online at ScienceDirect. Procedia Economics and Finance 23 ( 2015 )
Available online at www.sciencedirect.com ScienceDirect Procedia Economics and Finance 23 ( 2015 ) 478 486 2nd GLOBAL CONFERENCE on BUSINESS, ECONOMICS, MANAGEMENT and TOURISM, 30-31 October 2014, Prague,
More informationChapter 5: Distributed objects and remote invocation
Chapter 5: Distributed objects and remote invocation From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 Figure 5.1 Middleware layers Applications
More informationAgent Oriented Software Engineering. Michael Winikoff and Lin Padgham
Agent Oriented Software Engineering Michael Winikoff and Lin Padgham Chapter 15 of Multiagent Systems Edited by Gerhard Weiss MIT Press, 2012 http://www.the-mas-book.info/ Introduction Agent Oriented Software
More informationBiological Pathway based Design and Implementation of GUI Based Network Management System to Manage Live Network Nodes
Biological Pathway based Design and Implementation of GUI Based Network Management System to Manage Live Network Nodes M. Junaid Arshad, M. Aslam, Amjad Farooq, Syed Ahsan, M. Shahbaz, M. Zeeshan Department
More informationProcessing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer
Processing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer Mariano Tucat Alejandro J. García mt@cs.uns.edu.ar ajg@cs.uns.edu.ar Consejo Nacional de Investigaciones
More informationAdvanced Topics in Operating Systems
Advanced Topics in Operating Systems MSc in Computer Science UNYT-UoG Dr. Marenglen Biba 8-9-10 January 2010 Lesson 10 01: Introduction 02: Architectures 03: Processes 04: Communication 05: Naming 06:
More informationSystem Models. 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models. Nicola Dragoni Embedded Systems Engineering DTU Informatics
System Models Nicola Dragoni Embedded Systems Engineering DTU Informatics 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models Architectural vs Fundamental Models Systems that are intended
More informationFausto Giunchiglia and Mattia Fumagalli
DISI - Via Sommarive 5-38123 Povo - Trento (Italy) http://disi.unitn.it FROM ER MODELS TO THE ENTITY MODEL Fausto Giunchiglia and Mattia Fumagalli Date (2014-October) Technical Report # DISI-14-014 From
More informationHierarchical Clustering of Process Schemas
Hierarchical Clustering of Process Schemas Claudia Diamantini, Domenico Potena Dipartimento di Ingegneria Informatica, Gestionale e dell'automazione M. Panti, Università Politecnica delle Marche - via
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 informationDirect Mobile data synchronization between servers
Direct Mobile data synchronization between servers Jugeon Pak, SungHyun Im, Keehyun Park Keimyung University School of Computer Engineering Daegu Korea {corea, burningwing, khp}@kmu.kr Abstract: In mobile
More informationA Resource Look up Strategy for Distributed Computing
A Resource Look up Strategy for Distributed Computing F. AGOSTARO, A. GENCO, S. SORCE DINFO - Dipartimento di Ingegneria Informatica Università degli Studi di Palermo Viale delle Scienze, edificio 6 90128
More informationTESTING MULTI-AGENT SYSTEMS FOR DEADLOCK DETECTION BASED ON UML MODELS
TESTING MULTI-AGENT SYSTEMS FOR DEADLOCK DETECTION BASED ON UML MODELS Nariman Mani Vahid Garousi Behrouz H. Far Department of Electrical and Computer Engineering Schulich School of Engineering, University
More informationProgramming Safe Agents in Blueprint. Alex Muscar University of Craiova
Programming Safe Agents in Blueprint Alex Muscar University of Craiova Programmers are craftsmen, and, as such, they are only as productive as theirs tools allow them to be Introduction Agent Oriented
More informationUsing Web Services and Workflow Ontology in Multi- Agent Systems
Using s and Workflow Ontology in Multi- Agent Systems Jarmo Korhonen, Lasse Pajunen, and Juha Puustjärvi Helsinki University of Technology, Software Business and Engineering Institute, P.O. Box 9600, FIN-02015
More informationSicAri A security architecture and its tools for ubiquitous Internet usage. Deliverable MW1
SicAri A security architecture and its tools for ubiquitous Internet usage Deliverable MW1 Interoperability with Component Standards and Web Services Version 1.0, December 31, 2004 Jan Oetting, usd.de
More informationProposal of a Multi-agent System for Indexing and Recovery applied to Learning Objects
Proposal of a Multi-agent System for Indexing and Recovery applied to Learning Objects Jonas Vian 1, Ricardo Azambuja Silveira 2, Renato Fileto 3 1 Federal University of Santa Catarina, Brazil, jonas.vian@inf.ufsc.br
More informationExtension and integration of i* models with ontologies
Extension and integration of i* models with ontologies Blanca Vazquez 1,2, Hugo Estrada 1, Alicia Martinez 2, Mirko Morandini 3, and Anna Perini 3 1 Fund Information and Documentation for the industry
More informationAn Architecture based hybrid approach for Network Management through Mobile Agents
An Architecture based hybrid approach for Network Management through Mobile Agents Sayana Catharin Paul, Soumya Thomas, Sreedevi.R, Syamala.s Abstract -- Conventional Simple Network Management Protocol
More informationUNIK Multiagent systems Lecture 3. Communication. Jonas Moen
UNIK4950 - Multiagent systems Lecture 3 Communication Jonas Moen Highlights lecture 3 Communication* Communication fundamentals Reproducing data vs. conveying meaning Ontology and knowledgebase Speech
More information