Cognitive Agent Programming

Total Page:16

File Type:pdf, Size:1020Kb

Cognitive Agent Programming cognitive agent programming a semantic approach SIKS Dissertation Series No. 2006-19 The research reported in this thesis has been carried out under the auspices of SIKS, the Dutch Research School for Information and Knowledge Systems. 2006 M. Birna van Riemsdijk Printed by Gildeprint drukkerijen B.V., Enschede ISBN-10: 90-393-4355-1 ISBN-13: 978-90-393-4355-5 Cognitive Agent Programming A Semantic Approach Programmeren van Cognitieve Agenten Een Semantische Benadering (met een samenvatting in het Nederlands) Proefschrift ter verkrijging van de graad van doctor aan de Universiteit Utrecht op gezag van de rector magnificus, Prof. Dr. W.H. Gispen, ingevolge het besluit van het college voor promoties in het openbaar te verdedigen op woensdag 25 oktober 2006 des middags te 12.45 uur door Maria Birna van Riemsdijk geboren op 29 oktober 1978, te Wageningen promotoren: Prof. Dr. John-Jules Ch. Meyer co-promotoren: Dr. Frank S. de Boer Dr. Mehdi Dastani Het hoogste doel in het leven is de groei van het ik, de vergroting van het bewustzijn. Het hoogste geluk ligt in de vreugde over deze groei, over het gevoel meer mens te worden. The ultimate goal in life is the growth of self, the expansion of con- sciousness. The ultimate happiness lies in the joy about this growth, in the feeling of becoming more human. - Translated by Targetranslations, Apeldoorn. Bertus Mulder, Gerrit Thomas Rietveld: Leven Denken Werken Contents Preface xi 1 Introduction 1 1.1 CognitiveAgentProgramming . 2 1.2 FormalSemantics........................... 4 2 Setting the Stage 7 2.1 Syntax................................. 7 2.1.1 Beliefs,Goals,andPlans. 7 2.1.2 ReasoningRules ....................... 8 2.1.3 AnAgent ........................... 9 2.2 Semantics ............................... 10 2.3 Example................................ 14 2.3.1 BuildingaTower. .. .. .. .. .. .. .. .. .. 15 2.3.2 Goals and Plan Revision: Programming Flexible Agents . 17 2.4 OverviewofThesis .......................... 18 2.4.1 PartI:Goals ......................... 19 2.4.2 PartII:PlanRevision . 19 2.4.3 PartIII: SoftwareEngineeringAspects . 20 2.5 ImportantIssuesWeDoNotAddress . 21 I Goals 23 3 Semantics of Subgoals 25 3.1 Syntax................................. 26 3.2 Semantics ............................... 28 3.3 Comparisonwith3APL . .. .. .. .. .. .. .. .. .. 29 3.3.1 SyntaxandSemantics . 29 3.3.2 3APLandSubgoals . .. .. .. .. .. .. .. .. 32 3.4 ConclusionandRelatedWork . 36 vii 4 Goals in Conflict 39 4.1 Preliminaries ............................. 40 4.1.1 CognitiveAgentProgramming . 40 4.1.2 DefaultLogic ......................... 43 4.2 GoalBase............................... 44 4.2.1 Semantics........................... 44 4.2.2 Properties........................... 47 4.3 GoalBaseandGoalAdoptionRules . 51 4.3.1 Semantics........................... 51 4.3.2 Properties........................... 56 4.4 DynamicsofGoalsandIntentions . 60 4.4.1 CommitmentStrategiesforGoals. 60 4.4.2 IntentionGeneration. 62 4.5 RelatedWork............................. 68 4.5.1 VanFraassenandHorty . 68 4.5.2 BOIDandRelatedApproaches . 73 4.6 Conclusion .............................. 78 5 Putting Goals in Perspective 79 5.1 WhatIsaGoal? ........................... 80 5.1.1 Philosophy: DennettandBratman . 80 5.1.2 Formalizing Motivational Attitudes . 81 5.2 WhyGoalsinAgentProgramming? . 84 5.2.1 BridgingtheGap. .. .. .. .. .. .. .. .. .. 84 5.2.2 ProgrammingProactiveAgents . 85 5.2.3 GoalsasaModelingConcept . 86 5.3 Representation ............................ 87 5.3.1 RepresentingGoalsSeparatelyorNot . 87 5.3.2 Logic-Based and Non-Logic-Based Approaches . 89 5.3.3 InteractingGoals. 92 5.4 Behavior................................ 95 5.4.1 ProceduralandDeclarativeGoals. 95 5.4.2 DroppingandAdopting . 99 5.5 Conclusion .............................. 102 II Plan Revision 105 6 Semantics of Plan Revision 107 6.1 Syntax.................................109 6.1.1 Object-Level . .. .. .. .. .. .. .. .. .. .. 109 6.1.2 Meta-Level .......................... 110 6.2 OperationalSemantics . 111 6.2.1 Object-LevelTransitionSystem . 111 viii 6.2.2 Meta-LevelTransitionSystem. 111 6.2.3 OperationalSemantics . 113 6.3 Equivalence of Object- and Meta-Level Operational Semantics . 114 6.4 DenotationalSemantics . 118 6.4.1 Preliminaries . 118 6.4.2 Definition of Meta-Level Denotational Semantics . 120 6.4.3 Continuityof Φ ....................... 127 6.5 Equivalence of Operational and Denotational Semantics . .. 129 6.5.1 EquivalenceTheorem . 130 6.5.2 Denotational Semantics of Object-Level 3APL . 134 6.6 RelatedWorkandConclusion . 135 7 DynamicLogicforPlanRevision 137 7.1 RelatedWork............................. 138 7.2 3APL .................................140 7.2.1 Syntax............................. 140 7.2.2 Semantics ........................... 141 7.3 PlanRevisionDynamicLogic . 143 7.3.1 Syntax............................. 144 7.3.2 Semantics ........................... 144 7.4 TheAxiomSystem.......................... 145 7.4.1 Soundness........................... 147 7.4.2 Completeness . .. .. .. .. .. .. .. .. .. .. 149 7.5 Proving Properties of Non-Restricted Plans . 155 7.5.1 From Restricted to Non-Restricted Plans . 155 7.5.2 Examples ........................... 156 7.6 PlanRevisionRulesversusProcedures . 162 7.6.1 ReasoningaboutProcedures . 163 7.6.2 Induction ........................... 165 7.7 Conclusion .............................. 166 8 CompositionalSemanticsofPlanRevision 169 8.1 3APL .................................170 8.1.1 Syntax............................. 170 8.1.2 Semantics ........................... 170 8.2 3APLandNon-Compositionality . 171 8.2.1 Compositionality of Procedural Languages. 171 8.2.2 Non-Compositionalityof3APL . 172 8.2.3 Reasoningabout3APL . 172 8.3 Compositional3APL. 173 8.3.1 RestrictedPlanRevisionRules . 173 8.3.2 CompositionalityTheorem . 176 8.3.3 Reasoningabout Compositional 3APL . 179 ix III Software Engineering Aspects 181 9 Goal-Oriented Modularity 183 9.1 Goal-OrientedModularity . 184 9.1.1 RelatedWork......................... 184 9.1.2 OurProposal ......................... 186 9.1.3 Discussion........................... 187 9.2 Goal-OrientedModularityin3APL . 188 9.2.1 Syntax............................. 188 9.2.2 Semantics ........................... 191 9.2.3 Example............................ 195 9.3 FutureResearch ........................... 197 10 Prototyping 3APL in the Maude Term Rewriting Language 199 10.13APL .................................200 10.1.1 Syntax............................. 200 10.1.2 Semantics ........................... 202 10.2Maude................................. 203 10.3 Implementationof3APLinMaude . 205 10.3.1 Object-Level . 205 10.3.2 Meta-Level .. .. .. .. .. .. .. .. .. .. .. 209 10.4 DiscussionandRelatedWork . 211 10.4.1 AdvantagesofMaude . 211 10.4.2 Extending the Implementation . 213 10.4.3 RelatedWork. 214 11 Conclusion 215 11.1PartI:Goals ............................. 216 11.2 PartII:PlanRevision . 217 11.3 Part III: SoftwareEngineeringAspects . 217 11.4FinalRemarks ............................ 218 Programmeren van Cognitieve Agenten 235 Curriculum Vitae 237 SIKS Dissertation Series 239 x Preface Simplicity is my holy grail. Only through a striving for simplicity can we make progress. Striving for simplicity is important in the sense of identifying an issue and simplifying it such that its essence can be studied in isolation. This is what the famous Dutch computer scientist Dijkstra (1930 - 2002) has referred to as “separation of concerns”: “Let me try to explain to you, what to my taste is characteristic for all intelligent thinking. It is, that one is willing to study in depth an aspect of one’s subject matter in isolation for the sake of its own consistency, all the time knowing that one is occupying oneself only with one of the aspects. [. .] It is what I sometimes have called “the separation of concerns”, which, even if not perfectly possible, is yet the only available technique for effective ordering of one’s thoughts, that I know of.” [?] Contrary to what one might think, this is not a trivial undertaking. One should not oversimplify matters and ignore essential aspects of the issue. That is, it is not the case that simpler is always better. Rather, I argue that when proposing a certain approach, one should ideally be able to argue for each aspect of the approach why this aspect is incorporated. Through this, one can achieve a clarity of presentation and a true understanding of the subject matter. Unfortunately, simplicity doesn’t always sell, as illustrated by the following quote from Dijkstra: “When you give for an academic audience a lecture that is crystal clear from alpha to omega, your audience feels cheated and leaves the lecture hall commenting to each other: ‘That was rather trivial, wasn’t it?’ The sore truth is that complexity sells better.” [?] A solution to this problem is suggested in the following poem, which is attributed to1 the Danish artist and scientist Piet Hein (1905 - 1996). If you want the world to hear Write your papers crystal clear, then add some ingenuities to show how hard to do it is... 1I found this poem on the website of computer scientist Sophia Drossopoulou: http://www.doc.ic.ac.uk/~scd/. xi Besides the scientific progress that can be achieved through a striving for sim- plicity, a simple and clear theory can be enjoyed as a thing of beauty. This is where science and art meet. And this is the work of an artist. The artist, who thanks to his limited talents is able to make some clear distinctions,
Recommended publications
  • BAAC: a Prolog System for Action Description and Agents Coordination∗
    BAAC: A Prolog System for Action Description and Agents Coordination∗ Agostino Dovier1, Andrea Formisano2, and Enrico Pontelli3 1 Univ. di Udine, Dip. di Matematica e Informatica. [email protected] 2 Univ. di Perugia, Dip. di Matematica e Informatica. [email protected] 3 New Mexico State University, Dept. Computer Science. [email protected] Abstract The paper presents a system for knowledge representation and coordination, where autonomous agents reason and act in a shared environment. Agents autonomously pursue individual goals, but can interact through a shared knowledge repository. In their interactions, agents deal with problems of synchronization and concurrency, and have to realize coordination by developing proper strategies in order to ensure a consistent global execution of their autonomously derived plans. This kind of knowledge is modeled using an extension of the action description language B. A distributed planning problem is formalized by providing a number of declarative specifications of the portion of the problem pertaining a single agent. Each of these specifications is executable by a stand-alone CLP-based planner. The coordination platform, implemented in Prolog, is easily modifiable and extensible. New user-defined interaction protocols can be integrated. 1998 ACM Subject Classification I.2.3 Deduction and Theorem Proving, I.2.11 Distributed Artificial Intelligence Keywords and phrases Knowledge Representation, Multi-Agent Systems, Planning, CLP Digital Object Identifier 10.4230/LIPIcs.ICLP.2011.187 1 Introduction Representing and reasoning in multi-agent domains are two of the most active research areas in multi-agent system (MAS) research. The literature in this area is extensive, and it provides a plethora of logics for representing and reasoning about various aspects of MAS, e.g., [13, 9, 17, 15, 7].
    [Show full text]
  • Observation-Based Model for BDI-Agents∗
    Observation-based Model for BDI-Agents∗ Kaile Su1,2, Abdul Sattar1, Kewen Wang1, Xiangyu Luo2, Guido Governatori3, Vineet Padmanabhan3 1Institute for Integrated and Intelligent Systems, Griffith University, Brisbane, Australia 2Department of Computer Science, Sun Yat-sen University, Guangzhou, P.R.China 3School of ITEE, The University of Queensland, Brisbane, Australia {k.su, a.sattar, k.wang}@griffith.edu.au; xiang yu [email protected]; {guido,vnair}@itee.uq.edu.au Abstract the states of computer processes, to S5 epistemic logic. The salient point of the interpreted system model is that we can We present a new computational model of BDI-agents, called get an interpreted system from a computer program, and for- the observation-based BDI-model. The key point of this BDI- model is to express agents’ beliefs, desires and intentions as mulas in epistemic logic that are valid with respect to the in- a set of runs (computing paths), which is exactly a system in terpreted system can be understood as properties of program the interpreted system model, a well-known agent model due computations. In this sense, the interpreted system model is to Halpern and his colleagues. Our BDI-model is computa- computationally grounded (Wooldridge 2000). Thus, it is in- tionally grounded in that we are able to associate the BDI- teresting to extend the interpreted system model to capture agent model with a computer program, and formulas, involv- an agent’s belief, desire and intention as well. ing agents’ beliefs, desires (goals) and intentions, can be un- The aim of this paper is to present a computationally derstood as properties of program computations.
    [Show full text]
  • JAPL: the JADE Agent Programming Language
    272 JOURNAL OF EMERGING TECHNOLOGIES IN WEB INTELLIGENCE, VOL. 5, NO. 3, AUGUST 2013 JAPL: the JADE Agent Programming Language Mohamed BAHAJ, Abdellatif SOKLABI FSTS/ Department of Mathematics and Computer Science, University Hassan I Settat, Morocco [email protected] [email protected] Abstract— This article describes JADE Agent Programming particular, we highlight knowledge representation. The Language (JAPL) that allows fast and efficient following section contains the programming treatment implementation of intelligent behaviors into mobile agents, agent’s behaviours. The sixth section finalizes this part based on three logical, FIPA speech acts, and a part of with a focus on the service concept, and the last section complex procedural script for actions. It integrates the we wrap up with some conclusions. ontologies and defines communication services. Rather than rely on a library of plans, JAPL allows agents to plan from II. JADE AGENT PROGRAMMING LANGUAGE first principles. It also describes how to program the multiple OVERVIEW: JADE behaviors using JAPL instructions and how to JAPL is the extension of ADL (Action Description compile JAPL to JAVA classes. Language) [18] on the mobile agents of JADE. ADL Keywords— Mobile agents, JADE, Agent programming allows the use of quantifiers and conditional expressions language, agents communication, MAS in the description of operators to describe classical planning. In ADL, the focus of the quantifiers is over I. INTRODUCTION: finite domains and disjunction that are not allowed in the JADE (Java Agent Development Environment) is the expression of effects, because it would bring non- system for mobile agents, most used in the world. It is deterministic actions.
    [Show full text]
  • Acting Within BDI Agent Architecture –
    Automated Planning and Acting – Acting within BDI Agent Architecture – O. Boissier IMT Mines Saint-Etienne, France Défi IA — Spring 2021 Acting I How to perform chosen actions I Acting6=Execution ActorAgent Deliberation components I Agent is situated in a dynamic Objectives Planning unpredictable environment QueriesDeliberation Other Plans actorsagents I Adapt actions to current Actingcomponents Messages context I React to events Commands Percepts I Relies on ExecutionExecution platformplatform I Operational models of actions Actuations Signals I Observations of current state External World I Acting6=Planning 2 Outline Agent Oriented Programming BDI Architecture Agent Oriented Programming with Jason Comparison with other paradigms Conclusions and wrap-up 3 Agent Oriented Programming Features I Reacting to events × long-term goals I Course of actions depends on circumstance I Plan failure (dynamic environments) I Social ability ; see course on Integrating and engineering intelligent systems I Combination of theoretical and practical reasoning I Theoretical reasoning is directed towards beliefs, knowledge ; see course on Knowledge representation and reasoning I Practical reasoning is directed towards actions ; this course 4 Agent Oriented Programming Fundamentals I Use of mentalistic notions and a societal view of computation [Shoham, 1993] I Heavily influenced by the BDI architecture and reactive planning systems [Bratman et al., 1988] 5 Literature Agent Oriented Programming Books: [Bordini et al., 2005], [Bordini et al., 2009] Proceedings: ProMAS, DALT, LADS, EMAS, AGERE, ... Surveys: [Bordini et al., 2006], [Fisher et al., 2007] ... Languages of historical importance: Agent0 [Shoham, 1993], AgentSpeak(L) [Rao, 1996], MetateM [Fisher, 2005], 3APL [Hindriks et al., 1997], Golog [Giacomo et al., 2000] Other prominent languages: Jason [Bordini et al., 2007a], Jadex [Pokahr et al., 2005], 2APL [Dastani, 2008], GOAL [Hindriks, 2009], JACK [Winikoff, 2005], JIAC, AgentFactory But many other languages and platforms..
    [Show full text]
  • 3APL-M Programming Guide
    3APL-M Platform for Lightweight Deliberative Agents Version: 1.4 (Feb-2005) Fernando Koch † http://www.cs.uu.nl/3apl-m Table of Contents Table of Contents ................................................................................................................................. 1 What-is 3APL-M?................................................................................................................................ 2 What-is 3APL?..................................................................................................................................... 2 Software Requirements ........................................................................................................................ 3 Getting started ...................................................................................................................................... 3 For J2SE........................................................................................................................................... 3 For J2ME.......................................................................................................................................... 4 The 3APL-M architecture .................................................................................................................... 6 Programming in 3APL ......................................................................................................................... 7 The Deliberation Cycle .......................................................................................................................
    [Show full text]
  • Architecture for Agent Programming Languages
    Architecture for Agent Programming Languages ¾ ¿ Koen Hindriks½ and Mark d’Inverno and Michael Luck Abstract. eral properties of agents. Equally, it has enabled a consideration of As the field of agent-based systems continues to expand rapidly, the needs for a set of building blocks for agent architectures by spec- one of the most significant problems lies in being able to compare and ifying schemas and actions for the updates of beliefs, goals (decision evaluate the relative benefits and disadvantages of different systems. making), planning and reflection. In this paper we use the formal In part, this is due to the various different ways in which these sys- specification of 3APL as well as components from AgentSpeak(L) tems are presented. One solution is to develop a set of architectural and dMARS specifications to compare and highlight the major dis- building blocks that can be used as a basis for further construction tinctions between them. (to avoid re-inventing wheels), and to ensure a strong and effective, The difficulty in comparing different agent-based approaches in yet simple and accessible, means of presentation that allows for com- part derives from the fact that there is no clear or formal presenta- parison and analysis of agent systems. In this paper, we address this tion of the language or architecture in question. Even when systems issue in providing just such an architectural framework by using the are presented by means of formal semantics, the differences in the 3APL agent programming language as a starting point for identifica- styles and formalisms used do not readily facilitate such comparison.
    [Show full text]
  • A Formal Embedding of Agentspeak L in 3APL 1 Introduction
    AFormal Emb edding of AgentSp eakL in 3APL Ko en Hindriks, Frank S. de Bo er, Wieb e van der Ho ek and John-Jules Ch. Meyer University Utrecht, Department of Computer Science P.O. Box 80.089, 3508 TB Utrecht, The Netherlands fko enh,frankb,wieb e,[email protected] Abstract Agent-based computing in Arti cial Intelligence has given rise to a numb er of diverse and comp eting prop osals for agent programming languages. Agents, in the sense we are using it, are complex mental entities consisting of b eliefs, goals, and intentions. For several reasons it has b een dicult to evaluate and compare the di erent prop osals for agent languages. One of the main reasons, in our opinion, is the lack of a general semantic framework which provides a suitable basis for language comparison. Our aim is to make as much use as p ossible of formal metho ds from the area of programming semantics. In this pap er, we give a formal emb edding of the agent language AgentSp eakL in our own agent language 3APL. To this end we de ne a notion of simulation based on the formal op erational semantics of the languages. The main result of the pap er is a pro of that 3APL can simulate AgentSp eakL. As a consequence, 3APL has at least the same expressive power as AgentSp eakL. The comparison yields some new insights into the features of the agent languages. One of the results is that AgentSp eakL can b e substantially simpli ed.
    [Show full text]
  • Architecture for Agent Programming Languages
    Architecture for Agent Programming Languages ¾ ¿ Koen Hindriks ½ and Mark d’Inverno and Michael Luck Abstract. eral properties of agents. Equally, it has enabled a consideration of As the field of agent-based systems continues to expand rapidly, the needs for a set of building blocks for agent architectures by spec- one of the most significant problems lies in being able to compare and ifying schemas and actions for the updates of beliefs, goals (decision evaluate the relative benefits and disadvantages of different systems. making), planning and reflection. In this paper we use the formal In part, this is due to the various different ways in which these sys- specification of 3APL as well as components from AgentSpeak(L) tems are presented. One solution is to develop a set of architectural and dMARS specifications to compare and highlight the major dis- building blocks that can be used as a basis for further construction tinctions between them. (to avoid re-inventing wheels), and to ensure a strong and effective, The difficulty in comparing different agent-based approaches in yet simple and accessible, means of presentation that allows for com- part derives from the fact that there is no clear or formal presenta- parison and analysis of agent systems. In this paper, we address this tion of the language or architecture in question. Even when systems issue in providing just such an architectural framework by using the are presented by means of formal semantics, the differences in the 3APL agent programming language as a starting point for identifica- styles and formalisms used do not readily facilitate such comparison.
    [Show full text]
  • 3APL Platform
    3APL Platform 2nd October 2003 Masters' thesis Computer Science Utrecht University E.C. ten Hoeve INF/SCR-03-02 Supervisors: dr. M. M. Dastani dr. F.P.M. Dignum Prof. dr. J.-J. Ch. Meyer Abstract The 3APL platform is an experimental multiagent platform, designed to support the FIPA specications. It provides a graphical interface in which a user can develop and execute agents using several tools, such as a syntax-colored editor and several debugging tools. The platform also allows for communication among agents present on the platform as well as other agents hosted on another 3APL platform. This thesis describes the design and implementation of this platform. It also compares several existing platforms, namely JADE,JACK and ZEUS with the 3APL platform on purpose, communication and the phases of traditional software development (analysis, design, implementation, deployment). 3 Acknowledgements Many thanks to dr. Mehdi Dastani for his support, comments and ideas. I would also like to thank dr. Frank Dignum for his input and suggestions. Finally I would like to thank Ir. Meindert Kroese for his assistance in integrating and adapting the existing 3APL software to the agent platform. 5 CONTENTS CONTENTS Contents 1 Introduction 9 2 What is 3APL? 11 2.1 Beliefs . 11 2.2 Actions . 12 2.3 Goals . 12 2.4 Practical reasoning rules . 13 2.5 Semantics of 3APL . 13 2.6 Deliberation cycle . 14 2.7 An example program. 15 3 What is a platform ? 17 3.1 Introduction . 17 3.2 FIPA Standards . 17 3.2.1 AMS . 18 3.2.2 Agent .
    [Show full text]
  • Internalising Interaction Protocols As First-Class Programming Elements in Multi Agent Systems
    Internalising Interaction Protocols as First-Class Programming Elements in Multi Agent Systems by David J. Lillis, B.A., H.Dip., M.Sc. The thesis is submitted to University College Dublin for the degree of Doctor of Philosophy in the College of Science October 2012 arXiv:1711.02634v1 [cs.MA] 7 Nov 2017 School of Computer Science and Informatics Mr. John Dunnion (Head of School) Under the supervision of Dr. Rem W. Collier Mr. John Dunnion CONTENTS Abstract xi Acknowledgements xiv List of Publications xvi 1 Introduction 1 1.1 The Position of Multi Agent Systems . 2 1.2 Conversation Management for Multi Agent Systems . 4 1.3 Motivations . 5 1.4 Core Contributions . 7 1.5 Thesis Outline . 8 I Background 11 2 Agent Oriented Programming 12 2.1 Introduction . 12 2.2 What is an “agent”? . 13 2.2.1 Autonomy . 14 2.2.2 Social Ability/Interoperability . 14 2.2.3 Perception and Environment . 15 2.2.4 Proactivity and Reactivity . 15 2.2.5 Benevolence . 15 2.2.6 Mobility . 16 2.2.7 Other Properties . 16 2.2.8 Adopting a Definition . 17 2.3 Agent Oriented Programming . 18 2.4 AOP Frameworks and Languages . 19 2.4.1 AgentSpeak(L) and Jason . 23 2.4.2 Agent Factory . 25 2.4.3 GOAL . 28 2.4.4 JADE and Jadex . 30 2.4.5 2APL . 34 2.5 Summary . 38 i 3 Agent Communication 39 3.1 Introduction . 39 3.2 Standalone Agent Communication . 39 3.2.1 Speech Act Theory . 40 3.2.2 Criticisms of ACLs .
    [Show full text]
  • Goal-Oriented Modularity in Agent Programming∗
    Goal-Oriented Modularity in Agent Programming∗ M. Birna van Riemsdijk1 Mehdi Dastani1 John-Jules Ch. Meyer1 Frank S. de Boer1,2 Utrecht University1 CWI, Amsterdam2 The Netherlands {birna,mehdi,jj,frankb}@cs.uu.nl ABSTRACT can be changed (or at least the non-public part of a module), Modularization is widely recognized as a central issue in without affecting other modules. software engineering. In this paper we address the issue of In this paper we address the issue of modularization in cog- modularization in cognitive agent programming languages. nitive agent programming languages. Cognitive agents are We discuss existing approaches to modularity in cognitive agents endowed with high-level mental attitudes such as be- agent programming. Then, we propose a new kind of mod- liefs, goals, plans, etc. Several programming languages and ularity, i.e., goal-oriented modularity, which takes the goals platforms have been introduced to program these agents, of an agent as the basis for modularization. Further, we such as 3APL [10, 6], AgentSpeak(L) [14, 3], JACK [20], present a formal semantics of goal-oriented modularity in Jadex [13], etc. Some of these languages incorporate sup- the context of the 3APL agent programming language. port for modularization, which we discuss in some detail in section 2.1. Our contribution is the proposal of a new kind of modular- 1. INTRODUCTION ity, i.e., goal-oriented modularity, which is, as we will argue, Modularization is widely recognized as a central issue in particularly suited for agent programming languages (sec- software engineering [11, 9, 2]. A system which is composed tion 2).
    [Show full text]
  • Towards Verifying GOAL Agents in Isabelle/HOL
    Towards Verifying GOAL Agents in Isabelle/HOL Alexander Birch Jensen a DTU Compute, Department of Applied Mathematics and Computer Science, Technical University of Denmark, Richard Petersens Plads, Building 324, DK-2800 Kongens Lyngby, Denmark Keywords: Agent Programming, Formal Verification, Proof Assistants. Abstract: The need to ensure reliability of agent systems increases with the applications of multi-agent technology. As we continue to develop tools that make verification more accessible to industrial applications, it becomes an even more critical requirement for the tools themselves to be reliable. We suggest that this reliability ought not be based on empirical evidence such as testing procedures. Instead we propose using an interactive theorem prover to ensure the reliability of the verification process. Our work aims to verify agent systems by emdedding a verification framework in the interactive theorem prover Isabelle/HOL. 1 INTRODUCTION considers related work in the literature. Section 3 introduces the semantics of GOAL and a verifica- A key issue in deployment of multi-agent systems is tion framework for GOAL agents. Section 4 goes to ensure its reliability (Dix et al., 2019). We ob- into details with our work on formalizing GOAL in serve that testing does not translate well from tradi- Isabelle/HOL. Section 5 discusses some of the future tional software to multi-agent technology: we often challenges. Finally, Section 6 makes concluding re- have agents with complex behavior and the number marks. of possible system configurations may be intractable. Two leading paradigms in ensuring reliability are formal verification and testing. The state-of-the-art 2 RELATED WORK approach for formal verification is model-checking (Bordini et al., 2006) where one seeks to verify de- sired properties over a (generalized) finite state space.
    [Show full text]