Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ontologies Reasoning Components Agents Simulations Agent Modeling Language: Mental States and Ontologies Marcelo Siqueira Edilson Leite Jacques Robin.

Similar presentations


Presentation on theme: "Ontologies Reasoning Components Agents Simulations Agent Modeling Language: Mental States and Ontologies Marcelo Siqueira Edilson Leite Jacques Robin."— Presentation transcript:

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?)


Download ppt "Ontologies Reasoning Components Agents Simulations Agent Modeling Language: Mental States and Ontologies Marcelo Siqueira Edilson Leite Jacques Robin."

Similar presentations


Ads by Google