Top Banner
Ontologi es Reasonin g Component s Agents Simulatio ns Ontologies and Agent Oriented Ontologies and Agent Oriented Knowledge Representation Knowledge Representation Jacques Robin
27

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

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ontologies Reasoning Components Agents Simulations Ontologies and Agent Oriented Knowledge Representation Jacques Robin.

OntologiesReasoningComponentsAgentsSimulations

Ontologies and Agent OrientedOntologies and Agent OrientedKnowledge RepresentationKnowledge Representation

Jacques Robin

Page 2: Ontologies Reasoning Components Agents Simulations Ontologies and Agent Oriented Knowledge 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MAS Simulation Specification MAS Simulation Specification Class DiagramClass Diagram

<<enumeration>>SimStateKind

runningstopped

<<interface>>Simulation

+run()+stop()

<<subject component>>Simulation

+state:SimStateKind

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

MAS Simulation SpecificationMAS Simulation SpecificationComposite Structure DiagramComposite Structure Diagram

<<subject component>>: Simulation

Sim

Simulation

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

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

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

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..*]

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

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

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

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

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

Agent SpecificationAgent SpecificationComposite Structure DiagramComposite Structure Diagram

<<subject component>>: Agent

AgSensors

AgEffectorsSimAg

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

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

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

Environment SpecificationEnvironment SpecificationComposite Structure DiagramComposite Structure Diagram

<<subject component>>: Environment

EnvSensors

EnvEffectorsEnvAg

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

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

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

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

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

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

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

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

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

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

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

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..*

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

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 ..*

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

UML2 Profile for MASUML2 Profile for MAS

MASML Meta-Model UML2 Meta-Model

MAS

Environment

Agent

Sensor

Actuator

Percept

AgentAction

ReasoningComponent

EnvironmentStateModel

KnowledgeBase

KBSentence

Component

isActive = true

Component

Port

Signal

Model Package

PackagableElement

TypedElement

*