ontologies reasoning components agents simulations ontologies and agent oriented knowledge...

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

Post on 20-Dec-2015

220 views

Category:

Documents


2 download

TRANSCRIPT

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

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

*