15
Ontonuts Ontonuts Reusable semantic Reusable semantic components for multi- components for multi- agent systems agent systems Sergiy Nikitin Sergiy Nikitin Industrial Ontologies Group, Industrial Ontologies Group, University of Jyväskylä, University of Jyväskylä, Finland Finland

OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

  • View
    226

  • Download
    2

Embed Size (px)

Citation preview

Page 1: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

OntonutsOntonuts

Reusable semantic components Reusable semantic components for multi-agent systems for multi-agent systems

Sergiy NikitinSergiy Nikitin

Industrial Ontologies Group, Industrial Ontologies Group,

University of Jyväskylä, University of Jyväskylä,

FinlandFinland

Page 2: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

The paperThe paperThe paperThe paper

Page 3: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

GUN ConceptGUN ConceptGUN ConceptGUN Concept

GUN – Global Understanding eNvironment

GUN=

Global Environment+

Global Understanding =

Proactive Self-Managed Semantic Web of Things

= (we believe) =“Killer Application” for

Semantic Web Technology

Page 4: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

What is UBIWARE (in short)What is UBIWARE (in short)What is UBIWARE (in short)What is UBIWARE (in short)

• UBIWARE is a middleware tool to support:UBIWARE is a middleware tool to support: design and installation of…,design and installation of…, autonomic operation of… and autonomic operation of… and interoperability among…interoperability among…

• … … complex, heterogeneous, open, dynamic and self-complex, heterogeneous, open, dynamic and self-configurable distributed industrial systems;…configurable distributed industrial systems;…

• … … and to provide following services for systemand to provide following services for system components:components: adaptation;adaptation; automation; automation; centralized or P2P organization;centralized or P2P organization; coordination, collaboration, interoperability and negotiation;coordination, collaboration, interoperability and negotiation; self-awareness, communication and observation;self-awareness, communication and observation; data and process integration;data and process integration; (semantic) discovery, sharing and reuse.(semantic) discovery, sharing and reuse.

Page 5: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

UBIWARE ArchitectureUBIWARE ArchitectureUBIWARE ArchitectureUBIWARE Architecture

.cla

ss

BlackboardBlackboard

Roles

RA

BR

AB

RA

BR

AB

RA

BR

AB

RA

BR

AB

Beliefs storage

UBIWARE Agent (Live)UBIWARE Agent (Live)

Pool of Atomic Pool of Atomic BehavioursBehaviours

S-APL S-APL repositoryrepository

S-APLS-APLData

Page 6: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

S-APL languageS-APL languageS-APL languageS-APL language

• Key features:Key features: InterpretableInterpretable

N3 notation (proposed by Tim-Berners Lee)N3 notation (proposed by Tim-Berners Lee)

Everything is a beliefEverything is a belief

Containers (“visibility areas” for beliefs)Containers (“visibility areas” for beliefs)

Statement is a main construct:Statement is a main construct:

• :John :loves :Mary

Commitment to execute:Commitment to execute:

• {:John :loves :Mary} => {:I :send :Mail}

Rules (a kind of permanent commitments)Rules (a kind of permanent commitments)

{

{:John :loves :Mary} => {:I :send :Mail}

} sapl:is sapl:Rule

Page 7: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

Distributed Resource Histories:

• To develop means for an agent to plan and execute composite queries over the distributed sources as if the data from these sources was collected to one virtual graph

Early MotivationEarly MotivationEarly MotivationEarly Motivation

Agent BeliefsAgent Beliefs

Ontonut Ontonut BindingsBindings

FilesFiles

Data Service

DB/KBDB/KB

agent-to-agent servicing

adaptation of external sources

Ontonuts Ontonuts Role ScriptRole Script

Page 8: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

Example Use caseExample Use caseExample Use caseExample Use case

Experts’

diaryScheduled

Performance Monitoring

Alarm History DB

Paper Machine Paper Machine AgentAgent

Ontonut Ontonut BindingsBindings

FilesFiles

Expert Agent(Data Service)

DB/KBDB/KB

Ontonuts Ontonuts Role ScriptRole Script

Page 9: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

Characteristics:Characteristics:

• Three types of call:Three types of call:1.1. ExplicitExplicit2.2. Goal-basedGoal-based3.3. Query-basedQuery-based

• PlanningPlanning• Backward chaining algorithmBackward chaining algorithm

• ExecutionExecution• Handlers introduced to follow the Handlers introduced to follow the

state of the execution and change state of the execution and change action planaction plan

Ontonuts architectureOntonuts architectureOntonuts architectureOntonuts architecture

Web Service

CSV file

RDBMS

Agent Beliefs(S-APL code)

SQLReader TextTableReader

ExcelReader…

MessageSenderMessageReceiver

Ontonuts Role Script

Business Logic Script

Reusable Atomic

Behaviors (Java code)

Excel sheet

Ontonut capability

GoalAnalyserActionPlanner

Action Planner

Ontonuts triggering rule

Plan Executor

Agent Services

External resources

Page 10: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

WP2: Triggering OntonutsWP2: Triggering OntonutsWP2: Triggering OntonutsWP2: Triggering Ontonuts(UbiBlog)(UbiBlog)

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

Ac

tiv

ity

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

On

ton

ut

Liv

e A

cti

vit

yL

ive

Ac

tiv

ity S-APLS-APL

Ontonut definition: :nutid ont:precondition {A A ?x}

:nutid ont:effect {B B ?x}:nutid ont:script {implementation}

{B B ?x}=>{?x C C}

Ontonuts triggering MetaRule

Behavior EngineBehavior Engine .class.class

{sapl:I sapl:do :nutid} sapl:configuredAs {

x:precondition sapl:is {A A A} }

sapl:I ont:haveGoal :id:id ont:haveGoalDef {B B B}

(1)

(2)

(3)

Page 11: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

Ontonut DefinitionOntonut DefinitionOntonut DefinitionOntonut Definition

Page 12: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

Example callExample callExample callExample call

entryDate

diary.Entry

author

entryID

title

description

position

analysisDate

pmon.analysis

nodeID

analysisID

performanceIndex

isautomatic

alarmTime

ahist.alarm

tag

alarmID

alarmLimitHigh

value

Experts’ diary

Scheduled Performance Monitoring

Alarm History DB

alarmLimitLow

Query (execution) plan

Page 13: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

Ontonuts: Provision of Dynamic InformationOntonuts: Provision of Dynamic InformationOntonuts: Provision of Dynamic InformationOntonuts: Provision of Dynamic Information

• An analog of platform-embedded constructs like:– sapl:Now sapl:is ?time (gets current system time)

• But can be flexibly (re-)defined by user– fingrid:CurrentVoltage sapl:is ?voltage– metso:CurrentOilLevel sapl:is ?oillevel– innow:CurrentUsersOnline sapl:is ?usersonline

• The approach simplifies the implementation of the agent’s business The approach simplifies the implementation of the agent’s business logic by introducing computable elements. The values of these logic by introducing computable elements. The values of these elements are computed on-demand (only when a query appears in elements are computed on-demand (only when a query appears in agent’s beliefs)agent’s beliefs)

Page 14: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

ConclusionsConclusionsConclusionsConclusions

• We introduce a unified mechanism for componentization We introduce a unified mechanism for componentization within the UBIWARE agent:within the UBIWARE agent:

Components can be:Components can be:• Internal (do some computations with local functions)Internal (do some computations with local functions)

• External (call external sources)External (call external sources)

Components are:Components are:• Semantic by nature

• Support goal-driven planning

• Can be composite (include other components within)

Page 15: OntonutsOntonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland

ThanksThanksThanksThanks

• Thank you for your attention!Thank you for your attention!