Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Smart-M3The Open Source ReleaseJukka Honkola, Hannu Laine,Ron Brown, Olli TyrkköCompany Confidential1 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH
  2. 2. M3 Concepts• Information level interoperability • Simple API to access information, “standard” ontologies • Independent agents operating on information• Lightweight implementation • No heavy infrastructure• Accommodates existing systems • Evolution is possible • “Bridging” walled gardens • Sharing embedded information2 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH
  3. 3. M3 Functional Architecture Triple governance transactions using Smart Space: a named Smart Space Access Protocol (SSAP): search extent of information Physical distribution e.g. join, leave, insert, remove, update, of a Smart Space query, subscribe, unsubscribe Smart Space SIB KP KPKnowledge Processor (KP): An entity SIB SIBcontributing to (insert / remove) and/or Semantic Information Broker (SIB):consuming (query / subscribe) content An entity performing tripleaccording to ontology relevant to its governance in possible co-operationdefined functionality. A KP needs one or with other SIBs for one Smart Space.more partner KPs for useful sharing of A SIB may be a concrete or virtualcontent, implying an agreed semantics for entity.the used ontology3 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH
  4. 4. Notion of Application • Agents understand their own, non-exclusive part of the set of information available in a space • Applications emerge from actions over the information • Applications are not static Ap o n1 p lic • Smart space application vs. at i KP 3 at p lic io n Ap 2 traditional application KP 1 KP 4 KP 2 Information4 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH
  5. 5. Notion of Application• What is a smart space application?• A scenario that may evolve depending on • Participating KPs (information layer) • Participating services (service layer) Smart Spaces Smart N N N Smart World N Smart Space Space N N N Service Domain Service Serv Serv Client Serv Client Serv Srv SOI Srv C Srv lient Srv Srv Client World SN AN SN Srv Client Client Srv C Srv lient SN SN SOI SOI service ontology SOI interpreter Device Netw ork Dev Dev Device Dev Dev GW Dev GW Dev World Dev Dev Dev Gateway between GW netw orks5 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH
  6. 6. Smart-M3 Deployment Example Smart Space KP KP KP KP Store KP Ontology SIB Ontology library operations library SSAP endpoint SSAP endpoint SSAP endpoint SSAP SSAP TCP/IP TCP/IP NoTA NoTA Network Network• Concepts are independent of used communication mechanism • SIBs and KPs may have any number of different transports• KPs are software processes• The SSAP protocol is the interoperability interface6 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH
  7. 7. M3 Implementation Architecture Design time ontology code generator GLib/C API Qt/C++ API Python API SIB daemon D-Bus SIB IF KP IF KP Python KP Library D-Bus SIB Daemon Access IF GObject API GObject API D-Bus TCP SIB NoTA SIB Service Service GObject GObject Python API API TCP SIB SIBAccess SIBAccess Access NoTA TCP7 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH
  8. 8. Smart-M3 Open Source• Available in• Currently available are: • C/GLib, Qt, Python KP APIs with TCP/IP and NoTA connectivity • SIB with TCP/IP and NoTA connectivity • Ontology library generators for C/GLib and Python APIs • Documentation for building the system• Future development (already underway) • Java and C# KP APIs • “ANSI-C” KP API • Ontology generator for “ANSI-C” KP API• Demos are released separately • No demos available yet, but VTT will release their Smart-M3 based demo as open source8 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH
  9. 9. The Smart-M3 Release – Knowledge Processor• libwhiteboard: C/GLib based API for KPs • Integration with GLib main loop for GUI applications• qt_kp_core_api: Qt based API for KPs • Integration with Qt main loop for GUI applications • Qt advanced API will be released in near future • Depends on GLib also via whiteboardd and DBus connections• whiteboardd: Daemon for handling connections from KPs to SIBs • Handles most of the work in KP-SIB connections• sib-access-*: Transport-specific components of KP • One for each implemented transport, corresponding components also on SIB side• Python-KP: Python KP API • Self-contained, new version will be released in near future9 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH
  10. 10. The Smart-M3 Release – SIB• sibd • The SIB, implements the SIB operations • Depends on GLib and DBus, contains optional Python parts (WQL)• sib-nota, sib-tcp • Transport specific components of the SIB, correspond to sib-access-* on KP side • Depend on GLib and DBus• piglet_m3 • The RDF store used by the SIB10 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH
  11. 11. Automatic Ontology Library GenerationSpecification Ontology descriptions Ontology libraryof ontology in RDF Ontology typedef struct { person_list *persons; Ontology X device_list *devices; } personal_ontology; spec Ontology typedef struct { char *name; Library char *address; device_list *owned_devices; Ontology Generator int age; } person; Ontology Y person_ontology* init(); int set_person ( person *p ); spec int get_person ( person *p ); ... • Description in RDF using OWL (or some other ontology description language) • Present the information in SS as a native programming language data structure and functions to sync it with Smart Space • Generation currently available for C/GLib and Python APIs, “ANSI-C” in spring 201011 © 2008 Nokia FRUCT_SmartM3.ppt / 2009-11-05 / JH