Title: Visit to MIT
1Visit to MIT
Artem Katasonov, PhDUniversity of Jyväskylä,
Finland
2Finland
- 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.
3University of Jyväskylä
- 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 Finlands oldest and
biggest IT faculty, physics research
(nanoscience), psychology research.
4UBIWARE 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).
5UBIWARE 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.
6Ontological 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.
7Ontologies that need to be shared
To have effective coordination, agents have to
share
- 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. FIPAs ACL
- Acting vocabulary
- E.g. FIPAs ACL
Are not treated
Impossible to standardize, cannot explicitly
model because of RDF limitations
8Semantic 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
- Lets start treating agents programs as data
- If it is data, lets use the semantic approach
(advantages are well-known) - Use Notation 3 (extension of RDF by Tim
Berners-Lee) to overcome limitations of basic
RDF.
9S-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.
10S-APL Agent Architecture
Behavior Engine
Beliefs storage
Data
Rules
RAB
RAB
RAB
RAB
Blackboard
RAB Reusable Atomic Behavior
11Options 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.
12S-APL Rules
- Conditional commitment
- John loves ?x gt ...
- gt is the shorthand for saplimplies. If the left
side of gt 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) - ... gt ... saplis saplRule
- Conditional action
- ... -gt ... saplelse
- -gt is the shorthand for saplimpliesNow. Such a
condition will be checked only once and will be
removed even if the condition was false. Adding
gbelse block defines what should be added to
beliefs if the condition was false.
13S-APL Rules (2)
- Exclusive condition
- John Loves ?x .
- saplI sapldoNotBelieve ?x .. ..
- gt ...
- If the object of sapldoNotBelieve matches G, the
left side of gt is false. If there are several
sapldoNotBelieve, they are connected with OR - Commitment with a guard condition
- ... gt ... saplis sapltrue
- saplexistsWhile ...
- If the object of saplexistsWhile is false, its
subject is removed in this case, the commitment
is dropped.
14S-APL Action commitments
- Unconditional commitment to an action
- saplI sapldo javaubiware.shared.MessageSe
nderBehavior - saplconfiguredAs
- preceiver saplis John .
- pcontent saplis bla bla .
- saplSuccess sapladd John was
notified -
- Special statements to add or remove beliefs the
subject can be saplStart, saplEnd,
saplSuccess, and saplFail. The predicate is
either sapladd or saplremove. - Sequential plan
- saplI sapldo ... saplconfiguredAs
- ... saplSuccess sapladd saplI sapldo
...
15S-APL Querying constructs
- ?man loves ?girl. ?girl age ?age saplAll
?girl. - ?person age ?age. ?age lt 25 saplAll
?person. - ?person age ?age. ?person loves ?x saplis
saplOptional saplAll ?person. - John loves ?girl saplor Bill loves
?girl saplAll ?girl. - ?person age ?age saplOrderBy ?age.
- saplOrderByDescending, saplLimit and
saplOffset are also available. As in SPARQL
16S-APL statements and containers
- After query ?x accordingTo Bill, can do
- ... ?x saplis sapltrue accordingTo John
gt ... - ?x saplis sapltrue
- saplI sapladd ?x
- saplI saplremove ?x (used as pattern for
removal) - saplI saplerase ?x (removed itself)
- ?x saplhasMember room1 hasTemperature 25
(new member added) - Can get ID of a statement with (then, can do most
of above) - hasTemperature 25 saplID ?x
accordingTo Bill - ?x rdfpredicate hasTemperature accordingTo
Bill - ?x saplis sapltrue accordingTo Bill
- ?c accordingTo Bill. ?c saplhasMember ?x
- Can do query like ?x saplis sapltrue
according to Bill. ?x saplis sapltrue
accordingTo John gt ...
17UBIWARE 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
18S-APL as communication content language
- We use S-APL also as inter-agent communication
content language - One agent sends a query as saplI saplwant
saplYou saplanswer ..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 saplI
saplwant saplYou sapldo ..plan.. - Such interaction is easily programmed with S-APL
itself. The platform includes a set of standard
models Listener, Believer, Informer and Follower.
19Non-semantic data transformation
- 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.
20Example application architecture
21Policies in S-APL (example)
- ActionCommitment saplis
- saplI sapldo ?behavior saplconfiguredAs
?parameters - .
- Action rdfssubClassOf ActionCommitment
- owlRestriction saplI owlsameAs ?subject.
saplI owlsameAs ?object. - Print rdfssubClassOf Action
- owlRestriction ?behavior Print.
?parameters saplhasMember pprint saplis
?print. - Swear rdfssubClassOf Print
- owlRestriction BadWord saplis ?word.
sapltrue "contains(?print,?word)". - Then, can specify a policy as e.g.
- fgEmployee Swear fgEmployee saplis
sbacProhibition - The platform includes the standard S-APL model
SBACReasoner that implements such access control
policies using the S-APL MetaRule mechanism
22Possible 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