Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ontologies Reasoning Components Agents Simulations Ontologies and Agent Oriented Knowledge Representation Jacques Robin.

Similar presentations


Presentation on theme: "Ontologies Reasoning Components Agents Simulations Ontologies and Agent Oriented Knowledge Representation Jacques Robin."— Presentation transcript:

1 Ontologies Reasoning Components Agents Simulations Ontologies and Agent Oriented Knowledge Representation Jacques Robin

2 Outline  History of object-oriented languages  UML2 as a domain knowledge representation language  Ontologies and object-oriented knowledge reuse  A UML2 profile for agent-oriented knowledge representation

3 Software EngineeringDistributed Systems History of Object-Oriented Languages ProgrammingKnowledge Representation Databases Simula Sketchpad Java C# Semantic Networks Description Logics Frame Logics SQL’99 Frames Smalltalk 1965 2006 C++ OQL UML1 OCL1 MOF1 OCL2 UML2 MOF2 Semantic Web OWL SWSL CHORD

4 UML as KR Language  Class diagram:  Modern, well-founded version of semantic networks  Activity diagram  Modern, well-founded version of flow charts  Graphical syntax for procedures  Class diagrams + Activity diagrams :  Graphical syntax of expressive power approximately equivalent to that of Frames  Strengths:  Universal standard, well-thought, well-known and well-tooled (CASE)  Facilitates convergence between software and knowledge engineering  Limitations:  Lack of full UML compilers to executable languages  Lack of inference engine to automatically reasoning with knowlege represented only as UML models  No mathematically defined formal semantics yet  Thus:  Only useful at the knowledge level  Need to be used in conjunction with other language(s) that provide the formalization and/or implementation level

5 What is an Ontology?  Explicit, formal (or semi-formal) specification of a shared conceptualization  Conceptualization:  Conceptualization: model of entities, relations, constraints and rules of a given domain or field;  Formal:  Formal: machine-processable, allowing automated reasoning, with declarative semantics;  Shared:  Shared: by a knowledge community, allowing common understanding and effective communication of largely implicitly specified content, completed by inference based on the shared explicit knowledge in the ontology  Knowledge base reusable across AI applications  Independent from any specific application requirement  Linguistic ontology  Linguistic ontology: based on vocabulary and deep syntactic roles of one or several natural languages (ex, http://wordnet.princeton.edu/)http://wordnet.princeton.edu/)  Domain conceptual ontology  Domain conceptual ontology: common core of KB from application family in a given domain  Common-sense conceptual ontology  Common-sense conceptual ontology: domain-independent, high-level concepts from one or several common sense knowledge aspects

6 Elements of an Ontology: Concept Generalization Hierarchy  Entity Classes:  Each entity class defined by a set of slot-facet-value triple  Correspond to:  Classes of OO models  Entities of relational models  Terms of logical models  Property slots x relational slots  Filled by atomic values (primitive data types) x by other concepts  Epistemological status of the value (defined by the facet)  Precisely known, default, possibilistic, plausibilistic, probabilistic  Generic Relations:  With or without generalization hierarchy running parallel to concept generalization hierarchy  Correspond to:  Associations, aggregations, compositions and complex object filled attributes of OO models  Relations of relational model  Predicates of logical models

7 Elements of an Ontology: Constraints and Derivation Rules  Constraints:  On the domain values of attributes from  One concept (type constraints)  Several related concepts (integrity constraints)  To prohibit semantically invalid concepts instances or semantically inconsistent concept instance set  Correspond to:  Class signatures and invariants in OO models  Typing predicates, sorts (partition of constant symbol alphabet) and integrity constraints in logical models  Typing and integrity constraints in database schemas  Rules to derive:  The value of attribute concepts from set of other such values  The existence of concept instances from the existence of other such instances  Correspond to:  Declarative methods in OO models  Implicative clauses of logical models  Database views

8 Elements of an Ontology: Constraints x Derivation Rules  As a constraint, the formula:   C, person(C)   ! M, person(M)  mother(M,C)  prohibits the creation of person concept instances with zero or multiple mothers;  As a derivation rule, this same formula allows inferring: - From the existence of each instance C of the person concept the existence of another instance M of that concept, related to C by an instance of the mother relation; - From the existence of two instances M and M’ of the person concept, both related to the same third instance C of that concept by the mother relation, that M = M’  Concept instances generally not part of an ontology  Exception: special values that correspond to constant value declaration in programming language as opposed to variable binding

9 Cross-Disciplinary History of Ontologies Organization Knowledge Management since 1990 Data Integration since 1995 Multi-Agent Systems since 1995 Web Information Retrieval since 2000 Cognitive Psychology since 1960 Linguistics since 1960 Expert Systems since 1980 Natural Language Processing since 1980 Ontologies Philosophy since 350 A.C. Software Engineering (Business Modeling) since 1990

10 Top-Level Common Sense Conceptual Ontology Domain or Task Specific Ontology Domain or Task Specific Ontology

11 MAS Simulation Specification Class Diagram > SimStateKind running stopped > Simulation +run() +stop() > Simulation +state:SimStateKind

12 MAS Simulation Specification Composite Structure Diagram > : Simulation Sim Simulation

13 > Simulation MAS Simulation Realization Class Diagram > AgStateKind empty initialized perceptReceived actionSent > EnvPubStateKind empty initialized perceptsSent actionsReceived > SimEnv +create() +terminate() > SimAg +create() +terminate() > Agent +state:AgStateKind > Environment +state: EnvStateKind > EnvEffectors +send1(p:Percept1, ag:Agent) +send2(p:Percept2, ag:Agent) > AgEffectors +send1(ac:Action1) +send2(ac:Action2) > CommunicationChannel +send1(ac:Action1) +send2(ac:Action2) +receive1():Percept1 +receive2():Percept2 +send1(p:Percept1, ag:Agent) +send2(p:Percept2, ag:Agent) +receive1(ag:Agent):Action1 +receive2(ag:Agent):Action2 > EnvSensors +receive1(ag:Agent):Action1 +receive2(ag:Agent):Action2 > AgSensors +receive1():Percept1 +receive2():Percept2 Percept Percept1Percept2 Action Action1Action2 >

14 MAS Simulation Realization Class Diagram > AgStateKind empty initialized perceptReceived actionSent > EnvPubStateKind empty initialized perceptsSent actionsReceived > SimEnv +create() +terminate() > SimAg +create() +terminate() > Agent +state:AgStateKind > Environment +state: EnvStateKind > EnvEffectors +send1(p:Percept1, ag:Agent) +send2(p:Percept2, ag:Agent) > AgEffectors +send1(ac:Action1) +send2(ac:Action2) > CommunicationChannel +send1(ac:Action1) +send2(ac:Action2) +receive1():Percept1 +receive2():Percept2 +send1(p:Percept1, ag:Agent) +send2(p:Percept2, ag:Agent) +receive1(ag:Agent):Action1 +receive2(ag:Agent):Action2 > EnvSensors +receive1(ag:Agent):Action1 +receive2(ag:Agent):Action2 > AgSensors +receive1():Percept1 +receive2():Percept2 Percept Percept1Percept2 Action Action1 Action2 > Simulation > [2..*]

15 > : Simulation MAS Simulation Realization Composite Structure Diagram > : Agent [2..*] > : Environment : CommunicationChannel AgSensors AgEffectors EnvSensors EnvEffectors AgSensors [2..*]AgEffectors [2..¨¨]EnvEffectorsEnvSensors SimAg [2..*] SimEnv SimAgSimEnv

16 Agent Specification Class Diagram > AgStateKind empty initialized perceptReceived actionSent > SimAg +create() +terminate() > Agent +state:AgStateKind > AgEffectors +send1(ac:Action1) +send2(ac:Action2) > AgSensors +receive1():Percept1 +receive2():Percept2 Percept Percept1Percept2 Action Action1Action2

17 Agent Specification Composite Structure Diagram > : Agent AgSensors AgEffectors SimAg

18 Environment Specification Class Diagram > EnvPubStateKind empty initialized perceptsSent actionsReceived > SimEnv +create() +terminate() > Environment +state: EnvStateKind > EnvEffectors +send1(p:Percept1, ag:Agent) +send2(p:Percept2, ag:Agent) > EnvSensors +receive1(ag:Agent):Action1 +receive2(ag:Agent):Action2 Percept Percept1Percept2 Action Action1Action2 > Agent +state:AgStateKind > AgStateKind empty initialized perceptReceived actionSent

19 Environment Specification Composite Structure Diagram > : Environment EnvSensors EnvEffectors EnvAg

20 > Agent Agent Realization Class Diagram AgSimModel SimModel > updateModelFromPercept +updateAgSimModel(p:Percept) > PerceptInterpretation > updateModelFromPredictedActionEffect +update(a:Action) > ActionEffectPredictor > updateModelFromDirectChangeLaws +updateAgSimModel() > ModelUpdate Goal > ModelUpdateRamification > ramifyDirectChanges +RamifyAgSimModel() > updateGoal +updateGoal() > GoalUpdate > ActionChooser > chooseAction +choose():Action >

21 : Agent Agent Realization Composite Structure Diagram : AgSimModel : Goal > : PerceptInterpretation updateModelFromPercept > : ModelUpdate updateModelFromDirectChangeLaws > : ModelUpdateRamification ramifyDirectChanges > : GoalUpdate goalUpdate > : ActionChooser chooseAction > : ActionEffectPredictor updateModelFromPredictedActionEffect AgSensors > AgEffectors > SimAg

22 > Environment Environment Realization Class Diagram EnvSimModel SimModel > updateModelFromAgentActions +updateEnvSimModel(p:Percept) > UpdateFromActions > deriveAgentPercepts +percept(ag:Agent):Percept > DeriveNewPercepts > updateModelFromDirectChangeLaws +updateAgSimModel() > EnvSelfUpdate > ModelUpdateRamification > ramifyDirectChanges +RamifyAgSimModel() >

23 : Agent Environment Realization Composite Structure Diagram : EnvSimModel > : UpdateFromActions updateModelFromAgentActions > : EnvSelfUpdate updateModelFromDirectChangeLaws > : ModelUpdateRamification ramifyDirectChanges > : DeriveAgentPercepts DeriveNewPercepts EnvSensors > EnvEffectors > SimEnv

24 UML2 Profiles  Self-extension mechanism to customize UML2 towards:  Specific application families (i.e., multi-agent simulations)  Specific implementation platforms (i.e., EJB,.net, web services)  A profile is a set of stereotypes  Concrete syntax: > and/or icon  Stereotypes are specializations of meta-classes from the UML2 meta-model PackageClass PropertyAssociation Profile ProfileApplication * * * meta-class Extension Stereotype * Image icon ExtensionEnd * UML2 Superstructure Meta-Model UML2 Extension/Customization Language Meta-Model

25 MOF Meta-Model of a Simple Multi-Agent Simulations Modeling Language (MASML) MAS 2..* EnvironmentAgent SensorActuator 1..* Percept 1..* AgentAction 1..* MAS ReasoningComponent 1..* Agent ReflexAgentReflexComponent ReflexAgent ReasoningComponent Sensor Actuator 1..* AutomataAgentGoalBasedAgent Goal GoalInitializationComponent GoalUpdateComponent GoalBasedBehaviorStrategyComponent ReasoningComponent GoalBasedAgent 3..* EnvironmentStateModel ModelBasedBehaviorStrategyComponent AgentAutomataAgent EnvironmentStateModel ModelInitializationComponent PerceptInterpretationComponent RamificationComponent ModelBasedBehaviorStrategyComponent ReasoningComponent AutomataAgent Actuator Sensor 4..* 1..*

26 MOF Meta-Model of a Simple Multi-Agent Simulations Modeling Language (MASML) Agent KBAgentKBComponent KBAgent ReasoningComponent 1..* KnowledgeBase PersistentKB VolatileKB 0..* KBSentence 1..* ReflexAgent ReflexKBAgentReflexKBComponent ReflexKBAgent ReflexComponent KBAgentKBComponent PersistentKB ReflexKB context ReflexKBComponent inv VolatileKB.isEmpty() AutomataKBAgent AutomataAgent AutomataKBAgent KBComponent KBAgent EnvironmentStateModelKB 4..* VolatileKB EnvironmentStateModel 4..* GoalBasedKBAgent GoalBasedAgent GoalBasedKBAgent KBComponent KBAgentGoalKB EnvironmentStateModelKB 6..* VolatileKBGoal EnvironmentStateModel 4..*3..*

27 UML2 Profile for MAS  MASML Meta-Model  UML2 Meta-Model MAS Environment Agent Sensor Actuator Percept AgentAction ReasoningComponent EnvironmentStateModel KnowledgeBase KBSentence Component isActive = true ComponentPort Signal Model Package PackagableElement TypedElement *


Download ppt "Ontologies Reasoning Components Agents Simulations Ontologies and Agent Oriented Knowledge Representation Jacques Robin."

Similar presentations


Ads by Google