Introduction to agents and multi-agent systemsAntonio Moreno
Multi-agent systems course at University Rovira i Virgili. Slides mostly based on those of Rosenschein, from the content of the book by Wooldridge.
Lecture 1-Introduction to agents and multi-agent systems.
Introduction to Agents and Multi-agent Systems (lecture slides)Dagmar Monett
Online lecture at the School of Computer Science, University of Hertfordshire, Hatfield, UK, as part of the 10th Europe Week from 3rd to 7th March 2014.
Introduction to Object Oriented ProgrammingMoutaz Haddara
An Introduction to Object-Oriented Programming (OOP)
Download the presentation to view it correctly, as it has some animations that won't show here.
If you have any questions, please contact me. You are free to use it this presentation, but it would be nice at least to give me some credit :)
Content:
1- History of Programming
2. Objects and Classes
3- Abstraction, Inheritance, Encapsulation, and Polymorphism
Introduction to agents and multi-agent systemsAntonio Moreno
Multi-agent systems course at University Rovira i Virgili. Slides mostly based on those of Rosenschein, from the content of the book by Wooldridge.
Lecture 1-Introduction to agents and multi-agent systems.
Introduction to Agents and Multi-agent Systems (lecture slides)Dagmar Monett
Online lecture at the School of Computer Science, University of Hertfordshire, Hatfield, UK, as part of the 10th Europe Week from 3rd to 7th March 2014.
Introduction to Object Oriented ProgrammingMoutaz Haddara
An Introduction to Object-Oriented Programming (OOP)
Download the presentation to view it correctly, as it has some animations that won't show here.
If you have any questions, please contact me. You are free to use it this presentation, but it would be nice at least to give me some credit :)
Content:
1- History of Programming
2. Objects and Classes
3- Abstraction, Inheritance, Encapsulation, and Polymorphism
Many are impatient with instructional design. I am not. I think it points us in the right direction, gives us guidance in how to make good decisions. This is one woman's appreciative views about ISD.
Agile adoption tales from the coalfaceNish Mahanty
This talk discusses how to fail with an Agile change transformation, and lays out some practical tips for successfully adopting agile software delivery processes within your organisation. Presented at Telstra, Superpartners, and several Meetups.
Software development organizations are using open source software at an unprecedented scale to build better software faster. Yet while the adoption of open source races ahead, the establishment of policies to govern its use lag far behind. According to Gartner Group, only a minority of IT organizations have established, open-source governance policies in place, and it predicts that by 2014, 50% of Global 2000 organizations will experience technology, cost and security challenges through lack of open-source governance.
In this Webinar, Greg Olson, Senior Strategy Consultant with Olliance Group, a Black Duck company, will explain:
--The four steps to create an open source policy
--How to obtain ‘buy-in’ and support from key stakeholders
--Best practices for rolling out an open source policy in your organization
The managers most likely to succeed in today’s business environment, are those who understand how to use budgets as business tools, for departmental and personal success.
Managing Budgets is an informative and practical guide to the essential skills needed.
produce accurate and useful budgets.
OSGeo - Spatially Empowered Open Source Software FOSS4G 2009Arnulf Christl
This presentation gives an insight to the Open Source Geospatial Foundation.
The Open Source Geospatial Foundation (OSGeo) is an international non-profit organization dedicated to the advancement of open source geospatial software, community collaboration and spatial data access. OSGeo is a community of communities reaching into all areas of interest to the global spatial infrastructure.
Many are impatient with instructional design. I am not. I think it points us in the right direction, gives us guidance in how to make good decisions. This is one woman's appreciative views about ISD.
Agile adoption tales from the coalfaceNish Mahanty
This talk discusses how to fail with an Agile change transformation, and lays out some practical tips for successfully adopting agile software delivery processes within your organisation. Presented at Telstra, Superpartners, and several Meetups.
Software development organizations are using open source software at an unprecedented scale to build better software faster. Yet while the adoption of open source races ahead, the establishment of policies to govern its use lag far behind. According to Gartner Group, only a minority of IT organizations have established, open-source governance policies in place, and it predicts that by 2014, 50% of Global 2000 organizations will experience technology, cost and security challenges through lack of open-source governance.
In this Webinar, Greg Olson, Senior Strategy Consultant with Olliance Group, a Black Duck company, will explain:
--The four steps to create an open source policy
--How to obtain ‘buy-in’ and support from key stakeholders
--Best practices for rolling out an open source policy in your organization
The managers most likely to succeed in today’s business environment, are those who understand how to use budgets as business tools, for departmental and personal success.
Managing Budgets is an informative and practical guide to the essential skills needed.
produce accurate and useful budgets.
OSGeo - Spatially Empowered Open Source Software FOSS4G 2009Arnulf Christl
This presentation gives an insight to the Open Source Geospatial Foundation.
The Open Source Geospatial Foundation (OSGeo) is an international non-profit organization dedicated to the advancement of open source geospatial software, community collaboration and spatial data access. OSGeo is a community of communities reaching into all areas of interest to the global spatial infrastructure.
Similar to T3 Agent oriented programming languages (20)
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
2. Outline
1 AOP: Agent Oriented Programming
About AOP
Shortfalls
Trends
Jason
Introduction to Jason
Reasoning Cycle
Main Language Constructs: Beliefs, Goals, and Plans
Other Language Features
Comparison With Other Paradigms
The Jason Platform
Perspectives: Some Past and Future Projects
Conclusions
4. AOP About AOP Jason
Agent Oriented Programming
Use of mentalistic notions and a societal view of
computation [Shoham, 1993]
Heavily influence by the BDI architecture and reactive
planning systems
Various language constructs for the sophisticated
abstractions used in AOSE
Agent: Belief, Goal, Intention, Plan
Organisation: Group, Role, Norm, Interactions
Environment: Artifacts, Percepts, Actions
4 / 68
5. AOP About AOP Jason
Agent Oriented Programming
Features
Reacting to events × long-term goals
Course of actions depends on circumstance
Plan failure (dynamic environments)
Rational behaviour
Social ability
Combination of theoretical and practical reasoning
5 / 68
6. AOP About AOP Jason
Literature
Books: [Bordini et al., 2005a], [Bordini et al., 2009]
Proceedings: ProMAS, DALT, LADS, ... [Baldoni et al., 2010,
Dastani et al., 2010, Hindriks et al., 2009, Baldoni et al., 2009,
Dastani et al., 2008b, Baldoni et al., 2008, Dastani et al., 2008a,
Bordini et al., 2007a, Baldoni and Endriss, 2006,
Bordini et al., 2006b, Baldoni et al., 2006, Bordini et al., 2005b,
Leite et al., 2005, Dastani et al., 2004, Leite et al., 2004]
Surveys: [Bordini et al., 2006a], [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., 2007b],
Jadex [Pokahr et al., 2005], 2APL [Dastani, 2008],
GOAL [Hindriks, 2009], JACK [Winikoff, 2005]
But many others languages and platforms... 6 / 68
7. AOP About AOP Jason
Some Languages and Platforms
Jason (H¨bner, Bordini, ...); 3APL and 2APL (Dastani, van
u
Riemsdijk, Meyer, Hindriks, ...); Jadex (Braubach, Pokahr);
MetateM (Fisher, Guidini, Hirsch, ...); ConGoLog (Lesperance,
Levesque, ... / Boutilier – DTGolog); Teamcore/ MTDP (Milind
Tambe, ...); IMPACT (Subrahmanian, Kraus, Dix, Eiter); CLAIM
(Amal El Fallah-Seghrouchni, ...); GOAL (Hindriks); BRAHMS
(Sierhuis, ...); SemantiCore (Blois, ...); STAPLE (Kumar, Cohen,
Huber); Go! (Clark, McCabe); Bach (John Lloyd, ...); MINERVA
(Leite, ...); SOCS (Torroni, Stathis, Toni, ...); FLUX
(Thielscher); JIAC (Hirsch, ...); JADE (Agostino Poggi, ...);
JACK (AOS); Agentis (Agentis Software); Jackdaw (Calico
Jack); ...
7 / 68
8. AOP About AOP Jason
The State of Multi-Agent Programming
Already the right way to implement MAS is to use an AOSE
Methodology (Prometheus, Gaia, Tropos, ...) and an MAS
Programming Language!
Many agent languages have efficient and stable interpreters
— used extensively in teaching
All have some programming tools (IDE, tracing of agents’
mental attitudes, tracing of messages exchanged, etc.)
Finally integrating with social aspects of MAS
Growing user base
8 / 68
9. AOP About AOP Jason
Some Shortfalls
IDEs and programming tools are still not anywhere near the
level of OO languages
Debugging is a serious issue — much more than “mind
tracing” is needed
Combination with organisational models is very recent —
much work still needed
Principles for using declarative goals in practical
programming problems still not “textbook”
Large applications and real-world experience much needed!
9 / 68
10. AOP About AOP Jason
Some Trends I
Modularity and encapsulation
Debugging MAS is hard: problems of concurrency, simulated
environments, emergent behaviour, mental attitudes
Logics for Agent Programming languages
Further work on combining with interaction, environments,
and organisations
We need to put everything together: rational agents,
environments, organisations, normative systems, reputation
systems, economically inspired techniques, etc.
Multi-Agent Programming
10 / 68
11. AOP About AOP Jason
Research on Multi-Agent Systems...
—
Whatever you do in MAS, make it available in a
programming language/platform for MAS!!!
—
11 / 68
13. AOP About AOP Jason
AgentSpeak
The foundational language for Jason
Originally proposed by Rao [Rao, 1996]
Programming language for BDI agents
Elegant notation, based on logic programming
Inspired by PRS (Georgeff Lansky), dMARS (Kinny), and
BDI Logics (Rao Georgeff)
Abstract programming language aimed at theoretical results
13 / 68
14. AOP About AOP Jason
Jason
A practical implementation of a variant of AgentSpeak
Jason implements the operational semantics of a variant of
AgentSpeak
Has various extensions aimed at a more practical
programming language (e.g. definition of the MAS,
communication, ...)
Highly customised to simplify extension and
experimentation
Developed by Jomi F. Hbner and Rafael H. Bordini
14 / 68
15. AOP About AOP Jason
Main Language Constructs and Runtime Structures
Beliefs: represent the information available to an agent (e.g.
about the environment or other agents)
Goals: represent states of affairs the agent wants to bring
about
Plans: are recipes for action, representing the agent’s
know-how
Events: happen as consequence to changes in the agent’s
beliefs or goals
Intentions: plans instantiated to achieve some goal
15 / 68
16. AOP About AOP Jason
Main Architectural Components
Belief base: where beliefs are stored
Set of events: to keep track of events the agent will have to
handle
Plan library: stores all the plans currently known by the agent
Set of Intentions: each intention keeps track of the goals the
agent is committed to and the courses of action it
chose in order to achieve the goals for one of
various foci of attention the agent might have
16 / 68
17. AOP About AOP Jason
Jason Interpreter
Basic Reasoning cycle
perceive the environment and update belief base
process new messages
select event
select relevant plans
select applicable plans
create/update intention
select intention to execute
17 / 68
18. AOP About AOP Jason
Jason Rreasoning Cycle
Belief Agent
Beliefs Base
5
1 2 Events
Percepts Percepts SE Plan
perceive BUF BRF
Library
External External Selected
Events Events Events Beliefs Event
4 7 Relevant 6
Beliefs to Internal
Check Plans Unify
SocAcc Add and Events Plans
Delete Context Event
Applicable Beliefs
Plans
3
Messages Messages 8 9 Selected 10
checkMail SM Intended Intention Execute Action Actions
SO SI act
Means Intention
.send
Intentions
Push New Messages
Suspended Intentions Intentions Intention sendMsg
(Actions and Msgs) New Plan
... New
New
... Updated
Intention
18 / 68
19. AOP About AOP Jason
Beliefs — Representation
Syntax
Beliefs are represented by annotated literals of first order logic
functor(term1 , ..., termn )[annot1 , ..., annotm ]
Example (belief base of agent Tom)
red(box1)[source(percept)].
friend(bob,alice)[source(bob)].
lier(alice)[source(self),source(bob)].
˜lier(bob)[source(self)].
19 / 68
20. AOP About AOP Jason
Beliefs — Dynamics I
by perception
beliefs annotated with source(percept) are automatically updated
accordingly to the perception of the agent
by intention
the plan operators + and - can be used to add and remove
beliefs annotated with source(self) (mental notes)
+lier(alice); // adds lier(alice)[source(self)]
-lier(john); // removes lier(john)[source(self)]
20 / 68
21. AOP About AOP Jason
Beliefs — Dynamics II
by communication
when an agent receives a tell message, the content is a new belief
annotated with the sender of the message
.send(tom,tell,lier(alice)); // sent by bob
// adds lier(alice)[source(bob)] in Tom’s BB
...
.send(tom,untell,lier(alice)); // sent by bob
// removes lier(alice)[source(bob)] from Tom’s BB
21 / 68
22. AOP About AOP Jason
Goals — Representation
Types of goals
Achievement goal: goal to do
Test goal: goal to know
Syntax
Goals have the same syntax as beliefs, but are prefixed by
! (achievement goal) or
? (test goal)
Example (Initial goal of agent Tom)
!write(book).
22 / 68
23. AOP About AOP Jason
Goals — Dynamics I
by intention
the plan operators ! and ? can be used to add a new goal
annotated with source(self)
...
// adds new achievement goal !write(book)[source(self)]
!write(book);
// adds new test goal ?publisher(P)[source(self)]
?publisher(P);
...
23 / 68
24. AOP About AOP Jason
Goals — Dynamics II
by communication – achievement goal
when an agent receives an achieve message, the content is a new
achievement goal annotated with the sender of the message
.send(tom,achieve,write(book)); // sent by Bob
// adds new goal write(book)[source(bob)] for Tom
...
.send(tom,unachieve,write(book)); // sent by Bob
// removes goal write(book)[source(bob)] for Tom
24 / 68
25. AOP About AOP Jason
Goals — Dynamics III
by communication – test goal
when an agent receives an askOne or askAll message, the
content is a new test goal annotated with the sender of the
message
.send(tom,askOne,published(P),Answer); // sent by Bob
// adds new goal ?publisher(P)[source(bob)] for Tom
// the response of Tom will unify with Answer
25 / 68
26. AOP About AOP Jason
Triggering Events — Representation
Events happen as consequence to changes in the agent’s
beliefs or goals
An agent reacts to events by executing plans
Types of plan triggering events
+b (belief addition)
-b (belief deletion)
+!g (achievement-goal addition)
-!g (achievement-goal deletion)
+?g (test-goal addition)
-?g (test-goal deletion)
26 / 68
27. AOP About AOP Jason
Plans — Representation
An AgentSpeak plan has the following general structure:
triggering event : context ¡- body.
where:
the triggering event denotes the events that the plan is
meant to handle
the context represent the circumstances in which the plan
can be used
the body is the course of action to be used to handle the
event if the context is believed true at the time a plan is
being chosen to handle the event
27 / 68
28. AOP About AOP Jason
Plans — Operators for Plan Context
Boolean operators Arithmetic operators
(and) + (sum)
| (or) - (subtraction)
not (not) * (multiply)
= (unification) / (divide)
, = (relational) div (divide – integer)
, = (relational) mod (remainder)
== (equals) ** (power)
== (different)
28 / 68
29. AOP About AOP Jason
Plans — Operators for Plan Body
A plan body may contain:
Belief operators (+, -, -+)
Goal operators (!, ?, !!)
Actions (internal/external) and Constraints
Example (plan body)
+rain : time to leave(T) clock.now(H) H ¿= T
¡- !g1; // new sub-goal
!!g2; // new goal
?b(X); // new test goal
+b1(T-H); // add mental note
-b2(T-H); // remove mental note
-+b3(T*H); // update mental note
jia.get(X); // internal action
X ¿ 10; // constraint to carry on
close(door).// external action
29 / 68
30. AOP About AOP Jason
Plans — Example
+green patch(Rock)[source(percept)]
: not battery charge(low)
¡- ?location(Rock,Coordinates);
!at(Coordinates);
!examine(Rock).
+!at(Coords)
: not at(Coords) safe path(Coords)
¡- move towards(Coords);
!at(Coords).
+!at(Coords)
: not at(Coords) not safe path(Coords)
¡- ...
+!at(Coords) : at(Coords).
30 / 68
31. AOP About AOP Jason
Plans — Dynamics
The plans that form the plan library of the agent come from
initial plans defined by the programmer
plans added dynamically and intentionally by
.add plan
.remove plan
plans received from
tellHow messages
untellHow
31 / 68
32. AOP About AOP Jason
Strong Negation
Example
+!leave(home)
: ˜raining
¡- open(curtains); ...
+!leave(home)
: not raining not ˜raining
¡- .send(mum,askOne,raining,Answer,3000); ...
32 / 68
33. AOP About AOP Jason
Prolog-like Rules in the Belief Base
Example
likely color(Obj,C) :-
colour(Obj,C)[degOfCert(D1)]
not (colour(Obj, )[degOfCert(D2)] D2 ¿ D1)
not ˜colour(C,B).
33 / 68
34. AOP About AOP Jason
Plan Annotations
Like beliefs, plans can also have annotations, which go in
the plan label
Annotations contain meta-level information for the plan,
which selection functions can take into consideration
The annotations in an intended plan instance can be changed
dynamically (e.g. to change intention priorities)
There are some pre-defined plan annotations, e.g. to force a
breakpoint at that plan or to make the whole plan execute
atomically
Example (an annotated plan)
@myPlan[chance of success(0.3), usual payoff(0.9),
any other property]
+!g(X) : c(t) ¡- a(X).
34 / 68
35. AOP About AOP Jason
Failure Handling: Contingency Plans
Example (an agent blindly committed to g)
+!g : g.
+!g : ... ¡- ... ?g.
-!g : true ¡- !g.
35 / 68
36. AOP About AOP Jason
“Higher-Order” Variables
Example (an agent that asks for plans on demand)
-!G[error(no relevant)] : teacher(T)
¡- .send(T, askHow, { +!G }, Plans);
.add plan(Plans);
!G.
in the event of a failure to achieve any goal G due to no
relevant plan, asks a teacher for plans to achieve G and
then try G again
The failure event is annotated with the error type, line,
source, ... error(no relevant) means no plan in the agent’s
plan library to achieve G
{ +!G } is the syntax to enclose triggers/plans as terms
36 / 68
37. AOP About AOP Jason
Internal Actions
Unlike actions, internal actions do not change the
environment
Code to be executed as part of the agent reasoning cycle
AgentSpeak is meant as a high-level language for the agent’s
practical reasoning and internal actions can be used for
invoking legacy code elegantly
Internal actions can be defined by the user in Java
libname.action name(. . .)
37 / 68
38. AOP About AOP Jason
Standard Internal Actions
Standard (pre-defined) internal actions have an empty library
name
.print(term1 , term2 , . . .)
.union(list1 , list2 , list3 )
.my name(var )
.send(ag,perf ,literal)
.intend(literal)
.drop intention(literal)
Many others available for: printing, sorting, list/string
operations, manipulating the beliefs/annotations/plan library,
creating agents, waiting/generating events, etc.
38 / 68
39. AOP About AOP Jason
Jason × Java I
Consider a very simple robot with two goals:
when a piece of gold is seen, go to it
when battery is low, go charge it
39 / 68
40. AOP About AOP Jason
Jason × Java II
Example (Java code – go to gold)
public class Robot extends Thread {
boolean seeGold, lowBattery;
public void run() {
while (true) {
while (! seeGold) {
}
while (seeGold) {
a = selectDirection();
doAction(go(a));
} } } }
(how to code the charge battery behaviour?)
40 / 68
41. AOP About AOP Jason
Jason × Java III
Example (Java code – charge battery)
public class Robot extends Thread {
boolean seeGold, lowBattery;
public void run() {
while (true) {
while (! seeGold)
if (lowBattery) charge();
while (seeGold) {
a = selectDirection ();
if (lowBattery) charge();
doAction(go(a));
if (lowBattery) charge();
} } } }
(note where the tests for low battery have to be done)
41 / 68
42. AOP About AOP Jason
Jason × Java IV
Example (Jason code)
+see(gold)
¡- !goto(gold).
+!goto(gold) :see(gold) // long term goal
¡- !select direction(A);
go(A);
!goto(gold).
+battery(low) // reactivity
¡- !charge.
ˆ!charge[state(started)] // goal meta-events
¡- .suspend(goto(gold)).
ˆ!charge[state(finished)]
¡- .resume(goto(gold)).
42 / 68
43. AOP About AOP Jason
Jason × Prolog
With the Jason extensions, nice separation of theoretical and
practical reasoning
BDI architecture allows
long-term goals (goal-based behaviour)
reacting to changes in a dynamic environment
handling multiple foci of attention (concurrency)
Acting on an environment and a higher-level conception of a
distributed system
43 / 68
44. AOP About AOP Jason
Communication Infrastructure
Various communication and execution management
infrastructures can be used with Jason:
Centralised: all agents in the same machine,
one thread by agent, very fast
Centralised (pool): all agents in the same machine,
fixed number of thread,
allows thousands of agents
Jade: distributed agents, FIPA-ACL
Saci: distributed agents, KQML
... others defined by the user (e.g. AgentScape)
44 / 68
45. AOP About AOP Jason
Definition of a Simulated Environment
There will normally be an environment where the agents are
situated
The agent architecture needs to be customised to get
perceptions and act on such environment
We often want a simulated environment (e.g. to test an
MAS application)
This is done in Java by extending Jason’s Environment class
45 / 68
46. AOP About AOP Jason
Interaction with the Environment Simulator
Environment Agent Reasoner
Simulator Architecture
perceive
getPercepts
act
executeAction
change
percepts
46 / 68
47. AOP About AOP Jason
Example of an Environment Class
1 import jason.*;
2 import ...;
3 public class robotEnv extends Environment {
4 ...
5 public robotEnv() {
6 Literal gp =
7 Literal.parseLiteral(”green˙patch(souffle)”);
8 addPercept(gp);
9 }
10
11 public boolean executeAction(String ag, Structure action) {
12 if (action.equals(...)) {
13 addPercept(ag,
14 Literal.parseLiteral(”location(souffle,c(3,4))”);
15 }
16 ...
17 return true;
18 } }
47 / 68
48. AOP About AOP Jason
MAS Configuration Language I
Simple way of defining a multi-agent system
Example (MAS that uses JADE as infrastructure)
MAS my˙system –
infrastructure: Jade
environment: robotEnv
agents:
c3po;
r2d2 at jason.sourceforge.net;
bob #10; // 10 instances of bob
classpath: ”../lib/graph.jar”;
˝
48 / 68
49. AOP About AOP Jason
MAS Configuration Language II
Configuration of event handling, frequency of perception,
user-defined settings, customisations, etc.
Example (MAS with customised agent)
MAS custom –
agents: bob [verbose=2,paramters=”sys.properties”]
agentClass MyAg
agentArchClass MyAgArch
beliefBaseClass jason.bb.JDBCPersistentBB(
”org.hsqldb.jdbcDriver”,
”jdbc:hsqldb:bookstore”,
...
˝
49 / 68
50. AOP About AOP Jason
MAS Configuration Language III
Example (CArtAgO Environment)
MAS grid˙world –
environment: alice.c4jason.CEnv
agents:
cleanerAg
agentArchClass alice.c4jason.CogAgentArch
#3;
˝
50 / 68
51. AOP About AOP Jason
Jason Customisations
Agent class customisation:
selectMessage, selectEvent, selectOption, selectIntetion, buf,
brf, ...
Agent architecture customisation:
perceive, act, sendMsg, checkMail, ...
Belief base customisation:
add, remove, contains, ...
Example available with Jason: persistent belief base (in text
files, in data bases, ...)
51 / 68
55. AOP About AOP Jason
Some Related Projects I
Speech-act based communication
´
Joint work with Renata Vieira, Alvaro Moreira, and Mike
Wooldridge
Cooperative plan exchange
Joint work with Viviana Mascardi, Davide Ancona
Plan Patterns for Declarative Goals
Joint work with M.Wooldridge
Planning (Felipe Meneguzzi and Colleagues)
Web and Mobile Applications (Alessandro Ricci and
Colleagues)
Belief Revision
Joint work with Natasha Alechina, Brian Logan, Mark Jago
55 / 68
56. AOP About AOP Jason
Some Related Projects II
Ontological Reasoning
´
Joint work with Renata Vieira, Alvaro Moreira
JASDL: joint work with Tom Klapiscak
Goal-Plan Tree Problem (Thangarajah et al.)
Joint work with Tricia Shaw
Trust reasoning (ForTrust project)
Agent verification and model checking
Joint project with M.Fisher, M.Wooldridge, W.Visser,
L.Dennis, B.Farwer
56 / 68
57. AOP About AOP Jason
Some Related Projects III
Environments, Organisation and Norms
Normative environments
Join work with A.C.Rocha Costa and F.Okuyama
MADeM integration (Francisco Grimaldo Moreno)
Normative integration (Felipe Meneguzzi)
CArtAgO integration
Moise integration
More on jason.sourceforge.net, related projects
57 / 68
58. AOP About AOP Jason
Some Trends for Jason I
Modularity and encapsulation
Capabilities (JACK, Jadex, ...)
Roles (Dastani et al.)
Mini-agents (?)
Recently done: meta-events
To appear soon: annotations for declarative goals,
improvement in plan failure handling, etc.
Debugging is hard, despite mind inspector, etc.
Further work on combining with environments and
organisations
58 / 68
59. AOP About AOP Jason
Summary
AgentSpeak
Logic + BDI
Agent programming language
Jason
AgentSpeak interpreter
Implements the operational semantics of AgentSpeak
Speech-act based communicaiton
Highly customisable
Useful tools
Open source
Open issues
59 / 68
60. AOP About AOP Jason
Acknowledgements
Many thanks to the
Various colleagues acknowledged/referenced throughout
these slides
Jason users for helpful feedback
CNPq for supporting some of our current researh
60 / 68
61. AOP About AOP Jason
Further Resources
http://jason.sourceforge.net
R.H. Bordini, J.F. H¨bner, and
u
M. Wooldrige
Programming Multi-Agent Systems
in AgentSpeak using Jason
John Wiley Sons, 2007.
61 / 68
62. AOP About AOP Jason
Bibliography I
Baldoni, M., Bentahar, J., van Riemsdijk, M. B., and Lloyd, J., editors (2010).
Declarative Agent Languages and Technologies VII, 7th International
Workshop, DALT 2009, Budapest, Hungary, May 11, 2009. Revised Selected
and Invited Papers, volume 5948 of Lecture Notes in Computer Science.
Springer.
Baldoni, M. and Endriss, U., editors (2006).
Declarative Agent Languages and Technologies IV, 4th International Workshop,
DALT 2006, Hakodate, Japan, May 8, 2006, Selected, Revised and Invited
Papers, volume 4327 of Lecture Notes in Computer Science. Springer.
Baldoni, M., Endriss, U., Omicini, A., and Torroni, P., editors (2006).
Declarative Agent Languages and Technologies III, Third International
Workshop, DALT 2005, Utrecht, The Netherlands, July 25, 2005, Selected and
Revised Papers, volume 3904 of Lecture Notes in Computer Science. Springer.
Baldoni, M., Son, T. C., van Riemsdijk, M. B., and Winikoff, M., editors
(2008).
Declarative Agent Languages and Technologies V, 5th International Workshop,
DALT 2007, Honolulu, HI, USA, May 14, 2007, Revised Selected and Invited
Papers, volume 4897 of Lecture Notes in Computer Science. Springer.
62 / 68
63. AOP About AOP Jason
Bibliography II
Baldoni, M., Son, T. C., van Riemsdijk, M. B., and Winikoff, M., editors
(2009).
Declarative Agent Languages and Technologies VI, 6th International Workshop,
DALT 2008, Estoril, Portugal, May 12, 2008, Revised Selected and Invited
Papers, volume 5397 of Lecture Notes in Computer Science. Springer.
Bordini, R. H., Braubach, L., Dastani, M., Fallah-Seghrouchni, A. E.,
G´mez-Sanz, J. J., Leite, J., O’Hare, G. M. P., Pokahr, A., and Ricci, A.
o
(2006a).
A survey of programming languages and platforms for multi-agent systems.
Informatica (Slovenia), 30(1):33–44.
Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors
(2005a).
Multi-Agent Programming: Languages, Platforms and Applications, volume 15
of Multiagent Systems, Artificial Societies, and Simulated Organizations.
Springer.
63 / 68
64. AOP About AOP Jason
Bibliography III
Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors
(2005b).
Programming Multi-Agent Systems, Second International Workshop ProMAS
2004, New York, NY, USA, July 20, 2004 Selected Revised and Invited Papers,
volume 3346 of Lecture Notes in Computer Science. Springer.
Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors
(2006b).
Programming Multi-Agent Systems, Third International Workshop, ProMAS
2005, Utrecht, The Netherlands, July 26, 2005, Revised and Invited Papers,
volume 3862 of Lecture Notes in Computer Science. Springer.
Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors
(2007a).
Programming Multi-Agent Systems, 4th International Workshop, ProMAS
2006, Hakodate, Japan, May 9, 2006, Revised and Invited Papers, volume 4411
of Lecture Notes in Computer Science. Springer.
Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors
(2009).
Multi-Agent Programming: Languages, Tools and Applications.
Springer.
64 / 68
65. AOP About AOP Jason
Bibliography IV
Bordini, R. H., H¨bner, J. F., and Wooldridge, M. (2007b).
u
Programming Multi-Agent Systems in AgentSpeak Using Jason.
Wiley Series in Agent Technology. John Wiley Sons.
Dastani, M. (2008).
2apl: a practical agent programming language.
Autonomous Agents and Multi-Agent Systems, 16(3):214–248.
Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors (2004).
Programming Multi-Agent Systems, First International Workshop, PROMAS
2003, Melbourne, Australia, July 15, 2003, Selected Revised and Invited
Papers, volume 3067 of Lecture Notes in Computer Science. Springer.
Dastani, M., Fallah-Seghrouchni, A. E., Leite, J., and Torroni, P., editors
(2008a).
Languages, Methodologies and Development Tools for Multi-Agent Systems,
First International Workshop, LADS 2007, Durham, UK, September 4-6, 2007.
Revised Selected Papers, volume 5118 of Lecture Notes in Computer Science.
Springer.
65 / 68
66. AOP About AOP Jason
Bibliography V
Dastani, M., Fallah-Seghrouchni, A. E., Leite, J., and Torroni, P., editors
(2010).
Languages, Methodologies, and Development Tools for Multi-Agent Systems,
Second International Workshop, LADS 2009, Torino, Italy, September 7-9,
2009, Revised Selected Papers, volume 6039 of Lecture Notes in Computer
Science. Springer.
Dastani, M., Fallah-Seghrouchni, A. E., Ricci, A., and Winikoff, M., editors
(2008b).
Programming Multi-Agent Systems, 5th International Workshop, ProMAS
2007, Honolulu, HI, USA, May 15, 2007, Revised and Invited Papers, volume
4908 of Lecture Notes in Computer Science. Springer.
Fisher, M. (2005).
Metatem: The story so far.
In [Bordini et al., 2006b], pages 3–22.
Fisher, M., Bordini, R. H., Hirsch, B., and Torroni, P. (2007).
Computational logics and agents: A road map of current technologies and
future trends.
Computational Intelligence, 23(1):61–91.
66 / 68
67. AOP About AOP Jason
Bibliography VI
Giacomo, G. D., Lesp´rance, Y., and Levesque, H. J. (2000).
e
Congolog, a concurrent programming language based on the situation calculus.
Artif. Intell., 121(1-2):109–169.
Hindriks, K. V. (2009).
Programming rational agents in GOAL.
In [Bordini et al., 2009], pages 119–157.
Hindriks, K. V., de Boer, F. S., van der Hoek, W., and Meyer, J.-J. C. (1997).
Formal semantics for an abstract agent programming language.
In Singh, M. P., Rao, A. S., and Wooldridge, M., editors, ATAL, volume 1365
of Lecture Notes in Computer Science, pages 215–229. Springer.
Hindriks, K. V., Pokahr, A., and Sardi˜a, S., editors (2009).
n
Programming Multi-Agent Systems, 6th International Workshop, ProMAS
2008, Estoril, Portugal, May 13, 2008. Revised Invited and Selected Papers,
volume 5442 of Lecture Notes in Computer Science. Springer.
Leite, J. A., Omicini, A., Sterling, L., and Torroni, P., editors (2004).
Declarative Agent Languages and Technologies, First International Workshop,
DALT 2003, Melbourne, Australia, July 15, 2003, Revised Selected and Invited
Papers, volume 2990 of Lecture Notes in Computer Science. Springer.
67 / 68
68. AOP About AOP Jason
Bibliography VII
Leite, J. A., Omicini, A., Torroni, P., and Yolum, P., editors (2005).
Declarative Agent Languages and Technologies II, Second International
Workshop, DALT 2004, New York, NY, USA, July 19, 2004, Revised Selected
Papers, volume 3476 of Lecture Notes in Computer Science. Springer.
Pokahr, A., Braubach, L., and Lamersdorf, W. (2005).
Jadex: A bdi reasoning engine.
In [Bordini et al., 2005a], pages 149–174.
Rao, A. S. (1996).
Agentspeak(l): Bdi agents speak out in a logical computable language.
In de Velde, W. V. and Perram, J. W., editors, MAAMAW, volume 1038 of
Lecture Notes in Computer Science, pages 42–55. Springer.
Shoham, Y. (1993).
Agent-oriented programming.
Artif. Intell., 60(1):51–92.
Winikoff, M. (2005).
Jack intelligent agents: An industrial strength platform.
In [Bordini et al., 2005a], pages 175–193.
68 / 68
69. Overview Other APLs
Architectural Considerations
Koen Hindriks, João Leite PL-MAS Tutorial – EASSS12
70. Overview
• Overview of APL landscape
• Some Architectural Considerations
• Research Themes
• References
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
72. A Brief History of AOP
• 1990: AGENT-0 (Shoham)
• 1993: PLACA (Thomas; AGENT-0 extension with plans)
• 1996: AgentSpeak(L) (Rao; inspired by PRS)
• 1996: Golog (Reiter, Levesque, Lesperance)
• 1997: 3APL (Hindriks et al.)
• 1998: ConGolog (Giacomo, Levesque, Lesperance)
• 2000: JACK (Busetta, Howden, Ronnquist, Hodgson)
• 2000: GOAL (Hindriks et al.)
• 2000: CLAIM (Amal El FallahSeghrouchni)
• 2002: Jason (Bordini, Hubner; implementation of AgentSpeak)
• 2003: Jadex (Braubach, Pokahr, Lamersdorf)
• 2008: 2APL (successor of 3APL)
This overview is far from complete!
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
73. A Brief History of AOP
• AGENT-0 Speech acts
• PLACA Plans
• AgentSpeak(L) Events/Intentions
• Golog Action theories, logical specification
• 3APL Practical reasoning rules
• JACK Capabilities, Java-based
• GOAL Declarative goals
• CLAIM Mobile agents (within agent community)
• Jason AgentSpeak + Communication
• Jadex JADE + BDI
• 2APL Modules, PG-rules, …
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
74. A Brief History of AOP
Agent Programming Languages and Agent Logics have not (yet)
converged to a uniform conception of (rational) agents.
Agent Programming Agent Logics
Architectures BDI, Intention Logic, KARO
PRS (Planning) , InterRap
Agent-Oriented Programming Multi-Agent Logics, Norms,
Agent0, AgentSpeak, ConGolog,
Collective Intentionality
3APL/2APL, Jason, Jadex, JACK, …
Conceptual extension
CASL, Games and Knowledge
“Declarative Goals”
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
75. Part 1: BDI Agents and AOP
Agent Features
Many diverse and different features have been proposed, but the
unifying theme still is the BDI view of agents.
Agent Programming Agent Logics
• “Simple” beliefs and belief • “Complex” beliefs and belief
revision revision
• Planning and Plan revision • Commitment Strategies
e.g. Plan failure • Goal Dynamics
• Declarative Goals • Look ahead features
• Triggers, Events e.g. beliefs about the future,
e.g. maintenance goals strong commitment
• Control Structures preconditions
• … • Norms
• …
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
76. How are these APLs related?
A comparison from a high-level, conceptual point, not taking into account
any practical aspects (IDE, available docs, speed, applications, etc)
Family of Languages Multi-Agent Systems
Basic concepts: beliefs, action, plans, goals-to-do): All of these languages
(except AGENT-0,
AgentSpeak(L), Jason1 PLACA, JACK) have
AGENT-01 versions implemented
(PLACA ) “on top of” JADE.
Golog 3APL2
Main addition: Declarative goals
2APL 3APL + GOAL
Java-based BDI Languages Mobile Agents
Jack (commercial), Jadex CLAIM3
1 mainly interesting from a historical point of view
2 from a conceptual point of view, we identify AgentSpeak(L) and Jason
3 without practical reasoning rules
4 another example not discussed here is AgentScape (Brazier et al.)
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
78. GOAL Architecture
Agent
Beliefs
percept Process Action action
percepts Rules
Goals
Environment
Real or simulated
world of events
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
79. Interpreters: GOAL
Process
percepts
(= apply percept rules)
Also called
deliberation cycles.
Select action
(= apply action rules)
GOAL’s cycle is a classic
sense-plan-act cycle.
Perform action
(= send to environment)
Update
mental state
(= apply action specs +
commitment strategy)
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
80. Interpreter: 2APL
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
81. Under the Hood: Implementing AOP
Example: GOAL Architecture
Plugins
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
82. 2APL IDE: Introspector
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
83. 2APL IDE: State Tracer
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
84. Research Themes
A Personal Point of View
Koen Hindriks, João Leite PL-MAS Tutorial – EASSS12
85. Part 3: Short-term Future
A Research Agenda
Fundamental research questions:
• What kind of expressiveness* do we need in AOP? Or, what needs
to be improved from your point of view? We need your feedback!
• Verification: Use e.g. temporal logic combined with belief and goal
operators to prove agents “correct”. Model-checking agents, mas(!)
Short-term important research questions:
• Planning: Combining reactive, autonomous agents and planning.
• Learning: How can we effectively integrate e.g. reinforcement
learning into AOP to optimize action selection?
• Debugging: Develop tools to effectively debug agents, mas(!).
Raises surprising issues: Do we need agents that revise their plans?
• Organizing MAS: What are effective mas structures to organize
communication, coordination, cooperation?
• Last but not least, (your?) applications!
* e.g. maintenance goals, preferences, norms, teams, ...
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
86. Combining AOP and Planning
Combining the benefits of reactive, autonomous agents and planning algorithms
GOAL Planning
• Knowledge • Axioms
• Beliefs • (Initial) state
• Goals • Goal description
• Program Section • x
• Action Specification • Plan operators
Alternative KRT Plugin:
Restricted FOL, ADL, Plan Constraints (PDDL)
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
87. Part 3: Short-term Future
Applications
Need to apply the AOP to find out what works and what doesn’t
• Use APLs for Programming Robotics Platform
• Many other possible applications:
• (Serious) Gaming (e.g. RPG, crisis management, …)
• Agent-Based Simulation
• The Web
• add your own example here
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12
88. References
• 2APL: http://www.cs.uu.nl/2apl/
• ConGolog: http://www.cs.toronto.edu/cogrobo/main/systems/index.html
• GOAL: http://mmi.tudelft.nl/~koen/goal
• JACK: http://en.wikipedia.org/wiki/JACK_Intelligent_Agents
• Jadex: http://jadex.informatik.uni-hamburg.de/bin/view/About/Overview
• Jason: http://jason.sourceforge.net/JasonWebSite/Jason Home.php
• Multi-Agent Programming Languages, Platforms and Applications,
Bordini, R.H.; Dastani, M.; Dix, J.; El Fallah Seghrouchni, A. (Eds.),
2005
introduces 2APL, CLAIM, Jadex, Jason
• Multi-Agent Programming: Languages, Tools and Applications
Bordini, R.H.; Dastani, M.; Dix, J.; El Fallah Seghrouchni, A. (Eds.),
2009
introduces a.o.: Brahms, CArtAgO, GOAL, JIAC Agent Platform
Koen Hindriks, João Leite
K. Hindriks, J. PL-MAS Tutorial – EASSS09
EASSS12