View
220
Download
2
Category
Tags:
Preview:
Citation preview
OntologiesReasoningComponentsAgentsSimulations
Ontologies and Agent OrientedOntologies and Agent OrientedKnowledge RepresentationKnowledge Representation
Jacques Robin
OutlineOutline
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
Software Engineering DistributedSystems
History of Object-Oriented History of Object-Oriented LanguagesLanguages
Programming KnowledgeRepresentation
Databases
Simula
Sketchpad
Java
C#
Semantic Networks
DescriptionLogics
Frame Logics
SQL’99
Frames
Smalltalk
1965
2006
C++
OQL
UML1
OCL1MOF1
OCL2UML2MOF2
Semantic Web
OWL
SWSL
CHORD
UML as KR LanguageUML 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
What is an Ontology?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
LinguisticLinguistic ontology ontology: based on vocabulary and deep syntactic roles of one or several natural languages (ex, http://wordnet.princeton.edu/)
Domain conceptualDomain conceptual ontology ontology: common core of KB from application family in a given domain
Common-sense conceptualCommon-sense conceptual ontology ontology: domain-independent, high-level concepts from one or several common sense knowledge aspects
Elements of an Ontology:Elements of an Ontology:Concept Generalization HierarchyConcept 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
Elements of an Ontology:Elements of an Ontology:Constraints and Derivation RulesConstraints 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
Elements of an Ontology:Elements of an Ontology:Constraints x Derivation RulesConstraints 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
Cross-Disciplinary History of Cross-Disciplinary History of OntologiesOntologies
OrganizationKnowledge
Managementsince 1990
DataIntegrationsince 1995
Multi-AgentSystems
since 1995
WebInformation
Retrievalsince 2000
CognitivePsychologysince 1960
Linguisticssince 1960
ExpertSystems
since 1980
Natural LanguageProcessingsince 1980
OntologiesPhilosophy
since 350 A.C.
SoftwareEngineering
(Business Modeling)since 1990
Anything
AbstractObjectsEvents
Sets Numbers RepresentationalObjects
Categories
Sentences Measurements
Intervals PlacesPhysicalObjects Processes
MomentsThings Stuff
Animals Agents
Humans
Solid Liquid Gas
Top-Level Common Top-Level Common SenseSense
Conceptual OntologyConceptual Ontology
Domain or TaskSpecific Ontology Domain
or TaskSpecific Ontology
MAS Simulation Specification MAS Simulation Specification Class DiagramClass Diagram
<<enumeration>>SimStateKind
runningstopped
<<interface>>Simulation
+run()+stop()
<<subject component>>Simulation
+state:SimStateKind
MAS Simulation SpecificationMAS Simulation SpecificationComposite Structure DiagramComposite Structure Diagram
<<subject component>>: Simulation
Sim
Simulation
<<subject component>>Simulation
MAS Simulation Realization MAS Simulation Realization Class DiagramClass Diagram
<<enumeration>>AgStateKind
emptyinitialized
perceptReceivedactionSent
<<enumeration>>EnvPubStateKind
emptyinitialized
perceptsSentactionsReceived
<<interface>>SimEnv
+create()+terminate()
<<interface>>SimAg
+create()+terminate()
<<component>>Agent
+state:AgStateKind
<<component>>Environment
+state: EnvStateKind
<<interface>>EnvEffectors
+send1(p:Percept1, ag:Agent)+send2(p:Percept2, ag:Agent)
<<interface>>AgEffectors
+send1(ac:Action1)+send2(ac:Action2)
<<use>>
<<use>><<use>>
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
<<use>>
<<interface>>EnvSensors
+receive1(ag:Agent):Action1+receive2(ag:Agent):Action2
<<interface>>AgSensors
+receive1():Percept1+receive2():Percept2
Percept
Percept1 Percept2
Action
Action1 Action2
<<use>> <<use>>
MAS Simulation Realization MAS Simulation Realization Class DiagramClass Diagram
<<enumeration>>AgStateKind
emptyinitialized
perceptReceivedactionSent
<<enumeration>>EnvPubStateKind
emptyinitialized
perceptsSentactionsReceived
<<interface>>SimEnv
+create()+terminate()
<<interface>>SimAg
+create()+terminate()
<<component>>Agent
+state:AgStateKind
<<component>>Environment
+state: EnvStateKind
<<interface>>EnvEffectors
+send1(p:Percept1, ag:Agent)+send2(p:Percept2, ag:Agent)
<<interface>>AgEffectors
+send1(ac:Action1)+send2(ac:Action2)
<<use>>
<<use>><<use>>
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
<<use>>
<<interface>>EnvSensors
+receive1(ag:Agent):Action1+receive2(ag:Agent):Action2
<<interface>>AgSensors
+receive1():Percept1+receive2():Percept2
Percept
Percept1 Percept2
Action
Action1
Action2
<<subject component>>Simulation
<<use>>
<<use>>
[2..*]
[2..*]
[2..*]
[2..*]
<<subject component>>: Simulation
MAS Simulation Realization MAS Simulation Realization Composite Structure DiagramComposite Structure Diagram
<<component>>: Agent [2..*]
<<component>>: Environment
: CommunicationChannel
AgSensors
AgEffectors
EnvSensors
EnvEffectors
AgSensors [2..*] AgEffectors [2..¨¨] EnvEffectors EnvSensors
SimAg [2..*] SimEnv
SimAg SimEnv
SimEnv
Agent SpecificationAgent SpecificationClass DiagramClass Diagram
<<enumeration>>AgStateKind
emptyinitialized
perceptReceivedactionSent
<<interface>>SimAg
+create()+terminate()
<<subject component>>Agent
+state:AgStateKind
<<interface>>AgEffectors
+send1(ac:Action1)+send2(ac:Action2)
<<use>>
<<use>><<interface>>
AgSensors
+receive1():Percept1+receive2():Percept2
Percept
Percept1 Percept2
Action
Action1 Action2
Agent SpecificationAgent SpecificationComposite Structure DiagramComposite Structure Diagram
<<subject component>>: Agent
AgSensors
AgEffectorsSimAg
Environment SpecificationEnvironment SpecificationClass DiagramClass Diagram
<<enumeration>>EnvPubStateKind
emptyinitialized
perceptsSentactionsReceived
<<interface>>SimEnv
+create()+terminate()
<<subject component>>Environment
+state: EnvStateKind
<<interface>>EnvEffectors
+send1(p:Percept1, ag:Agent)+send2(p:Percept2, ag:Agent)
<<use>>
<<use>><<interface>>EnvSensors
+receive1(ag:Agent):Action1+receive2(ag:Agent):Action2
Percept
Percept1 Percept2
Action
Action1 Action2
<<component>>Agent
+state:AgStateKind
<<enumeration>>AgStateKind
emptyinitialized
perceptReceivedactionSent
Environment SpecificationEnvironment SpecificationComposite Structure DiagramComposite Structure Diagram
<<subject component>>: Environment
EnvSensors
EnvEffectorsEnvAg
<<subject component>>Agent
Agent RealizationAgent RealizationClass DiagramClass Diagram
AgSimModel
SimModel
<<interface>>updateModelFromPercept
+updateAgSimModel(p:Percept)
<<component>>PerceptInterpretation
<<interface>>updateModelFromPredictedActionEffect
+update(a:Action)
<<component>>ActionEffectPredictor
<<interface>>updateModelFromDirectChangeLaws
+updateAgSimModel()
<<component>>ModelUpdate
Goal
<<component>>ModelUpdateRamification
<<interface>>ramifyDirectChanges
+RamifyAgSimModel()
<<interface>>updateGoal
+updateGoal()
<<component>>GoalUpdate
<<component>>ActionChooser
<<interface>>chooseAction
+choose():Action
<<use>> <<use>>
<<subject component>>: Agent
Agent RealizationAgent RealizationComposite Structure DiagramComposite Structure Diagram
: AgSimModel
: Goal
<<component>>: PerceptInterpretation
updateModelFromPercept
<<component>>: ModelUpdate
updateModelFromDirectChangeLaws
<<component>>: ModelUpdateRamification
ramifyDirectChanges
<<component>>: GoalUpdate goalUpdate
<<component>>: ActionChooser chooseAction
<<component>>: ActionEffectPredictor updateModelFromPredictedActionEffect
AgSensors <<delegate>>
AgEffectors <<delegate>>
SimAg
<<subject component>>Environment
Environment RealizationEnvironment RealizationClass DiagramClass Diagram
EnvSimModel
SimModel
<<interface>>updateModelFromAgentActions
+updateEnvSimModel(p:Percept)
<<component>>UpdateFromActions
<<interface>>deriveAgentPercepts
+percept(ag:Agent):Percept
<<component>>DeriveNewPercepts
<<interface>>updateModelFromDirectChangeLaws
+updateAgSimModel()
<<component>>EnvSelfUpdate
<<component>>ModelUpdateRamification
<<interface>>ramifyDirectChanges
+RamifyAgSimModel()
<<use>> <<use>>
<<use>>
<<use>>
<<subject component>>: Agent
Environment RealizationEnvironment RealizationComposite Structure DiagramComposite Structure Diagram
: EnvSimModel
<<component>>: UpdateFromActions
updateModelFromAgentActions
<<component>>: EnvSelfUpdate
updateModelFromDirectChangeLaws
<<component>>: ModelUpdateRamification
ramifyDirectChanges
<<component>>: DeriveAgentPercepts DeriveNewPercepts
EnvSensors <<delegate>>
EnvEffectors <<delegate>>
SimEnv
UML2 ProfilesUML2 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: <<string>> and/or icon
Stereotypes are specializations of meta-classes from the UML2 meta-model
Package Class
Property Association
Profile
ProfileApplication*
**
meta-class
ExtensionStereotype*
Image
icon
ExtensionEnd*
UML2 Superstructure Meta-Model
UML2 Extension/Customization Language Meta-Model
MOF Meta-Model of a Simple Multi-Agent MOF Meta-Model of a Simple Multi-Agent Simulations Modeling Language (MASML)Simulations Modeling Language (MASML)
MAS2..*
EnvironmentAgent
Sensor Actuator
1..* 1..*
Percept1..*
AgentAction1..*
MAS
ReasoningComponent1..*
Agent
ReflexAgent ReflexComponent
ReflexAgent
ReasoningComponent
Sensor
Actuator1..*
1..*
AutomataAgentGoalBasedAgent
Goal
GoalInitializationComponent
GoalUpdateComponent
GoalBasedBehaviorStrategyComponent
ReasoningComponent
GoalBasedAgent
3..*
EnvironmentStateModel
ModelBasedBehaviorStrategyComponent
AgentAutomataAgent
EnvironmentStateModel
ModelInitializationComponent
PerceptInterpretationComponent
RamificationComponent
ModelBasedBehaviorStrategyComponent
ReasoningComponent
AutomataAgent
Actuator
Sensor4..*
1..*
MOF Meta-Model of a Simple Multi-Agent MOF Meta-Model of a Simple Multi-Agent Simulations Modeling Language (MASML)Simulations Modeling Language (MASML)
Agent
KBAgent KBComponent
KBAgent
ReasoningComponent
1..*
KnowledgeBase
PersistentKB VolatileKB
0..*
KBSentence1..*
1..*
ReflexAgent
ReflexKBAgent ReflexKBComponent
ReflexKBAgent
ReflexComponent
KBAgent KBComponent PersistentKB
ReflexKB
context ReflexKBComponent inv VolatileKB.isEmpty()
AutomataKBAgent
AutomataAgent
AutomataKBAgent KBComponent
KBAgent EnvironmentStateModelKB
4..*
VolatileKB EnvironmentStateModel
4 ..*
GoalBasedKBAgent
GoalBasedAgent
GoalBasedKBAgent KBComponent
KBAgent GoalKB EnvironmentStateModelKB
6..*
VolatileKB Goal EnvironmentStateModel
4 ..*3 ..*
Recommended