View
226
Download
2
Tags:
Embed Size (px)
Citation preview
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
The paperThe paperThe paperThe paper
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
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.
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
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
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
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
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
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)
Ontonut DefinitionOntonut DefinitionOntonut DefinitionOntonut Definition
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
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)
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)
ThanksThanksThanksThanks
• Thank you for your attention!Thank you for your attention!