An OSGI-based Semantic Information Broker for Smart Environments ATC 2011 ARTEMIS JU SP3 / 100017: Smart Objects For Intelligent Applications Paolo Azzoni Research Project Manager
Summary Introduction SmartM3 The OSGi Framework Smart M3 OSGi Localization Smart M3 Semantic Information Broker The OSGI-based Semantic Information Broker A use case Conclusions & next steps
Introduction Applications Services Information Devices User spaces Single Scenario Many use-cases Environment
Introduction Main issue Devices are not able to exchange information because of the absence of a shared data storage and common information exchange methods. Standards and domain specific building blocks are available but have issues related to: integration, cooperation, growing complexity and dependencies. Consequences: un-cooperation between applications, un-integration of services, un-sharing of information and context data cost increasing of developing, maintenance and integration compromised cross domain interoperability What is a possible solution?
Introduction A solution A software infrastructure that: makes the coexistence of multi-vendor devices easy, allows low development costs and simple fruition of services, speeds up and simplify the design, development, and deployment of cross-domain applications, reduces both software and hardware integration issues through interoperability.
Smart M3 Smart M3, introduced in Sofia project, aims to provide a "Semantic Web" information sharing infrastructure between software entities and devices. Vision: fusion of physical and information worlds. Information from physical world easily available for devices and novel applications linking them to services and solutions over internet. SmartM3 based Smart Spaces Smart Services vendor independently, device independently, domain independently.
Smart M3 Main Concepts Smart M3 is based on four main concepts: Smart space, SIB (Semantic Information Broker), SSAP (Smart Space Access Protocol), KP (Knowledge Processor). Smart Space Access Protocol (SSAP): Physical distribution of a Smart Space KP Smart Space SIB KP Knowledge Processor (KP): SIB SIB Semantic Information Broker (SIB) Smart M3 is a concept and is described through an open specification, that is implemented with localizations.
Smart M3 Localization It is an implementation of Smart M3 in a specific development context: one or more programming languages, specific development tools and/or framework, a set of programming libraries. The concept of localization has been introduced to: capture/support the requirements of specific application contexts, exploit the potentialities of the available development contexts, compare and study different implementations of Smart M3, increase interoperability, ensure the evolution of Smart M3. In Sofia three main localizations have been introduced: based on C programming environment, based on Java (ADK), based on OSGi.
OSGi - Open Services Gateway Initiative OSGi (www.osgi.org) is an independent, non-profit organization working to define and promote open specifications for the delivery of managed services to networked environments. Started in 99 as an embedded platform for service gateways, today is used in applications ranging from mobile phones to IDE. Application areas include automotive, industrial and building automation, mobile and grid computing, entertainment, enterprise application, etc.. The most important players in these areas participate to the OSGi Alliance. (Oracle, IBM, Samsung, Nokia, IONA, Motorola, NTT, Siemens, Hitachi, Ericsson, etc.) OSGi Framework is a standard with open specifications and several implementations (5/6). We refer to Equinox OSGi implementation ver. 4 that supports OSGi 1.6 Core Framework (also adopted in Eclipse Dev. Env.).
OSGi - Architecture It is considered today as a Universal Middleware, software that you write once and then can use in binary form universally: in many different platforms, many different industries, and for many different purposes (Peter Kriens OSGi Core Platform Group). It is a module-based system and service platform for the Java programming language that implements a complete and dynamic component model (not available in Java/VM). Introduces the concept of module, the bundle, a JAR file extended with metadata and a powerful class loading model Provides a publish/find/bind service model to decouple bundles and let them cooperate Manages the life cycle of a bundle in a framework without requiring the VM to be restarted Well specified execution profiles that define the environment in which bundles can work, i.e.: - CDC/Foundation, - JavaSE-6.
OSGi - Benefits OSGi ensure interoperability of applications and services based on its component integration platform. The OSGi Framework is: simple, both in terms of concepts and HW/SW requirements (minimal JVM); dynamic: bundles can be updated on the fly and the associated applications and services come and go dynamically; adaptive: bundles can find out what capabilities are available in the system. The framework provides a complete API for the life cycle management: bundles install, update, start, stop, etc.. s can be managed remotely without bringing down the whole system. The framework provides a rich set of standard services: logging, configuration man., device adm., user man., component adm., execution adm., application deployment, etc.. Uses only standard Java classes.
Smart M3 OSGi Localization A localization that tries to satisfy industrial needs. It covers also the service level. OGSi s A dynamic interoperability service architecture that allows to publish a new service at runtime, discover and use services, share information. Main elements: Smart M3 Localiz. Services Life Cycle Modules Execution Environment Security Java VM Native Operating System OSGi Framework KPs s SSAP OSGi SIB Legacy Support s ZigBee Mqtt OSGi Framework JVM
OSGi Semantic Information Broker Main objectives: scalable and flexible SIB implementation; multi-protocol/multi-channel support, multi-ver. of SSAP; semantics from RDF to OWL; data protection, user man., security; plug-in support, interchangeable RDF Store, SPARQL support. Modular and open architecture, based on easily interchangeable and upgradable components. It is possible thanks to: an effective functional partitioning of the SIB; the bundle, OSGi main building block; lifecycle native services offered by OSGi. The development takes advantage from the wide experience acquired during Sofia in several uses cases and demonstrators, based on the C-SIB.
OSGi SIB - Architecture The OSGi-based SIB is based on five main functional unit: a communications manager, a KP manager, a protocol parser, a rdf store unit, and a core unit. OSGi SIB Functional units Each of these units is implemented by one or more OSGi bundles.
OSGi SIB Comm.s Manager This unit manages the communication channels through which the KPs connect to the SIB. It is based on: a bundle that handles SSAP protocol operations over multiple communication channels, SSAP over ZigBee SSAP over Bluetooth SSAP-Msg manager SSAP over TCP a set of bundles, one for each supported communication channel, that are responsible to manage low level aspects of a specific communication channel. Currently, only the TCP support is available. New communication channels can be added, starting i.e. from the existing bundles for ZigBee or Bluetooth developed by the OSGi community. SSAP over
OSGi SIB Parser and core units The protocol parser is implemented with the SSAP Codec. It is responsible to codify/decodify SSAP messages to/from the internal format. It works closely with the SSAP Msg. Man.. SSAP Codec The parser is automatically generated from an XML schema using JAXB technology: a good solution to manage SSAP evolution. The SIB bundle is the core part of the OSGi-based SIB. It contains the main logic of the SIB, scheduling the operations requested by the KPs, SIB managing the information flow between the RDF store and the KPs, controlling access rights, subscriptions and data protection.
OSGi SIB KPs Manager It physically manages the information required to handle the connected KPs, guarantee data protection and manage subscriptions. Protection Joined KPs Subscriptions KP Manager Currently it is a single bundle, but in future versions could be substituted by a set of bundles implementing each of the single functionalities. This evidences one of OSGi potentialities: when a bundle becomes to complex and difficult to maintain it can be partitioned at functional level, substituted with a set of bundles implementing the single functionalities identified during partitioning. Performance are increased, the architecture is more simple and the development and support process become easier.
OSGi SIB RDF Store Unit Manages the operations on the ontology: queries, data manipulation, subscriptions. It is based on two bundles: the RDF bundle, that interfaces with the RDF Store, creating the triples and executing the related queries; a bundle that manages the specific database solution adopted for the RDF store. Other RDF Store DBMS RDF Other RDF Store RDF-M3 RDF-XML Jena DBM S The RDF allows the developer to select the most suitable RDF Store, depending on the application context and the required performances. I.e., Jena RDF Store, currently adopted, provides support for SPARQL queries and a semantic knowledge-base with semantics from RDF (faster) to OWL (DL-based reasoning)..
OSGi SIB Architecture (2) Protection Joined KPs Subscriptions KP Manager SSAP Codec SIB Other RDF Store DBMS RDF Other RDF Store Jena DBM S SSAP over ZigBee SSAP-Msg manager SSAP over SSAP Bluetooth over Other SSAP over TCP
A use case Smart maintenance scenario Office tenants are alerted via SMS on their office status due to maintenance activities Archive KP Maintenance operators are notified for an intervention request and can accept to take it in charge KP KP Maintenance operators are supported by wearable devices during on-site interventions The maintenance company monitors the building status and supervises maintenance activities SIB KP KP LumenActive displays dynamic information for visitors KP KP A mobile device is used to smartify the physical space RIFD tags are used to identify spaces, building elements and sensors Wireless sensor networks (WSN) provide environment parameters, such as temperature, humidity and water presence Smart Lights provide their status information and react to changes in the environment
Conclusions & Next steps OSGi Smart M3 represents a industry-oriented localization, based on a reliable, scalable and widely diffused framework for embedded systems. It is modular, open and fully integrated with OSGi. It exploits all the benefits freely available in the OSGi world. The solution will be tested in a real environment, Smart Maintenance Scenario, not necessarily within Sofia project timeframe. Next steps: Security mechanism, Content adaptation Service discovery, Service composability SIB Profile, KP Identity ADK Support
THANK YOU You see things, and you say Why? ; but I dream things that never were, and I say Why not? George Bernard Shaw ARTEMIS JU SP3 / 100017: Smart Objects For Intelligent Applications