Reasoning about Goals in BDI Agents: the PRACTIONIST Framework Vito Morreale∗ , Susanna Bonura∗ , Giuseppe Francaviglia∗, Fabio Centineo∗, Massimo Cossentino†§ , and Salvatore Gaglio†‡ ∗ R&D Laboratory - ENGINEERING Ingegneria Informatica S.p.A. † ICAR-Italian National Research Council ‡ DINFO-University of Palermo § SET - Universit de Technologie Belfort-Montbliard, France Abstract— The representation of goals and the ability to reason (or goals) are treated as event types (such as in AgentSpeak(L) about them play an important role in goal-oriented requirements [7]) or procedures (such as in 3APL [8]) and intentions are analysis and modelling techniques, especially in agent-oriented executing plans. Therefore the deliberation process and means- software engineering. Moreover goals are more useful and stable abstractions than others (e.g. user stories) in the analysis and ends reasoning are not well separated, as being committed to design of software applications. Thus, the PRACTIONIST frame- an intention (ends) is the same as executing a plan (means). work supports a goal-oriented approach for developing agent Moreover, some available BDI agent platforms do not systems according to the Belief-Desire-Intention (BDI) model. support the explicit representation and implementation of goals In this paper we describe the goal model of PRACTIONIST or desires with their properties and relations, but they deal with agents, in terms of the general structure and the relations among goals. Furthermore we show how PRACTIONIST agents use them in a procedural and event-based fashion. As a result, their goal model to reason about goals during their deliberation while such an explicit representation of goals provide useful process and means-ends reasoning as well as while performing and stable abstractions when analysing and designing agent- their activities. based systems, there is a gap between the products of those phases and what development frameworks support. I. I NTRODUCTION According to Winikoff et al. [4], ”by omitting the declarative With the increasing management complexity and main- aspect of goals the ability to reason about goals is lost”. What tenance cost of advanced information systems, attention in is actually lost is the ability to know if goals are impossible, recent years has fallen on self-* systems and particularly on achieved, incompatible with other goals, and so forth. This in the autonomic computing approach and autonomic systems. In turn can support the commitment strategies of agents and their [1] authors argue that adopting a design approach that supports ability to autonomously drop, reconsider, replace or pursue the definition of a space of possible behaviours related to the goals. same function is one of the ways to make a system autonomic. However, some other BDI agent platforms deal with declar- Then the system should be able to select at runtime the best ative goals. Indeed, in JADEX goals are explicitly represented behaviour on the basis of the current situation. Goals can be according to a generic model, enabling the agents to handle used as an abstraction to model the functions around which their life cycle and reasoning about them [9]. Nevertheless, the the systems can autonomously select the proper behaviour. model defined in JADEX does not deal with relations among In this view, the explicit representation of goals and the goals. ability to reason about them play an important role in several The PRACTIONIST framework [10] adopts a goal-oriented requirements analysis and modelling techniques, especially approach to develop BDI agents and stresses the separation when adopting the agent-oriented paradigm. between the deliberation process and the means-ends reason- In this area, one of the most popular and successful agent ing, with the abstraction of goal used to formally define both models is the BDI [2], which derives from the philosophical desires and intentions during the deliberation phase. Indeed, tradition of practical reasoning first developed by Bratman [3]. in PRACTIONIST a goal is considered as an analysis, design, It states that agents decide, moment by moment, which actions and implementation abstraction compliant to the semantics to perform in order to pursue their goals. Practical reasoning described in this paper. In other words, PRACTIONIST agents involves a deliberation process, to decide what states of affairs can be programmed in terms of goals, which then will be to achieve, and a means-ends reasoning, to decide how to related to either desires or intentions according to whether achieve them. some specific conditions are satisfied or not. Nevertheless there is a gap between BDI theories and After a brief overview of the general structure of PRAC- several implementation [4]. Indeed, most of existing BDI agent TIONIST agents and their execution model (section II), this platforms (e.g. JACK [5], JAM [6]) generally use goals instead paper addresses the definition of the goal model (section III). of desires. Moreover, the actual implementations of mental We also describe how PRACTIONIST agents are able to states differ somewhat from their original semantics: desires reason about available goals according to their goal model, 187 current beliefs, desires, and intentions (see section IV). All Each agent may own a declared set of plans (the plan aforementioned issues and the proposed model are fully imple- library), each specifying the course of acts the agent will mented in the PRACTIONIST framework and available when undertake in order to pursue its intentions, or to handle developing applications by using the goal-oriented approach incoming perceptions, or to react to changes of its beliefs. and the concepts described in this paper (section V). Finally, PRACTIONIST plans have a set of slots that are used in section VI we present a simple example that illustrates the by agents during the means-ends reasoning and the actual definition and the usage of goals and their relations. execution of agent activities. Some of these slots are: the trigger event, which defines the event (i.e. goals, perceptions, II. PRACTIONIST AGENTS and belief updating) each plan is supposed to handle; the The PRACTIONIST framework aims at supporting the pro- context, a set of condition that must hold before the plan can grammer in developing BDI agents and is built on top of JADE be actually performed; the body, which includes the acts the [11], a widespread platform that implements the FIPA1 spec- agent performs during the execution of the plan. ifications. Therefore, our agents are deployed within JADE Through their perceptors, agents search for stimuli (percep- containers and their main cycle is implemented by means of tions) from the environment and transform them into (external) a JADE cyclic behaviour. events, which in turn are put into the Event Queue (figure A PRACTIONIST agent is a software component endowed 1). Such a queue also contains internal events, which are with the following elements: generated when either an agent is committed to a goal or there • a set of perceptions and the corresponding perceptors that is some belief updates. The former type of internal events is listen to some relevant external stimuli; particularly important in PRACTIONIST agents, as described • a set of beliefs representing the information the agent in the following sections. has got about both its internal state and the external The main cycle of a PRACTIONIST agent is implemented environment; within a cyclic behaviour, which consists of the following • a set of goals the agent wishes or wants to pursue. They steps. represent some states of affairs to bring about or activities 1) it selects and extracts an event from the queue, according to perform and will be related to either its desires or to a proper Event Selection logic; intentions (see below); 2) it handles the selected event through the following • a set of goal relations the agent uses during the deliber- means-ends reasoning process: (i) the agent figures out ation process and means-ends reasoning; the practical plans, which are those plans whose trigger • a set of plans that are the means to achieve its intentions; event matches the selected event (Options in figure • a set of actions the agent can perform to act over its 1); (ii) among practical plans, the agent detects the environment; and applicable ones, which are those plan whose context • a set of effectors that actually execute the actions. is believed true, and selects one of them (main plan); (iii) it builds the intended means, which will contain the Beliefs, plans, and the execution model are briefly described main plan and other alternative practical plans. In case in this section, while goals are the subject of this paper and are of goal event updates the corresponding intended means presented in the following sections. However, for a detailed stack; otherwise it creates a new intended means stack. description of the structure of PRACTIONIST agents, the It should be noted that every intended means stack can reader should refer to [10]. contain several intended means, each able to handle a given The BDI model refers to beliefs instead of knowledge, as event, possibly through several alternative means. beliefs are not necessarily true, while knowledge usually refers Moreover all intended means stacks are concurrently exe- to something that is true [12]. According to this, an agent may cuted, in order to provide the agents with the capability of believe true something that is false from the other agents’ or performing several activities (perhaps referring to related or the designer’s point of view, but the idea is just to provide the non-related objectives) in parallel. When executing each stack, agents with a subjective window over the world. the top level intended means is in turn executed, by performing Therefore each PRACTIONIST agent is endowed with a its main plan. If it fails for some reason, one of alternative prolog belief base, where beliefs are asserted, removed, or plans is then performed, until the corresponding ends (related entailed through inference on the basis of KD45 modal logic to the triggering event) is achieved. rules [12] and user-defined formulas. Currently the PRAC- During the execution of a plan, several acts can be per- TIONIST framework supports two prolog engines, i.e. SWI- formed, such as desiring to bring about some states of affairs Prolog2 and one that was derived from TuProlog3. or to perform some action, adding or removing beliefs, sending In the PRACTIONIST framework plans represent an impor- ACL messages, and so forth. Particularly, desiring to pursue tant container in which developers define the actual behaviors a goal triggers a deliberation/filtering process, in which the of agents. agent figures out whether that goal must be actually pursued 1 http://www.fipa.org or not, on the basis of the goal model declared for that agent. 2 http://www.swi-prolog.org The interaction among intended means belonging to differ- 3 http://tuprolog.alice.unibo.it ent stacks can occur at a goal level, since each plan could wait 188 Fig. 1. PRACTIONIST Agent Architecture for the success/failure of some goal that the agent is pursuing Definition 2 A goal g1 entails a goal g2 or equivalently g2 through another intended means. is entailed by g1 (g1 → g2 ) if and only if when g1 succeeds, then also g2 succeeds. III. G OAL M ODEL In the PRACTIONIST framework, a goal is an objective Definition 3 A goal g1 is a precondition of a goal g2 to pursue and we use it as a mean to transform desires into (g1 7→ g2 ) if and only if g1 must succeed in order to be intentions through the satisfaction of some properties. In other possible to pursue g2 . words, our agents are programmed in terms of goals, which then will be related to either desires or intentions according Definition 4 A goal g1 depends on a goal g2 (g1 ,→ g2 ) if to whether some specific conditions are satisfied or not. and only if g2 is precondition of g1 and g2 must be successful Formally, a PRACTIONIST goal g is defined as follows: while pursuing g1 . g = hσg , πg i (1) Therefore the dependence is a stronger form of precondition. where: Both definitions let us specify that some goals must be • σg is the success condition of the goal g; successful before (and during, in case of dependency) pursuing • πg is the possibility condition of the goal g stating some other goals (refer to section IV for more details). whether g can be achieved or not. Now, given a set G of goals and based on the above Since we consider such elements as local properties of definitions, it is also possible to define some relations goals, in the PRACTIONIST framework we defined them as between those goals. operations that have to be implemented for each kind of goal (figure 3). Definition 5 The inconsistency Γ ⊆ G × G is a binary In order to describe the goal model, we first provide some symmetric relation on G, defining goals that are inconsistent definitions about the properties of goals. with each other. Formally, Definition 1 A goal g1 is inconsistent with a goal g2 Γ = {(gi , gj ) i, j = 1, ..., |G| : gi ⊥gj } . (2) (g1 ⊥g2 ) if and only if when g1 succeeds, then g2 fails. When two goals are inconsistent with each other, it might 189 be useful to specify that one is preferred to the other. We to a goal, an agent can just relate it to a desire, which it is denote that gi is preferred to gj with gi  gj . not committed to because of several possible reasons (e.g. it believes that the goal is not possible). On the other hand, a 0 Definition 6 The relation of preference Γ ⊆ Γ defines the goal can be related to an intention, that is the agent is actually pair of goals (gi , gj ) where gi ⊥gj and gi  gj . Formally, and actively committed to pursue it. Let GM = hG, Γ, Γ0 , Ξ, Π, ∆i be a goal model of a Γ0 = {(gi , gj ) ∈ Γ : gi  gj } . (3) PRACTIONIST agent α and, at a given time, G0 ⊆ G be the set of its active goals, which are those goals that the agent is Therefore if there is no preference between two inconsistent already committed to. 0 goals, the corresponding pair does not belong to the set Γ . Suppose that α starts its deliberation process and generates Moreover, since several goals can be pursued in parallel, the goal g = hσg , πg i as an option. Therefore the agent would there is no need to prefer some goal to another goal if they like to commit to g, that is its desire is to bring about the goal are not inconsistent each other. g. However, since an agent will not be able to achieve all its desires, it performs the following process in the context of its Definition 7 The entailment Ξ ⊆ G × G is a binary relation deliberation phase (figure 2): the agent checks if it believes on G, defining which goals entail other goals. Formally, that the goal g is possible and not inconsistent (see definition 1) with active goals (belonging to G0 ). Ξ = {(gi , gj ) i, j = 1, ..., |G| : gi → gj } . (4) If both conditions hold the desire to pursue g will be Definition 8 The precondition set Π ⊆ G × G is a binary promoted to an intention. Otherwise, in case of inconsistency relation on G, defining which goals are precondition of other among g and some active goals, the desire to pursue g will goals. Formally, become an intention only if g is preferred to such inconsistent goals, which will in turn be dropped. Π = {(gi , gj ) i, j = 1, ..., |G| : gi 7→ gj } . (5) In any case, if the desire to pursue g is promoted to an intention, before starting the means-ends reasoning, the agent Definition 9 The dependence ∆ ⊆ G×G is a binary relation α checks if it believes that the goal g succeeds (that is, if it on G, defining which goals depend on other goals. Formally, believes that the success condition σg holds) or whether the goal g is entailed (see definition 2) by some of the current ∆ = {(gi , gj ) i, j = 1, ..., |G| : gi ,→ gj } . (6) active goals. In case of both above conditions do not hold, Finally, on the basis of the above properties and relations the agent will perform the means-ends reasoning, by either we can now define the structure of the goal model of PRAC- selecting a plan from a fixed plan library or dynamically TIONIST agents as follows generating a plan and finally executing it (details on this means-ends reasoning can be found in [10]). GM = hG, Γ, Γ0 , Ξ, Π, ∆i (7) Indeed, if the goal g succeeds or is entailed by some current active goals (i.e. some other means is working to achieve a where: goal that entails the goal g), there is no reason to pursue it. • G is the set of goals the agent could pursue; Therefore, the agent does not need to make any means-ends • Γ is the inconsistency relation among goals; reasoning to figure out how to pursue the goal g. 0 • Γ is the preference relation among inconsistent goals; Otherwise, before starting the means-ends reasoning, if • Ξ is the entailment relation among goals; some declared goals are precondition for g, the agent will • Π is the precondition relation among goals; first desire to pursue such goals and then the goal g. • ∆ is the dependence relation among goals. In the PRACTIONIST framework, as a default, an agent will continue to maintain an intention until it believes that IV. R EASONING ABOUT GOALS either such an intention has been achieved or it is no longer In this section we show how the goal elements previously possible to achieve the intention. This commitment strategy to defined are used by PRACTIONIST agents when reasoning intention is called single-minded commitment [13]. In order to about goals during their deliberation process and the means- perform such a behaviour, the agent continuously checks if it ends reasoning. We also highlight the actual relations between believes that the goal g has just succeeded and that the goal them and mental attitudes, i.e. desires and intentions. g is still possible. In PRACTIONIST agents goals and their properties are Moreover the agent checks if some dependee goal does defined on the basis of what agents believe. Thus, an agent will not succeed. If so, it will desire to pursue such a goal and believe that a goal g = hσg , πg i has succeeded if it believes then continue pursuing the goal g. When all dependee goals that its success condition σg is true. The same holds for the succeed, the agent resumes the execution of the plan. other properties. In order to be able to recover from plan failures and try It is important to note that, in PRACTIONIST, desires and other means to achieve an intention, if the selected plan fails intentions are mental attitudes towards goals, which are in or is no longer appropriate to achieve the intention, then the turn considered as descriptions of objectives. Thus, referring agent selects one of applicable alternative plans within the 190 check if the goal check if the goal is check if the goal check if the goal is entailed is possible inconsistent with active goals succeeds by some active goal [ goal succeeds ] [ goal inconsistent AND not preferred ] synchronize with the [ goal is not possible ] entailing goal exception: the goal cannot be pursued [ goal is not entailed by any active goal ] check about goal preconditions Fig. 2. Reasoning about goals: the deliberation phase. same intended means and executes it. for all goal relations supported by the PRACTIONIST If none of the alternative plans was able to successfully framework (i.e. EntailmentRel, InconsistencyRel, pursue the goal g, the agent take into consideration the goals DependencyRel, and PreconditionRel) and defines that entail g. Thus the agent selects one of them and considers the operation verifyRel, whose purpose is to check each it as an option, processing it in the way described in this specific relation. section, from deliberation to means-ends reasoning. In order to exploit the features provided by the goal model If there is no plan to pursue alternative goals, the achieve- and understand if a given goal the agent desires to pursue is ment of the intention has failed, as the agent has not other ways inconsistent with or implied by some active goals, the agent to pursue its intention. Thus, according to agents beliefs, the must have information about such active goals and whether goal was possible, but the agent was no able to pursue it (i.e. them are related to either desires or intentions. Therefore, each there are no plans). PRACTIONIST agent owns an ActiveGoalsHandler component, which, with the aid of the GoalModel, has the V. T HE S UPPORT FOR THE G OAL M ODEL IN THE responsibility of keeping track of all executing intended means PRACTIONIST F RAMEWORK stacks with the corresponding waiting and executing goals and In order to provide the PRACTIONIST framework with the managing requests made by the agent. support for the definition/handling of agent goal models and Thus, at any given time, the ActiveGoalsHandler is the capabilities for reasoning about goals, we identified and aware of current desires and intentions of the agent, referring fulfilled the following requirements: them to active goals. • registration of the goals that each agent could try to pursue during his life cycle; VI. A N E XAMPLE • registration of the relations among such goals; In this section we present the Tileworld example to illustrate • checking whether two goals are inconsistent and which how to use the goal model presented in this paper and the the preferred one is (if any); support provided by the PRACTIONIST framework. • getting the list of goals that entail a given goal; The Tileworld example was initially introduced in [14] as • getting the list of goals that are precondition of a given a system with a highly parameterized environment that could goal; be used to investigate the reasoning in agents. The original • getting the list of goals which a given goal depends on. Tileworld consists of a grid of cells on which tiles, obstacles A proper ad-hoc search algorithm explores the goal model and holes (of different size and point value) can exist. Each and answers the queries, on the basis of both declared and agent can move up, down left or right within the grid to pick implicit relations. Indeed, implicit relations (especially incon- up and move tiles in order to fill the holes. Each hole has an sistence and entailment) can be inferred from the semantics associated score, which is awarded to the agent that has filled of some built-in goals, such as state goals (e.g. achieve(ϕ), the hole. The main goal of the agent is to score as many points cease(ϕ), maintain(ϕ), and avoid(ϕ), where ϕ is a closed as possible. formula of FOL). Therefore, the goal reasoner takes into Tileworld simulations are dynamic and the environment account implicit relations such as achieve(ϕ)⊥achieve(¬ϕ), changes continually over time. Since this environment is achieve(ϕ)⊥cease(ϕ), maintain(ϕ)⊥avoid(ϕ), and so highly parameterized, the experimenter can alter various as- forth. pects of it through a set of available ”knobs”, such as the Figure 3 shows the actual structure of the GoalModel rate at which new holes appear (dynamism), the rate at that each agent owns (PRACTIONISTAgent is the ab- which obstacles appear (hostility), difference in hole scores stract class that has to be extended when developing (variability of utility), and so forth. PRACTIONIST agents). Such a model stores informa- Such applications, with a potentially high degree of dy- tion about declared goals (with their internal properties, namism, can benefit from the adoption of a goal-oriented i.e. success and possibility condition) and the four types design approach, where the abstraction of goal is used to of relations these goals are involved in. Specifically the declaratively represent agents’ objectives and states of affairs interface GoalRelation provides the super interface that can be dynamically achieved through some means. 191 Fig. 3. The structure of the support for the goal model in the PRACTIONIST framework. Figure 4 shows the Tileworld environment, where new UML class diagram with dependencies stereotyped with the agents can be added or removed and the corresponding pa- name of the goal relations. Actually some relations only hold rameters can be dynamically changed. under certain condition and the diagram does not show such In our Tileworld demonstrator two types of agents were details. developed, the Tileworld Management Agent (TWMA) and According to the diagram, the TWPA has to be the Tileworld Player Agent (TWPA): the former is the agent registered with the TWMA before increasing its that manages and controls the environment, by creating and score (the goal ScorePoints depends on the goal destroying tiles, holes and obstacles, according to the parame- RegisterWithManager). Moreover, in order to score ters set by the user; the latter is the agent moving within the points, the TWPA has to fill as many holes as possible (the grid and whose primary goal is to maximize its score by filling goal FillHole entails the goal ScorePoints). But, in holes with tiles. A player agent does not get any notification order to fill a hole, the TWPA has to hold a tile and find a about the environment changes (i.e. by the management agent), hole (the goal FillHole depends on the goal HoldTile but it can ask such an information (e.g. what the current and requires the goal FillHole as precondition); finally, state of a cell is) by means of sensing actions, in order to the TWPA has to find the tile to hold it (the goal HoldTile adopt the best strategy on the basis of the current state of has the goal FindTile as a precondition). the environment. In fact, for each state of the environment According to the above-mentioned description, the follow- (e.g., static, dynamic, very dynamic, etc.) at least a strategy is ing source code from the TWPAgent class shows how goals provided. All the strategies are implemented through plans that and relations among them are added to the agent and thus share the same goal and differ for their operative conditions how to create the goal model through the PRACTIONIST (i.e. the context). framework: It should be noted that, since PRACTIONIST agents are protected void initialize() endowed with the ability of dynamically building plans starting { from a given goal and a set of available actions, some strategies ... GoalModel gm = getGoalModel(); could be generated on-the-fly by taking into account emerging situations. // Goal declaration The player agent has beliefs about the objects that are gm.add(new RegisterWithManager()); gm.add(new ScorePoints()); placed into the grid, its position, its score, the state of the gm.add(new HoldTile()); environment, etc. gm.add(new FindTile()); The TWPA top level goal is to score as many points as gm.add(new FillHole(getBeliefBase())); gm.add(new FindHole()); possible, but to do this, it has to register itself with the manager, look for the holes and for the tiles, hold a tile, and // relations among goals fill a hole. gm.add(new Dep_ScorePoints_RegisterWithManager()); gm.add(new Ent_ScorePoints_FillHole()); We designed the TWPA by adopting the goal-oriented gm.add(new Dep_FillHole_HoldTile()); approach described in this paper and directly implemented gm.add(new Pre_HoldTile_FindTile()); its goal-related entities (i.e. goals and relations) thank to the gm.add(new Pre_FillHole_FindHole()); support provided by the PRACTIONIST framework. In figure ... 5 a fragment of the goal model of the TWPA is shown as a } 192 Fig. 4. The Tileworld environment. In order to better understand how the above-mentioned FillHole does not need to include the statements to desire relations are implemented, the following source code shows either the dependee (i.e. HoldTile) or precondition (i.e. the precondition relation among the goals HoldTile and FindHole) goals, as shown in the following code fragment. FindTile: public class FillHolePlan extends GoalPlan public class Pre_HoldTile_FindTile { implements PreconditionRel public void body() throws PlanExecutionException { { public Goal verifyRel(Goal goal1, Goal goal2) String posPred = "pos(obj1: X,obj2: Y)"; { AbsPredicate pos = if((goal1 instanceof HoldTile) && getBeliefBase().retrieveAbsPredicate( (goal2 instanceof FindTile)) AbsPredicateFactory.create(posPred)); return new FindTile; int xPos = pos.getInteger("obj1"); return null; int yPos = pos.getInteger("obj2"); } ... doAction(new ReleaseTileAction(xPos, yPos, } twaServer.getHoleValue(xPos, yPos))); ... When the player agent desires to pursue a goal, it checks } ... if this goal is involved in some relations and in that case } it reasons about them during the deliberation, means-ends, and intention reconsideration processes. Thus, developers only The Tileworld domain highlights how the PRACTIONIST need to specify goals and relations among them at the design goal model is particularly adequate to model dynamic envi- time. ronments in a very declarative manner. As an example, when the TWPA desires to fill a hole (i.e. VII. CONCLUSIONS AND FUTURE WORK FillHole), according to the defined goal model and the semantics described in section 2, the agent automatically will In the PRACTIONIST framework, desires and intentions are check if it just holds a tile (i.e. HoldTile); if not, such a mental attitudes towards goals, which are in turn considered goal will be desired. On the other hand, the agent will check as descriptions of objectives. if it has found a hole (i.e. FindHole) and again, if not, it In this paper we described how a declarative representation will desire that. of goals can support the definition of desires and intentions in Moreover, when pursuing the goal FillHole, the agent PRACTIONIST agents. It also supports the detection and the will continuously check the success of all its dependee goals resolution of conflicts among agents’ objectives and activities. (i.e. HoldTile) and maintain them in case of failure. This results in a reduction of the gap between BDI theories It should be noted that the plan to pursue the goal and several available implementations. 193 Fig. 5. TWPA’s goal model. We also described how goals and relations are used by 2005 workshop on Design and evolution of autonomic application PRACTIONIST agents during their deliberation process and software, pp. 1–7, 2005, aCM Press, New York, NY, USA. [2] A. S. Rao and M. P. Georgeff, “BDI agents: from theory to practice,” the execution of their activities; particularly it is described how in Proceedings of the First International Conference on Multi—Agent agents manages these activities by using the support for the Systems. San Francisco, CA: MIT Press, 1995, pp. 312–319. [Online]. goal model shown in the previous sections. Available: http://www.uni-koblenz.de/f̃ruit/LITERATURE/rg95.ps.gz [3] M. E. Bratman, Intention, Plans, and Practical Reason. Cambridge, It should be noted that, unlike several BDI and non-BDI MA: Harvard University Press, 1987. agent platforms, the PRACTIONIST framework supports the [4] M. Winikoff, L. Padgham, J. Harland, and J. Thangarajah, “Declarative declarative definition of goals and the relations among them, & procedural goals in intelligent agent systems,” in KR, 2002, pp. 470– 481. as described in this paper. This provides the ability to believe [5] P. Busetta, R. Rnnquist, A. Hodgson, and A. Lucas, “Jack intelligent if goals are impossible, already achieved, incompatible with agents - components for intelligent agents in java,” 1999. other goals, and so forth. This in turn supports the commitment [6] M. J. Huber, “Jam: A bdi-theoretic mobile agent architecture.” in Agents, 1999, pp. 236–243. strategies of agents and their ability to autonomously drop, [7] A. S. Rao, “AgentSpeak(L): BDI agents speak out in a reconsider, replace or pursue intentions related to active goals. logical computable language,” in Seventh European Workshop on The ability of PRACTIONIST agents to reason about goals Modelling Autonomous Agents in a Multi-Agent World, R. van Hoe, Ed., Eindhoven, The Netherlands, 1996. [Online]. Available: and the relations among them (as described in section IV) citeseer.ist.psu.edu/article/rao96agentspeakl.html lets programmers implicitly specify several behaviours for [8] K. V. Hindriks, F. S. D. Boer, H. W. van der, and J. J. Meyer, several circumstances, without having to explicitly code such “Agent programming in 3APL,” Autonomous Agents and Multi-Agent Systems, vol. 2, no. 4, pp. 357–401, 1999, publisher: Kluwer Academic behaviours, letting agents figure out the right activity to Publishers, Netherlands. perform on the basis of the current state and the relations [9] L. Braubach, A. Pokahr, W. Lamersdorf, and D. Moldt, “Goal repre- among its potential objectives. sentation for bdi agent systems,” in Second International Workshop on Programming Multiagent Systems: Languages and Tools, 7 2004, pp. Goals can be adopted throughout the whole development 9–20. process. Thus, we are defining a development methodology [10] V. Morreale, S. Bonura, G. Francaviglia, M. Cossentino, and S. Gaglio, where goals play a central role and maintain the same seman- “Practionist: a new framework for bdi agents,” in Proceedings of the Third European Workshop on Multi-Agent Systems (EUMAS’05), 2005, tics from early requirements to the implementation phase. p. 236. As a part of our future strategy, we aims at extending the [11] F. Bellifemine, A. Poggi, and G. Rimassa, “JADE - a FIPA- proposed model with further properties of goals and relations compliant agent framework,” in Proceedings of the Practical Applications of Intelligent Agents, 1999. [Online]. Available: among them. Finally, we aim at applying the concepts and http://jmvidal.cse.sc.edu/library/jade.pdf the model described in this paper in the development of [12] B. F. Chellas, Modal Logic: An Introduction. Cambridge: Cambridge real-world applications based on BDI agents. University Press, 1980. [13] A. S. Rao and M. P. Georgeff, “Modeling rational agents within a BDI-architecture,” in Proceedings of the 2nd International Conference Acknowledgments. This work is partially supported by on Principles of Knowledge Representation and Reasoning. Morgan the Italian Ministry of Education, University and Research Kaufmann publishers Inc.: San Mateo, CA, USA, 1991, pp. 473–484. [Online]. Available: http://citeseer.nj.nec.com/rao91modeling.html (MIUR) through the project PASAF. [14] M. E. Pollack and M. Ringuette, “Introducing the tileworld: Experimen- tally evaluating agent architectures,” National Conference on Artificial R EFERENCES Intelligence, pp. 183 – 189, 1990. [1] A. Lapouchnian, S. Liaskos, J. Mylopolous, and Y. Yu, “Towards requirements-driven autonomic systems design,” Proceedings of the 194