Papers by Birna van Riemsdijk
Modularization is widely recognized as a central issue in software engineering. In this paper we ... more Modularization is widely recognized as a central issue in software engineering. In this paper we address the issue of modularization in cognitive agent programming languages. We discuss existing approaches to modularity in cognitive agent programming. Then, we propose a new kind of modularity, i.e., goal-oriented modularity, which takes the goals of an agent as the basis for modularization. Further, we present a formal semantics of goal-oriented modularity in the context of the 3APL agent programming language.
This paper contributes to a line of research that aims to apply agent-oriented techniques in the ... more This paper contributes to a line of research that aims to apply agent-oriented techniques in the field of service-oriented computing. In particular, we propose to use goal-oriented techniques from the field of cognitive agent programming for service orchestration. The advantage of using an explicit representation of goals in programming languages is the flexibility in handling failure that goals provide. Moreover, goals have a close correspondence with declarative descriptions as used in the context of semantic web services. This paper now presents first steps towards the definition of a goal-based orchestration language that makes use of semantic matchmaking. The orchestration language we propose and its semantics are formally defined and analyzed, using operational semantics.
This chapter presents 3APL, which is a multi-agent programming language, and its corresponding de... more This chapter presents 3APL, which is a multi-agent programming language, and its corresponding development platform. The 3APL language is motivated by cognitive agent architectures and provides programming constructs to implement individual agents directly in terms of beliefs, goals, plans, actions, and practical reasoning rules. The syntax and semantics of the 3APL programming language is explained. Various features of the language and platform and some software engineering issues are discussed.
This demonstration will be the presentation of a new testbed for joint activity. The domain for t... more This demonstration will be the presentation of a new testbed for joint activity. The domain for this demonstration will be similar to the classic AI planning problem of Blocks World (BW) extended into what we are calling Blocks World for Teams (BW4T). By teams, we mean at least two, but usually more members. Additionally, we do not restrict the membership to artificial agents, but include and in fact expect human team members. Study of joint activity of heterogeneous teams is the main function of the BW4T testbed.
This paper studies the relation between agent specification and agent programming languages. In p... more This paper studies the relation between agent specification and agent programming languages. In particular, it shows that an agent programming language obeys some desirable properties expressed in an agent specification language, i.e., that any agent implemented by the programming language satisfies the desirable property expressed in the specification language. We study this relation by defining and aligning the semantics of an agent specification language and implementation language, and prove that certain properties expressed in the specification language are satisfied by the implementation language.

Agent-oriented programming has been motivated in part by the conception that high-level programmi... more Agent-oriented programming has been motivated in part by the conception that high-level programming constructs based on common sense notions such as beliefs and goals provide appropriate abstraction tools to develop autonomous software. Various agent programming languages and frameworks have been developed by now, but no systematic study has been done as to how the language constructs in these languages may and are in fact used in practice. Performing a study of these aspects may contribute to the design of best practices or programming guidelines for agent programming, and clarify the use of common sense notions in agent programs. In this paper, we analyze various agent programs for dynamic blocks world, written in the Goal agent programming language. We present several observations based on a quantitative and qualitative analysis that provide insight into more practical aspects of the development of agent programs. Finally, we identify important issues in three key areas related to agent-oriented programming that need further investigation.
In this paper, we present a dynamic logic for a propositional version of the agent programming la... more In this paper, we present a dynamic logic for a propositional version of the agent programming language 3APL. A 3APL agent has beliefs and a plan. The execution of a plan changes an agent’s beliefs. Plans can be revised during execution. Due to these plan revision capabilities of 3APL agents, plans cannot be analyzed by structural induction as in for example standard propositional dynamic logic. We propose a dynamic logic that is tailored to handle the plan revision aspect of 3APL. For this logic, we give a sound and complete axiomatization.
In planning as well as in other areas, temporal logic has been used to specify so-called temporal... more In planning as well as in other areas, temporal logic has been used to specify so-called temporally extended goals. Temporally extended goals refer to desirable sequences of states instead of a set of desirable final states as the traditional notion of achievement goal does, and provide for more variety in the types of goals allowed. In this paper, we show how temporally extended goals can be integrated into the agent programming language GOAL. The result is that GOAL agents may now have both beliefs about the future as well as have temporally extended goals. We propose a new decision making mechanism that takes temporally extended goals into account, and investigate properties of this framework.

Communication is key in a multi-agent system for agents to exchange information and coordinate th... more Communication is key in a multi-agent system for agents to exchange information and coordinate their activities. In the area of agent programming, the challenge is to introduce communication primitives that are useful to a programmer of agent programs as well as semantically well-defined. Moreover, for agents that derive their choice of action from their beliefs and goals it is natural to introduce primitives that support communication related to both of these attitudes. We introduce a communication approach for multi-agent systems based on mood operators instead of the usual speech act labels and a semantics based on the idea that a message can be used to (re)construct a mental model of the sender. An operational semantics is provided that specifies the precise meaning of the primitives. Finally, to facilitate coordination in multi-agent systems, we introduce the concept of a conversation to synchronize actions and communication among agents. Conversations provide a limited resource at the multi-agent level, and provide a natural approach for multi-agent systems to coordinate agent activities.
A rational agent derives its choice of action from its beliefs and goals. Goals can be distinguis... more A rational agent derives its choice of action from its beliefs and goals. Goals can be distinguished into achievement goals and maintenance goals. The aim of this paper is to define a mechanism which ensures the satisfaction of maintenance goals. We argue that such a mechanism requires the agent to look ahead, in order to make sure that the execution of actions does not lead to a violation of a maintenance goal. That is, maintenance goals may constrain the agent in choosing its actions. We propose a formal semantics of maintenance goals based on the notion of lookahead, and analyze the semantics by proving some properties. Additionally, we discuss the issue of achievement goal revision, in case the maintenance goals are so restrictive that all courses of action for satisfying achievement goals will lead to a violation of maintenance goals.
Towards Organization Aware Agent-based Simulation
Toward coactivity
This paper introduces the concept of Coactivity as a new focal point for Human-Robot Interaction ... more This paper introduces the concept of Coactivity as a new focal point for Human-Robot Interaction to address the more sophisticated roles of partner or teammate envisioned for future human-robot systems. We propose that most approaches to date have focused on autonomy and suggest that autonomy is the wrong focal point. The envisioned roles, if properly performed, have a high level of interdependence that cannot be addressed solely by autonomy and necessitate a focus on the coactivity.
In the paper we study the dynamics of roles played by agents in multiagent systems. We capture ro... more In the paper we study the dynamics of roles played by agents in multiagent systems. We capture role dynamics in terms of four operation performed by agents: 'enactment', 'deactment', 'activate', and 'deactivate'. The use of these operations are motivated, in particular for open systems. A formal semantics for these operations are provided. This formalization is aimed at serving as a basis for implementation of role dynamics in an agent programming language such as 3APL.
In this paper, we give an operational and denotational semantics for a 3APL meta-language, with w... more In this paper, we give an operational and denotational semantics for a 3APL meta-language, with which various 3APL interpreters can be programmed. We moreover prove equivalence of these two semantics. Furthermore, we relate this 3APL meta-language to object-level 3APL by providing a specific interpreter, the semantics of which will prove to be equivalent to object-level 3APL.
In research on agents, besides architectures, the areas of agent theories and agent programming l... more In research on agents, besides architectures, the areas of agent theories and agent programming languages are distinguished. Theories concern descriptions of (the behaviour of) agents. Agents are often described using logic [8,10]. Concepts that are commonly incorporated in such logics are for instance knowledge, beliefs, desires, intentions, commitments, goals and plans.
Group Decision and Negotiation, 2003
This paper presents the specification of a programming language for cognitive agents. This progra... more This paper presents the specification of a programming language for cognitive agents. This programming language is an extension of 3APL (An Abstract Agent Programming Language) and allows the programmer to implement agents' mental attitudes like beliefs, goals, plans, and actions, and agents' reasoning rules by means of which agents can modify their mental attitudes. The formal syntax and semantics of this language is presented as well as a discussion on the deliberation cycle and an example.

To support the practical development of intelligent agents, several programming languages have be... more To support the practical development of intelligent agents, several programming languages have been introduced that incorporate concepts from agent logics: on the one hand, we have languages that incorporate beliefs and plans (i.e., procedural goals), and on the other hand, languages that implement the concepts of beliefs and (declarative) goals. We propose the agent programming language Dribble, in which these features of procedural and declarative goals are combined. The language Dribble thus incorporates beliefs and goals as well as planning features. The idea is, that a Dribble agent should be able to select a plan to reach a goal from where it is at a certain point in time. In order to do that, the agent has beliefs, goals and rules to select plans and to create and modify plans. Dribble comes with a formally defined operational semantics and, on top of this semantics, a dynamic logic is constructed that can be used to specify and verify properties of Dribble agents. The correspondence between the logic and the operational semantics is established.
Uploads
Papers by Birna van Riemsdijk