Transcript Document
Agent Infrastructure Michael Luck University of Southampton, UK Part I The Case for Agent-Oriented Software Engineering with slides borrowed from Nick Jennings Remote Agent Experiment (RAX) Deep Space One mission to validate technologies AI software in primary command of a spacecraft RAX Comprises • planner/scheduler to generate plans for general mission goals • smart executive to execute plans • Mode identification and recovery to detect failures Goals not pre-planned so more flexible Tests include simulated failures Tests in May 1999 Agents Relatively new field (10-15 years?) Dramatic growth Popularity Increasing numbers of applications Multi-disciplinary Problems: • Agent backlash? • Sound conceptual foundation? Agent-Based Computing: A New Synthesis for AI and CS Increasing number of systems viewed in terms of agents: • as a theoretical model of computation more closely reflects current computing reality than Turing Machines • as a model for engineering distributed software systems better suited than object-orientation, design patterns and software architectures • as a model for conceptualising and building intelligent entities framework for unifying piecemeal specialisations 6 Which Perspective? Answer from many points of view from philosophical to pragmatic Proceed from standpoint of using agent-based software to solve complex, real-world problems Software Development is Difficult One of most complex construction task humans undertake “Computer science is the first engineering discipline ever in which the complexity of the objects created is limited by the skill of the creator and not limited by the strength of the raw materials. If steel beams were infinitely strong and couldn’t ever bend no matter what you did, then skyscrapers could be as complicated as computers.” Brian K. Reid True whatever models and techniques are applied “the essential complexity of software” Fred Brooks Software engineering provides models & techniques that make it easier to handle this essential complexity 8 Software Development is Getting Harder Shorter development lifecycles More ambitious requirements Less certain requirements • Greater scope for change More challenging environments • Greater dynamism • Greater openness Software Engineering: Continually Playing Catch Up Better Models • components • design patterns • software architectures Better Processes • light methods • heavier methods • interacting agents “Our ability to imagine complex applications will always exceed our ability to develop them” Grady Booch The Adequacy Hypothesis Agent-oriented approaches can enhance our ability to model, design and build complex distributed software systems. The Essence of Agent-Based Computing Agent “encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives” (Wooldridge) 13 Agent “encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives” (Wooldridge) control over internal state and over own behaviour 14 Agent “encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives” (Wooldridge) control over internal state and over own behaviour experiences environment through sensors and acts through effectors 15 Agent “encapsulated computer system, situated in some environment, and capable of flexible autonomous action in that environment in order to meet its design objectives” (Wooldridge) control over internal state and over own behaviour experiences environment through sensors and acts through effectors reactive: respond in timely fashion to environmental change proactive: act in anticipation of future goals 16 Definitional Malaise “My guess is that object-oriented programming will be what structured programming was in the 1970s. Everybody will be in favour of it. Every manufacturer will promote his product as supporting it. Every manager will pay lip service to it. Every programmer will practice it (differently). And no one will know just what it is.” (Rentsch, 82) “My guess is that agent-based computing will be what objectoriented programming was in the 1980s. Everybody will be in favour of it. Every manufacturer will promote his product as supporting it. Every manager will pay lip service to it. Every programmer will practice it (differently). And no one will know just what it is.” (Jennings, 00) Multiple Agents In most cases, single agent is insufficient • no such thing as a single agent system (!?) • multiple agents are the norm, to represent: natural decentralisation multiple loci of control multiple perspectives competing interests 18 Agent Interactions Interaction between agents is inevitable • to achieve individual objectives, to manage interdependencies Conceptualised as taking place at knowledge-level • which goals, at what time, by whom, what for Flexible run-time initiation and responses • cf. design-time, hard-wired nature of extant approaches paradigm shift from previous perceptions of computational interaction 19 Organisations Agents act/interact to achieve objectives: • on behalf of individuals/companies • part of a wider problem solving initiative underlying organisational relationship between the agents 20 Organisations This organisational context: • influences agents’ behaviour relationships need to be made explicit – peers – teams, coalitions – authority relationships • is subject to ongoing change provide computational apparatus for creating, maintaining and disbanding structures 21 A Canonical View Agent Interactions Sphere of influence Organisational relationships Environment (see also: Castelfranchi, Ferber, Gasser, Lesser, …..) Making the Case: Quantitatively Software Metrics 50 40 30 20 10 0 Productivity Reliability Objects Maintainability Agents “There are 3 kinds of lies: lies, damned lies and statistics” Disraeli Making the Case: Qualitatively Software techniques for tackling complexity Tackling Complexity Decomposition Abstraction Organisation Making the Case: Qualitatively Software techniques for tackling complexity Nature of complex systems Complex Systems Complexity takes form of “hierarchy” (Herb Simon) • not a control hierarchy • collection of related sub-systems at different levels of abstraction Can distinguish between interactions among sub-systems and interactions within sub-systems • latter more frequent & predictable: “nearly decomposable systems” Arbitrary choice about which components are primitive Systems that support evolutionary growth develop more quickly than those that do not: “stable intermediate forms” Making the Case: Qualitatively Software techniques for tackling complexity Agent-based computing Nature of complex systems Making the Case: Qualitatively Software techniques for tackling complexity Degree of Match Nature of complex systems Agent-based computing The Match Process 1. Show agent-oriented decomposition is effective way of partitioning problem space of complex system 2. Show key abstractions of agent-oriented mindset are natural means of modelling complex systems The Match Process 1. Show agent-oriented decomposition is effective way of partitioning problem space of complex system 2. Show key abstractions of agent-oriented mindset are natural means of modelling complex systems Decomposition: Agents In terms of entities that have: • own persistent thread of control (active: “say go”) • control over their own destiny (autonomous: “say no”) Makes engineering of complex systems easier: • natural representation of multiple loci of control “real systems have no top” (Meyer) • allows competing objectives to be represented and reconciled in context sensitive fashion Decomposition: Interactions Agents make decisions about nature & scope of interactions at run time Makes engineering of complex systems easier: • unexpected interaction is expected not all interactions need be set at design time • simplified management of control relationships between components coordination occurs on as-needed basis between continuously active entities The Match Process 1. Show agent-oriented decomposition is effective way of partitioning problem space of complex system 2. Show key abstractions of agent-oriented mindset are natural means of modelling complex systems Suitability of Abstractions Design is about having right models In software, minimise gap between units of analysis and constructs of solution paradigm • OO techniques natural way of modelling world C o m p le x S ys te m S u b -s ys te m s S u b -s ys te m c o m p o n e n ts In te ra c tio n s b e tw e e n s u b -s ys te m s a n d s u b -s ys te m c o m p o n e n ts R e la tio n s h ip s b e tw e e n s u b -s ys te m s a n d s u b -s ys te m c o m p o n e n ts A g e n t-B a s e d S ys te m C o m p le x S ys te m A g e n t-B a s e d S ys te m S u b -s ys te m s A g e n t o rg a n is a tio n s S u b -s ys te m c o m p o n e n ts In te ra c tio n s b e tw e e n s u b -s ys te m s a n d s u b -s ys te m c o m p o n e n ts R e la tio n s h ip s b e tw e e n s u b -s ys te m s a n d s u b -s ys te m c o m p o n e n ts C o m p le x S ys te m A g e n t-B a s e d S ys te m S u b -s ys te m s A g e n t o rg a n is a tio n s S u b -s ys te m c o m p o n e n ts A g e n ts In te ra c tio n s b e tw e e n s u b -s ys te m s a n d s u b -s ys te m c o m p o n e n ts R e la tio n s h ip s b e tw e e n s u b -s ys te m s a n d s u b -s ys te m c o m p o n e n ts C o m p le x S ys te m A g e n t-B a s e d S ys te m S u b -s ys te m s A g e n t o rg a n is a tio n s S u b -s ys te m c o m p o n e n ts A g e n ts In te ra c tio n s b e tw e e n s u b -s ys te m s a n d s u b -s ys te m c o m p o n e n ts : “c o o p e ra tin g to a c h ie ve c o m m o n o b je c tive s ” “a t a n y g ive n le ve l o f a b s tra c tio n , fin d m e a n in g fu l c o lle c tio n s o f e n titie s th a t c o lla b o ra te to a c h ie ve s o m e h ig h e r le ve l vie w ” (B o o c h ) R e la tio n s h ip s b e tw e e n s u b -s ys te m s a n d s u b -s ys te m c o m p o n e n ts “c o o rd in a tin g th e ir a c tio n s ” “n e g o tia tin g to re s o lve c o n flic ts ” C o m p le x S ys te m A g e n t-B a s e d S ys te m S u b -s ys te m s A g e n t o rg a n is a tio n s S u b -s ys te m c o m p o n e n ts A g e n ts In te ra c tio n s b e tw e e n s u b -s ys te m s a n d s u b -s ys te m c o m p o n e n ts “c o o p e ra tin g to a c h ie ve c o m m o n o b je c tive s ” “c o o rd in a tin g th e ir a c tio n s ” “n e g o tia tin g to re s o lve c o n flic ts ” R e la tio n s h ip s b e tw e e n s u b -s ys te m s a n d s u b -s ys te m c o m p o n e n ts - c h a n g e o ve r tim e - tre a t c o lle c tio n s a s s in g le c o h e re n t u n it E xp lic it m e c h a n is m s fo r re p re s e n tin g & m a n a g in g o rg a n is a tio n a l re la tio n s h ip s S tru c tu re s fo r m o d e llin g c o lle c tive s The Adequacy Hypothesis Agent-oriented approaches can enhance our ability to model, design and build complex distributed software systems. The Establishment Hypothesis As well as being suitable for designing and building complex systems, agents will succeed as a software engineering paradigm [NB: will be complementary to existing software models like OO, patterns, components, …] Agents Consistent with Trends in Software Engineering Conceptual basis rooted in problem domain • world contains autonomous entities that interact to get things done Agents Consistent with Trends in Software Engineering Conceptual basis rooted in problem domain Increasing localisation and encapsulation • apply to control, as well as state and behaviour Agents Consistent with Trends in Software Engineering Conceptual basis rooted in problem domain Increasing localisation and encapsulation Greater support for re-use of designs and programs • whole sub-system components (cf. components, patterns) e.g. agent architectures, system structures • flexible interactions (cf. patterns, architectures) e.g. contract net protocol, auction protocols Agents Support System Development by Synthesis An agent is a stable intermediate form • able to operate to achieve its objectives and interact with others in flexible ways construct “system” by bringing agents together and watching overall functionality emerge from their interplay • well suited to developments in: open systems (e.g. Internet) e-commerce Conclusions Agents are a new model of computation Basic concepts are: • Agents • Interactions • Organisations Agents well suited to developing complex distributed applications Further Reading M. Luck, P. McBurney and C. Preist (2003) “Agent Technology: Enabling Next Generation Computing (A Roadmap for Agent Based Computing), AgentLink, 2003. N. R. Jennings (2000) “On Agent-Based Software Engineering” Artificial Intelligence, 117 (2) 277-296. H. S. Nwana (1996) “Software Agents: An Overview” The Knowledge Engineering Review, 11 (3). M. Luck, R. Ashri, M. d’Inverno (2004) Agent-Based Software Development, Artech House, 2004. Part II Conceptual Infrastructure: The SMART Agent Framework with Mark d’Inverno, University of Westminster, UK The SMART View: Objects Agents Autonomous Agents Conceptual Infrastructure Structured, Modular Agent and Relationship Types (SMART) Entities Objects Agents Autonomous Agents Entities have attributes Objects are entities with capabilities Agents goals are objects with Autonomous agents are agents able to generate their own goals (based on motivations) Entities Abstraction with • • • • Actions Attributes Goals Motivations Objects, Agents, Autonomous Agents Objects are entities with non-empty actions Agents are objects with non-empty goals Autonomous Agents are agents with non-empty motivations Motivation Motivations give rise to goals • Greed • Hunger • Etc Robbing a bank – greed The why as opposed to the what Engagement One agent satisfies the goals of another Can build up chains of engagements Autonomous agent at head of chain Cooperation involves two autonomous agents Relationships Ownership • When no others engage an agent Direct ownership • When no chain is involved Other categories are possible Understanding Agent Systems Part III Technical Infrastructure: Agent Implementation through Jini with Ronald Ashri, University of Southampton, UK Overview Goals and roadblocks Required solutions What is infrastructure support for agentbased systems? A layered approach to infrastructure Intelligent agents, mobile agents and middleware Concept-centred view of agent development Paradigma: Jini-based agent system Further Work Goals Integration of services Effective information management Intelligent Environments at work, home and in the community Minimised workload Optimised resource handling More fun in life! Example: Ambient Intelligence The game is starting in 5 min. Milk is out of date Home Community There is an urgent mail! Hi, I am a new mobile phone Just let me know how you would like me to take care of things. Autonomous Agent Roadblocks A multitude of computing environments (workstations, embedded, mobile) A multitude of platforms (Windows, Unix/Linux, Macintosh, OS/2, PalmOS, legacy,…) Different applications for every task, little integration, too much work expected from the user (direct manipulation). Complex administration Required Solutions Move from static to dynamic networks Online Communities Dynamic registration of new devices and software Fault-tolerance Move from object-oriented to agent-oriented software engineering Co-ordination amongst software components Delegation of tasks and task sharing Autonomous behaviour How to provide such solutions Middleware technologies to create the appropriate environment Many candidates Service Location Protocol Salutation UPnP E-Speak Jini All still fairly new but there is progress and reasons to be hopeful Solutions: Frameworks for agentbased systems A framework should... Provide meanings for common concepts Enable comparison and evaluation of alternative designs Provide for subsequent refinement and development Challenge is to provide a framework with a strong conceptual base that can be practically implemented! Solutions: Design principles A common structure for both practical and theoretical development of agent research Use of existing technologies (Java, XML), especially as it refers to the environment (Jini middleware) Extensibility that will allow for the natural evolution of the framework Infrastructure support for agentbased systems Basic building blocks required for the development and deployment of an application What are the significant re-usable and domain independent components? PARADIGMA What is an appropriate framework through which to manipulate these components? SMART Aim is support for agent-based systems not general distributed systems. Agent infrastructure should touch upon lower-level issues as well as higher-level. Heterogeneous Environments LAN Internet LAN Network Community Internet Gatewa y cellular network LAN bluetooth short range wireles s Research Fields Intelligent Agents • reasoning • negotiation • coalition formation • autonomy • security • communication • coordination Middleware • network protocols • reflection • access policies • code • discovery mobility • security • binding resource control • optimization • state migration • security • Mobile Agents Infrastructure Layers level of abstraction intelligent agents (goal-directed, autonomous operation) mobile agents (resource optimization) middleware (registration, discovery) Framework Centered View Capabilities, Attributes, Goals, Plans, Motivations Domain specific capabilities Infrastructure support capabilities Agent & Relationship Types (Agent Framework) Agent Execution Environment Middleware Programming Language Support OS + Networking Application Developer Concern Agent Program Conceptual Infrastructure Structured, Modular Agent and Relationship Types (SMART) Entities Objects Agents Autonomous Agents Entities have attributes Objects are entities with capabilities Agents are objects with goals Autonomous agents are agents able to generate their own goals (based on motivations) PARADIGMA/ actSMART Infrastructure that provides base agent concepts to ground development of specific systems without starting from scratch (conceptually), but ……. Infrastructure that avoids forcing a developer to commit to a particular agent architecture Infrastructure that facilitates clean separation of agent behaviour from agent description, and promotes modularity of agent construction Technical Infrastructure XML for agent specification • XML separates agent function from agent description • No specialised tools required and enables the creation of agent libraries • XML could, eventually, be used for agent packaging to allow mobility. A far less costly mechanism for serialisation when compared to the Java mechanism. Jini as the network environment • Ready Java-based implementation • Source available and well supported through Jini community (www.jini.org) • Based on lookup, discovery, join, entries, leasing and transactions Overview Formal Agent Framework Agenthood Autonomy Coordination PARADIGMA Java Jini/Javaspaces XML JVM/RMI Network Communications (TCP/IP) Technical Infrastructure Capabilities, Attributes, Goals, Plans, Motivations Domain specific capabilities Message Manager Ontology Engine Registration XML-based Serialization/Deserialization Goal Selection Plan Selection Resource Access Control Event Listener … Dynamic Linking … Jini + Java + Unix + TCP/IP Attributes Capabilities Goals/ Plans Motivations Neutral Objects Server Agents Autonomous Engagement Agents Types Contract Types Jini as the network environment 4. print request Executing Environment Executing Environment Printer User Printer Service 3. retrieval Printer Interface Jini Lookup Service 2. discovery/lookup 1. registration Printer Interface Description Technical Infrastructure: Jini Agent discovery through lookup and join Agent description using entries Agent management via leasing Information sharing can be done using Javaspaces (Linda-like tuple-space) Conceptual Infrastructure: SMART Some further definitions: These definitions allow for more dynamic behaviour Server Agents - Those agents that are not autonomous Neutral Objects - Those objects that are not agents Once a neutral object is assigned a goal it becomes a server agent When a goal is satisfied it reverts to a neutral object This is a possible solution to the issue of agentification (Shoham, 93) Many more issues covered (interactions, planning, cooperation) Paradigma: Using Neutral Objects Jini Lookup Service Neutral Object Proxy 2. lookup 1. publish Description 5. call capabilities of neutral object 3. retrieve Neutral Object Proxy 4. instatiate Server Agent Autonomous Agent Neutral Object Paradigma: Different Execution Models Execution on server’s JVM (Remote sensor interfaces) Execution on client’s JVM (New capabilities for engaging agent, network monitoring) Execution on both client and server (Smart proxy) Allows for efficient use of computing resources PARADIGMA XML is used to describe agents (in terms of attributes, capabilities, goals, etc) Description are parsed to create component collections that are linked via infrastructure support and domain-specific capabilities Agent constructors carry necessary information for agent infrastructure and domain-specific capability needs Capabilities can be dynamically loaded Agent creation and operation are separate Currently, Jini is used for agent discovery Paradigma Architecture Creation Attributes AttributeCollection AttributeCollection DTD Interpreter Operation Factory XML sensing Attribute Attribute ViewCreator Capabilities CapabilityCollection DTD XML Interpreter Factory Capability Goals DTD Interpreter Factory Infostore GoalBase GoalSelection XML Goal Plans PlanBase DTD XML Interpreter PlanSelection Factory PlanBase action Motivations Motivations DTD XML Interpreter Factory Motive PARADIGMA Decoupling agent behaviour and description Helps deal with environmental constraints – behaviours can vary to suit executing environments while behaviours remain the same Flexibility in evaluation - alternative algorithms (behaviours) can be applied to the same descriptions, and be clearly evaluated against each other Provides alternative forms of mobility Enables libraries of agent components (attributes, capabilities, plans, goals) Conclusions A layered approach maximizes inter-domain transfer It can employ existing technologies, rather than competing with them, engaging user and developer communities By placing the agent framework at the centre we focus on agent issues and better relate them to non-agent issues Paradigma adopts this approach Through Paradigma, SMART is instantiated, evaluated and refined Further Work Apply Paradigma to significant real world problems for further evaluation Develop conceptual infrastructure to support other issues eg. mobility Dynamic self modification of capabilities – conceptual and technical development http://www.ecs.soton.ac.uk/~ra00r/paradigma Part III Applied Infrastructure: Agent Construction for Mobile Devices with Ronald Ashri, University of Southampton, UK Overview Challenges for agent development on mobile devices Desiderata for an agent construction model Agent Construction Model Example Implementation Conclusions Challenges “Standard” challenges Heterogeneity Dynamicity Diverse Application Domains Mobile devices add Memory, storage, processing power, operating power limitations Unstable network connectivity Different devices for different tasks/trips Operating through changing organisational domains Desiderata Agent construction framework that is able to deal with these challenges through: Architecture neutrality Modularity Powerful reconfiguration (at run-time when possible) Architecture Neutrality Developers need to produce agent-based solutions for a range of application domains Constraining a developer to one specific architecture (e.g. BDI) is not practical Providing a really good generic architecture doesn’t work either Agent construction model must be architecturally neutral SMART Provides the underlying theoretical approach It is already architecturally neutral Has been used to describe a range of agent architectures However, deals only with the description of agent systems not their construction Descriptive Specification (SMART) What an agent is and does Attributes Capabilities Goals Motivations PDA Storage: 64 MB Connectivity: 802.11b Owner: Ronald Ashri --Join Research Group Receive messages from other agents Negotiate meetings Notify User --Arrange a meeting with Mike --Keep meetings as short as possible Structural Specification The main building blocks of the agent Sensors Actuators Controllers Infostores Each component is described with attributes (stateless and situation) and capabilities Incoming Message Sensor User Preferences Infostore Message Mailbox Infostore Message Analysis Controller Meetings Negotiation Controller Outgoing Message Actuator User Notification Actuator Agenda Update Actuator Behavioural Specification How the agent behaves Links between components Type of messages exchanged Execution sequence of components Incoming Message Sensor User Preferences Infostore Message Mailbox Infostore Message Analysis Controller Meetings Negotiation Controller Outgoing Message Actuator User Notification Actuator Agenda Update Actuator Reconfiguration Agent aspects managed through a shell, which directs access to each specification Agent Shell Infostore Infostore Controller Controller Execution Sequence Link Management Control Policies Sensor Sensor Actuator Actuator Agent-Specific Attributes Example: BDI Architectures BDI aims to model rational or intentional agency The symbols representing the world correspond to mental attitudes Three categories: • informative (knowledge, belief, assumptions) • motivational (desires, motivations, goals) • deliberative (intentions, plans) BDI Systems BDI = Belief, Desires and Intentions Many agent architectures are BDI based Original system was PRS More recent versions include dMARS. Other related systems include AgentSpeak(L) and Agentis Folk Psychology I believed the tutorial today was at 8am so I intended to arrive yesterday from London. I believed the planes were not delayed and desired not to be late so I intended to arrive by 6pm. Compelling because • familiar: what it wants, knows and intends - easier to understand and predict behaviour. • Other agents can understand and predict behaviour • Relationship between these three categories may give us a handle on intelligent action in general. BDI Architectures Beliefs - modelling world state. Desires - choice between possible states. Intentions - commitment to achieving particular state. PRS/dMARS/AgentSpeak(L) Beliefs: information about the world Goals: tasks to achieve Plan library: procedural knowledge Intentions: partially instantiated selected plans Procedural Reasoning System (PRS) Beliefs Sensor input Plan library Action output Interpreter Goals Intentions BDI Architecture In general, an agent cannot achieve all its desires. Must therefore fix upon a subset. Commit resources to achieving them. Chosen desires are intentions. Agents continue to try to achieve intentions until either • believe intention is satisfied, or • believe intention is no longer achievable. Plans BDI model is operationalised in PRS/dMARS agents by plans. Plans are recipes for courses of action. Each plan contains: • invocation condition: circumstances for plan consideration; • context: circumstances for successful plan execution; • maintenance condition: must be true while plan is executing, in order for it to succeed; and • body: course of action, consisting of both goals and actions. Plan Structure Plan Start ?g1 Invocation Context Body Maintenance Success Failure ?g2 (otherwise) P2 P1 ?g3 ?g4 *a1 P3 P4 End3 !g1 End1 !g2 End2 Operation 1 Observe world and agent state, and update event queue to reflect observed events. Generate new possible goals (tasks), by finding plans whose trigger matches event queue. Select matching plan for execution (an intended means). Operation 2 Intention Plan Instance(m) Plan Instance (m-1) Plan Instance(1) Push the intended means onto the appropriate intention stack in the current set. Select an intention stack and execute next step of its topmost plan (intended means): • if the step is an action, perform it; • if it is a subgoal, post it on the event queue. Applications Air-traffic control spacecraft systems telecommunications management air-combat modelling Example: AgentSpeak(L) - Description G oal A to m T eTremr m P r e d ic a te B e lie f A to m A to m A c tio n AAtotomm T r ig g e r (In te r n a l|E x te r n a l) b o o le a n n e g a te d G o a l|P la n T r ig g e r In te n tio n P la n riggge er r TTrig T eTremr m C o n te x t F o rm u la B e lie f B e lie f tionn AAcctio GGooaal l PPlalann A c tio n Sym bol Example: AgentSpeak(L) – Structure Beliefbase BDIEvent Processor Planbase sensors Plan Selector Intention Base Intention Selection actuators BDIAction Processor Example: AgentSpeak(L) – Behaviour view(BDI) Beliefbase view(BDI) view(BDI) BDIEvent Processor view(domain) Planbase plan sensors Plan Selector plan plan Intention Base intention actuators action(domain) intention Intention Selection BDIAction Processor action(BDI) Implementation - actSMART All concepts implemented in Java, accessible as APIs Implementation of core in J2ME AgentSpeak(L) running on Palm m100 Desktop version configurable via XML Implementation – actSMART a c ts m a r t.d e s k a c ts m a rt.d e s k .a ttrib u te a c ts m a rt.d e s k .x m l a c ts m a rt.d e s k .u i a c ts m a rt.d e s k . com ponent a c ts m a r t.m o b ile a c ts m a rt.m o b ile . ui a c ts m a r t.c o r e a c ts m a rt.c o re . a d m in a c ts m a rt. c o re .s h e ll a c ts m a rt.c o re . a ttrib u te a c ts m a rt.c o re . com ponent Conclusions Development process greatly aided through better understanding of architecture, easier debugging Affords flexibility and allows easy comparison between different approaches (both at a theoretical and implementation level) Can be integrated with existing methodologies or form the basis for one Further Work Larger scale implementation Library of architectures and architectural patterns Integration with other aspects (relationships, discovery)