Title: Building a Robocup team using Jason BDI framework Sean Bassett, Nancy Ho Woo, Laurence Smith, Carlos Valencia Software Agents November 30, 2006
1Building a Robocup team using Jason BDI
frameworkSean Bassett, Nancy Ho Woo, Laurence
Smith, Carlos Valencia Software AgentsNovember
30, 2006
2Architecture
3Sequence diagram
4Jasons features used for implementation
- Environment coded in java
- Communication with BDI occurs only at
perception/action points - Open/closed world assumption
- Closed world in implicit by not using strong
negation () on plans - Late option specification
- Parameters are specified right at the moment of
calling the action - Internal actions written in Java
- Elegant way to extend plans from within the BDI
5Modeling a player
6Example of a plan
- // -kickoff -8 -3
- // -team Canada
- // Forward, in front of the ball
- noball.
- / Plans /
- noball ball(X,Y,P,Q) team(Tn)
player(Tn,Un,Xp,Yp,Pp,Qp) lt-.print("1")
robojason._bpDist(X,Y,Xp,Yp,Re) - !disDec(X,Y,Xp,Re) -ball(_,_,_,_)
-player(_,_,_,_,_,_). - noball ball(X,Y,P,Q) lt-.print("2")
-ball(X,Y,P,Q) -noball !gotoball(X,Y). - noball otherside(OS) flag(p,OS,t,Xf,Yf,Pf,Qf)
Xfgt10 (Yfgt15 Yflt-15)lt-.print("4")
turn(Yf) -flag(_,_,_,_,_,_,_). - noball otherside(OS) flag(p,OS,t,Xf,Yf,Pf,Qf)
Xfgt10 lt-.print("5") dash(90)
-flag(_,_,_,_,_,_,_). - noball noball lt-.print("3") !findball.
- !findball ball(X,Y,P,Q) team(Tn)
player(Tn,Un,Xp,Yp,Pp,Qp) lt-.print("6")
robojason._bpDist(X,Y,Xp,Yp,Re)
!disDec(X,Y,Xp,Re) -ball(_,_,_,_)
-player(_,_,_,_,_,_). - !findball ball(X,Y,P,Q) lt-.print("7")
-ball(X,Y,P,Q) -noball !gotoball(X,Y). - !findball noball lt-.print("8") turn(70)
-noball.
7Defensive Strategy
8Offensive Strategy
9Jason compared to another BDI
Comparison criteria Jason Jack
Inter-agent communication approach Speech-act based communication based on KQML querying and informational performatives High-level primitives for communication are offered
Preciseness Does the platform provide clear and precise semantics? Yes. Based on AgentSpeak(L)s formal semantics Provides clear and precise, although not formal, semantics
Verification Path for the formal verification of programs written in the language? Model checking techniques have been developed by the authors No verification techniques are provided
10Jason compared to another BDI
Comparison criteria Jason Jack
Deployment and portability Manuals support. Limited, as its an open source project with just a single manual and no formal support Highly documented and formally supported
Extensible through open source collaboration Open source from the beginning and offers clear cut interfaces to integrate environments Not open source. Although it provides several hooks for extension.
Tools for debugging and programming? Provides an IDE but debugging capabilities are limited IDE and capabilities such as textual trace, graphical plan tracing and agent interaction diagrams
11References
- Bordini, R.H. Hubner, J.F. 2006. Jason. A
java-based interpreter for an extended version of
AgentSpeak. Available online, http//jason.source
forge.net/Jason.pdf - Bordini, R., Hubner, J. Vieira, R. Jason and
the golden fleece of agent-oriented programming.
2005. In R. Bordini, M. Dastani, J. Dix A.
Seghrouchni (Eds.), Multi-agent programming.
Languages, platforms and application. pages 4-39.
Liverpool Springer