Agent Modeling Language: Mental States and Ontologies PowerPoint PPT Presentation

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: Agent Modeling Language: Mental States and Ontologies


1
Agent Modeling LanguageMental States and
Ontologies
  • Marcelo Siqueira
  • Edilson Leite
  • Jacques Robin

2
Outline
  1. Mental states package structure
  2. Beliefs package
  3. Goals package
  4. Plans package
  5. Mental Relationships package
  6. Ontologies package

3
Context
  • Mental States are cognitive components needed to
    the realization of inteligent tasks in MAS.
  • Examples beliefs, plans, intentions,
    commitments, etc. (Ferber 95)
  • Scenario
  • Ronaldo believes that the ball is near to him.
  • Ronaldo aims to kick the ball into the goal.
  • Roberto Carlos commits to help Ronaldo (as soon
    as possible!).

In a Cooperatve MAS, before and after each speech
act a lot of reasoning about mental states is
necessary.
4
ReminderOverall AML Package Structure
5
ReminderOverall AML Package Structure
Mental
6
ReminderOverall AML Package Structure
Mental
Ontologies
7
Mental Package Structure
  • Defines the metaclasses which can be used to
  • Support analysis of complex problem/systems,
    particularly by
  • Modeling intentionality in use case models,
  • Goal-based requirements modeling
  • Problem decomposition, etc.
  • Model mental attitudes of autonomous entities,
    which represent their informational, motivational
    and deliberative states.

Mental
8
Mental States Package
  • Comprises common fundamental classes used to
    define concrete metaclasses contained within the
    rest of the Mental sub-packages
  • Mental States
  • Mental Constraints
  • Mental Associations
  • Mental Relationships
  • etc.

9
MentalState
  • Models mental attitudes, which represents their
    informational, motivational and deliberative
    states
  • Support for the human mental process of
    requirements specification and analysis of
    complex problems/systems, by
  • Expressing intentionality in use case models
  • Goal-based requirements modeling
  • Problem decomposition

10
MentalClass
  • Used to specify mental attitudes of
    MentalSemiEntityTypes, and meta-associations of
    Responsibility.

11
ConstrainedMentalClass
  • Allows its concrete subclasses to specify
    MentalConstraints.

12
MentalConstraint
  • Specifiy properties of ConstrainedMentalClassses
    which can be used within mental (reasoning)
    processes of owning MentalSemiEntityTypes.

13
MentalConstraintKind
  • Specifies kinds of constraints specified for
    contributor and beneficiary in the Contribution
    relationship.

MentalConstraint
kind MentalConstraintKind
14
MentalRelationship
  • A superclass to all metaclasses defining the
    relationships between MentalStates

MentalRelationship
15
MentalSemiEntityType
  • Allows the classes (Agents and Environments) own
    mental states.
  • A MentalClass instance can decide
  • Which Goal is to be achieved and which not,
  • When and how the particular Goal instance is to
    be achieved,
  • Whether the particular Goal instance is already
    achieved or not,
  • Which Plan to execute, etc.

16
MentalAssociation
  • Defines an Association between a
    MentalSemiEntityType and a MentalClass to specify
    a MentalProperty.

17
MentalAssociation
Association (from UML)
  • Defines an Association between a
    MentalSemiEntityType and a MentalClass to specify
    a MentalProperty.

0..1
MentalAssociation
2
association redefines association
0..1
Property (from UML)
subsets memberEnd mental MemberEnd
subsets ownedElement MentalConstraint
1
MentalConstraint
MentalProperty
0..1

degree ValueSpecification 0..1


/mentalAttribute ordered, subsets ownedAttribute

redefines type type
redefines classifier classifier
0..1
0..1
MentalSemiEntityType
MentalClass
MentalSemiEntityType
MentalClass
18
MentalAssociation
  • Notation

ltltmentalgtgt
Name
MentalClass
MentalSemiEntityType
1 role
0..8 mentalRole degreevalue
  • Example

degree1.0 scoreGoal
canScoreGoal
0..1
0..1
ScoreGoal
degree1.0 attack
canAttack
0..1
0..1
Attack
19
MentalProperty
  • Specify the instances of MentaSemiEntityType
    which have instances of the MentalClasses in
    order
  • To believe (or not) in a Belief (and to what
    extent)
  • (Wheter and when) to commit to a Goal
  • etc.
  • Can be owned only by
  • MentalSemiEntityTypes as attributes
  • MentalAssociations as member ends.

20
MentalProperty
  • Notation

MentalSemiEntityType
attribute list
MentalSemiEntityType
operation list
parts
...
ltltbeliefgtgt
behaviors
belief list
ltltmentalgtgt mental property 1 mental property
2 ...
ltltgoalgtgt
goal list
21
MentalProperty
  • Example An STRIKER agent

22
Responsibility
  • Used to model a relation between MentalClass
    (responsibility classes) and NamedElement
    (responsibility subjects) that are obligated to
    accomplish MentalClasses by means of
  • Modification of beliefs
  • Achievement or maintenance of goals
  • Realization of plans

Realization (from UML)
Responsibility
/isResponsibilityOf subsets supplierDependency


redefines client subject
redefines supplier object
1..
1..
NamedElement (from UML)
MentalClass
23
Responsibility
  • Notation
  • Example

24
Beliefs Package
  • The Beliefs package defines metaclasses used to
    model beliefs such as
  • The ball is nearby to a player in a soccer
    matching
  • Exists a wumpus in the cave ahead
  • Its raining outside here
  • The goalkeeper goes to the right side when its
    penalty

25
Belief
  • Used to model a state of affairs, proposition or
    other information relevant to the system and its
    mental model.
  • It represents the information which a mental
    semi-entity believes (it does not need to be
    objectively true!)
  • The ability of a MentalSemiEntityType to believe
    in beliefs is modeled by the ownership of a
    MentalProperty

26
Belief
  • Belief can be depicted as
  • (I) an UML class with the stereotype ltltbeliefgtgt
    and/or a rectangle with beveled top-left and
    bottom-right corners in top-right corner
  • (II) a rectangle with beveled top-left and
    bottom-right corners
  • (III) is equals (II), but only with constraints.

(III)
(II)
27
Belief
  • Example
  • NearBall represents the belief that a ball is
    nearby.
  • The attribute near specifies the distance between
    the agent and the ball (default value 1.5).
  • The constraint specifies that the actual distance
    from the agent and the ball does not must exceed
    the value of near

28
Goals
  • The Goals package defines metaclasses used to
    model goals, such as
  • To arrive in an endpoint in a driverless desert
    car racing
  • To catch the opponents king in a chessgame
  • To score a goal in a soccer matching
  • To destroy the red airplane in a warcraft
    simulation game

29
Goal
  • Used to model goals, i.e. conditions or states of
    affairs, with which the main concern is their
    achievement or maintenance.
  • Goals can be used to represent objectives, needs,
    motivations, desires, etc.

30
DecidableGoal
  • Used to model goals for which the goal-holder can
    decide clearly whether it can be achieved or not.

31
UndecidableGoal
  • Used to model goals for which the goal-holder can
    not decide clearly whether it can be achieved or
    not.

32
Plans Package
  • The Plans Package defines metaclasses devoted to
    modeling plans, such as
  • The (travel) planning to arrive in other city
  • The strategy to win a soccer matching
  • The plan to react to a nuclear accident

33
Plan
  • Used to model capabilities of MentalSemiEntityType
    s which represents
  • Predefined plans (i.e. kinds of activities a
    mental semi-entitys reasoning mechanism can
    manipulate to achieve Goals)
  • Fragments of behavior from which the plans can be
    composed (also called plan fragments).

34
Plan
Plan
EntityRoleType
  • Example

ltltpregtgt self.haveBall() ltltpostgtgt not
self.haveBall()
StrikerKickingPlan TeammateSoccerRobot
ltltdecisionInputgtgt teammateself.team.players-gt fir
st(playerplayerltgtself and self.pitch.isNear(self
,player) and player.notOffside())
ltltdecisionInputgtgt self.pitch.isNear(self,otherGoal
)
false
true
teammate-gtnotEmpty()
teammate-gtisEmpty()
KickGoal (self.kickGoal)
PassBall (self.passBall)
KickBallAway (self.kickBallAway)
KickGoal
PassBall
KickBallAway
35
CommitGoalAction
  • Used to model the action of commitment to a Goal.
  • This action binds the Goal instance to the
    MentalProperty of a MentalSemiEntityType.

36
CommitGoalAction
  • Example

ltltpregtgt self.haveBall() ltltpostgtgt not
self.haveBall()
StrikerKickingPlan TeammateSoccerRobot
ltltdecisionInputgtgt teammateself.team.players-gt fir
st(playerplayerltgtself and self.pitch.isNear(self
,player) and player.notOffside())
ltltdecisionInputgtgt self.pitch.isNear(self,otherGoal
)
false
true
teammate-gtnotEmpty()
teammate-gtisEmpty()
PassBall (self.passBall)
PassBall (self.passBall)
KickGoal (self.kickGoal)
KickBallAway (self.kickBallAway)
KickGoal (self.kickGoal)
KickBallAway (self.kickBallAway)
KickGoal
PassBall
KickBallAway
Goal
Goal
Goal
37
CommitGoalAction
  • Example

ltltpregtgt self.haveBall() ltltpostgtgt not
self.haveBall()
StrikerKickingPlan TeammateSoccerRobot
ltltdecisionInputgtgt teammateself.team.players-gt fir
st(playerplayerltgtself and self.pitch.isNear(self
,player) and player.notOffside())
ltltdecisionInputgtgt self.pitch.isNear(self,otherGoal
)
false
true
teammate-gtnotEmpty()
teammate-gtisEmpty()
PassBall (self.passBall)
PassBall (self.passBall)
KickGoal (self.kickGoal)
KickBallAway (self.kickBallAway)
KickGoal (self.kickGoal)
KickBallAway (self.kickBallAway)
KickGoal
PassBall
KickBallAway
38
CancelGoalAction
  • Used to model de-commitment from goals.
  • To cancel an commitment is realized by
    destruction of the Goal instance.
  • In that cases which is not necessary to destroy
    the Goal instance, de-commitment can be modeled
    by RemoveStructuralFeatureValueAction or
    DestroyLinkAction (both of UML)

39
CancelGoalAction
  • Example

40
Mental Relationships Package
  • Defines metaclasses used to model relationships
    between MentalStates which can support reasoning
    processes, such as
  • A Goal Get Rich can be supported by a Belief
    Win the Prize in a game
  • A Goal ScoreGoal can be support by other Goal
    Attack

41
Contribution
  • Used to model logical relationships between
    MentalStates and their MentalConstraints.

42
ContributionKind
  • Specifies possible kinds of Contributions
  • Modeled by means of Non-Classical Logic (Modal
    Logical)
  • There are three kinds
  • Sufficient - The contributor is a sufficient
    condition for the beneficiary
  • Necessary - The contributor is a necessary
    condition for the beneficiary
  • Iff - The contributor and beneficiary are
    equivalent, i.e. the contributor is a sufficient
    and necessary condition for the beneficiary.
  • Notation

Iff
43
Mental States in AMLa Critical Appraisal
  • Strengths
  • Simple way to model mental states capabilities in
    MAS.
  • Improves the learning curve of non-speacilist
    professionals or IA gurus to develop multi-agent
    based systems.
  • Allows sophisticated forms of relationships by
    means of Modal Logic.
  • Weaknesses
  • Approach (almost) purely object-oriented
  • Implementation issues How to map Modal Logic in
    OO?
  • Doesnt support reasoning mechanisms (induction,
    abduction, analogy, etc.)
  • Mental model is sufficient, but its not complete
    (see Ferber99).
  • In pratice, Mental States are not very used to
    implement MAS.

44
Ontologies Package
  • The Ontologies package defines the metaclasses
    used to model ontologies.
  • Allows the specification of class-level as well
    as instance-level ontologies.

Ontologies
Basic Ontologies
45
Basic Ontologies Package
  • Defines the generic means for modelling of
    ontologies in AML
  • Classes
  • Instances
  • Relatioships
  • Constraints
  • Utilities

46
Ontology
  • A specialized package (from UML) used to specify
    a single ontology

47
OntologyClass
  • Used to represent an ontology class (also called
    ontology concept or frame).
  • Slots are represented by attributes and
    operations.
  • Functions, actions, and predicates belonging are
    modeled by its operations.
  • OntologyClass can use all types of relationships
    allowed for UML Class (Association,
    Generalization, Dependency, etc.) with their
    standard UML semantics.
  • Facets for attributes and operations can be
    extended by adding specific tagged values.
  • OntologyClass can also be used as an
    AssociationClass.

48
OntologyClass
  • Example

49
OntologyUtility
  • A specialized Class used to cluster
  • global ontology constants,
  • ontology variables,
  • ontology functions/actions/predicates
  • OntologyUtility classes can be used by elements
    from the same ontology and others importing
    ontologies.
  • There can be more than one OntologyUtility
    within the same ontology.

50
Ontologies in AMLa Critical Appraisal
  • Strengths
  • Support the necessary elements to model a simple
    ontology (classes, instances, relationships,
    etc.) by means of clear and graphical elements.
  • Weaknesses
  • No perceptible value aggregation (Just a poor
    extension of UML)
  • Lack of formal semantics
  • Not enough expressivity for complex domains
  • Poor model of aximatization by means (only) of
    UML constraints, not being possible to incluide
    CFOL, or alike.
  • Lack of integration with Knowledge Representation
    languages like RDF/OWL
  • Lack of adherence to existing OMG efforts to
    standardize an MOF-based ontology metamodel
    (Calero et al., 2006)
  • Questionable necessity of existence (disposable?)
Write a Comment
User Comments (0)
About PowerShow.com