Agent-Based Resource Selection for Grid Computing

5 downloads 18294 Views 357KB Size Report
A collective multiple-resource layer provides a variety of services including: direc- ..... 2,2): Denotes the ability of service-provider to this specific .... be published on The Proceedings of The 4th International Conference on Computer and Infor-.
Agent-Based Resource Selection for Grid Computing S. Shen, G.M.P. O’Hare University College Dublin, Belfield, Dublin 4, Ireland [email protected],[email protected]

Abstract. Agent technology is critical in providing solutions to grid computing, including resource selection. Traditionally, agent deliberation offers a deductive process whose deliberation cost is very high and also difficult to measure. We consider the use of Multi-Agent Systems (MAS) for grid selection. Within this domain timing is an important index. Once the client applies for some service, the MAS should be able to quickly make a match. Furthermore, as autonomous software entities, MAS are expected to control its own deliberation behaviors. Within this paper, we propose agent-based resource selection with an agentbased fuzzy decision-making capability that enables better deliberation control and hence provides better selection solution.

1 Introduction The recent explosion of interest in information sharing and Internet application has necessitated resource sharing and coordinated problem solving in a dynamic and multi-institutional environment. Grid computing is a new technology that has emerged at the end of last century that underpins distributed problem-solving solution. Resource sharing, coordinated problem solving and dynamic multi-institution are basic characteristics of grid computing [8]. In a grid computing environment, resources can be computational resources, storage resources, network resources, and/or code repositories. These remotely distributed resources are integrated through communication with various kinds of security solutions. A collective multiple-resource layer provides a variety of services including: directory, co-allocation, selection and scheduling, brokering, monitoring and diagnostics, data replication, grid-enabled programming systems, workload management systems and collaboration frameworks. Coordinating collective resources is a particularly complex high-level task whereby multiple resources are integrated into a wide-area distributed system [8]. Multi-Agent Systems constitute a highly suitable technology set for the effective provision of such services providing collaborative intelligence, autonomy, and social capabilities. Manola and Thompson [2] were the first to propose the application of agent system in computational grids. They present different perspectives to grid environments and describe their system entitled Control of Agent-Based Systems (CoABS) grid. Functionally, the CoABS Grid knows not only about agents, but also about their computational requirements, and available computational resources. The CoABS Grid provides a unified but distributed computing environment within which computing re-

sources are linked seamlessly. The CoABS Grid also provides the infrastructure for large-scale integration of heterogeneous agent frameworks. Bradshaw et al. [3] have similarly focused upon the use of agents in order to simplify those problems inherent in grid computing. Rana and Walker [4] have demonstrated a good example of agent grid, while Foster et al. [5] [6] have presented an Open Grid Services Architecture that addressed the challenges in achieving various qualities of service issues when running applications on top of different native platforms. It is anticipated that agent technology will help to provide reliable, scalable, survivable, evolvable, and adaptable systems. However, in order to provide solutions to grid computing, agent theory needs to solve several existing problems [1][9]. One of these is the controllability of the deliberation process. Traditionally, agent deliberation imitates the human cognitive process whose deliberation cost (usually means time cost) is very high and also difficult to measure. Weighing of different service providers is also difficult because of the existence of a myriad of selection criteria different criteria. In considering MAS for grid applications timing is an important index. Once the client applies for some service, the MAS should be able to quickly make a match. It may not care about the persistence problem, but there should be a time limit for selection. Therefore deliberation is considered as a time bounded deliberative process. Since there is no action within control loop, the control of deliberation process depends on the estimation and control of workload within deliberation and perception. This paper mainly concerns about the MAS decision-making on resource selection for grid computing. We will start with related work, follow by Agent Fuzzy DecisionMaking (AFDM) [1] and its controllable solution to decision-making, and end with a summary and future work.

2 Related Work Rao & Georgeff [10], Woodridge [9] and Singh [15] have all developed logic theories involving multiple worlds and logical formalisms. In their definitions, each world is viewed as a combination of time and state expressions. The logic theories greatly strengthen the usability of Belief Desire Intention (BDI) and are recognized as critical compositions in the BDI family. However, it is still difficult to integrating the current logical family with practice. Apart from the mainstream logical formalization, applying CBR (Case-Based Reasoning) onto multi-agent system is a strong experience-based approach on BDI practice in recent years [11][12]. The reasoning is based on the reuse of past experiences or cases. Cases in CBR are represented by a triple of ‘problem’, ‘solution of the problem’, and ‘outcome’. ‘Outcome’ is the resulting state of the world when the solution is carried out and will be reused as a basis for future problems that present a certain similarity, as the basic principle of CBR defines. QDT (Qualitative Decision Theory)[13] [14] [16], on the other hand, provides another decision solution different from traditional BDI logic. QDT is a multi-level qualitative approach developed to reason about uncertainties, which are typically represented by a plausibility function. QDT is theoretically complete. The key to QDT

application is, however, how to remove the uncertainties or to calculate the possibilities in a broad sense, and in what way we can integrate experience with BDI model. The agent deliberation process can be viewed as an inherently fuzzy decisionmaking process. By using the word fuzzy we mean when we try to think out a solution, we usually select several goals and decide by weighing them on certain aspects we care about, such as cost, time, quality and accessibility etc, together with our preference. E.g., while we want to select a place to travel from a group of candidates, we think about cost, the time needed, how easy it is to get there (transportation), and expected enjoyment (quality of the result) etc; while we prepare our career to be an academic, we need to think about how much money to pay, how many years to spend on studying, how easy to become an academic, and expected career when successfully becoming an academic etc. On most occasions, it is more effective to weigh corresponding aspects in a fuzzy way, if the experience values are at hand. AFDM is fuzzy-logical based deliberation model. AFDM addresses the limitations of present formalisms within BDI models by making decisions based on quantified fuzzy judgment. The AFDM matrix model enables quantitative calculation and thus provides a more practical solution to BDI models. In addition, more flexible and controllable solutions to BDI persistence and incremental decision-making can be expected with the introduction of AFDM.

Fig. 1. Agent Factory interpreter layer

Agent Factory is a cohesive framework that delivers structured support for the development of agent application and deployment of agent-oriented applications. Specifically, this is realized over four tiers, the Agent Factory Agent Programming Language (AF-APL), the Run-Time Environment (RTE), the Development Environment (DE), and the Development Methodology (DM). AFDM is a sub platform on Agent Factory. The key components of this architecture are:

• The Commitment Management System (CMS). • The Belief Management System (BMS) • The Plan Library (PL) • The Controller • The Actuator Interface • The Perceptor Interface • The Module Manager • The FIPA Message Queue As one of the MAS’ most critical tasks, resource selection takes the duties of searching available servers on the Internet, weighing them according to certain criteria, and selecting the most optimum server or server groups to take the task. Usually, resource selection needs to work with constraints of user and service-provider within limited period of time. It means selection is required to work under a controllable way. Since agents are autonomous entities embedded in the environment, the ability on controlling their own deliberation process is one of the most critical indexes to measure agent behavior. The traditional agent BDI interpreters have difficulties in dealing with time-limited deliberation since their deliberation costs are unknown and their control loops are uncontrollable. Cost estimation is essential to the control of deliberation. AFDM achieves control of deliberation by introducing a matrix model and separating each task into controllable part and incontrollable parts and embedding only the controllable part into the control loop. Our primitive desire is to build up a resource selection mechanism based on a kind of agent fuzzy thinking mode (by deliberating on multiple aspects of goals). Such a model will, to some extent, address the limitations of the present BDI model to resource selection applications of grid computing. This flexible platform can integrate with other experience-based techniques within an AFDM interpreter. The framework includes multiple resources or parallel applications. However, in order to simplify the theoretical explanation, the deployment of MAS is explained as the functioning of AFDM on a single resource at this time. We omit the part of parallel computing in our following text.

3 MAS Decision-Making with AFDM 3.1 Definitions The BDI model serves as a first-order prototype that leaves much to be further developed. In a typical BDI agent architecture, the agent states of are represented with 3 component types: Desires, Beliefs and Intentions. Here are some basic definitions that we commission within our model. Intentions are viewed as those goals that an agent has committed to achieve. Belief is the information an agent has about the world. The information could be about its internal state or about the environment. In terms of our model, the belief is mainly from the library that contains server information, which is dynamically and periodically updated by agents. This information includes varying

different aspects of servers relevant to selection, communication ability, calculation ability, quality of service and economic cost. Desires denote states that an agent wishes to bring. Specifically within this paper, desire is a multi-axis reference frame in which the axes are independent to each other and each axis represents an aspect typically associated with decision-making. The number of axis corresponds to the decomposition of desire. Goals are the desire-consistent beliefs projected in desire space. They are mapped onto the desire space and measured on these corresponding aspects. If a goal has successfully passed through a weighing function and is chosen by an agent as an intention, we say that the agent has made a commitment to this goal. Expressing goals with a set of aspects borrows from models of human cognition. We usually weigh different goals by comparing different aspects that we care about most. For certain kinds of decision-making, those aspects with which we are concerned can be drawn from several indexes that human beings commonly care about most. The world of desire is serial, Euclidean, and also dynamic. A typical desire r v v v v space can be denoted via D = (D 1 D 2 D 3 ... D N ) T , in which the desire vector bases v v v v D 1 D 2 D 3 ... D N stand for aspects of desire. The decomposition of desires follows human cognition and quantification necessity. These aspects can be further decomposed for weighing necessities. The I-th goal GI is denoted as

(G I, 1 × D1 , G I,2 × D 2 , … , G I, N × D N ) T , where GI, 1, GI,2,… , GI,N each represent the corresponding scores (or rankings) on concerned aspects of I-th goal. For example, GI, stands for the score (or ranking) of I-th goal on J-th aspect

J

3.2 AFDM Interpreter

Practical reasoning consists of two major activities. The first is deliberation, deciding what to do; the second is planning or means-end reasoning, deciding how to achieve the intention. The relationship of agent deliberation, Beliefs, Desires and Intention are depicted in Figure 2. Generally speaking, there are limitless desires in an agent system at the same time, some strong, some weak. Although desires are possibly inconsistent, the goals generated from beliefs and desires are required to be consistent, and achievable within our approach. More specifically in this paper, we pay particular attention to the decisionmaking of a group of consistent goals. Planning is also an important component of an interpreter. Traditionally agent engineers tend to associate plans with intentions. That is, an intention will be further planned into possible actions after an intention is generated. However, theoretically planning and deliberation are often viewed as inextricably linked. Separation of the two processes significantly lessens the working burden but causes theoretical problems. Alternatively, deliberation cannot ensure best planning result. In this paper, the whole reasoning process is simplified by associating plans with goals that are selected after fuzzy deliberation, although we sometimes still explain deliberation and planning separately for conceptual considerations. We adopt formalisms similar to those of Wooldridge [9] and define Des, Bel, Int, Act, Gal correspondingly as all possible desires, beliefs, intentions, actions and goals

respectively. B, D, I are the states of a BDI agent at any given moment constituting an agent state triple , where B⊆Bel, D⊆Des, and I⊆Int, while goal G is a mixing state, G⊆Gal. We use g to denote an arbitrary element of goal matrix, g= GI,J | I ∈ {1,N}, J ∈ {1,M}. In addition, we denote S as an arbitrary set, ℘(S) is the powerset of S.

Agent2

Agent4

Agent1

Library AMS/DF

server3-1

Agent3

Internet



server3-3 server1-2 Server Resource server1-1 server1-3 server2-1

Agent N Selected Server

server3-2

server2-2

server2-3



Fig. 2. Grid computing architecture

The general interpretation procedure of AFDM can be described as follows. At the beginning of deliberation, the option generating function (function Opt) reads the user service application and perceives the environment (available server set) to get beliefs, retrieving a list of possible goals (application-appropriate subsets) and corresponding information for further deliberation; then the goals are mapped onto desire space and assigned with real values from experience and beliefs by a mapping function (function Map); the goals are further filtered through constraints provided by user and serviceprovider by an embedded filter function (function Flt) to generate grid resource group; and the best goal or goal group is selected through synthesis weighing all the surviving goals together with a plan of actions and is committed as intention (function Wgh). The agent will assign the task to the selected server (decided by intention) later on. Opt: ℘(Bel)×℘ (Int) ×℘ (Des) Æ ℘ (Gal) r Map: Gal Æ D gÆℝ Flt: ℘ (Bel) ×℘ (Gal ) Æ ℘ (Gal) Wgh: ℘ (Gal) Æ ℘ (Int) Fig. 3. AFDM functions for resource selection

Interpretation can be modeled with main functions listed in Figure 3.

A unique characteristic of our model is the mapping of a set of goals onto a desire space and the subsequent assignment of each element of the goals with a real value, enabling the quantitative weighing of different goals.

3.3 Fuzzy Matrix Model

The main task of the deliberation process is to weigh different goals. In the desire space proposed in this paper, goals are weighed by their Euclidean lengths, which are comprehensive magnitudes of the goals on multiple desire bases. We use goal vector G D (M)

D

to express mapping of goals in desire space, quantitative vector Q (M) to denote the mapping of goal group in desire space with preference. Each goal group G(M) is associated with a goal vector and a quantitative vector. (1 ) G D (M) = G(M, N) × D(N) QD (M) = WG (M, M) × G(M,N) × WD (N, N) × D(N)

(2 )

Goals are represented as vectors originating from the origin in the desire reference frame. The fuzzy commitment rule is based on the measurement of the magnitudes of D

goal vectors in desire space, | Q I | , where I ∈ (1, M). Even though AFDM is a fuzzy process, the vectors and matrixes are not necessarily be unitary ([0,1] as defined by fuzzy logic) since we only weigh goals for comparison or weighting, rather than measure their actual values. Mathematically, we can use Euclidean length to measure the magnitudes of vectors, which could be time-consuming with a big group of options. So alternatively, on most occasions, we use Manhattan distance to measure the goals. N (3 ) × G × W D |Q D | = ∑ W G I

J = 1

I, I

I, J

J, J

Where WGI,I and WDJ,J are I×I and J×J weight matrixes on goals and on desire aspects. Weight matrixes can be used to adjust the importance of different application genres since we adopt a uniform weighting criteria. Suppose L is the 1st empty element in the intention queue and IL is the L-th intention, then the top ranking goal GJ is committed as IL. Formally, I L = { G(M) arg Max(| Q D (J) | )^ J ∈ {1, M}}

(4 )

The service application is subsequently launched upon the selected (intention) grid resources.

4 Controllable Resource Selection 4.1 Aspects Settings

We now provide the main selection parameters to be considered in server selection: -Cost (WD1,1): Denotes how much the client needs to pay for the service. It is usually in the form of a price. -Calculation ability (WD2,2): Denotes the ability of service-provider to this specific service, depending on its mathematical ability, number of CPUs available (including the present workload), operating system, processor type and speed, available memory, and storage etc. -Communication ability (WD3,3): Expressed in the form of communication bandwidth and latency. If the service cares about wireless servers, then the communication ability should also include communication quality. These three basic parameters can if necessary, be decomposed further. For example, calculation ability can be decomposed as mathematical ability, number of CPUs available, operating system, processor type and speed, available memory and so forth. In addition the MAS also undertakes the duty of distributed monitoring to order to track and forecast dynamic resource conditions. We can also add a new aspect, -Quality of service (WD4,4): Denotes the overall evaluation of service quality. Among those aspects considered above, some are less dynamic than others, e.g. cost, mathematical ability, quality of service, while some others are highly dynamic, for example, calculation ability and communication ability, in detail, available CPUs, memory, storage and communication bandwidth with which data can be sent to a remote host.

4.2 Cost Estimation

Some designers may worry about the increase of workload in processing matrix data. Not surprisingly, precision and workload are always the contradictory forces. It may become a critical problem when N, and M increase. The calculation necessary for solving the matrix will be approximately proportional to N × M. The workload can be calculated once the dimensions of the matrix are determined. Except for weighting aspects or goals. The weight matrix is sometimes also adopted to mask options or aspects. In the main, we use an incremental matrix solution to adjust the dimension of matrixes instead of expending lots of efforts to change matrix volume in the real environment. That is, empty coefficients will be applied to certain goals or aspects when they are no longer useful in processing. The interpreter will skip the calculation on goals or aspects if the corresponding coefficients are 0. Whenever a new option or new aspect emerges, the interpreter will first search an option library to check if there are empty rows or columns. If yes, then the new option or aspect will be filled into the vacancy. This ensures that a dynamic customization of the decision making process can be achieved either introducing more or less precision in order to yield a more or less system responsiveness.

The ability to time estimation deliberation and planning cost is critical in order that an agent may manage the timing of the process and thus may be to wholly in control of the deliberation process. Within traditional agent deliberation and planning it is hard to solve this problem because of unknown workload. In contrast, control is achievable with the adoption of AFDM. Let’s see how AFDM solve the problem within a MAS domain.

4.3 Multi-Agent Cooperation and Time-Limited Deliberation

Let us first analyze the contents contained the basic reasoning depicted in Figure 4, where T and T0 are time cost and time limit of resource selection, and Est() is a cost estimation function. The workload primarily consists of two processes: perception of environment and the decision-making process. In our MAS, perception and decisionmaking (reasoning) are distributed among different agents. The agent working on decision-making only weighs to get the best solution for the specific service, leaving the perception for other agents. Actually every agent, in her spare time, concentrates on the task of updating server information (perception) into the library. The principle of agent cooperation is shown in Figure 2. Thus within AFDM, only the decisionmaking process is a time-cost process in the control loop, while the dominant cost in the decision-making process is the weighing of server options on certain aspects. Moreover, the reasoning process deals with the calculation of matrixes that are fixed once the numbers of aspects and goals are determined. This is a peculiar merit of AFDM interpretation. //Practical reasoning for grid computing G D G D B,I,D,G,W ,W ,TÅB0,I0,D0,G0,W 0,W 0,T0; While not(Empty()or Succeeded()or Impossible()) do BÅBrf(B, p); G ÅOpt(D, B, I); T0 ÅEst( N, M); While (not Succeed() and T < T0 ) do GÅMap (D,G); GÅFlt (B, G); I, PÅWgh(I,G); End while End while

Fig. 4. Practical reasoning for resource selection

Decision-making results and weighing result will be again stored in the option library in the form of cases. This provides a mechanism by which basic learning may improve the intelligence of the MAS through each decision. Besides time-limited

deliberation, adjacent applications can refer to previous weighing results. We refer to this as incremental decision-making (ID). Since some aspects change slowly, ID can adopt either the weighing results on some reluctant aspects or only a certain number of top options that have survived from previous selection. Practical solutions can be more flexible. Through the adoption of AFDM, time-limited deliberation can be achieved at the estimation of the workload. The deliberation cost is approximately proportional to N × M. By estimating the deliberation cost, we can adapt to the time constraints by adjusting number of options or number of aspects involved within the deliberative process.

4.4 Example Scenarios

The following simplified example will be adopted to explain how AFDM works on resource selection of grid computing. Table 1. Resource selection example

Ranking Scores Options A

Communication Score (rank)

Calculation Score (rank)

Cost Score (rank)

5.0(1)

4.0 (2)

1.0 (5)

B

2.0(4)

2.0 (4)

3.0 (3)

C

3.0(3)

5.0 (1)

2.0 (4)

D

4.0 (2)

3.0 (3)

4.0 (2)

E

1.0 (5)

1.0 (5)

5.0 (1)

WDJ,J J=1,2,3

25%

35%

40%

Suppose there are 5 available servers (groups) on the Internet. Resources are weighed on aspects of cost, calculation ability and communication ability (we ignore the ‘Quality of service’ aspect purely for simplification). For a practical application, these aspects are further decomposed for more detailed comparison. Here we only use these 3 aspects in order to provide a simple animation of the AFDM approach. Let’s detail the characteristics of the 5 choices, see Table 1. Among them, A is the easiest to communicate with (so rank 1 and score 5 on this aspect) and of high calculation ability (score 4), but the most expensive (score 1); E is the cheapest option (score 5), but not good in its communication ability and calculation ability (so rank 5 and score 1 on both); while D, although not the top selection on any aspect, is the only candidate that is above the average level on all aspects; B and C are medium choices on each aspect. The deliberation process empowers the agent enabling it to decide which choice to select by weighing the 5 possible choices with corresponding coefficients and the scores (or ranking) of each choice on each evaluation aspect. WD(N, N) is first decided upon by empirical data and is dynamically improved with the increase

of application cases. Scores (ranks) are adopted to weigh the options because they are much easier to decide than quantitative values. By applying fuzzy decision-making within the example shown in Table 1, we get: Q D (M) = W G (M, M) × G(M, N) × W D (N, N) × D(N) 1   =    

1 1 1

 5  2   3   4 1   1

4 2 5 3 1

1 3   25 %  2   4   5 

35 %

  D1  D   2  40 %   D 3   

r v v v Where D = (D 1 D 2 D 3 ) T correspond to bases of communication ability, calculation ability and cost respectively. The vector magnitudes of the five goals are calculated into the following matrix,

| Q D (M) | = (3.05, 2.40, 3.30, 3.65, 2.60) T The reasoning results are then ordered from (A, B, C, D, E) into (D, C, A, E, B). D gets the maximum score and is then selected by fuzzy reasoning as an intention. The intention is associated to the corresponding plan with plan descriptors. So intention will then trigger a selection of matching the task to server D.

5 Summary and Future Work Within this paper we have proposed an AFDM based resource selection for grid computing applications. In our model, desire is a multi-axis reference frame in which each axis represents an aspect of human wish, and goals are weighed by mapping these onto concerned desire bases. Within this model, solutions at divergent quantitative levels are achievable. The solution offered by AFDM obviates the limitations of present BDI models by introducing a fuzzy matrix decision-making model. More specifically AFDM, as a fuzzy decision-making matrix model, can serve at a cost-controllable mode. Hence we are quite confident of its usefulness in grid computing applications. Our approach is merely a preliminary attempt at adopting a controllable BDI interpretation process to resource selection within grid computing. Although the practical application of AFDM framework to grid computing is still on-going, we have already formulated a detailed solution and a series of simulations have proven very promising. Implementation details together with a series of experiments conducted within the Agent Factory platform, will be discussed in our later works.

References 1. S. Shen, G.M.P. O’Hare, R. Collier, Decision-Making of BDI Agents, a Fuzzy Approach, to be published on The Proceedings of The 4th International Conference on Computer and Information Technology (CIT2004), Wuhan, China, Sept., 2004 2. F.Manola & C. Thompson “Characterizing the agent grid”, http://www.objs.com/agility/techreports/ 990623-characterizing-the-agent-grid.html, June 1999. 3. J. M. Bradshaw, N. Suri, A. J. Ca˜ nas, R. David, K. Ford, R. Hoffman, R. Jeffers, and T. Reichherzer. Terraforming cyberspace, Computer, 34(7):48–56, July 2001. 4. O. F. Rana and D. W. Walker., The Agent Grid: Agent-based resource integration in PSEs, In Proceedings of the 16th IMACS World Congress on Scientific Computing, Applied Mathematics and Simulation, Lausanne, Switzerland, August 2000. 5. I. Foster, C. Kesselman, J. M. Nick, and S. Tuecke. The physiology of the Grid: An open Grid services architecture for distributed systems integration, http://www.globus.org/research/papers/-ogsa.pdf, January 2002. 6. I. Foster, C. Kesselman, and S. Tuecke. The anatomy of the Grid: Enabling scalable virtual organizations, International Journal on High Performance Computing Applications, 15 (3):200–222, Fall 2001. 7. M. J. Wooldridge and N. R. Jennings, Intelligent agents: Theory and practice, The Knowledge Engineering Review, 10(2): 115–152, 1995. 8. B.J. Overeinder, N.J.E. Wijngaards, M.van Steen, and F.M.T. Brazier, Multi-Agent Support for Internet-Scale Grid Management, http://www.cs.vu.nl/pub/papers/globe/aisb-grid.02.pdf. 9. Michael Wooldridge, An Introduction to Multiagent Systems, John Wiley & Sons (Chichester, England). ISBN 0 47149691X, February, 2002 10. Rao, A.S. and Georgeff, M.P., BDI Agents: From Theory to Practice, Proceedings of the First International Conference on Multi-Agent Systems (ICMAS-95), San Fransisco, USA, 1995 11. Corchado, J. M. Laza, R., Construction of BDI Agents from CBR systems, 1st German Workshop on Experience Management, Lecture Notes in Informatics, Berlin, 2002 12. Olivia C., Chang C. F., Enguix C.F. and Ghose A.K., Case-Based BDI Agents: An Effective Approach for Intelligent Search on the World Wide Web, AAAI Spring Symposium on Intelligent Agents, Stanford University, USA, 22-24 March 1999 13. Boutilier, C., Towards a logic for qualitative decision theory, In Proceedings of the Fourth International Conference on Knowledge Representation and Reasoning (KR’94), 75–86, Morgan Kaufmann, 1994 14. Pearl, J., From conditional ought to qualitative decision theory, In Proceedings of the Ninth Conference on Un-certainty in Artificial Intelligence (UAI’93), 12–20, John Wiley and Sons, 1993 15. Singh, M. P. and Asher, N. M., Towards a formal theory of intentions, In Logics in AI — Proceedings of the European Workshop JELIA-90 (LNAI Volume 478), pages 472–486. Springer-Verlag: Heidelberg, Germany, 1991 16. M. Dastani, J. Hulstijn, and L. van der Torre, BDI and QDT: a comparison based on classical decision theory, In Proceedings of AAAI Spring Symposium GTDT'01, 2000.