Download presentation
Presentation is loading. Please wait.
1
University of Jyväskylä Artem Katasonov, PhD University of Jyväskylä, Finland Visit to MIT
2
University of Jyväskylä 2 Finland Area of 338.145 square kilometers - 8th biggest country in Europe. Population is 5.3 million. Only 16 people per square kilometer - the most sparsely populated country in the European Union. As a countermeasure, Finland is among world-leaders in use of ICT technologies. Homeland of Nokia. Around 92 % of people has mobile phone and 58 % has Internet connection at home. Paying bills, buying any kind of tickets, filing official papers, etc – all can be done over Internet.
3
University of Jyväskylä 3 Started in 1863 as a Teacher training school. Established as university in 1966. Around 16.000 students and 2.500 staff. Student acceptance rate is 1/7 – one of the most popular universities in Finland. Has 7 faculties: Humanities, Education, Social Sciences, Sport and Health Sciences, Business and Economics, Mathematics and Science, and Information Technology. Known for: the only in Finland univerisity-level sports education, the Finland’s oldest and biggest IT faculty, physics research (nanoscience), psychology research.
4
University of Jyväskylä 4 UBIWARE project Current project of Industrial Ontologies Group (IOG) lead by Vagan Terziyan (Professor in Distributed Systems at MIT department). IOG now: Vagan + 2 PhDs + 2 PhD students + 1 MSc student + 1 BSc student. UBIWARE (2007 - 2010): Smart Semantic Middleware for Ubiquitous Computing. Previous project: SmartResource (2004-2007). Run in Agora Center. Funded 80% by Tekes (Finnish National Agency for Technology and Innovation) and 20% by a set of companies: –Metso (paper industry), ABB and Fingrid (power networks), Nokia (telecommunications). –In SmartResource participated and may still join: TeliaSonera (telecommunications) and Tietoenator (software).
5
University of Jyväskylä 5 UBIWARE goal and approach Goal: Project aims at designing a new generation middleware platform (UBIWARE) which will allow creation of self-managed complex industrial systems consisting of distributed, heterogeneous, shared and reusable components of different nature. Approach: utilization of agent and semantic technologies: –Every resource of interest is assigned a representative - software agent – to configure and monitor it, and to enable it to participate in new business processes. –Understanding among and coordination of these heterogeneous agents is to be achieved through semantic data and ontologies.
6
University of Jyväskylä 6 Ontological coordination problem Two robots meet on Mars. If there is a need for cooperation or at least coordination: Assume both follow FIPA ACL: can exchange messages, understand INFORM, REQUEST, REJECT, etc. Assume both follow BDI architecture: share meaning of “I intend”, “My goal is” Both designed for Mars – hopefully have similar domain ontology concepts: “surface”, “rock” – but mapping between concept labels already requires use of standard semantic technologies (RDF, OWL). Assume US robot has a “jet pack” and thus can “fly”, while EU robot has no idea about possibility of moving in third dimension. How US robot can communicate its movement intentions, so that two can coordinate? A semantic approach is needed but standard OWL/RDF are not suited for describing active objects or even just dynamically changing information.
7
University of Jyväskylä 7 Ontologies that need to be shared ExtOnt(A) - properties of the external world MentOnt(A) - internal mental properties of the agent BodyOnt(A) - properties of the agent's (physical) body InOnt(A) - properties of the sensory input - properties of the communication input OutOnt(A) - properties of the action output - properties of the communication output Domain ontology E.g. BDI model Available sensors and actuators Sensing vocabulary E.g. FIPA’s ACL Acting vocabulary E.g. FIPA’s ACL Are not treated To have effective coordination, agents have to share: Impossible to standardize, cannot explicitly model because of RDF limitations
8
University of Jyväskylä 8 Semantic Agent Programming Language (S-APL) Need to be able to ontologically describe not only the domain, but the agents themselves. Our approach: RDF-based (more precisely, Notation 3) APL. In a nutshell: –Let’s start treating agents’ programs as data –If it is data, let’s use the semantic approach (advantages are well- known) –Use Notation 3 (extension of RDF by Tim Berners-Lee) to overcome limitations of basic RDF.
9
University of Jyväskylä 9 S-APL It is a hybrid of semantic reasoners like CWM and agent programming languages like AgentSpeak, AFAPL. From APLs point of view: S-APL is a language that provides all the features (and more) as normal APLs, while being RDF based and thus providing advantages of semantic data model and reasoning. From semantic reasoning point of view: S-APL is CWM extended with common APL features such as: –Beliefs-Desires-Intentions (BDI) architecture, i.e. ability to describe goals and commitments - data items presence of which leads to some executable behavior, and –Ability to link to sensors and actuators implemented in a procedural language, namely Java.
10
University of Jyväskylä 10 S-APL Agent Architecture RAB RABRABRAB Blackboard DataRules Beliefs storage Behavior Engine Pool of Atomic Behaviours c S-APL Repository RAB: Reusable Atomic Behavior
11
University of Jyväskylä 11 Options for S-APL use The developers of a specific application can use S-APL in different ways: –Semantic Reasoning. S-APL rules operating on S-APL semantic data. –Semantic Data. RABs (i.e. Java components) operating on S-APL semantic data. –Workflow management. RABs operating on Java blackboard objects, with S-APL used only as workflow management tool, specifying what RABs are engaged and when. –Any combination of the three options above.
12
University of Jyväskylä 12 S-APL: Rules Conditional commitment: –{:John :loves ?x} => {...} => is the shorthand for sapl:implies. If the left side of => is truth (beliefs are connected with AND), the right side is copied into G. The commitment is removed after that (as fulfilled). Otherwise, it stays in beliefs and checked again and again until becomes true. Persistent behavior rule (not removed upon execution) –{ {...} => {...} } sapl:is sapl:Rule Conditional action –{...} -> {...}; sapl:else {} -> is the shorthand for sapl:impliesNow. Such a condition will be checked only once and will be removed even if the condition was false. Adding gb:else block defines what should be added to beliefs if the condition was false.
13
University of Jyväskylä 13 S-APL: Rules (2) Exclusive condition: –{:John :Loves ?x. sapl:I sapl:doNotBelieve {?x....} } => {...} If the object of sapl:doNotBelieve matches G, the left side of => is false. If there are several sapl:doNotBelieve, they are connected with OR Commitment with a guard condition: –{ {...} => {...} } sapl:is sapl:true ; sapl:existsWhile {...} If the object of sapl:existsWhile is false, its subject is removed – in this case, the commitment is dropped.
14
University of Jyväskylä 14 S-APL: Action commitments Unconditional commitment to an action: –{sapl:I sapl:do java:ubiware.shared.MessageSenderBehavior} sapl:configuredAs {p:receiver sapl:is :John. p:content sapl:is “bla bla”. sapl:Success sapl:add {:John :was :notified} } Special statements to add or remove beliefs: the subject can be sapl:Start, sapl:End, sapl:Success, and sapl:Fail. The predicate is either sapl:add or sapl:remove. Sequential plan: –{sapl:I sapl:do...} sapl:configuredAs {... sapl:Success sapl:add {sapl:I sapl:do...} }
15
University of Jyväskylä 15 S-APL: Querying constructs {?man :loves ?girl. ?girl :age ?age} sapl:All ?girl. {?person :age ?age. ?age <= 25} sapl:All ?person. {?person :age ?age. {?person :loves ?x} sapl:is sapl:Optional} sapl:All ?person. {{:John :loves ?girl} sapl:or {:Bill :loves ?girl}} sapl:All ?girl. {?person :age ?age} sapl:OrderBy ?age. sapl:OrderByDescending, sapl:Limit and sapl:Offset are also available. As in SPARQL
16
University of Jyväskylä 16 S-APL: statements and containers After query ?x :accordingTo :Bill, can do: –{... {?x sapl:is sapl:true} :accordingTo :John } => {...} –?x sapl:is sapl:true –sapl:I sapl:add ?x –sapl:I sapl:remove ?x (used as pattern for removal) –sapl:I sapl:erase ?x (removed itself) –?x sapl:hasMember {:room1 :hasTemperature 25} (new member added) Can get ID of a statement with (then, can do most of above): –{ {* :hasTemperature 25} sapl:ID ?x } :accordingTo :Bill –{?x rdf:predicate :hasTemperature} :accordingTo :Bill –{?x sapl:is sapl:true} :accordingTo :Bill –?c :accordingTo :Bill. ?c sapl:hasMember ?x Can do query like: { {?x sapl:is sapl:true} :according to :Bill. {?x sapl:is sapl:true} :accordingTo :John } => {...}
17
University of Jyväskylä 17 UBIWARE topics (work packages) Core distributed agent-based platform –S-APL Managing distributed resource data –Including mechanisms of inter-agent information exchange Policies in UBIWARE –E.g. access control security policies Configurability and Self-Management –Including configurability of access to legacy (non-semantic) data Context-aware filtering and presentation of data to humans Middleware for peer-to-peer discovery in UBIWARE Industrial cases and prototypes
18
University of Jyväskylä 18 S-APL as communication content language We use S-APL also as inter-agent communication content language: –One agent sends a query as sapl:I sapl:want { {sapl:You sapl:answer {..query..} }}, the other answers with the matching part of its beliefs –One agent requests another agent to perform an action plan by sending the plan with sapl:I sapl:want { sapl:You sapl:do {..plan..} } Such interaction is easily programmed with S-APL itself. The platform includes a set of “standard” models: Listener, Believer, Informer and Follower.
19
University of Jyväskylä 19 Non-semantic data transformation Original Data Transformation Script Data-model- ontology S-APL Data-model- ontology N3 Domain- ontology N3 Standard RAB First, the original data from the resource is transformed into an S-APL representation based on the ontology of the data model of the original data (e.g. “table”-“row”-“column” ontology for tables). This transformation is performed by a Reusable Atomic Behavior (RAB). Second, the data from the data-model-ontology S-APL is transformed into the final domain-ontology S-APL using S-APL own means, i.e. rules. The platform includes a set of standard RABs such as TextTableReader, SQLReader, XMLReader, XMLWriter, etc.
20
University of Jyväskylä 20 SCADA events in CSV RAB: TextTableReader SCADA agent Operator agent Data Transformation Semantic Reasoning Ontology RAB: XMLWriter RAB: HTTPResponseSender XHTML generation Rule: Send every new event to the Operator agent Example application architecture
21
University of Jyväskylä 21 Policies in S-APL (example) :ActionCommitment sapl:is { {sapl:I sapl:do ?behavior} sapl:configuredAs ?parameters }. :Actionrdfs:subClassOf :ActionCommitment; owl:Restriction {sapl:I owl:sameAs ?subject. sapl:I owl:sameAs ?object}. :Print rdfs:subClassOf :Action; owl:Restriction {?behavior = :Print. ?parameters sapl:hasMember {p:print sapl:is ?print}}. :Swear rdfs:subClassOf :Print; owl:Restriction {:BadWord sapl:is ?word. sapl:true = "contains(?print,?word)"}. Then, can specify a policy as e.g. {fg:Employee :Swear fg:Employee} sapl:is sbac:Prohibition The platform includes the standard S-APL model SBACReasoner that implements such access control policies using the S-APL MetaRule mechanism
22
University of Jyväskylä 22 Possible MIT – JYU cooperation Further development of S-APL or alike, co-authoring a paper: –Formal semantics of S-APL –Implementation of policies for Semantic Web using S-APL –? A visiting researcher from JYU to MIT –UBIWARE has plans and the budget for few 3-month stays in US universities –Anytime until the end of UBIWARE, i.e. April 2010
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.