Integrating tuprolog into DCaseLP to Engineer Heterogeneous Agent Systems

Size: px
Start display at page:

Download "Integrating tuprolog into DCaseLP to Engineer Heterogeneous Agent Systems"

Transcription

1 Integrating tuprolog into DCaseLP to Engineer Heterogeneous Agent Systems Ivana Gungui and Viviana Mascardi Dipartimento di Informatica e Scienze dell Informazione DISI, Università di Genova, Via Dodecaneso 35, 16146, Genova, Italy. 1995s133@educ.disi.unige.it, mascardi@disi.unige.it Abstract. This paper discusses the integration of a Prolog implementation, tuprolog, into the DCaseLP environment for building prototypes of multi-agent systems (MASs). DCaseLP aims at providing the MAS developer with a plethora of specification and implementation languages in order to allow him/her to adopt the best language for each view of the system under specification/implementation. The integration of tuprolog into DCaseLP represents a step forward in this direction and allows the re-use of tools and mechanisms previously developed for the DCaseLP predecessor, CaseLP. 1 Introduction Multiagent Systems (MASs) involve heterogeneous components which have different ways of representing their knowledge about the world, about themselves, and about other agents, and which adopt different mechanisms for reasoning about this knowledge. Despite heterogeneity, agents need to interact and exchange information in order to cooperate or compete for the control of shared resources; this interaction may follow sophisticated communication protocols. For these reasons and due to the complexity of agents behaviour, MASs are difficult to be correctly and efficiently engineered. Even developing a working prototype may require a long time and a lot of different skills. In fact, the prototype can involve agents that would be better modelled and implemented by means of a language based on Horn clauses, agents that would be easily defined using an expert system-like language, and others that should be directly implemented in some implementation language, in order to access existing software packages or the web. Moreover, some general aspects of the MAS can be better specified with ad-hoc specification languages. For example, the MAS architecture, the internal agent architecture and the interaction protocols among agents can be easily specified using graphical tools and languages. The development of a prototype system of heterogeneous agents can be carried on in different ways. A first -trivial- solution consists of developing all the agents by means of the same implementation language and to execute the obtained program. If this approach is adopted, during the specification stage it would be natural to select a specification language that can be either directly executed or easily translated into code, and to specify all the agents in the MAS using it. An opposite solution would Parts of this document appear in [5].

2 be to specify each view of the MAS (including the MAS architecture, the interaction protocols among agents, the internal architecture and functioning of each agent) using the most suitable language capable to deal with the MAS s peculiar features, and to verify, execute, or animate the obtained specifications inside an integrated environment. Such an environment should offer the means to select the proper specification language for each view of the MAS, and to check the specifications. This check may be carried out thanks to formal validation and verification methods or by producing an executable code and running the prototype thus obtained. Despite its greater complexity, the last solution has many advantages over the first, trivial one. 1. By allowing the use of different specification languages for each view of the MAS, it supports the progressive refinement of specifications: for example, the specification of an interaction protocol performed during the early analysis stage does not need to be as detailed as the complete specification of an agent performed during the design stage; details can be progressively added while the engineering process goes on. 2. By allowing the use of different specification languages for the internal architecture and functioning of each agent, it respects the differences existing among agents, namely the way they reason and the way they represent their knowledge, the other agents, and the world. 3. By allowing different implementation languages to be integrated inside the same running prototype, it allows the direct implementation of some of the agents, skipping the specification stage. 4. In case more than one language fits the requirements of an agent/view under specification, it allows the developer to choose the language he/she knows best and likes, thus leading to more reliable specifications and implementations. Currently, solid and complete environments that allow the integration of heterogeneous specification and implementation languages in a seamless way do not exist yet, but some preliminary steps have been made in this direction, and some initial results have already been achieved with the development of prototypical environments for engineering heterogeneous agents. DCaseLP (Distributed CaseLP), integrates a set of specification and implementation languages in order to model and prototype MASs and defines a methodology which covers the engineering stages from requirements analysis to prototype execution, which relies on the use of AUML (Agent UML, [14]) both at the requirement analysis level and for describing the interaction protocols followed by the agents. Although the first release of DCaseLP [12,1] demonstrates that the concepts underlying the integrated environment for engineering heterogeneous MAS can be put into practice and can give interesting results, it suffers from two limitations that affect its applicability: 1. it does not provide the means to re-use the code and instruments already developed for the predecessor of DCaseLP, CaseLP [13]; and 2. it does not provide tools and languages for reasoning about properties of the interactions occurring among the agents.

3 The last limitation can be addressed by translating AUML interaction protocols into the DyLOG language [8,4,6], and then integrating DyLOG into DCaseLP. The exploitation of DyLOG to address the problems of protocol selection, composition and implementation conformance w.r.t. an AUML sequence diagram is dealt with in [7], while the integration of DyLOG into DCaseLP is discussed in [5]. The first limitation can be overcome by extending DCaseLP with the ability to integrate agents specified as Prolog theories, as shown in this paper. The structure of the paper is the following: Section 2 overviews the DCaseLP environment and discusses the outcomes of integrating an existing Prolog implementation, tuprolog, into DCaseLP, while Section 3 discusses the technical details of this integration. Section 4 shows an example of use of DCaseLP extended by tuprolog; conclusions follow. 2 The DCaseLP environment DCaseLP is a prototyping environment where agents specified and implemented in a given (and fairly limited!) set of languages can be seamlessly integrated. DCaseLP provides an agent-oriented software engineering methodology to guide the MAS developer during the analysis of the MAS requirements, the MAS design, and the development of a working MAS prototype. The methodology is shown in Figure 1. Solid arrows represent the information flow from one step to the next one. Dotted arrows represent the iterative refinement of previous choices. The first release of DCaseLP did not deal with all the stages of the methodology. In particular, the verification stage was not addressed. In the same way as the integration of DyLOG into DCaseLP will allow us to formally verify properties of communication protocols, the integration of tuprolog into DCaseLP discussed in Section 3 will allow us to address the verification phase by re-using the verification mechanisms developed for CaseLP ([13], Sections 3.3 and 4.4). DCaseLP is the result of the effort to re-implement CaseLP [13] in order to overcome its main limitations, namely: 1. its centralization, 2. its poor support to concurrency, and 3. its lack of adherence to existing standards. The tools and languages supported by the first release of DCaseLP, discussed in [12,1], are represented in Figure 2 by means of the darker boxes. Lighter boxes represent the desired extensions in respect to that release. Some of these extensions have already been made, while some are currently being made, and some others are just part of our future work. DCaseLP adopts an existing multiview, use-case driven and UML-based method [2,3] in the phase of requirements analysis. Once the requirements of the application have been clearly identified, the developer can use UML and its agent-oriented extension AUML to describe the interaction protocols followed by the agents, the general MAS architecture and the agent classes and instances. Moreover, the developer can also automatically create the rule-based code for the agents in the MAS in such a way that the UML/AUML specification is satisfied.

4 Fig. 1. DCaseLP methodology. Fig. 2. Tools and languages supported by DCaseLP, first release.

5 In the following, we will assume to use AUML during the requirements analysis stage, although the translation from AUML into rule-based code is not fully automated (while the translation from pure UML into code is). The rule-based language used for the implementation of DCaseLP agents is Jess [11]. The Jess code obtained from the translation of AUML diagrams must be manually completed by the developer with the behavioural knowledge which was not explicitly provided at the specification level. On the one hand, the developer does not need a deep insight in rule-based languages in order to complete the Jess code, since he/she is guided by comments included in the automatically generated code. In this way, a developer who is not confident with rule-based languages can concentrate on the AUML specification and make a little effort to complete the rule-based code in order to make it executable. On the other hand, the developer who prefers to define agents in a declarative language can skip the AUML specification stage and directly write the Jess code. The choice of Jess as the language for implementing agents was lead by two considerations: 1. being a rule-based language, Jess is suitable for representing both the event-driven and the goal-driven behaviours of the agents; 2. being implemented in Java, Jess can be easily integrated into the FIPA-compliant JADE platform. JADE (Java Agent Development Framework, [9]) provides both a middle-ware that complies with the FIPA specifications [10] and a set of graphical tools that support the debugging and deployment phases. The agents can be distributed across several machines and they can run concurrently. The adoption of JADE as the underlying platform for implementing DCaseLP was a must in order to overcome the three limitations of CaseLP. In fact, JADE is distributed, allows the concurrent execution of agents, and is FIPA-compliant. By integrating Jess into JADE, we were able to easily monitor and debug the execution of Jess agents thanks to the monitoring facilities that JADE provides. The experiments carried out with the first release of DCaseLP were on a single machine (see Figure 2: there is only one dark box labelled with PC under the JADE box). The possibility of running the prototype allowed the first release of DCaseLP to demonstrate its ability in checking the coherence of the AUML diagrams produced during the requirements analysis step. Performing such a check is a well known and still open problem that we could face without additional effort. Nevertheless, that release still suffered from one limitation: it was not able to integrate any Prolog implementation. The predecessor of DCaseLP, namely CaseLP, is implemented in Sicstus Prolog [15], and a lot of work has been done to study and define semi-automatic translators from high-level specification languages into CaseLP agents, namely agents described in Sicstus Prolog extended with communication primitives. Limited support to formal verification of specifications completely missing in DCaseLP is indeed provided by CaseLP. Without the integration of Prolog into DCaseLP, all that work would have been lost. Recently, we have extended DCaseLP with the ability to integrate agents specified as Prolog theories. Section 3 discusses how we have integrated an existing Prolog implementation, tuprolog [16], into DCaseLP. The choice of tuprolog was due to two of its features:

6 1. it is implemented in Java, which makes its integration into JADE easier, and 2. it is very light, which ensures a certain level of efficiency to the prototype. The integration of tuprolog into DCaseLP has been completed very recently. Due to the syntactic differences existing between Sicstus Prolog and tuprolog, CaseLP agents specified using Sicstus Prolog cannot be simply treated as if they were DCaseLP agents specified using tuprolog: a translation step from Sicstus Prolog for CaseLP agents to tuprolog for DCaseLP agents is necessary. We guess that this translation step can be easily automatised, thus allowing us to re-use the tools developed for CaseLP inside DCaseLP; however, its implementation has not been completed due to lack of time. Again due to time limitations, we did not verify the ability to run JADE, Jess and tuprolog agents as part of the same, heterogeneous, MAS. At the time of writing, we have only developed some examples (one of which is discussed in Section 4) that demonstrate that tuprolog agents are able to interact with both tuprolog and JADE agents by taking advantage of the underlying communication middle-ware provided by JADE, and that the execution of the resulting MAS can be monitored using the tools offered by JADE. When the translator Sicstus Prolog tuprolog will be ready, and when the compatibility between Jess and tuprolog agents will be fully established, DCaseLP will be closer than now to the integrated environment for engineering heterogeneous MASs envisaged in Section 1. In particular, 1. It will support the progressive refinement of specifications: for example, the interactions among agents belonging to the MAS and among internal components of the same agent will be specified in some suitable language (AUML, other languages provided by CaseLP), will be then formally verified, and will be finally implemented by adding all the details needed by the MAS or by the single agent to work. 2. It will respect the differences existing among agents: an agent which reasons in a goal-driven, backward fashion will be easily defined by means of a tuprolog theory; a rule-based agent will be better defined using Jess. 3. It will allow the direct implementation of some of the agents: JADE agents are basically Java agents and thus they are implemented agents, rather than specified agents. 4. It will allow the developer to choose the language he/she knows best and likes: it will provide a bunch of languages to choose from. 3 Integrating tuprolog into DCaseLP The integration of tuprolog into DCaseLP has been carried out in order to provide the developer of the MAS with a means to define the behaviour of an agent by using another declarative language besides Jess, and to re-use the code and instruments previously developed for CaseLP. To do so, tuprolog has been integrated into JADE. JADE includes a specific package to develop Java agents and a programmer s guide containing implementation guidelines that the developer should follow to code his/her agents in Java. Any Java class that extends the class Agent defined in the package jade.core of JADE can be considered as a JADE agent. To add tuprolog in DCaseLP, three Java classes have been defined in a package named tupinjade:

7 1. the class JadeShell42P, which represents a tuprolog agent in JADE; 2. the class JadeShell42PGui that provides an additional GUI at the loading of the agent; and 3. the class TuJadeLibrary, which is a tuprolog library (developed in Java) necessary to a tuprolog agent in order to communicate in the JADE platform. As the name of the class suggests, JadeShell42P behaves as a shell for a tuprolog engine. To execute a JadeShell42P agent in JADE, the programmer has to give, in input, the name of a file containing a tuprolog theory that represents the behaviour of the agent (Figure 3). The class JadeShell42PGui differs from class Fig. 3. JADE shell for a tuprolog engine. JadeShell42P in the fact that, when loaded into JADE, it does not need the name of the theory file in the command line: it loads the pop-up window shown in Figure 4 with which the user can browse the file system and select from the list of files the one defining a tuprolog theory to be used as behaviour of the agent. Such a tuprolog the- Fig. 4. Window for theory selection. ory file has only one restriction: it has to begin with the definition of a predicate called

8 main/0. When a tuprolog agent is loaded into JADE, it first creates a tuprolog engine that supports the standard tuprolog libraries and then extends them by loading the adhoc tuprolog library named TuJadeLibrary. The behaviour of any tuprolog agent is to use the tuprolog engine, created during its initialisation phase, to always solve the predicate main. A typical main predicate calls predicates to read a new message, handle it and carry out some actions such as update of the agent s knowledge and message delivery. The goal s demonstration is not visible to the programmer: if he/she wants to be informed of the variable s bindings made during resolution, he/she has to explicitly write the variables on the standard output or in some files that he/she can subsequently go to and read. The only explicit information which is provided for the user regards the failure of the goal s demonstration and other situations which raise an error during the resolution process. To make this information visible, the package tupinjade defines the Java class ErrorMsg, that is used by the tuprolog agents as a pop-up window displaying error and failure messages, like the one shown in Figure 5. The Fig. 5. Window for error and failure messages. Java class JadeShell42P defines the inner class Shell42PBehaviour (named Shell42PBehaviourGui in the class JadeShell42PGui) that extends the Java class CyclicBehaviour defined in the package jade.core.behaviours of JADE. Shell42PBehaviour implements the only behaviour of a JadeShell42P agent: every time the agent is scheduled by the JADE s scheduler, it tries to fulfill only one activity, that is, the resolution of the goal main. The Shell42PBehaviour models a cyclic task and cannot be interrupted while executing its action method. The result is the same as if the agent performed a while true do main statement, with main being dealt with as an atomic action. The Java class TuJadeLibrary is the core class dealing with communication of tuprolog agents in JADE. This library defines the predicates send and receive: they are the directives implementing the sending and receiving of the FIPA compliant and asynchronous messages to and from agents of a JADE platform. The send and receive predicates simply invoke the send and receive methods of a JADE agent, therefore they not only allow communication among tuprolog agents but also among ordinary JADE agents and tuprolog agents. The arguments of the send predicate are: the performative, the content and the JADE address/list of addresses of the receiver/receivers of the message. The arguments of the receive predicate are: the performative, the content and the JADE address of the sender of the message. Actually, since JADE agents have the possibility to stop their

9 activity while waiting for a message to arrive in their messages queue, the TuJadeLibrary also defines two blocking receive predicates: one without a timeout and the other with a timeout. These predicates correspond to the blockingreceive method of an ordinary JADE agent. Finally, TuJadeLibrary defines two predicates for converting strings into terms and vice-versa, named pack and unpack. They allow tuprolog agents to send strings as the content of their messages, and to reason over them as if they were tuprolog terms. 4 Example To show how DCaseLP can be used to develop a working MAS prototype, we use a simple example drawn from a distributed marketplace scenario. In such a marketplace, there are two agents (buyer1 and buyer2) that want to buy some fruit (oranges, apples and kiwi) from three agents (seller, seller1 and seller2). Agents buyer1, buyer2, seller1 and seller2 are all tuprolog agents, while seller is an ordinary JADE agent. The agents that sell fruit can receive two kinds of FIPA ACL messages from the buyers: 1. a request for price: the message received has the performative REQUEST and the content price(fruit), where Fruit is oranges or apples or kiwi; 2. a request for buying: the message received has the performative REQUEST and the content buy(fruit, Amount), where Fruit is oranges or apples or kiwi, while Amount is the quantity of fruit that the buyer wants to buy. A seller replies to a price request made by a buyer by sending an INFORM message that has the content price(fruit, Price), where Fruit is oranges or apples or kiwi and Price is the corresponding price. The reply to a request for buying depends on whether or not the seller has enough fruit to sell: in case the quantity of fruit that the buyer is willing to buy is less or equal to the one possessed by the seller, the seller will send the buyer an INFORM message with the content bought(fruit), to inform the buyer that the fruit Fruit has been sold. On the other hand, if the seller does not own enough fruit, it sends the buyer an INFORM message with the content no more(fruit), so the buyer will know it can no longer buy Fruit from that seller. At the beginning, the buyers send a request for the price of all the fruit to all the sellers. Once they know the prices of the fruit, they send requests for buying fruit to the agents that sell it at the cheapest price. The buyers keep sending messages requesting to buy fruit while they still have money and the sellers have enough fruit to sell. To give the flavor of how a tuprolog agent looks like, the code below shows a piece of the tuprolog theory defining the behaviour of buyer1. main :- handle msgs, ask prices, buy goods.

10 goods possessed(oranges, 0) :- true. goods possessed(apples, 0) :- true. goods possessed(kiwi, 0) :- true. buys(goods(oranges), quantity(2)) :- true. buys(goods(apples), quantity(3)) :- true. buys(goods(kiwi), quantity(12)) :- true. money(200) :- true. sellers :- true.... handle msgs :- receive(performative, Message, Sender), select(performative, Message, Sender). select(performative, Message, Sender) :- bound(performative), bound(message), address name(sender, Name), unpack(message,termmsg), handle(performative, TermMsg, Sender). select(,, ) :- true. handle("inform", bought(goods), Sender) :- bound(goods), address name(sender,s), price(s,goods,p), retract(money(m)), retract(goods possessed(goods,x)), buys(goods(goods),quantity(q)), N is X + Q, P \= na, NM is M - P, assert(money(nm)), assert(goods possessed(goods,n)).

11 The main predicate defines three activities which consist in handling incoming messages, asking the price of fruit from sellers (only at the beginning, when the buyer does not yet know the prices) and buying fruit. After defining the main predicate, the theory declares the initial state of the buyer: buyer1 possesses no fruit, buys oranges in stocks of 2 kilograms, apples in stocks of 3 kilograms and kiwi in stocks of 12 kilograms, and has 200 Euro to spend. The list of addresses of the sellers follows (sellers addresses), together with other information not relevant in this context. The handling of messages consists of receiving one message (calling the receive predicate provided by the TuJadeLibrary and introduced in Section 3) and transforming its content, which is a string, into a tuprolog term (calling the user-defined predicate select). The select predicate calls the unpack predicate provided by the TuJadeLibrary in order to transform the string that represents the content of the message into a term, and then it calls the user-defined handle predicate on the performative of the message, the obtained term, and the sender of the message. In the example considered, a buyer receives a message whose content is the string bought(goods). The buyer knows the price of Goods (by solving the goal price(s, Goods,P)) and it knows the quantity of Goods it bought (by solving the goal buys(goods(goods),quantity(q))). Having succeeded in buying Goods, the buyer must update both the possessed amount of Goods and the remaining money (calls to standard Prolog predicates retract, is and assert). Similar definitions of the predicate handle are provided for any other message that the buyer may receive. The ordinary JADE agent, seller, is characterised by a Java code partly shown below. package tupinjade; import jade.core.agent; import jade.core.aid; import jade.core.behaviours.cyclicbehaviour; import jade.lang.acl.aclmessage; public class Seller extends Agent { private int orangesamount = 5; private int applesamount = 5; private int kiwiamount = 10; private int orangesprice = 105; private int applesprice = 80; private int kiwiprice = 100; protected void setup() { SellBehaviour p = new SellBehaviour(this); addbehaviour(p); }} class SellBehaviour extends CyclicBehaviour

12 { private static boolean done = false; public SellBehaviour(Agent a) { super(a); } public void action() { ACLMessage msg; while (!done) { msg = myagent.receive(); if (msg!= null) handlemsgs(msg);}} The Seller class extends the JADE Agent class as any agent running in JADE must do. The behaviour of the seller is a cyclic behaviour (class SellBehaviour extends CyclicBehaviour) which continuously checks for a message (msg = myagent.receive()) and, if a message is present, handles it (if (msg!= null) handlemsgs(msg)). Once all the agents have been specified using tuprolog or JADE, they can be loaded into JADE and the execution of the obtained prototype can start. JADE offers the possibility to follow the communication between the agents by means of the sniffer agent which is a GUI whose output is shown in Figure 6. Fig. 6. Output of the JADE sniffer agent.

13 The state of the agents mailboxes can be inspected thanks to the introspector agent, a GUI too. Figure 7 shows the state of the mailbox of buyer2. This screen-shot was taken at the beginning of the simulation; all the INFORM messages shown are answers to price requests previously issued by buyer2 to the sellers. Fig. 7. JADE window showing the communication among agents. Details on the messages exchanged can also be inspected. Figure 8 shows the request for the price of kiwi sent by buyer2 to seller1. Figure 9 shows the answer to this request. Fig. 8. Price request from buyer2 to seller1. The execution and monitoring of the prototype, obtained by exploiting the tools provided by JADE, allow the developer to verify whether the agents work well according

14 Fig. 9. Price answer from seller1 to buyer2. to their intended behaviour. The sniffer agent also allows to save into a file the messages exchanged by the agents. When that file is loaded by the user through the sniffer agent, it is possible to view the details of each message by clicking on the arrow representing the exchange of a message. A user can then check if the messages have been sent in the expected order (for example, that all the buyers ask for the price of fruit first, and start buying fruit afterwards), by viewing the content of every single message displayed in the canvas of the agent sniffer. Without the integration of tuprolog into JADE, verifying the correctness of communication between agents implemented in Prolog could only be done by hand: the developer had to put breakpoints in his/her code or he/she had to write messages on the standard output or in a separate file in order to follow what was going on during the prototype execution. CaseLP offers graphical debugging tools more sophisticated than this by-hand inspection. Nevertheless, the adoption of the instruments already provided by a standard, FIPA-compliant and open-source platform, represents an improvement to the use of proprietary instruments offered by CaseLP. 5 Conclusions and future work In this paper we have discussed the integration of a Prolog implementation, tuprolog, into the DCaseLP prototyping environment. Recently, the integration of the DyLOG executable logic-based language into DCaseLP has been designed, thus enriching the set of specification/implementation languages supported by DCaseLP. The integration of tuprolog into DCaseLP represents another step forward in this direction and gives us two main advantages: 1. It allows us to re-use the work previously done with CaseLP regarding the study and the definition of semi-automatic translators from high-level specification languages into Prolog-based communicative agents. 2. It represents a relevant example that we can follow to implement a new DyLOG interpreter in Java, and to integrate this new interpreter into DCaseLP.

15 Currently, the two advantages above cannot be exploited in practice because we did not have time enough to implement all the components, so we need to make the integration of DyLOG and the languages provided by CaseLP usable. Our future efforts will be channelled in this implementative direction, in order to make DCaseLP the integrated environment for engineering and prototyping heterogeneous MAS that it was intended to be. References 1. E. Astesiano, M. Martelli, V. Mascardi, and G. Reggio. From Requirement Specification to Prototype Execution: a Combination of a Multiview Use-Case Driven Method and Agent- Oriented Techniques. In J. Debenham and K. Zhang, editors, Proc. of SEKE 03. The Knowledge System Institute, E. Astesiano and G. Reggio. Knowledge Structuring and Representation in Requirement Specification. In Proc. of SEKE 02. ACM Press, E. Astesiano and G. Reggio. Tight Structuring for Precise UML-based Requirement Specifications: Complete Version. Technical Report DISI TR 03 06, DISI, Università di Genova, Italy, M. Baldoni, C. Baroglio, L. Giordano, A. Martelli, and V. Patti. Reasoning about communicating agents in the semantic web. In F. Bry, N. Henze, and J. Maluszynski, editors, Proc. of PPSWR 03, Springer-Verlag, M. Baldoni, C. Baroglio, I. Gungui, A. Martelli, M. Martelli, V. Mascardi, V. Patti, and C. Schifanella. Reasoning about agents interaction protocols inside DCaseLP. In Proc. of DALT 04. To appear. 6. M. Baldoni, C. Baroglio, A. Martelli, and V. Patti. Reasoning about interaction protocols for web service composition. In M. Bravetti and G. Zavattaro, editors, Proc. of the WS-FM 04. Elsevier Science Direct, Electronic Notes in Theoretical Computer Science. 7. M. Baldoni, C. Baroglio, A. Martelli, and V. Patti. Reasoning about logic-based agent interaction protocols. In this volume. 8. M. Baldoni, L. Giordano, A. Martelli, and V. Patti. Programming rational agents in a modal action logic. Annals of Mathematics and Artificial Intelligence, Special issue on Logic-Based Agent Implementation. To appear. 9. F. Bellifemine, G. Caire, A. Poggi, and G. Rimassa. JADE a white paper. Available at FIPA Specifications Jess home page M. Martelli and V. Mascardi. From UML diagrams to Jess rules: Integrating OO and rulebased languages to specify, implement and execute agents. In F. Buccafurri, editor, Proc. of AGP 03, M. Martelli, V. Mascardi, and F. Zini. CaseLP: a prototyping environment for heterogeneous multi-agent systems. Available at MascardiV/Download/aamas-journal-MMZ04.ps.gz. 14. J. Odell, H. V. D. Parunak, and B. Bauer. Extending UML for agents. In Proc. of AOIS 00, SICStus Prolog home page. index.html. 16. TuProlog home page.

The tupinjade package

The tupinjade package The tupinjade package The tupinjade package defines the following classes: ErrorMsg: this class is used by the tuprolog agents running in a JADE platform with the aim of displaying a pop-up window with

More information

Reasoning about Agents Interaction Protocols inside DCaseLP

Reasoning about Agents Interaction Protocols inside DCaseLP Reasoning about Agents Interaction Protocols inside DCaseLP M. Baldoni, C. Baroglio, I. Gungui, A. Martelli, M. Martelli, V. Mascardi, V. Patti, C. Schifanella Dipartimento di Informatica Università degli

More information

DCaseLP: a Prototyping Environment for Multilingual Agent Systems

DCaseLP: a Prototyping Environment for Multilingual Agent Systems DCaseLP: a Prototyping Environment for Multilingual Agent Systems Ivana Gungui, Maurizio Martelli and Viviana Mascardi Dipartimento di Informatica e Scienze dell Informazione DISI, Università di Genova,

More information

MASSiVE, Unità di Torino

MASSiVE, Unità di Torino MASSiVE, Unità di Torino Personalization, verification and conformance for logic-based communicating agents M. Baldoni, C. Baroglio, A. Martelli, V. Mascardi, V. Patti, C. Schifanella, L. Torasso 1 Main

More information

Programming Agents with JADE for Multi-Agent Systems

Programming Agents with JADE for Multi-Agent Systems Programming Agents with JADE for Multi-Agent Systems Ass.Lecturer Noor Thamer Based on Jade, Java and Eclipse documentation Ass.Lecturer Noor Thamer 1 Content Briefly about components JADE overview Setting

More information

PrettyProlog: A Java Interpreter and Visualizer of Prolog Programs

PrettyProlog: A Java Interpreter and Visualizer of Prolog Programs PrettyProlog: A Java Interpreter and Visualizer of Prolog Programs Poster Paper Alessio Stalla Viviana Mascardi Maurizio Martelli DISI - Università di Genova, Via Dodecaneso 35, 16146, Genova, Italy. alessiostalla@gmail.com,

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

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

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

From Requirement Specification to Prototype Execution: a Combination of a Multiview Use-Case Driven Method and Agent-Oriented Techniques

From Requirement Specification to Prototype Execution: a Combination of a Multiview Use-Case Driven Method and Agent-Oriented Techniques From Requirement Specification to Prototype Execution: a Combination of a Multiview Use-Case Driven Method and Agent-Oriented Techniques E. Astesiano M. Martelli V. Mascardi G. Reggio Email: astes, martelli,

More information

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Multi-Agent Systems

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Multi-Agent Systems Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Multi-Agent Systems JADE Prof. Agostino Poggi What is FIPA? Foundation for Intelligent Physical

More information

Meta-Modeling Communication and Interaction inside MASs with Ontologies

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

Artificial Intelligence Agent Oriented Software Engineering

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

Conservative re-use ensuring matches for service selection

Conservative re-use ensuring matches for service selection Conservative re-use ensuring matches for service selection M. Baldoni, C. Baroglio, V. Patti, and C. Schifanella Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

Introduction - GAMA. Gis & Agent-based Modeling Architecture. Agent-based, spatially explicit, modeling and simulation platform.

Introduction - GAMA. Gis & Agent-based Modeling Architecture. Agent-based, spatially explicit, modeling and simulation platform. Econofisica / Econophysics, Prof. Terna Anno accademico 2016/2017 GAMA Gis & Agent-based Modeling Architecture JADE JAVA Agent DEvelopment Framework Dr. Jacopo Pellegrino - http://personalpages.to.infn.it/~japelleg/

More information

Integrating Agents, Ontologies, and Web Services to Build Flexible Sketch-based Applications

Integrating Agents, Ontologies, and Web Services to Build Flexible Sketch-based Applications Integrating Agents, Ontologies, and Web s to Build Flexible Sketch-based Applications Giovanni Casella 1,2 and Vincenzo Deufemia 2 1 Dipartimento di Informatica e Scienze dell Informazione Università di

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

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

Verification of protocol conformance and agent interoperability

Verification of protocol conformance and agent interoperability Verification of protocol conformance and agent interoperability Matteo Baldoni, Cristina Baroglio, Alberto Martelli, and Viviana Patti Dipartimento di Informatica Università degli Studi di Torino C.so

More information

exat: an Experimental Tool for Programming Multi-Agent Systems in Erlang

exat: an Experimental Tool for Programming Multi-Agent Systems in Erlang exat: an Experimental Tool for Programming Multi-Agent Systems in Erlang Antonella Di Stefano, Corrado Santoro University of Catania - Engineering Faculty Dept. of Computer Science and Telecommunication

More information

Reasoning about interaction protocols for customizing web service selection and composition

Reasoning about interaction protocols for customizing web service selection and composition The Journal of Logic and Algebraic Programming 70 (2007) 53 73 www.elsevier.com/locate/jlap Reasoning about interaction protocols for customizing web service selection and composition Matteo Baldoni, Cristina

More information

West2East: Exploiting WEb Service Technologies to Engineer Agent-based SofTware

West2East: Exploiting WEb Service Technologies to Engineer Agent-based SofTware West2East: Exploiting WEb Service Technologies to Engineer Agent-based SofTware Giovanni Casella 1,2 and Viviana Mascardi 2, 1 DMI, Università di Salerno, Via Ponte don Melillo, 84084, Fisciano (SA), Italy

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

Processing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer

Processing 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 1 Alejandro J. García 2 Artificial Intelligence Research and Development Laboratory Department

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

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

Specification and Simulation of Multi-Agent Systems in CaseLP

Specification and Simulation of Multi-Agent Systems in CaseLP Specification and Simulation of Multi-Agent Systems in CaseLP Maurizio Martelli Viviana Mascardi Floriano Zini D.I.S.I. - Università di Genova Via Dodecaneso 35, 16146 Genova, Italy E-mail: {martelli,mascardi,zini}@disi.unige.it

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

A Multi-Agent System for Hand-drawn Diagram Recognition

A Multi-Agent System for Hand-drawn Diagram Recognition A Multi-Agent System for Hand-drawn Diagram Recognition G. Casella 1,2, V. Deufemia 1, V. Mascardi 2 1 DMI Università di Salerno Via Ponte don Melillo 84084, Fisciano (SA), Italy deufemia@unisa.it 2 DISI

More information

Design and Implementation of a NetLogo Interface for the Stand-Alone FYPA System

Design and Implementation of a NetLogo Interface for the Stand-Alone FYPA System Design and Implementation of a NetLogo Interface for the Stand-Alone FYPA System Daniela Briola and Viviana Mascardi Dipartimento di Informatica e Scienze dell Informazione (DISI) Università degli Studi

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

Relationships Meet their Roles in Object Oriented Programming

Relationships Meet their Roles in Object Oriented Programming Relationships Meet their Roles in Object Oriented Programming Matteo Baldoni 1, Guido Boella 2, and Leendert van der Torre 3 1 Dipartimento di Informatica - Università di Torino - Italy. email: baldoni@di.unito.it

More information

Overview of a Scripting Language for JADE-Based Multi-Agent Systems

Overview of a Scripting Language for JADE-Based Multi-Agent Systems Overview of a Scripting Language for JADE-Based Multi-Agent Systems Federico Bergenti, Giuseppe Petrosino Dipartimento di Scienze Matematiche, Fisiche e Informatiche Università degli Studi di Parma, 43124

More information

Processing Interaction Protocols in Parallel: a Logic Programming implementation for Robotic Soccer

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

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

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

Relationships Meet Their Roles in Object Oriented Programming

Relationships Meet Their Roles in Object Oriented Programming Relationships Meet Their Roles in Object Oriented Programming Matteo Baldoni 1, Guido Boella 1, and Leendert van der Torre 2 1 Dipartimento di Informatica - Università ditorino-italy baldoni@di.unito.it

More information

Flexible Pattern Management within PSYCHO

Flexible Pattern Management within PSYCHO Flexible Pattern Management within PSYCHO Barbara Catania and Anna Maddalena Dipartimento di Informatica e Scienze dell Informazione Università degli Studi di Genova (Italy) {catania,maddalena}@disi.unige.it

More information

1. The jessinjade Package

1. The jessinjade Package 1. The jessinjade Package We call "Jess agents" those agents that are JADE agents, since they extend the JADE "Agent" class, but whose initial beliefs and behaviour are defined in the Jess language. The

More information

Distributed Runtime Verification of JADE Multiagent Systems

Distributed Runtime Verification of JADE Multiagent Systems Distributed Runtime Verification of JADE Multiagent Systems Daniela Briola, Viviana Mascardi and Davide Ancona Abstract Verifying that agent interactions in a multiagent system (MAS) are compliant to a

More information

Integrating Ontologies into Distributed Multi-Agent System

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

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

and raw producer respectively, hold big role in market activities that can give impact to each other. Industries need the farmers to fulfill their raw

and raw producer respectively, hold big role in market activities that can give impact to each other. Industries need the farmers to fulfill their raw Design of Intelligent Agents Based System for Commodity Market Simulation with JADE Hendra Gunawan Department of Computer Science, Gunadarma University, West Java, Indonesia E-mail: hendrabiter@gmail.com

More information

A Brief Introduction to Coloured Petri Nets

A Brief Introduction to Coloured Petri Nets A Brief Introduction to Coloured Petri Nets Kurt Jensen Computer Science Department, University of Aarhus NyMunkegade, Bldg. 540, DK-8000 AarhusC, Denmark E-mml: kjensen9 WWV~: http://www.daimi.aau.dk/~kjensen/

More information

Developing multi-agent systems with a FIPA-compliant agent framework

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

XML ALONE IS NOT SUFFICIENT FOR EFFECTIVE WEBEDI

XML ALONE IS NOT SUFFICIENT FOR EFFECTIVE WEBEDI Chapter 18 XML ALONE IS NOT SUFFICIENT FOR EFFECTIVE WEBEDI Fábio Ghignatti Beckenkamp and Wolfgang Pree Abstract: Key words: WebEDI relies on the Internet infrastructure for exchanging documents among

More information

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES Christian de Sainte Marie ILOG Introduction We are interested in the topic of communicating policy decisions to other parties, and, more generally,

More information

Antonella Di Stefano, Corrado Santoro. (presenting)

Antonella Di Stefano, Corrado Santoro. (presenting) Antonella Di Stefano, Corrado Santoro (presenting) Motivations Erlang Language exat: Tool & Case-Studies Conclusions Agent Programming Two Main Aspects Agent Behaviour FSM-Based (State, Event) (State,

More information

Functional verification on PIL mode with IAR Embedded Workbench

Functional verification on PIL mode with IAR Embedded Workbench by Cristina Marconcini, STM CASE s.r.l. Functional verification on PIL mode with IAR Embedded Workbench The increase of complexity of embedded system components combined with time-to-market constraints

More information

Dipartimento di Informatica e Scienze dell Informazione

Dipartimento di Informatica e Scienze dell Informazione Dipartimento di Informatica e Scienze dell Informazione CaseLP, a Rapid Prototyping Environment for Agent-Based Software by Floriano Zini Theses Series DISI-TH-2001-03 DISI, Università di Genova v. Dodecaneso

More information

A Method for Requirements Capture and Specification based on Disciplined Use Cases and Screen Mockups

A Method for Requirements Capture and Specification based on Disciplined Use Cases and Screen Mockups A Method for Requirements Capture and Specification based on Disciplined Use Cases and Screen Mockups Gianna Reggio, Maurizio Leotta, Filippo Ricca Abstract: We present a novel method for capturing and

More information

The protocols are governed by the FIPA organization and their precise definitions are available at

The protocols are governed by the FIPA organization and their precise definitions are available at 2. Communication Protocols Communication protocols were created to allow the agents to communicate regardless of their implementation, including the environment and the programming language. The protocols

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

THE APPROACH TO PROGRAMMING AGENT-BASED SYSTEMS. Dmitry Cheremisinov Liudmila Cheremisinova

THE APPROACH TO PROGRAMMING AGENT-BASED SYSTEMS. Dmitry Cheremisinov Liudmila Cheremisinova THE APPROACH TO PROGRAMMING AGENT-BASED SYSTEMS Dmitry Cheremisinov Liudmila Cheremisinova The United Institute of Informatics Problems of National Academy of Sciences of Belarus 8-th International Workshop

More information

And Parallelism. Parallelism in Prolog. OR Parallelism

And Parallelism. Parallelism in Prolog. OR Parallelism Parallelism in Prolog And Parallelism One reason that Prolog is of interest to computer scientists is that its search mechanism lends itself to parallel evaluation. In fact, it supports two different kinds

More information

SMART RESOURCE PROTOTYPE ENVIRONMENT V. 2.0 DELIVERABLE 2.3

SMART RESOURCE PROTOTYPE ENVIRONMENT V. 2.0 DELIVERABLE 2.3 IOG SMART RESOURCE PROTOTYPE ENVIRONMENT V. 2.0 DELIVERABLE 2.3 Technical report SmartResource: Proactive Self-Maintained Resources in Semantic Web 12/13/2005 University of Jyväskylä Agora Center Author:

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

Software Agent Computing. Agent Mobility

Software Agent Computing. Agent Mobility Software Agent Computing Agent Mobility Planning mobility roadmap Agent mobility = to migrate or to make a copy (clone) itself across one or multiple network hosts Support for mobility in JADE: a set of

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

Deriving Trading Rules Using Gene Expression Programming

Deriving Trading Rules Using Gene Expression Programming 22 Informatica Economică vol. 15, no. 1/2011 Deriving Trading Rules Using Gene Expression Programming Adrian VISOIU Academy of Economic Studies Bucharest - Romania Economic Informatics Department - collaborator

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

A Teaching Environment to Model and Simulate Computer Processors

A Teaching Environment to Model and Simulate Computer Processors A Teaching Environment to Model and Simulate Computer Processors Sebastiano PIZZUTILO and Filippo TANGORRA Dipartimento di Informatica Università degli Studi di Bari via Orabona 4, 70126 Bari ITALY Abstract:

More information

Design and Development of a Platform for Processing Bio-Images and Signals Using Agent Oriented Programming

Design and Development of a Platform for Processing Bio-Images and Signals Using Agent Oriented Programming Design and Development of a Platform for Processing Bio-Images and Signals Using Oriented Programming G.Tholkappia Arasu 1, S. Mathankumar 2, A.Nagappan 3 P.G. Student, Department of Biomedical Engineering,

More information

AGENT COMMUNICATION AND NEGOTIATION IN A SUPPLY CHAIN

AGENT COMMUNICATION AND NEGOTIATION IN A SUPPLY CHAIN AGENT COMMUNICATION AND NEGOTIATION IN A SUPPLY CHAIN A Paper Submitted to the Graduate Faculty of the North Dakota State University of Agriculture and Applied Science By Rajat Upadhyay In Partial Fulfillment

More information

Communication Ontological Description Process Fragment

Communication Ontological Description Process Fragment Consiglio Nazionale delle Ricerche Istituto di Calcolo e Reti ad Alte Prestazioni Communication Ontological Description Process Fragment M. Cossentino, V. Seidita Rapporto Tecnico N.: RT-ICAR-PA-10-01

More information

West2East: exploiting WEb Service Technologies to Engineer Agent-based SofTware

West2East: exploiting WEb Service Technologies to Engineer Agent-based SofTware 396 Int. J. Agent-Oriented Software Engineering, Vol. 1, Nos. 3/4, 2007 West2East: exploiting WEb Service Technologies to Engineer Agent-based SofTware Giovanni Casella DMI, Università di Salerno Via Ponte

More information

Designing a Development Environment for Logic and Multi-Paradigm Programming

Designing a Development Environment for Logic and Multi-Paradigm Programming Designing a Development Environment for Logic and Multi-Paradigm Programming Giulio Piancastelli 1 and Enrico Denti 2 1 DEIS Alma Mater Studiorum Università di Bologna via Venezia 52, I-47023 Cesena, FC,

More information

BPAL: A Platform for Managing Business Process Knowledge Bases via Logic Programming

BPAL: A Platform for Managing Business Process Knowledge Bases via Logic Programming BPAL: A Platform for Managing Business Process Knowledge Bases via Logic Programming Fabrizio Smith, Dario De Sanctis, Maurizio Proietti National Research Council, IASI Antonio Ruberti - Viale Manzoni

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

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

Chapter 4 Message Brokers

Chapter 4 Message Brokers Chapter 4 Message Brokers The messaging systems described in the previous chapter can be seen as an integration infrastructure based on message queues that applications can use to communicate with each

More information

Applying UML Modeling and MDA to Real-Time Software Development

Applying UML Modeling and MDA to Real-Time Software Development Michael Benkel Aonix GmbH www.aonix.de michael.benkel@aonix.de Applying UML Modeling and MDA to Real-Time Software Development The growing complexity of embedded real-time applications requires presentation

More information

Specification of Behavioural Requirements within Compositional Multi-Agent System Design

Specification of Behavioural Requirements within Compositional Multi-Agent System Design Specification of Behavioural Requirements within Compositional Multi-Agent System Design Daniela E. Herlea 1, Catholijn M. Jonker 2, Jan Treur 2, Niek J.E. Wijngaards 1,2 1 University of Calgary, Software

More information

Practical Case Studies in Teaching Concurrency. A. J. Cowling

Practical Case Studies in Teaching Concurrency. A. J. Cowling Practical Case Studies in Teaching Concurrency A. J. Cowling Department of Computer Science, University of Sheffield, Sheffield, S10 2TN, UK. Telephone: +44 114 222 1823; Fax: +44 114 222 1810; Email:

More information

Improving Adaptive Hypermedia by Adding Semantics

Improving Adaptive Hypermedia by Adding Semantics Improving Adaptive Hypermedia by Adding Semantics Anton ANDREJKO Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovak republic andrejko@fiit.stuba.sk

More information

Business Activity. predecessor Activity Description. from * successor * to. Performer is performer has attribute.

Business Activity. predecessor Activity Description. from * successor * to. Performer is performer has attribute. Editor Definition Language and Its Implementation Audris Kalnins, Karlis Podnieks, Andris Zarins, Edgars Celms, and Janis Barzdins Institute of Mathematics and Computer Science, University of Latvia Raina

More information

Agent Architectures & Languages. Heikki Helin

Agent Architectures & Languages. Heikki Helin Agent Architectures & Languages Heikki Helin Agent Architectures Introduction Different architectures Deliberative approach Reactive approach Hybrid approach Agent Architectures Definition Maes: An architecture

More information

Which Role for an Ontology of Uncertainty?

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

Integrating Web Services into Agentcities Recommendation

Integrating Web Services into Agentcities Recommendation 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 AGENTCITIES TECHNICAL RECOMMENDATION Recommendation Agentcities Technical Recommendation

More information

Functional Logic Programming Language Curry

Functional Logic Programming Language Curry Functional Logic Programming Language Curry Xiang Yin Department of Computer Science McMaster University November 9, 2010 Outline Functional Logic Programming Language 1 Functional Logic Programming Language

More information

A Design Methodology for the Exploitation of High Level Communication Synthesis

A Design Methodology for the Exploitation of High Level Communication Synthesis A Design Methodology for the Exploitation of High Level Communication Synthesis Francesco Bruschi, Politecnico di Milano, Italy Massimo Bombana, CEFRIEL, Italy Abstract In this paper we analyse some methodological

More information

A Methodology for the Derivation and Verification of Use Cases for Product Lines

A Methodology for the Derivation and Verification of Use Cases for Product Lines A Methodology for the Derivation and Verification of Use Cases for Product Lines A. Fantechi 1, S. Gnesi 2, G. Lami 2, and E. Nesti 1 1 Dipartimento di Sistemi e Informatica, Università di Firenze - (Italy)

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

More information

CS112 Lecture: Defining Instantiable Classes

CS112 Lecture: Defining Instantiable Classes CS112 Lecture: Defining Instantiable Classes Last revised 2/3/05 Objectives: 1. To describe the process of defining an instantiable class 2. To discuss public and private visibility modifiers. Materials:

More information

arxiv: v1 [cs.pl] 1 May 2017

arxiv: v1 [cs.pl] 1 May 2017 arxiv:1705.00556v1 [cs.pl] 1 May 2017 Mapping Objects to Persistent Predicates. José E. Zalacain Llanes Abstract The Logic Programming through Prolog has been widely used for supply persistence in many

More information

Tutorial 1 Answers. Question 1

Tutorial 1 Answers. Question 1 Tutorial 1 Answers Question 1 Complexity Software in it what is has to do, is often essentially complex. We can think of software which is accidentally complex such as a large scale e-commerce system (simple

More information

Agent-Oriented and Constraint Technologies. for Distributed Transaction Management. via Dodecaneso, Genova (Italy)

Agent-Oriented and Constraint Technologies. for Distributed Transaction Management. via Dodecaneso, Genova (Italy) Agent-Oriented and Constraint Technologies for Distributed Transaction Management V ivianam ascardi (1) ; EmanuelaM erelli (2) (1) DISI - Universita di Genova via Dodecaneso, 35-16146 Genova (Italy) tel:

More information

A GRAPHICAL TABULAR MODEL FOR RULE-BASED LOGIC PROGRAMMING AND VERIFICATION **

A GRAPHICAL TABULAR MODEL FOR RULE-BASED LOGIC PROGRAMMING AND VERIFICATION ** Formal design, Rule-based systems, Tabular-Trees Grzegorz J. NALEPA, Antoni LIGEZA A GRAPHICAL TABULAR MODEL FOR RULE-BASED LOGIC PROGRAMMING AND VERIFICATION ** New trends in development of databases

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Workshop on Mechatronic Multiagent Systems

Workshop on Mechatronic Multiagent Systems Workshop on Mechatronic Multiagent Systems UNINOVA, Caparica 15th Feb 2011 Luis Ribeiro (ldr@uninova.pt) José Barata (jab@uninova.pt) André Cavalcante Rogério Rosa Agenda for today Morning - Theoretical

More information

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Computer Science Journal of Moldova, vol.13, no.3(39), 2005 Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Alexandr Savinov Abstract In the paper we describe a

More information

Agents and areas of application

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

Tool Support for Design Inspection: Automatic Generation of Questions

Tool Support for Design Inspection: Automatic Generation of Questions Tool Support for Design Inspection: Automatic Generation of Questions Tim Heyer Department of Computer and Information Science, Linköping University, S-581 83 Linköping, Email: Tim.Heyer@ida.liu.se Contents

More information

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE Andrei Kirshin, Dany Moshkovich, Alan Hartman IBM Haifa Research Lab Mount Carmel, Haifa 31905, Israel E-mail: {kirshin, mdany, hartman}@il.ibm.com

More information

AN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY

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

Model refactoring within a Sequencer TOMAŽ KOS 1, TOMAŽ KOSAR 2, JURE KNEZ 1, MARJAN MERNIK 2

Model refactoring within a Sequencer TOMAŽ KOS 1, TOMAŽ KOSAR 2, JURE KNEZ 1, MARJAN MERNIK 2 Model refactoring within a Sequencer TOMAŽ KOS 1, TOMAŽ KOSAR 2, JURE KNEZ 1, MARJAN MERNIK 2 1 DEWESoft d.o.o. Gabersko 11a, 1420 Trbovlje SLOVENIA {tomaz.kos, jure.knez}@dewesoft.si http://www.dewesoft.si

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

FIPA Request Interaction Protocol Specification

FIPA Request Interaction Protocol Specification 1 2 3 4 5 FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS FIPA Request Interaction Protocol Specification 6 7 Document title FIPA Request Interaction Protocol Specification Document number SC00026H Document

More information