Title: Agent Modeling Language: Mental States and Ontologies
1Agent Modeling LanguageMental States and
Ontologies
- Marcelo Siqueira
- Edilson Leite
- Jacques Robin
2Outline
- Mental states package structure
- Beliefs package
- Goals package
- Plans package
- Mental Relationships package
- Ontologies package
3Context
- 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.
4ReminderOverall AML Package Structure
5ReminderOverall AML Package Structure
Mental
6ReminderOverall AML Package Structure
Mental
Ontologies
7Mental 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
8Mental 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.
9MentalState
- 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
10MentalClass
- Used to specify mental attitudes of
MentalSemiEntityTypes, and meta-associations of
Responsibility.
11ConstrainedMentalClass
- Allows its concrete subclasses to specify
MentalConstraints.
12MentalConstraint
- Specifiy properties of ConstrainedMentalClassses
which can be used within mental (reasoning)
processes of owning MentalSemiEntityTypes.
13MentalConstraintKind
- Specifies kinds of constraints specified for
contributor and beneficiary in the Contribution
relationship.
MentalConstraint
kind MentalConstraintKind
14MentalRelationship
- A superclass to all metaclasses defining the
relationships between MentalStates
MentalRelationship
15MentalSemiEntityType
- 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.
16MentalAssociation
- Defines an Association between a
MentalSemiEntityType and a MentalClass to specify
a MentalProperty.
17MentalAssociation
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
18MentalAssociation
ltltmentalgtgt
Name
MentalClass
MentalSemiEntityType
1 role
0..8 mentalRole degreevalue
degree1.0 scoreGoal
canScoreGoal
0..1
0..1
ScoreGoal
degree1.0 attack
canAttack
0..1
0..1
Attack
19MentalProperty
- 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.
20MentalProperty
MentalSemiEntityType
attribute list
MentalSemiEntityType
operation list
parts
...
ltltbeliefgtgt
behaviors
belief list
ltltmentalgtgt mental property 1 mental property
2 ...
ltltgoalgtgt
goal list
21MentalProperty
22Responsibility
- 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
23Responsibility
24Beliefs 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 -
25Belief
- 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
26Belief
- 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)
27Belief
- 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
28Goals
- 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
29Goal
- 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.
30DecidableGoal
- Used to model goals for which the goal-holder can
decide clearly whether it can be achieved or not.
31UndecidableGoal
- Used to model goals for which the goal-holder can
not decide clearly whether it can be achieved or
not.
32Plans 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
33Plan
- 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).
34Plan
Plan
EntityRoleType
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
35CommitGoalAction
- Used to model the action of commitment to a Goal.
- This action binds the Goal instance to the
MentalProperty of a MentalSemiEntityType.
36CommitGoalAction
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
37CommitGoalAction
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
38CancelGoalAction
- 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)
39CancelGoalAction
40Mental 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
41Contribution
- Used to model logical relationships between
MentalStates and their MentalConstraints.
42ContributionKind
- 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
43Mental 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.
44Ontologies 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
45Basic Ontologies Package
- Defines the generic means for modelling of
ontologies in AML - Classes
- Instances
- Relatioships
- Constraints
- Utilities
46Ontology
- A specialized package (from UML) used to specify
a single ontology
47OntologyClass
- 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.
48OntologyClass
49OntologyUtility
- 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.
50Ontologies 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?)