150 likes | 289 Views
Ontonuts. Reusable semantic components for multi-agent systems . Sergiy Nikitin. Industrial Ontologies Group, University of Jyväskylä, Finland. The paper. GUN Concept. GUN – G lobal U nderstanding e N vironment. GUN = Global Environment + Global Understanding =
E N D
Ontonuts Reusable semantic components for multi-agent systems Sergiy Nikitin Industrial Ontologies Group, University of Jyväskylä, Finland
GUN 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) • UBIWARE is a middleware tool to support: • design and installation of…, • autonomic operation of… and • interoperability among… • … complex, heterogeneous, open, dynamic and self-configurable distributed industrial systems;… • … and to provide following services for systemcomponents: • adaptation; • automation; • centralized or P2P organization; • coordination, collaboration, interoperability and negotiation; • self-awareness, communication and observation; • data and process integration; • (semantic) discovery, sharing and reuse.
S-APL Pool of Atomic Behaviours S-APL repository UBIWARE Architecture UBIWARE Agent (Live) Beliefs storage Roles Data .class RAB RAB RAB RAB Blackboard
S-APL language • Key features: • Interpretable • N3 notation (proposed by Tim-Berners Lee) • Everything is a belief • Containers (“visibility areas” for beliefs) • Statement is a main construct: • :John :loves :Mary • Commitment to execute: • {:John :loves :Mary} => {:I :send :Mail} • Rules (a kind of permanent commitments) { {:John :loves :Mary} => {:I :send :Mail} } sapl:is sapl:Rule
Agent Beliefs Early Motivation • 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 Data Service Files Ontonut Bindings Ontonuts Role Script DB/KB agent-to-agent servicing adaptation of external sources
Scheduled Performance Monitoring Alarm History DB Experts’ diary Example Use case Expert Agent (Data Service) Paper Machine Agent Files Ontonut Bindings Ontonuts Role Script DB/KB
Excel sheet CSV file RDBMS Ontonuts architecture • Characteristics: • Three types of call: • Explicit • Goal-based • Query-based • Planning • Backward chaining algorithm • Execution • Handlers introduced to follow the state of the execution and change action plan Business Logic Script Ontonut capability Agent Beliefs (S-APL code) Ontonuts triggering rule Ontonuts Role Script Action Planner Plan Executor SQLReader TextTableReader ExcelReader … MessageSender MessageReceiver Reusable Atomic Behaviors (Java code) GoalAnalyser ActionPlanner Agent Services Web Service … External resources
.class Behavior Engine Ontonuts triggering MetaRule (1) {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} (2) Live Activity (3) {B B ?x}=>{?x C C} Ontonut definition: :nutid ont:precondition {A A ?x} :nutid ont:effect {B B ?x} :nutid ont:script {implementation} Ontonut Ontonut Ontonut Ontonut Ontonut Ontonut Ontonut Ontonut Ontonut Activity Activity Activity Activity Activity Activity Activity Activity Activity S-APL WP2: Triggering Ontonuts (UbiBlog)
Example call Experts’ diary diary.Entry entryID entryDate author title description position Query (execution) plan Scheduled Performance Monitoring pmon.analysis analysisID analysisDate nodeID performanceIndex isautomatic Alarm History DB ahist.alarm alarmID alarmTime tag alarmLimitHigh alarmLimitLow value
Ontonuts: 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 logic by introducing computable elements. The values of these elements are computed on-demand (only when a query appears in agent’s beliefs)
Conclusions • We introduce a unified mechanism for componentization within the UBIWARE agent: • Components can be: • Internal (do some computations with local functions) • External (call external sources) • Components are: • Semantic by nature • Support goal-driven planning • Can be composite (include other components within)
Thanks • Thank you for your attention!