Agents based software engineering and MAS: A robotics architecture design viewpoint Jose Luis Blanco Claraco May 2005 System Engineering and Automation Dpt. (I.S.A.) University of Málaga (Spain) www.isa.uma.es Table of contents Table of contents 1. Introduction 2. Agent architectures 3. Agent communications 4. FIPA 5. Summary of interesting ideas 6. References May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1. Introduction 1. Introduction 1.1. Why to design using agents? 1.2. What make agents different? 1.3. Defining what an agent is 1.4. Agent definitions 1.5. The essence of an agent 1.6. What an agent may be in robotics 1.7. Agent based systems vs. MAS 1.8. A critic view of agents research May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1.1. Introduction: Why agents? Why to design using agents? Let’s make a brief review of the evolution of programming paradigms over time: Procedural languages Object oriented Agent oriented (C, FORTRAN) (C++, Java) Agentsdata present strong conceptual encapsulation Related andaalgorithms are encapsulated in objects They control owns processes. No Objects Conceptual abstraction have encapsulation itsits atown all!internal ofstates. algorithms or functions Are reactive and Programmers In All most data OOP andlanguages, functions mustproactives. dealare directly objects at the are with same just machine level reactive. details Social behaviour. They doesn´t process data, but information. Assembly May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1.2. Introduction: What make Agents different? What make agents different? But an agent sounds to be just a program, isn’t it? Software agents are indeed just programs, but an assembly program and an object oriented application are also just programs! The key is the way we see that programs, which may result in more intuitive and easier ways for designing and developing them. As noted by some authors, we must be carefull in not over-hyping agents-based system capabilities, because just using agents in an application doesn’t solve it, but just may make the design process easier. For finding what makes an agent different from other programs, we must look at the definition of what an agent is. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1.3. Introduction: Defining what an agent is Defining what an agent is The problem of agents definition: In the research community there is no agree for a well stablished agent definition. The agent definition problem is similar to the intelligence definition problem, but just like in that case, having only approximate definitions has allowed a great research work in the AI field. A posible cause for this discord: Agents are an active research area in very spreads areas, like software agents for web data mining, personal assistants for e-mail management, autonomous e-commerce agents, cooperative graphics interfaces, robotics,... May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1.4. Introduction: Agent definitions Agent definitions In the literature can be found dozens of definitions for agents, autonomous agents, rational agents, reactive agents and so on. “Anything that can be viewed as perceiving its environment throught sensors and that act upon it throught actuators” “An entity that perceives an environment and acts on it, having the properties of: temporal continuity, autonomy, sociability, rationality, reactivity, proactivity and adaptability” “A computer system, situated in an environment, capable of flexible autonomous action in order to persui its own objetives” “Any entity whose state is viewed as consisting of mental components (beliefs, capabilities, choices,...)” “Computational entities that exhibit complex rational behaviour when acting within a MAS” “An autonomous agent is a system situated within and part of an environment that senses it and acts on it, over time, in pursuits of its own agenda” May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1.5. Introduction: The essence of an agent The essence of an agent Taking the common parts of most agent definitions, we can say what an software agent must be so that it fulfills all of them in some degree: - Agents are software entities running in computer systems. -Agents are autonomous, in the sense that they take its own decisions about what to do at any time, based on sensed and previousSection information. 2 -Agents are rational or intelligent, thus actions are selected in order to optimize some measurable parameter. -Agents must normally cope with the partial observability problem, for both, the environment and the other agents. -Agents are social, since they form communities (MAS). Section 3 -Agents communications involve more than just data exchange, but should manage information exchange. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1.6. Introduction: What an agent may be in robotics What an agent may be in robotics It must be pointed out an important property of agents: they are situated entities. This differentiates them from older AI approaches as expert-systems’ “intelligence in a box”. This is relevant because intelligence is generally accepted to be possible only in entities that interacts with its environment. In robotics research on agents technologies, robots and agents are related mainly in this two ways: The physical robot is the agent. This is by far the idea used in most approaches. Many robots build-up a MAS. Agents are the constituents of the robot software. In this cases these agents are usually called in-agents or sub-agent, and the robot itself becomes a MAS. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1.7. Introduction: Agent based systems vs. MAS Agent based systems vs. MAS An agent based system is defined as a system whose main abstraction artifact is an agent. This doesn’t imply that it must be implemented using agent technology, similar to the case that an application may be designed using C++ classes and implemented in plain C, although it is not the best way. The problem for agent systems is that currently there is no standard programming language nor toolkit for a complete development of agents aplications. This have lead to a situation where many companies and universities have developed propietary systems, which are not compatibles even for the fundamentals. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1.7. Introduction: Agent based systems vs. MAS Agent based systems vs. MAS A multi-agent system (MAS) is a social community of agents. The use of MAS presents interesting capabilities that in turn represent a big challenge for the research community. Since agents don’t exchange mere data, but more abstract information, their communications are best named interactions, where some kinds of basic interactions are: - Cooperation - Coordination - Negotiation Communications are based in speech-act theories, where messages sent between agents have a semantic meaning and are supossed to use a given ontology or to be able of spreading them between agents. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1.8. Introduction: A critical view of agents research A critical view of agents research -Advantages of current experimental agents aplication over previous aplications are not clear. -Each research group take attention only to a narrow set of agents properties or problems, ignoring the others. For example, many proposed agent architectures take a lot of effort to a theoretical proof of the validity for the reasoning model or the proposed language, but inter-agents communications or RT are ignored. -Many proposed models are just theoretical, with little or no real-world implementations, and in many cases the models are not scalable to practical applications. -Some approaches deal only with expading theoretical models with other hypotetical theoric new models, with no proven utility at all in practical applications. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 1.8. Introduction: A critical view of agents research A critical view of agents research The apparently chaotic but huge research effort in agents research may be explained with the fact that each research group develop its own agents models for architecture and communication. In order to help solving this problem, some standards initiatives have been proposed for inter-agents communications, leaving the internal agent architecture unspecified. Theese initiatives are: -OMG’s MASIF: Propose that the main property of agents is mobility, thus agents execution can move from a computer to others keeping its internal state unchanged. -KQML -FIPA May, 2005 Both use ACL (Agents Communication Language). FIPA is treated later, since it is becoming the stronger of all agents standards: On Mar-05 is becoming an IEEE Standards Committee. Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2. Agent architectures 2. Agent architectures 2.1. Introduction 2.2. Organizational-based approaches 2.3. Practical reasoning approaches 2.4. Realtime approaches 2.5. The zoo of agents May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.1. Agent architectures: Introduction Introduction Next are exposed three of the main properties that agents are claimed to have. For each of theese properties, different groups of approaches have been developed that deal explicitly with each of them. Agents organize themselves in communities Organizational-based approaches Agents internal state is composed of attitudes Practical reasoning architectures Agents respond in a timely fashion Real-time approaches May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.1. Agent architectures: Organizational-based approaches Organizational-based approaches There are many theories and methods dealing with agents organizations. We can consider several kind of approaches falling into this group: Requirements engineering approaches Theese approaches deal with the problem of software engineering, from early specification stages to implementation. The primitive concepts usually used for modeling applications are: Agents, actors, roles or positions, all of them equivalents. Goals. Dependencies between agents. Theese approaches try to solve the problem of organize agents for making the system able of reach its goals. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.1. Agent architectures: Organizational-based approaches Organizational-based approaches There are many theories and methods dealing with agents organizations. We can consider several kind of approaches falling into this group: Structural model approaches In the case of robotics agents composed of sub-agents, we can found approaches where a robot struct is composed of goals, roles, capabilities and rules, and teams of agents are automatically organized using a global capability optimization criterion, even in the case of any sub-agent failure. This approach has been applied only to a simple application where only sub-agents are sonars and bumps reading-agents, where the scalability to bigger applications is not clear. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.1. Agent architectures: Organizational-based approaches Organizational-based approaches There are many theories and methods dealing with agents organizations. We can consider several kind of approaches falling into this group: Connectionist approaches We can found other approaches where agents structure is not dynamically changed, but agents are connected with all others throught neural networks. Specific learning methods have been developed recently which allow the distributed neural net to learn, in a supervised learning fashion. In this case the utility for simple sensors-actuators loops is proven, but it is difficult to figure out how information processing agents can be used in theese approaches. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.2. Agent architectures: Practical reasoning approaches Agents organize themselves in communities Organizational-based approaches Agents internal state is composed of attitudes Practical reasoning architectures Agents respond in a timely fashion Real-time approaches May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.2. Agent architectures: Practical reasoning approaches Practical reasoning approaches A practical reasoning computation model is that one inspired on how human mind is supossed to work. According to psychologists, human mind can be modeled as sketched below, which is called the HCogAff architecture (human-like architecture for cognition and affect) Meta-Management (reflective) Deliberative processes (planning, deciding,…) This deliberative level is supossed to be built from attitudes, which are the basics of practical reasoning based agents. Reactive processes May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.2. Agent architectures: Practical reasoning approaches Practical reasoning approaches The usual attitudes are: - Beliefs: Information that we think that is true. This attitude models any kind of knowledge: symbolic, about the environment,… Beliefs represent the informational attitudes. - Desires: This attitude models the goals, what we want to made. - Intentions: An intention is any current process we are doing. Normally intentions are directed to the achievement of goals. Both desires and intentions represent motivational attitudes. Altogether, theese three attitudes form the most popular agent model: B.D.I. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.2. Agent architectures: Practical reasoning approaches Practical reasoning approaches The BDI model has been used for a decade and it is well studied. The use of beliefs and desires may be equivalent to classical AI concepts of knowledge-base and goals, but the use of intentions doesn’t. Nevertheless, it’s use is justified in two ways: -Psycologist assure humans usually use such an artifact. - Its use in a BDI model is critical for achieving optimal performance when deliberation is subject to resource and time bounds. Intentions are also viewed as the element that make a system become stable when multiple actions and complex plans are posible. There are many different agent models similar to BDI, using the same attitudes,or even adding other one (i.e. obligations,in BODI approach) May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.2. Agent architectures: Practical reasoning approaches Practical reasoning approaches A problem remains in the step of implementing BDI systems: there is not a clear way of implementing the three attitudes, nor even an agree of what must an agent to do with them. This have producted a wide variety of BDI-like agents implementations. The typical primary focus is to provide a model based on a defined first order logic language, and a functional model for some kind of interpreter. Next some examples of proposed BDI (or no-BDI) agent models are exposed, including samples for defined logic languages. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.2. Agent architectures: Practical reasoning approaches GOLOG (1994) GOLOG is defined as a logic programming language for dynamic domains. It is based on situation calculus, inheriting the need for a world actions axiomization, the “frame problem” and the use of relational and functional fluents and the actions-chain world state representation. Semantics are similar to PROLOG, but the main on interpreter maintains a claim of this language is thatRules the language Macros representation of the dynamic world. world states Sample declaration from an evelator control application: Poss(up(N),S) :- holds(current_floor(M),S), M < N. proc serve(n) go_floor(n);turnoff(n);open;close endProc May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.2. Agent architectures: Practical reasoning approaches AgentSpeak(L) (1996) AgentSpeak(L) (“L” for language) appears as a new formalization attempt for BDI agents, where attitudes are not represented as data structures, but as modal operators in a first order logic language. Main building blocks of AgentSpeak(L) are events and actions. Next is represented the simplified architecture of the interpreter: Events (internals, externals) Plans (triggering conditions) Beliefs Relevant plans SE May, 2005 Unify Applicable plans Unify Intentions EXECUTION SO SI Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.2. Agent architectures: Practical reasoning approaches AgentSpeak (1996) Sample plan definition: [+!location(robot,b): location(robot,a) & not (b=a) & adjacent(a,b) <move(a,b); +!location(robot,b)]. Preconditions Added fact is an achievement request Triggering-event: An addition to the KB May, 2005 Agents based software engineering and MAS:A robotics viewpoint Plan Jose Luis Blanco 2.2. Agent architectures: Practical reasoning approaches SPARK (2004) SPARK is a toolkit for building agents based on the BDI model. Its claim is to develop a method for building formal-reasoning based agents for demanding applications but keeping the availability of meta-reasoning for a certain degree of self-awareness capability. The later is defined as agent ability to instrospect its own knowledge, which provide basis for temporal projection, explanation and knowledge limits recognition. But all theese capabilities are in current research. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.2. Agent architectures: Practical reasoning approaches SPARK (2004) The current execution model of SPARK is: Intentions Procedures Executor Actions Beliefs Effectors Sensors A key point in SPARK model is that execution of procedures is taken as an finite state machine, thus providing a good way of analising them. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.3. Agent architectures: Real-time approaches Agents organize themselves in communities Organizational-based approaches Agents internal state is composed of attitudes Practical reasoning architectures Agents respond in a timely fashion Real-time approaches May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.3. Agent architectures: Real-time approaches Real-time approaches: Why? Agents are supposed to be situated entities. As such, they must interact with a probably dynamic environment. In this situation it is common that if an agent keeps deliberating too long, decided actions should not longer be useful. This kind of temporal restrictions raise the so called soft and hard real-time systems, where logic results of algorithms are not the only important factor, but also when they are produced. Usually this approaches critic other agent high-abstraction-models for both execution and communications, negotitions, … since theese are usually slow and unpredictable long processes. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.3. Agent architectures: Real-time approaches Thinking is a slow task: Anytime algorithms One family of approaches are grouped under the name of Anytime algorithms. This is a wide group, including algorithms for robotics navigation planning, general planning, POMPDs,… The underlying concept is that at least approximate results may be obtained in short time, and if more time is available, more precise results should be obtained. The quality of an anytime method result improves over time, in a way defined by its Conditional Performance Profile: May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.3. Agent architectures: Real-time approaches A sample RT agent architecture: ARTIS ARTIS is a hard-RT agent architecture, specifically designed for robotics applications. The robot is defined as an agent composed by in-agents, whose RT-requirements are specified and guaranteed by design. Generated applications have its own scheduler. Next are given examples for an in-agent and a “KS-element” : (defagent avoid_obstacles ( period 100 ) // 100 ms ( deadline 8 ) // 8 ms ( importance 1 ) //the most important ( perception (read_sensors) ) ( cognition (avoid) ) ( action (act_avoid) ) ( precedence (nil) ) ) ( defks read_sensor_serial () ( wcet 2) // ms ( codefile ‘.\read_sensor_serie.c’ ) ) May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 2.4. Agent architectures: The zoo of agents The zoo of agents Three different aspects of agents, and corresponding approches families have been exposed. But in fact the partitioning is not too well defined and agents should all of them belong to all groups. Agents organize themselves in communities ? Agents respond in a timely fashion Agents internal state is composed of attitudes May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3. Agents communications 3. Agents communications 3.1. The communication problem 3.2. Electronics Institutions 3.3. Formal Languages approaches 3.3.1. What are you talking about? 3.3.2. KQML 3.3.3. ACL 3.3.4. CAL 3.4. Agents that…lie? May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.1. The communication problem The communication problem Autonomous and intelligent agents are supposed to interact each other using semantics communications, not by just sending and receiving data. This have been modeled in different ways in many approaches, since remain undealed in others. Next two of the most used methods are exposed, i.e. the Electronics Institutions and formal languages standarization efforts. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.2. Electronics Institutions Electronic Institutions The idea behinds EI is the role of institutions in human communities. It is based on an actors/scenes paradigm, where agents must link themselves to a role defined in an scene. Typical example is a food market, where roles are a seller and a customer. Theese approaches use roles to define a protocol, i.e. the set of posible communicative acts that each part can or must commit in each moment throghtout the act, which is modelled graphically in a similar way to a states diagram, but using scenes, transitions and agents. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.2. Electronics Institutions Electronic Institutions Next it is shown the model for a fish market, where scenes are buyer’s admission, seller’s admission, auction scene,… represented as a transition graph. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.2. Electronics Institutions Electronic Institutions In fact, EI are proposed as an additional layer over normal agents communications, which impose restrictions by means of roles, scenes,… The JADE is a JAVA agents communication library, which is exposed later. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.3. Formal languages approaches What are you talking about? Agents are supposed to interact using a set of communicative acts, having their well-defined semantic meaning, as a question, a proposition, an agree response,… But it is imposible for two agents to communicate if they are designed using different communication languages, as is the case for most research project where proprietary languages are developed. To solve this problem, different standarization efforts have been proposed since a few years. Next two of them are described. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.3. Formal languages approaches KQML (Knowledge Query and Manipulation Language ) This language has been develop under the “ARPA Knowledge Sharing Effort”. The main purpose of this project is to develop a set of protocols and languages which may lead to a effective development of knowledge management agents, which may interact with an user or with another agents. It defines a message format and a message handling protocol. Agents must use only a defined set of performatives, or communication acts, and only in the proposed situations: for example, an agent should not send a tell performative if it beliefs that the target agent already beliefs what is being sent. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.3. Formal languages approaches KQML Next an example of this language is shown. It represents an ask-if performative, where an agent ask another one if a statement is consistent with its internal knowledge-base. (ask-if :content :receiver :language :ontology May, 2005 (PRICE IBM stock-server LPROLOG NYSE-TICKS) 1500) Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.3. Formal languages approaches ACL (Agent Communication Language) This message format specification have been developed by FIPA (Foundation for Inteligent Physical Agents). More about this organization is exposed later. In short, ACL defines a message format for performative acts communication between agents, just like KQML. It also defines different codification methods for messages’ content, which can be a plain text string, an XML data struct or a binary representation whose main purpose is provide a stardard code of bit-effient compresion of message headers and keywords. The content of the messages is undefined in this standard, but it is specified in another one: CAL. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.3. Formal languages approaches CAL (Communicative Act Library) This specification deals with the message contents, and specifies the set of valid performative acts, and their semantics. There are communicative acts for: Informing of some fact that the agent beliefs to be true. There are different versions of this one, depending on the semantics of the action: an agent may inform, confirm or disconfirm some fact to another agent. Proposal of actions, and posible responses including an agree, disagree, conditions negotiations and commitment notification. Questions. An agent can ask for something, or “ask if” something if true. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.3. Formal languages approaches FIPA’s ACL and CAL example ACL deals with this part (request :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content ((action (agent-identifier :name j) (inform-ref :sender (agent-identifier :name j) :receiver (set (agent-identifier :name i)) :content "((iota ?x (UKPrimeMinister ?x)))" :ontology world-politics :language FIPA-SL))) :reply-with query0 :language FIPA-SL) And CAL with this one May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 3.4. Agents that…lie? Agents that…lie? FIPA’s ACL and other agents communication models have been criticized from the agents sincerity point of view. The problem is that if an agent sends to another one an informative performative, informing that some fact is true, the receiving agent should belief it. This agents sincerity assumption is criticized since an unsincere agent may lead to any desired situation just be saying the things that it knows would lead to that situation. For example, a seller agent and a customer agent negotiating the price would not be totally sincere. But for robotics applications, it is reasonable to think of building true collaborative agents that doesn’t lie, so we are not concerned with that problem. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 4. FIPA 4. FIPA 4.1. Wh-? 4.2. Desired scope 4.3. Available libraries out there 4.4. Non-robotics scales May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 4.1. Wh-? FIPA: Wh-? What? FIPA is a non-profit organisation aimed at producing standards for the interoperation of heterogeneous software agents. On March 2005 it became the eleventh IEEE Standards Committee. Who? FIPA members include dozens of universities, as well as private companies. When? FIPA was formed in 1996, and until 2005 has been an independent group of Standards Committees. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 4.2. Desired scope Desired scope FIPA deals with the standarization of agents-based systems, with the propose of move agent technologies to real-world market. The most important standards that FIPA produce may be the ACL and CAL specifications, that have been exposed before, because they allow agents created separatelly to interact. But in fact FIPA does not specify just the communication parts of an agent-based system: there is a proposed Abstract Architecture, some kind of environement for multi-agents applications, where are defined some standard agents, like the agent-directory, the evolution of CORBA naming-service. In fact, the whole multi-agent paradigm is a natural evolution of distributed objects applications (CORBA), towards distributed agents applications. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 4.3. Available libraries out there… Available libraries out there FIPA itself just deal with the specification of standards, but doesn’t produce any software at all. Anyway, many open-source and commercial FIPA-compliant agents development platforms have been developed that fulfill FIPA97 or FIPA00 set of standards. Some of this software packages are: Agent Development Kit, from Tryllian BV. FIPA-OS, the first open source FIPA project, from Nortel Networks. JADE LEAP … All of them are developed in Java. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 4.4. Non-robotics scales Non-robotics scales Authors claim that using Java is not a disadvantage in producing effient agents communications management, based on current JIT technologies. Next is shown the result of some experiments of agent communications, in the case of agents being into the same JVM, into different JVMs in the same computer, and in different computers. Notice that in agents research, the agents count is typically in the range of some hundreds of them. This is obviously not the case of robotics aplications, where it is difficult to think of applications with more than a few dozens of agents. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 5. Summary of interesting ideas A summary of interesting ideas May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 5. Summary of interesting ideas 5. Summary of interesting ideas Next some interesting ideas, from the robotics control architectures viewpoint, are pointed out. Each one is taken from a different approach or architecture, since there is not an ideal one. A)We can think of building a robotic control architecture in, at least, three different ways: 1. Robot itself is considered an agent, being controlled under a single software application. 2. Robot’s software is a MAS where agents deal with small conceptual problems. 3. Robot is considered an agent, but software is composed of several smart modules…may be even in-agents. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 5. Summary of interesting ideas 5. Summary of interesting ideas B) The building blocks of the robotic software use advanced communication artifacts, such the exposed communication acts, with a defined semantics. The key advantage of using this approach is to move toward the ideal modules flexibility, i.e. if some new algorithm is developed other modules should use it without modificating them. Another advantage is the use of non-closed, typified parameters forms of methods or services, thus some parameters may be omited or given using many alternative representations. For example, a movement request may be invoked with moveto(target: (10m,20m,30º)) or using moveto(target:kitchen, method:reactive) May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 5. Summary of interesting ideas 5. Summary of interesting ideas C) The use of some kind of logic language that defines “procedures” or partial plans for some actions. For example, a plan for “go to X” may be to find a path and follow it using a set of reference locations, specifying what to do on a failure situation. Theese “procedures” may be seen as partial plans or rules, which a general planner use as primitive actions. The advantage of representing actions in an interpreted language is the easy of reprogramming without recompiling any software module. A more ambitious objetive that may be achievable with this approach is providing the robot with some kind of manual run-time reprogramming using an user graphic or voice interface, i.e. explain the robot how to do something that is new to the robot. Some of the languages exposed in this review, as SPARK, allow for meta-reasoning, an important issue if requiring the robot to explain why is it doing something. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 5. Summary of interesting ideas 5. Summary of interesting ideas D) Computational capabilities will keep being an important issue, at least for a long time. This means that all computational processes that may compete for execution time should cooperate in a way that most important task are executed first. This requirements may be solved using some combination of: -Approximative calculations, using anytime algorithms. Its use should be standardized in the robotics software so execution can be planned in a systematic way. -Priorities management. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 5. Summary of interesting ideas 5. Summary of interesting ideas E) An original way of maintain a current-environemnt mental Representation is used in the IMA (Intelligent Machine Architecture) approach. In this architecture, robotic software is composed of agents, each one representing each perceived entity in the world, which should be anchored to. For example, the user is represented by an agent that estimates the user state or request based in all sensorial information it can collect from all sensorial agents (voice, vision,…) May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 5. Summary of interesting ideas 5. Summary of interesting ideas F) It is a good idea not to design a hard-wired or hand-coded organization for in-agents: all of them should be at the same ground level, and relations between them should be formed in a task oriented way, depending on the agents capabilities that they report to have. Ideally using this kind of automatic organization make easy the change, addition or removal of algorithms, methods or capabilities to the robot. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco 6. References 6. References -FIPA specification, www.fipa.org -KQML specification, www.cs.umbc.edu/kqml/ -"Generando un agente robótico autónomo a partir de la evolución de subagentes simples cooperativos",Ricardo A. Téllez,Cecilio Angulo. - "Towards a Real-Time Multi-Agent System Architecture", J. Soler et al. - "Approximate reasoning using anytime algorithm", Shlomo Zilberstein, S. Russell. - "The SPARK Agent Framework", D. Morley, K. Myers - "AgentSpeak(L): BDI agents speak out in a logical computable language", A.S. Rao - "GOLOG: A logic programming language for dynamic domains", H.J.Levesque et al. - "The BOID Architecture", J.Broersen et al. - "Generalised Object-Oriented concepts for inter-agent communication", R.M. van Eijk et al. - "A roadmap of Agent Research and Development",N.R.Jennings et al. - "Agent-oriented programming", Shoham. - "BDI Agents: From theory to practice", A.S.Rao - "Virtual Machines and Conciousness", A.Sloman,R.Chrisley - "Software Agents: An Overview",H.S.Nwana - "Is it an Agent, or just a program? A taxonomy for Autonomous Agents", S.Franklin,A.Graesser - "A software Architecture for Integrated Service Robot Development", R.T.Pack et al. - "Formalising Agent mediated Electronic Institutions", M.Esteva et al. -"Enabling intra-robotic capabilities adaptation using an organization-based multiagent system",E.Matson,S.DeLoach - "Multiagent Systems and Distributed AI",N.Vlassis - "Simplifying the development of Intelligent Agents",M.Winikoff et al. May, 2005 Agents based software engineering and MAS:A robotics viewpoint Jose Luis Blanco
© Copyright 2026 Paperzz