Proposal Programming agents with a high abstraction level - - PowerPoint PPT Presentation

proposal
SMART_READER_LITE
LIVE PREVIEW

Proposal Programming agents with a high abstraction level - - PowerPoint PPT Presentation

J - M oise + Context J - M oise + Programming organisational agents with M oise + & Jason Jomi F. H ubner ENS Mines Saint Etienne, France hubner@emse.fr Technical Fora Group at EUMAS07 Software tools to build regulated MAS J - M


slide-1
SLIDE 1

Context J -Moise+

J -Moise+

Programming organisational agents with Moise+ & Jason Jomi F. H¨ ubner

ENS Mines Saint Etienne, France hubner@emse.fr

Technical Fora Group at EUMAS’07 Software tools to build regulated MAS

J -Moise+ TFG – EUMAS 2007 1 / 20

slide-2
SLIDE 2

Context J -Moise+ general view Moise+

Proposal

Programming agents with a high abstraction level

AgentSpeak BDI agents (reactive planning)

Enable the programmer to state when the agent should adopt a role, a mission, ... Enable the agents to access organisational information Use Jason (open-source interpreter of AgentSpeak, developed by Rafael Bordini and Jomi H¨ ubner)

J -Moise+ TFG – EUMAS 2007 2 / 20

slide-3
SLIDE 3

Context J -Moise+ general view Moise+

Moise+ by example: “writing a paper”

(a) Structural Specification (b) Functional Specification editor permission mMan writer

  • bligation

mCol writer

  • bligation

mBib (c) Deontic Specification

J -Moise+ TFG – EUMAS 2007 3 / 20

slide-4
SLIDE 4

Context J -Moise+ general view Moise+

General view

J -Moise+ TFG – EUMAS 2007 4 / 20

slide-5
SLIDE 5

Context J -Moise+ actions events goals demo

Organisational Actions in AgentSpeak I

Example (AgentSpeak plan) +some_event : some_context <- jmoise.create_group(wpgroup). Some available Organisational Actions: For groups:

create group(<GrSpecId>[,<GrId>]) remove group(<GrId>)

For schemes:

create scheme(<SchSpecId> [, <responsible groups>]) add responsible group(<SchId>,<GrId>) remove scheme(<SchId>) set goal state(<SchId>,<Goal>,<State>)

J -Moise+ TFG – EUMAS 2007 5 / 20

slide-6
SLIDE 6

Context J -Moise+ actions events goals demo

Organisational Actions in AgentSpeak II

For Agents:

adopt role(<RoleId>,<GrId>) remove role(<RoleId>,<GrId>) commit mission(<MisId>,<SchId>) remove mission([<MisId>,] <SchId>)

OrgManager will perform those actions in case they are consistent, e.g. the adoption of role is contrained by

the cardinality of the role in the group the compatibilities of the roles played by the agent

J -Moise+ TFG – EUMAS 2007 6 / 20

slide-7
SLIDE 7

Context J -Moise+ actions events goals demo

Handling Organisational Events in AgentSpeak

Whenever something changes in the organisation, the

  • rganisation architecture updates the agent belief base

accordingly. Example (A new group is created) +group(wpgroup,GId) : true <- jmoise.adopt_role(editor,GId).

  • r

+group(wpgroup,GId)[owner(O)] : my_friend(O) <- jmoise.adopt_role(editor,GId). Example (Some group is destroyed)

  • group(wpgroup,GId) <- .print("Group removed!").

J -Moise+ TFG – EUMAS 2007 7 / 20

slide-8
SLIDE 8

Context J -Moise+ actions events goals demo

Available Organisational Events I

+/- group(< GrSpecId >,< GrId >)[owner(< AgName >)]: perceived by all agents when a group is created (event +) or removed (event -) by AgName. +/- play(< AgName >, < RoleId >, < GrId >): perceived by the agents of GrId when an agent adopts (event +) or remove (event -) a role in group GrId. +/- commitment(< AgName >, < MisId >, < SchId >): perceived by the SchId players when an agent commits or removes a commitment to a mission MisId in scheme SchId.

J -Moise+ TFG – EUMAS 2007 8 / 20

slide-9
SLIDE 9

Context J -Moise+ actions events goals demo

Available Organisational Events II

+/- scheme(< SchSpecId >,< SchId >)[owner(< AgName >)]: perceived by all agents when a scheme is created (+) or finished (-) by AgName. + scheme group(< SchId >,< GrId >): perceived by GrId players when this group becomes responsible for the scheme SchId. + goal state(< SchId >, < GoalId >, < State >): perceived by SchId players when the state of some goal changes.

J -Moise+ TFG – EUMAS 2007 9 / 20

slide-10
SLIDE 10

Context J -Moise+ actions events goals demo

Available Organisational Events III

+ obligation(< SchId >, < MisId >) [role(< RoleId >),group(< GrId >)]: perceived by an agent when is has an organisational

  • bligation for a mission. It has a role (RoleId) in a group

(GrId) responsible for a scheme (SchId) and this role is

  • bligated to a mission in this scheme.

+ permission(< SchId >, < MisId >) [role(< RoleId >),group(< GrId >)]:

J -Moise+ TFG – EUMAS 2007 10 / 20

slide-11
SLIDE 11

Context J -Moise+ actions events goals demo

Achieving Organisational Goals

An achievement goal event (+!g) is create when an

  • rganisational goal g is permitted.

Example (Organisational goal) If an agent is committed to a mission with goal wsec, whenever this goal is possible (all its pre-condition goals are satisfied), the following plan may be selected:

+!wsec[scheme(Sch)] : commitment(A, mBib, Sch) <- ..... actions to write the section .....; .send(A,tell,[references]); jmoise.set_goal_state(Sch, wsec, satisfied).

The context of this plan uses organisational information to constraint its execution.

J -Moise+ TFG – EUMAS 2007 11 / 20

slide-12
SLIDE 12

Context J -Moise+ actions events goals demo

Execution sample I

jaime action: jmoise.create group(wpgroup) all perception: group(wpgroup,g1)[owner(jaime)] jaime action: jmoise.adopt role(editor,g1)

  • livier action: jmoise.adopt role(writer,g1)

jomi action: jmoise.adopt role(writer,g1) all perception: play(jaime,editor,g1) play(olivier,writer,g1) play(jomi,writer,g1)

J -Moise+ TFG – EUMAS 2007 12 / 20

slide-13
SLIDE 13

Context J -Moise+ actions events goals demo

Execution sample II

jaime action: jmoise.create scheme(writePaperSch, [g1]) all perception: scheme(writePaperSch,s1)[owner(jaime)] all perception: scheme group(s1,g1) jaime perception: permission(s1,mManager)[role(editor),group(wpgroup)] jaime action: jmoise.commit mission(mManager,s1)

  • livier perception:
  • bligation(s1,mColaborator)[role(writer),group(wpgroup),
  • bligation(s1,mBib)[role(writer),group(wpgroup)
  • livier action: jmoise.commit mission(mColaborator,s1)
  • livier action: jmoise.commit mission(mBib,s1)

J -Moise+ TFG – EUMAS 2007 13 / 20

slide-14
SLIDE 14

Context J -Moise+ actions events goals demo

Execution sample III

jomi perception:

  • bligation(s1,mColaborator)[role(writer),group(wpgroup),
  • bligation(s1,mBib)[role(writer),group(wpgroup)]

jomi action: jmoise.commit mission(mColaborator,s1) all perception: commitment(jaime,mManager,s1) commitment(olivier,mColaborator,s1) commitment(olivier,mBib,s1) commitment(jomi,mColaborator,s1)

J -Moise+ TFG – EUMAS 2007 14 / 20

slide-15
SLIDE 15

Context J -Moise+ actions events goals demo

Execution sample IV

all perception: goal state(s1,*,unsatisfied) jaime goal: wtitle action: jmoise.set goal state(s1,wtitle,satisfied) (after each set goal state all agents have theirs beliefs updated) jaime goal: wabs action: jmoise.set goal state(s1,wabs,satisfied) jaime goal: wsectitles action: jmoise.set goal state(s1,wsectitles,satisfied) jaime goal: fdv action: jmoise.set goal state(s1,fdv,satisfied)

J -Moise+ TFG – EUMAS 2007 15 / 20

slide-16
SLIDE 16

Context J -Moise+ actions events goals demo

Execution sample V

  • livier goal: wsecs

action: jmoise.set goal state(s1,wsecs,satisfied) jomi goal: wsecs action: jmoise.set goal state(s1,wsecs,satisfied) jaime goal: wcon action: jmoise.set goal state(s1,wcon,satisfied)

  • livier goal: wref

action: jmoise.set goal state(s1,wref,satisfied)

  • livier action: jmoise.set goal state(s1,sv,satisfied)

jaime goal: wpGoal action: jmoise.set goal state(s1,wpGoal,satisfied)

J -Moise+ TFG – EUMAS 2007 16 / 20

slide-17
SLIDE 17

Context J -Moise+ actions events goals demo

Execution sample VI

all action: jmoise.remove mission(s1) jaime action: jmoise.jmoise.remove scheme(s1)

J -Moise+ TFG – EUMAS 2007 17 / 20

slide-18
SLIDE 18

Context J -Moise+ actions events goals demo

Demo

Agents’ sources Application Execution Debugging

J -Moise+ TFG – EUMAS 2007 18 / 20

slide-19
SLIDE 19

Context J -Moise+ actions events goals demo

Summary

A tool to program Moise+ agents

Logic BDI AgentSpeak

J -Moise+

OrgManager Organisational actions Organisational events

An implementation is available at http://jason.sourceforge.net

J -Moise+ TFG – EUMAS 2007 19 / 20

slide-20
SLIDE 20

Context J -Moise+ actions events goals demo

References I

Bordini, R. H., H¨ ubner, J. F., and Wooldrige, M. (2007). Programming Multi-Agent Systems in AgentSpeak using Jason. Wiley. H¨ ubner, J. F., Sichman, J. S., and Boissier, O. (2006). S-MOISE+: A middleware for developing organised multi-agent systems. In Boissier, O., Dignum, V., Matson, E., and Sichman, J. S., editors, Proceedings of the International Workshop on Organizations in Multi-Agent Systems, from Organizations to Organization Oriented Programming in MAS (OOOP’2005), volume 3913 of LNCS. Springer. H¨ ubner, J. F., Sichman, J. S., and Boissier, O. (2007). Developing organised multi-agent systems using the MOISE+ model: Programming issues at the system and agent levels. International Journal of Agent-Oriented Software Engineering.

J -Moise+ TFG – EUMAS 2007 20 / 20