Download presentation
Presentation is loading. Please wait.
Published byBridget Chase Modified over 9 years ago
1
Ontologies Reasoning Components Agents Simulations Agent Modeling Language: Mental 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!). “I want to score the goal now!!! ” State 1State 2 “Wow! The ball is near to me!!” In a Cooperatve MAS, before and after each speech act a lot of reasoning about mental states is necessary.
4
> AML Metamodel AML Kernel Reminder: Overall AML Package Structure Ontologies Basic Ontologies Model Management Contexts Agents Architecture Resources Environments Entities MAS Deployment Social Aspects Mental States Beliefs Goals Mental Relationships Plans Behavior Decomposition Behaviors Observations And Effecting Interactions Services Mobility Basic Behaviors Communicative Interactions > UML UML Extension for AML
5
> AML Metamodel AML Kernel Reminder: Overall AML Package Structure Ontologies Basic Ontologies Model Management Contexts Agents Architecture Resources Environments Entities MAS Deployment Social Aspects Mental States BeliefsGoals Mental Relationships Plans Behavior Decomposition Behaviors Observations And Effecting Interactions Services Mobility Basic Behaviors Communicative Interactions > UML UML Extension for AML
6
> AML Metamodel AML Kernel Reminder: Overall AML Package Structure Ontologies Basic Ontologies Model Management Contexts Agents Architecture Resources Environments Entities MAS Deployment Social Aspects Mental States BeliefsGoals Mental Relationships Plans Behavior Decomposition Behaviors Observations And Effecting Interactions Services Mobility Basic Behaviors Communicative Interactions > UML UML Extension for AML
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 Mental Sates Beliefs Goals Plans Mental Relationships
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. Mental Mental Sates Beliefs Goals Plans Mental Relationships Mental Sates
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 NamedElement (from UML) /degree: ValueSpecification [0..1] {union} MentalState MentalClassMentalRelationship ConstrainedMentalClass
10
MentalClass Used to specify mental attitudes of MentalSemiEntityTypes, and meta-associations of Responsibility. {subsetsownedRule} +/mentalConstraint NamedElement (from UML) /degree: ValueSpecification [0..1] {union} MentalState MentalClass Class (from UML) MentalSemiEntityType ConstrainedMentalClass MentalConstraint 0..1 * +namespace {redefines namespace} MentalClass MentalProperty +classifier {redefines classifier} +/mentalAttribute {ordered, subsets ownedAttribute} MentalClass
11
ConstrainedMentalClass Allows its concrete subclasses to specify MentalConstraints. NamedElement (from UML) /degree: ValueSpecification [0..1] {union} MentalState MentalClass ConstrainedMentalClass MentalConstraint 0..1 * +namespace {redefines namespace} ConstrainedMentalClass
12
MentalConstraint Specifiy properties of ConstrainedMentalClassses which can be used within mental (reasoning) processes of owning MentalSemiEntityTypes. kind: MentalConstraintKind MentalConstraint NamedElement (from UML) /degree: ValueSpecification [0..1] {union} MentalState MentalClass ConstrainedMentalClass 0..1 +namespace {redefines namespace} RedefinableElement (from UML) Constraint (from UML) ** MentalConstraint kind: MentalConstraintKind
13
Specifies kinds of constraints specified for contributor and beneficiary in the Contribution relationship. > MentalConstraintKind commitCondition preCondition commitPreCondition Invariant cancelCondition postCondition MentalConstraintKind kind : MentalConstraintKind MentalConstraint commitConditioncommit An assertion identifying the situation under which an autonomous entity commits to the particular ConstrainedMentalClass. preConditionpreThe condition that must hold before ConstrainedMentalClass can become effective. commitPreConditioncommpreAND-ed combination of commitCondition and preCondition. invariantinvThe condition that holds during the period the ConstrainedMentalClass is active. cancelConditioncancel An assertion identifying the situation under which an autonomous entity cancels attempting to accomplish the particular ConstrainedMentalClass. postConditionpostThe condition that holds after the ConstrainedMentalClass has been accomplished. ValueKeywordSemantics pre = {not self.team.hasBall(ball) and self.isFree()} Notation:
14
MentalRelationship A superclass to all metaclasses defining the relationships between MentalStates NamedElement (from UML) MentalState MentalRelationship /degree: ValueSpecification [0..1] {union} 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. Class (from UML) MentalSemiEntityType Autonomous EntityType (from Entities) Entity RoleType (from Archiitecure) AgentType (from Architecture) Environment Type (from Archiitecure) MentalSemiEntityType
16
MentalAssociation Defines an Association between a MentalSemiEntityType and a MentalClass to specify a MentalProperty.
17
MentalAssociation Property (from UML) degree : ValueSpecification [0..1] MentalProperty MentalSemiEntityTypeMentalClass ** 0..1 Association (from UML) MentalAssociation 0..1 1 2 +association {redefines association} {subsets memberEnd} +mental MemberEnd +/mentalAttribute {ordered, subsets ownedAttribute} {redefines classifier} +classifier {redefines type} + type MentalSemiEntityType degree : ValueSpecification [0..1] MentalProperty MentalClass MentalAssociation * 0..1 {subsets ownedElement} +MentalConstraint MentalConstraint Defines an Association between a MentalSemiEntityType and a MentalClass to specify a MentalProperty.
18
MentalAssociation Notation: Example: MentalClass > Name 1 role 0..8 mentalRole {degree=value} ScoreGoal Attack 0..1 canScoreGoal canAttack {degree=1.0} scoreGoal {degree=1.0} attack MentalSemiEntityType Striker > :ScoreGoalPlan :AttackPlan :ScoreGoalPlan :AttackPlan
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. Property (from UML) degree : ValueSpecification [0..1] MentalProperty MentalClass ** * 0..1 Association (from UML) MentalAssociation 0..1 {subsets ownedElement} +MentalConstraint MentalConstraint 0..1 1 2 {ordered, redefines memberEnd} +memberEnd +association {redefines association} {subsets memberEnd} +mental MemberEnd +/mentalAttribute {ordered, subsets ownedAttribute} {redefines classifier} +classifier {redefines type} + type MentalSemiEntityType degree : ValueSpecification [0..1] MentalProperty
20
MentalProperty Notation:... > nameMentalClass {degree=value}... MentalSemiEntityType attribute list operation list parts behaviors > mental property 1 mental property 2... MentalSemiEntityType... > belief list 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 NamedElement (from UML) MentalClass ** 1..* +/isResponsibilityOf {subsets supplierDependency} {redefines supplier} +object {redefines client} +subject
23
Responsibility Notation: Example: NamedElementMentalClass > Person storeFluid 1 * > Cup Bottle Glass > Realization (from UML) Responsibility NamedElement (from UML) MentalClass ** 1..* +/isResponsibilityOf {subsets supplierDependency} {redefines supplier} +object {redefines client} +subject
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 It’s raining outside here The goalkeeper goes to the right side when it’s penalty Mental Mental Sates Beliefs Goals Plans Mental Relationships Beliefs
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 MentalClass (from MentalState) Belief degree: ValueSpecification [0..1] {subsets degree} Constraint (from UML) 0..1 {subsets ownedRule} +constraint MentalProperty MentalClass ** 0..1 {redefines type} + type MentalSemiEntityType degree : ValueSpecification [0..1]
26
Belief Belief can be depicted as: (I) an UML class with the stereotype > 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. (II) (III) (I) > Name attribute list operation list {constraints} {degree = value} (I)
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 opponent’s king in a chessgame To score a goal in a soccer matching To destroy the red airplane in a warcraft simulation game Mental Mental Sates Beliefs Goals Plans Mental Relationships Goals
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. ConstrainedMentalClass (from MentalState) degree: ValueSpecification [0..1] {subsets degree} Goal DecidableGoalUndecidableGoal
30
DecidableGoal Used to model goals for which the goal-holder can decide clearly whether it can be achieved or not. > Name attribute list {degree=value} operation list {constraint} > {constraint} > {constraint} > InterceptGoal Ball: Ball {degree=0.8} {self.pitch.isNear(self,ball)} > {not self.team.hasBall(ball) and self.isFree()} > {not self.pitch.isNear(self,ball)} {self.haveBall(ball)} > Example
31
UndecidableGoal Used to model goals for which the goal-holder can not decide clearly whether it can be achieved or not. > Name attribute list {degree=value} operation list {constraint} > {constraint} > {constraint} > InterceptGoal {degree=1} > {free(teamMate) AND notOffSide(teamMate)} {kickable(ball)} > {not self.pitch.isNear(self,ball)} {hasBall(teamMate)} > Example:
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 Mental Mental Sates Beliefs Goals Plans Mental Relationships Plans
33
Plan Used to model capabilities of MentalSemiEntityTypes which represents: Predefined plans (i.e. kinds of activities a mental semi-entity’s reasoning mechanism can manipulate to achieve Goals); Fragments of behavior from which the plans can be composed (also called plan fragments). ConstrainedMentalClass (from MentalState) degree: ValueSpecification [0..1] {subsets degree} Activity (from UML) Plan > Name {degree=value} parameters > {constraint} contained activity nodels Notation :
34
Plan Example: KickGoal (self.kickGoal) [true] [false] Striker::KickingPlan Teammate:SoccerRobot > self.pitch.isNear(self,otherGoal) PassBall (self.passBall) KickBallAway (self.kickBallAway) :KickGoal :PassBall :KickBallAway [teammate->notEmpty()][teammate->isEmpty()] > {self.haveBall()} > {not self.haveBall()} > teammate=self.team.players-> first(player|player<>self and self.pitch.isNear(self,player) and player.notOffside()) EntityRoleType Plan
35
CommitGoalAction Used to model the action of commitment to a Goal. This action binds the Goal instance to the MentalProperty of a MentalSemiEntityType. CreateObjetcAction (from UML) AddStructuralFeatureValueAction (from UML) MentalProperty (from Mental States) InputPin (from UML) OutputPin (from UML) Goal (from UML) CommitGoalAction 0..1 1 11 * 1 * {redefines structuralFeature} +mental Property {redefines object} +mental SemiEntity {redefines classifier} +goalType {redefines result} +goalInstance > Name (mentalSemiEntity.mentalProperty[insertAt]) goalInstance:goalType Notation:
36
PassBall (self.passBall) PassBall (self.passBall) CommitGoalAction Example: KickGoal (self.kickGoal) [true] [false] Striker::KickingPlan Teammate:SoccerRobot > self.pitch.isNear(self,otherGoal) KickBallAway (self.kickBallAway) :KickGoal :PassBall :KickBallAway [teammate->notEmpty()][teammate->isEmpty()] > {self.haveBall()} > {not self.haveBall()} > teammate=self.team.players-> first(player|player<>self and self.pitch.isNear(self,player) and player.notOffside()) KickGoal (self.kickGoal) KickBallAway (self.kickBallAway) Goal
37
PassBall (self.passBall) PassBall (self.passBall) CommitGoalAction Example: KickGoal (self.kickGoal) [true] [false] Striker::KickingPlan Teammate:SoccerRobot > self.pitch.isNear(self,otherGoal) KickBallAway (self.kickBallAway) :KickGoal :PassBall :KickBallAway [teammate->notEmpty()][teammate->isEmpty()] > {self.haveBall()} > {not self.haveBall()} > teammate=self.team.players-> first(player|player<>self and self.pitch.isNear(self,player) and player.notOffside()) KickGoal (self.kickGoal) KickBallAway (self.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) DestroyObjectAction (from UML) CancelGoalAction InputPin (from UML) {redefines target} +goalInstance 0..1 1..* Notation > Name
39
CancelGoalAction Example: Striker::KickingPlan > {game is over} ScoreGoal (self.scoreGoal) sg Attack (self.attack) att Game Interrupted Stop striker’s activities sg att Game Continue Stop striker’s activities
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” Mental Mental Sates Beliefs Goals Plans Mental Relationships Mental Relationships
41
Contribution Used to model logical relationships between MentalStates and their MentalConstraints. sufficient necessary iff > ContributionKind MentalRelationship (from MentalStates) kind: ContributionKind contributorConstraintKind: MentalConstraintKind [0..1] beneficiaryConstraintKind: MentalConstraintKind [0..1] degree: ValueSpecification [0..1] {subsets degree} DirectedRelationship (from UML) Contribution MentalState (from MentalStates) {subsets source} +contributor {subsets target} +contributor
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: degree Constraint Kind Constraint Kind ContributorBeneficiary Contributor degree Constraint Kind Constraint Kind Beneficiary Sufficient degree Constraint Kind Constraint Kind ContributorBeneficiary Necessary Iff
43
Mental States in AML: a 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? Doesn’t support reasoning mechanisms (induction, abduction, analogy, etc.) Mental model is sufficient, but it’s 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 Ontology Class (from UML) OntologyClassOntologyUtility Package (from UML) Basic Ontologies
46
Ontology A specialized package (from UML) used to specify a single ontology Name > O Notation: Employment Ontology O Medical Processes Ontology O Medical Staff Ontology O Medical Equipment Ontology O Diagnosis Ontology O Medical Ontology O > Example:
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. attribute list operation list parts behaviors C > Name Notation:
48
OntologyClass Example: Person C name Patient C insuranceType Doctor C skills Nurse C Surgeon C Anesthetist C Anesthesia Nurse C Ward Nurse C Clinic C Anesthesia C Ontology Medical Staff Ontology 111department *** nursesurgeonanesthesist
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. > Name attribute list operation list parts U Notation Goniometry PI = 3.14 {readOnly} sin(x): Real cos(x): Real tan(x): Real U Math Ontology Example
50
Ontologies in AML: a 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?)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.