SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
SOFIA: Opening embedded information for smart
                     applications

                                      Petri Liuha(1, Juha-Pekka Soininen(2, Raul Otaolea(3
                                                    1)
                                                      Nokia Research Center, Finland
                                                       petri.liuha@nokia.com
                                          2)
                                             VTT Technical Research Centre, Oulu, Finland
                                                     juha-pekka.soininen@vtt.fi
                                                3)
                                                   European Software Institute, Spain
                                                         raul.otaolea@esi.es



Abstract— In this paper we will present the principle of an Open     the manufacturers of electronic devices do not have platforms
Innovation Platform for smart environment applications. The          and standards for such open devices.
enabling technologies for both computing and communication
have matured to a level where cost efficient use of embedded,             Service oriented architectures do provide some solutions
ubiquitous technologies makes sense. Thus, it is feasible to start   but leave much to be desired for low resource devices, which in
realizing the concept of Smart spaces that has been widely           some cases also have to cope with changing context such as a
studied in ubiquitous computing, ambient intelligence, and future    physical movement between home, city or personal
Internet research.                                                   environment and still provide the user with trusted functions in
                                                                     a uniform and predictable manner. It is very important for a
From the user aspect, continually evolving information and           user to be able to understand and operate devices and functions
communication technologies (ICT) touch nearly every aspect of        in his environment. Presently many users are not even aware of
our contemporary life. Introduction of new applications or           all the functionality that is embedded in a device, mostly
services must address the human dimension of technology. In the      because it is too complicated to access it. Furthermore, a user
ambient services that use ubiquitous technologies, this human        must not be obliged to interface and control his devices
technology interaction will in nearest future extend to much more    differently while at home, on the move in a city or in his office.
complex field of everyday life that it has been so far.              It is very important that a platform enables evolution inherently
                                                                     so that more and more functionality can be provided by devices
In Artemis programme, the SOFIA project is addressing the
challenge of creating smart environments. The project target is to
                                                                     and by the environment incrementally. Also there would be
make information in the physical world available for smart           resistance to an abrupt change that would require users to
services in embedded and ubiquitous systems.                         replace their present day devices with new or better ones from
                                                                     one day to another. Any new way of making and using
As core element we will present a software platform called           electronic devices must not only evolve in the future but also
Smart-M3 as cross-domain and cross-platform interoperability         take into account the existing devices and work with them
and information exchange platform between multi-domain               seamlessly and ensure backward compatibility.
embedded systems. Secondly, we will present the application
development framework for applications that use information
                                                                         The SOFIA project is concentrated around the notion of
from different embedded systems.                                     smart space. A smart space is an ecosystem of interacting
                                                                     objects. Physically a smart space is formed by sensors, devices,
    Keywords- smart enviroments; information interoperability;       and appliances that populate this space and it has the capability
ontology driven application development                              to self-organize itself, and to provide services and complex
                                                                     data to, for example, a person who physically traverses this
                                                                     space or a service that, queries remotely about the state of the
                       I.    INTRODUCTION
                                                                     entire space or part of it. This notion of immersion in the
   Users today have electronic devices dedicated to perform a        computing environment and at the same time the disappearance
limited number of functions defined by the manufacturer of a         of computers is shared with the pervasive computing vision
device. These devices often have data and functions that can be      [Wei91]. Moreover, a smart space has to be able to elaborate
useful if made available to other devices in the user's              on basic services and raw data to provide orchestrated services
environment. By doing so, they can enable more smart use             or mash-up data to be used by the external world. These smart
cases than the manufacturer of a device could have foreseen.         spaces thus poses many new challenges to embedded systems
Although this would add value to the user and could also e.g.        technologies, in terms of dynamicity (smart spaces are
help energy efficient solutions, it is not feasible today because    intrinsically dynamic as they need to continuously adapt on the
                                                                     basis       of    the      context,     habits,      etc.,    by
adding/removing/composing on-the-fly basic elements),                                                                                                   Smart Spaces
scalability (smart spaces can span from a small to a very large
the number of sensors/devices/appliances), trust (some smart           Smart                                        KP                                             KP                                                   KP
                                                                       World                                                                                                                 SIB
spaces needs to be organized around a number of trusted                                               KP
                                                                                                                                   SIB                                                                        KP
                                                                                                            KP                                                           KP

entities), and privacy (some smart spaces built around a house
for example should pay specific attention to privacy
                                                                                   Service Domain
preservation).                                                         Service                             Serv
                                                                                                                  Serv
                                                                                                                         Client
                                                                                                                                  Serv
                                                                                                                                         Client
                                                                                                                                                  Serv                    SOI                           Srv
                                                                                                                                                                                                                            Srv
                                                                                                                                                                  Srv                  Srv           Client
                                                                       World
                                                                                                                                                                                               Srv                 Client
                                                                                                                                                                        Client                           Client
                                                                                                 SN                        SN                     Srv
                                                                                                                                                         Client
                                                                                                                                                                                 Srv
    SOFIA project targets to define and open a completely new                             SN          AN          SN                 SOI                                                 SOI
                                                                                                                                                                                                        Srv

                                                                                                                                                                                                                              SOI   service ontology
                                                                                                                                                                                                                                    interpreter
domain for technology and service innovation in a global scale.
The main mission of the project is to make "information" in the                    Device Network
                                                                                                                                                         Dev                                   Dev

physical world available for smart services in embedded and            Device                              Dev                Dev
                                                                                                                                         GW                                      Dev
                                                                                                                                                                                             GW                         Dev


ubiquitous systems. As concrete results, the project targets to        World                   Dev
                                                                                                                                            Dev                                                   Dev

                                                                                                                                                                                                                                    Gateway between
develop Open Innovation Platform (OIP) architecture and                                                                                                                                                                       GW    networks



Application Development Kit (ADK). The key challenge is the             Figure 1. Separation of different levels of interoperability is needed in
interoperability between devices and embedded systems                                       creating smart environments.
originating from different domains.
    The paper is constructed so that Section II descries the              The key benefits of our approach are that it is completely
principles and technical solutions for the information               domain independent information sharing solution for objects
interoperability, and the Section III describes the Application      and devices in the space. It is also possible to reuse and share
Development principles and tools. Section IV gives some              the capabilities and information of devices and appliances that
examples of applications..                                           have different original purposes and uses in different domains.
                                                                     It is a use case and application independent. It is easy to build
        II.   SMART-M3 OPEN INNOVATION PLATFORM                      up complete user services step by step as the Internet. It also
                                                                     respects the device integrity, because the final choice for what
    The Smart-M3 open innovation platform is an information-
                                                                     information to share and how to use the shared information
level interoperability solution that enables multi device, multi
                                                                     depends on the user or device manufacturer. It is an open
vendor, and multi domain interoperability. It opens the
                                                                     solution. The information sharing is offered as a service for
embedded data in the devices and objects in our current
                                                                     devices and applications. Openness makes it easy to include the
physically accessible environment to applications so that they
                                                                     idea even into simple devices and appliances. It is also open
can create better and more cost, energy, and resource optimized
                                                                     platform where information interoperability is based on
services to users. The vision is that Smart-M3 opens the local
                                                                     common ontology. This enables the possibility to create mash-
information and together with Web services and Semantic web
                                                                     ups and other type of information, service and application
concepts revolutionizes the application development and
                                                                     collections in a completely new and yet unknown way.
application possibilities. Smart-M3 will be an open solution
meaning that is freely available and modifiable, easy to
integrate and to adapt into various products and systems.            A. Principles
                                                                         The main principle of Smart-M3 is that it focuses on
    The device interoperability can be divided into three            opening and sharing of information only. The interoperability
separate levels in order to clarify the different needs of them as   agreement is done at the information level only. Common use
in Fig. 1. We need to have a capability to transfer bits between     case specific or domain specific ontology model as a basis of
the devices shown at the bottom. The applications must be able       information and common Smart-M3 specific data format in the
to use the services also across device boundaries as shown in        sharing are issues that need to agree with companies that
the middle. Finally, the information has to have the same            develop products that participate in smart environment.
meaning in different devices in order to be used correctly. In
smart environment all the three levels must exist. From the          In SOFIA project several vertical use cases were analyzed and
practical ecosystem point of view the problem is the world is        the main principles were defined. Most important ones were
extremely heterogeneous. The variety of solutions is enormous        the open information, simplicity, providing information sharing
and it is impossible to support them all or even small subset of     as a service, extensibility, and being agnostic with respect to
them economically feasible way. On the other hand, the variety       anything principles. In addition the typical principles related to
of technologies is needed in order to be able to create feasible     creating usable platform were recognised. Examples are
solutions in all possible domains.                                   security, trust, privacy, scalability, quality management, ability
                                                                     to evolve, and support for legacy technologies.
    In smart-M3 we focus on highest level (information level)
and rely on existing solutions for solving the service and device
                                                                     B. Smart-M3 concept
level solutions. The core concept is a common shared memory
or information broker existing in the physical space,                    The information level view of Smart-M3 concept is
presentation of information using ontology models, and               presented in Fig. 2. The basic information level elements are:
providing interfaces for legacy service and communication            1) semantic information broker (SIB) is information world
solutions. The information broker is exposed as a service in         entity for storing, sharing and governing the information of one
different service level solutions and accessed using the             smart space. 2) Knowledge processor (KP) is an information
communication channels supported by devices.                         world entity that processes information and contributes to
and/or consumes information content from SIB according to                                                Local information
                                                                                                      storage with RDF-store
ontology relevant to its defined functionality. 3) Smart space                                            and information
access protocol (SSAP) is used by knowledge processors when             Knowledge
                                                                                                      governance functionality
                                                                        processor
accessing SIB. One or more SIBs create a smart space (SS)                                                                        Knowledge
                                                                                                                                 processor
that is a named search extent of information. The simple
operation principle of Smart-M3 is following:                                                            Semantic
                                                                                                        information
                                                                                                           broker
1.   Knowledge processors discover the SIB service (or Smart                                                                         Application logic and
                                                                                                                                   interface supporting the
     Space) using discovery and communication mechanisms               Access protocol (SSAP),                                    use of common use case
                                                                                                                                    ontology and access to
     offered by the device hosting the SIB.                            with basic operations, e.g.
                                                                       join, leave, insert, remove,                                   information broker
                                                                       subscribe. Etc.
2.   KPs join the smart space using SSAP join message.                                                     Knowledge
                                                                                                           processor

3.   KPs access the SIB using SSAP insert, remove, update
     messages or react to changes of information they                                  Figure 2. Information level view on Smart-M3.
     subscribed with respective message. The information is
     stored into the SIB.
                                                                    used service API, as is the case of WebServices. We propose
4.   Environment interacts with KPs in the way how it is            an ontology governance process as the alternative to use case
     design in applications that are in KPs (so, the smartness of   specific service API standardization. In simple cases this would
     the environment is actually programmed in the KPs)             mean agreeing on common ontology models. In more advanced
5.   The KPs leave the smart space using SSAP leave                 cases the ontology governance process would agree and adopt
     messages.                                                      new vocabularies using RDF and RDFS (RDF schema) defined
                                                                    constraints. Additionally the vocabularies could be further
    The Smart-M3 is meant for opening the information. It does      constrained by domain specific ontologies. Finally, Knowledge
not guarantee the performance and it is not meant for sending       Processors (KP) can actively monitor and update the
commands between devices (or KPs). That kind of                     information in the RDF store based on other kinds of reasoning
interoperability should be implemented using service level          rules.
capabilities.
    Implementations of Smart-M3 provide a uniform, use case         C. Logical architecture of Smart-M3 based smart
independent service API for sharing information in a Smart              environment
Space. The possibility to expose Smart Space service APIs               The logical architecture of smart environment (SE) based
concurrently through multiple domains and transport                 on Smart-M3 IOP is presented in Fig. 3. The practical smart
technologies makes the information currently isolated in            environment consists of one or more SIBs and two or more
multiple heterogeneous embedded domains available (i.e. to be       KPs. The participating SIBs have to share service and
monetized) by using web programming tools and methods               communication level solutions with each other and at least one
without compromising power, safety and performance                  solution (at service and communication level) with each KP in
requirements of the embedded domains. As an example this            the smart environment. The KPs do not necessarily have to
would allow an application programmer who programs for a            share any communication of service technologies.
mobile platform to access contextual information in a car,
home, office, football stadium etc in a uniform way and                 Smart space application (which is something that interacts
improve the user experience, without compromising real-time         with physical world or user) is a logical collection of a set of
requirements of the embedded system.                                KPs functionality (all KPs in smart environment do not have to
                                                                    participate). The requirement is that KPs either produce or
    SIB stores information in RDF (Resource Description             exploit the information stored by one of the SIBs in the SE.
Language) format, which is a W3C standard. RDF gives ability
to join data from vocabularies from different business domains,          The requirement for having smart space applications is that
without having to negotiate structural differences between          the KPs and SIBs involved have common ontology model, data
them. It also makes the vast reasoning and ontology theory,         format, and information access solutions. Ontology model is a
practice and tools developed by the semantic web community          specified model of the information that defines the meaning of
available for Smart Space application developers.                   it. It can be either use case or domain specific also. Data format
                                                                    is RDF triplets (predicate, subject, and object) as explained in
    The focus in the information level in Smart-M3 addresses        previous chapter. Information access solution is SSAP
value in application development by abolishing the need for a       protocol. SSAP is basically a simple protocol that defines the
priori use case standardization familiar in service level           basic messages (or service operations of SIB) between KP and
solutions such as DLNA and Bluetooth. Furthermore, Smart-           SIB communication. SSAP is defined in more detail in Table 1.
M3 shall abolish design time freezing of the address of the
Optional                                                                                        Optional

          SIB2-N                SIB1                          KP1                             KP2             KP3-N
              Smart space                                                                                                 Smart space
                                                                    use case logic                                        application
                                        Information                                                                       logic
                                          storage
                                                              KPI
                                      Ontology
                                   interpreter and                 Ontology
                                     governance                  (use) support                                                 Information
                                                                                                                               level
                  Ontology model

                  Data format                                                                                              Common solution

                  Information access


                  Existing service solutions (service discovery, service registry, resource manager)                           Service
                                                                                                                               level
                      Common solution

                                                                                                                               Communication
                  Existing communication solutions (protocols, physical layers, etc.)                                          level




                                                       Figure 3. Logical architecture of smart environment.


    The logical structure of the SIB consists of RDF storage                      and there may be copyright and privacy reasons not to merge
and ontology interpreter and governance functions in addition                     the information. In order to enable these types of business
to common parts. RDF storage is a memory (or database) for                        models we are developing the concept of deductive closure
keeping the RDF triplets. The ontology interpreter and                            towards distributed deductive closure. This work is currently in
governance part can be divided into main three parts: the                         early phase.
support for multiple SIBs, support for SSAP operations, and
interfaces to service level.                                                          The support for SSAP operations means the
                                                                                  implementations of defined in SIB interface specification. The
                                                                                  basic functionality is defined, but there are open issues related
                     TABLE I.           SSAP OPERATIONS.                          security, authentication, and query languages, for example. In
      Name                                Description
                                                                                  query languages, the template query and Wilbur query are
 Join                Begins a session between KP and SIB
                                                                                  currently supported in reference implementation.
 Leave               Terminates the session                                         Interface to service level is needed for implementing the
 Insert              Inserts information into the smart space                     SOA specific functionality that is needed for communication.
 Remove              Removes information from the smart space
 Update              Combination of remove and insert operations
                                                                                      The current status of Smart-M3 OIP is that the core
 Query               Queries information within the smart space
                                                                                  functionality has been developed and published in open source
 Subscribe           Sets up a persistent query
                                                                                  at www.sourecforge.org in smart-m3 project. The idea has
 Unsubscribe         Terminates a persistent query
                                                                                  been tested in some examples and there are on-going work
 Results             Updates the result set of a persistent query
                                                                                  related improving of the performance and scalability. In
 indication                                                                       addition, the usability of Smart-M3 as a solution in smart
 Unsubscribe         Notifies a knowledge processor of a smart space              environments is being improved by developing solutions that
 indication          initiated termination of its subscription                    increase the security and privacy features, allow run-time
 Leave               Notifies a knowledge processor of a smart space              quality adaptations, and context awareness support.
 indication          initiated termination of the session
                                                                                            III.   APPLICATION DEVELOPMENT FRAMEWORK

    The idea in supporting multiples SIBs is that each Smart-
M3 smart space can be constructed by physically distributed                       One of the key points related with the success of a technology
RDF stores. This allows implementations where the personal                        is the existence of a development life cycle and a SDK
information of a family is stored at home but it is augmented                     (Software Development Kit) that allow companies develop
by non-personal information in, for example, a weather service                    solutions based on this technology. This is the reason why the
development of an ADK (Application Development Kit) were               The four layers forming Smart Applications have different
scheduled from the start of the project. Thus, the community       responsibilities:
will have not only the Smart-M3 solution definition but also all
the necessary tools to start programming smart application         • Logic. The developer is only responsible for this layer. The
based on it.                                                         other ones are generated automatically by the ADK. Once
                                                                     the developer has chosen the programming language, the
As described in the previous section, the Smart-M3 open              ontologies to be used and the communication protocols
innovation platform is an information-level interoperability         (this is done using a wizard), they only have to concentrate
solution that enables multi device, multi vendor, and multi          in developing the logic dealing with the API provided by
domain interoperability. This heterogeneity means that the           the model layer.
ADK must include the possibility of programming in several
languages and therefore different editors, compilers, debuggers,   • Model. This layer provides the mapping of the ontologies
etc. Hence, the IDE (Integrated Development Environment)             into classes. The programmers not familiar with ontologies
must have a great flexibility to include different needs and be      or Smart-M3 translate all the ontology concepts (selected
extensible to fulfill any future requirements. Moreover, it          with other tools of the ADK) into classes in order to
should be also very intuitive and easy to use.                       facilitate their use. The generated classes know how to map
                                                                     method calls to SIB calls. So from the point of view of the
                                                                     programmer they only see an API representing concepts
A. Smart Application Development Approach
                                                                     (e.g. devices, sensors, actuators, capacities, services, etc.)
                                                                     and do not know anything about communication, SIB
The goals of the ADK are twofold. First, provide tools and           protocols or semantic issues.
APIs (Application Programming Interface) to develop Smart          • SSAP. This layer is an API with a set of classes to deal with
Applications. And second, hide as much as possible semantic          the SIB. It sends and receives all the SSAP protocol
technologies complexity and Smart-M3 to the programmers.             messages to/from the SIB, and makes appropriate changes
Even though semantic technologies are becoming more and              in the upper model layer. This layer does not know
more familiar due to semantic web, the reality is that their use     anything about the communication protocols (TCP/IP,
are still more concentrated in academia world rather than in the     Bluetooth, Zigbee, etc.) used to connect with a SIB.
industry. Because of this, we find that the community of           • Connectors. This layer abstracts the communication
developers is very skilled in programming languages but not in       protocols. The three main responsibilities are implementing
semantics. Hence, the ADK must provide some kind of                  the input/output operations in a given protocol, the
solution that allows developers work directly with classes and       discovery of the SIB and the management of a
not with ontologies. So bearing in mind this fact and also the       communication inherent errors like interruptions, timeouts,
goal of spreading the use of Smart-M3 to as much people as           etc.
possible, the ADK includes the necessary tools and APIs to
fulfill this important requirement.                                Although the layers are designed to cooperate among
                                                                   themselves, each one is completely independent from the upper
One of the main problems to face during smart application          ones. Therefore, a programmer can add abstraction as needed.
development is how to model the ontology in order to have a        For example, if they want to use only connection facilities they
lightweight class structure representing the concepts to be used   have to add connectors layer. If they do not want to deal with
in runtime. In our approach, we have divided the smart             SSAP protocol, they can add SSAP layer. If they prefer work
application in four layers (represented in figure 4) responsible   with classes instead of ontologies then they add model layer
for dealing with the semantic information stored in the SIB.       and so on. Anyway, the default and recommended way of
The layer called Model is a class representation of the concepts   development is to use all layers.
defined in the ontology. To generate it, we are developing a
tool called OWL2Classes based on templates. This tool is
capable of translating from OWL to several programming             Let’s see an example. Suppose we have defined the following
languages and generates an API that interacts with below           class definition and hierarchy in the ontology:
layers.                                                                <owl:Class rdf:about="#Event">
                                                                           <rdfs:subClassOf rdf:resource="&owl;Thing"/>
In the figure 6 the smart application layers are presented. The        </owl:Class>
parts representing the KP are automatically generated, so the
developer only has to add the logic layer to create a smart            <owl:Class rdf:about="#RawEvent">
application.                                                               <rdfs:subClassOf rdf:resource="#Event"/>
                                                                       </owl:Class>

                                                                       <owl:Class rdf:about="#SmokeEvent">
                                                                           <rdfs:subClassOf rdf:resource="#RawEvent"/>
                                                                       </owl:Class>

                                                                       <owl:Class rdf:about="#Location">
                                                                           <rdfs:subClassOf rdf:resource="&owl;Thing"/>
                 Figure 4. Smart Application layers.                   </owl:Class>
<owl:DatatypeProperty rdf:ID="eventId">                      @Override
        <rdf:type                                                public void setValue(boolean newValue) {
rdf:resource="&owl;FunctionalProperty"/>                             Triplet removedTriplet =
         <rdfs:domain rdf:resource="#Event"/>            new Triplet("SmokeEvent", "value", value);
        <rdfs:range rdf:resource="&xsd;string"/>                     Triplet addedTriplet =
    </owl:DatatypeProperty>                              new Triplet("SmokeEvent", "value", newValue);
                                                                     SSAPMessageParameter parameter =
    <owl:ObjectProperty rdf:ID="isLocatedIn">            new SSAPMessageParameter();
        <rdfs:range rdf:resource="#Location"/>
        <rdfs:domain rdf:resource="#RawEvent"/>          parameter.addInsertTriplets(addedTriplet);
    </owl:ObjectProperty>
                                                         parameter.addRemoveTriplets(removedTriplet);
    <owl:DatatypeProperty rdf:ID="value">                            sib.update(this, parameter);
        <rdf:type                                                }
rdf:resource="&owl;FunctionalProperty"/>                         ...
        <rdfs:domain rdf:resource="#SmokeEvent"/>            }
        <rdfs:range rdf:resource="&xsd;boolean"/>
    </owl:DatatypeProperty>

    <owl:DatatypeProperty                                B. Life cycle development
rdf:ID="#reliabilityIndex">                              Once the architecture and all the stakeholders involved in the
        <rdf:type
rdf:resource="&owl;FunctionalProperty"/>
                                                         Smart-M3 solution are defined (e.g. SIB, KP and SSAP), a
        <rdfs:domain rdf:resource="#SmokeEvent"/>        software engineering definition is needed to develop smart
        <rdfs:range rdf:resource="&xsd;int"/>            applications. The objetives to fulfill are:
    </owl:DatatypeProperty>
                                                         • define the life-cycle      development    of Sofia     Smart
                                                           Applications.
                                                         • develop a cross-domain ADK.
                                                         • develop/integrate needed tools to cover each development
                                                           phase.
                                                         All the solutions are based on the ODD (Ontology Driven
                                                         Development) represented in figure 4. In this approach
                                                         ontologies are used to model the context, devices, capabilities
                                                         and services. This ontology is already defined by the ontology
                                                         governance and developers use it to develop the smart
                                                         applications. The ontology governance is responsible for
                                                         defining, changing and evolving the ontologies that model the
                                                         different domains. In order to manage them efficiently, four
                                                         hierarchical layers have been defined:
                                                         • Foundational ontologies. This is the most abstract one. The
                                                           goal is to include all the existing ontologies that can be
                                                           useful to model the domains and use cases.
                                                         • Core ontology. Responsible for gathering all common
                                                           concepts along the domain ontologies preventing
                                                           overlapping.

A class mapping from the OWL to Java KP Classes can be   • Domain ontologies. These ontologies define all the
expressed as:                                              concepts, relationships and individuals of each domain.
public class SmokeEvent extends AbstractKP               • Application ontologies. This is the most concrete layer and
implements ISmokeEvent, KPProducer, KPConsumer {           defines the use case of a domain or inter-domain.
        private String eventId;                          Once the ontology is defined, we use the ODD approach to
        private Location location;                       create smart applications. It is formed by four main phases:
        private boolean value;
                                                         • Design. The start point is the ontologies. The developer
        public SmokeEvent() {                              designs the smart application in the smart modeler editor.
        }
                                                           The smart modeler is a visual editor to design the
        @Override                                          application using graphs, connectors, rules, guards and
        public Location getIsLocatedIn() {                 other elements of the tool. Once the design is done, the
            return location;                               developer must concrete the target platform, the
        }                                                  programming language (Java, Python, C or C++) to
       …                                                   translate the ontologies to classes and the communication
protocols. After this stage, the KP is generated (the bottom     • Timely response to the requests for changes and
  three layers of the smart application). The model layer is         enhancements in a controlled and organized way through
  created by the OWL2Classes tool that is transparent for the        www.eclipse.org.
  developer. After this stage, the appropriate editor, compiler
  and debugger are activated so that the developer can finish      • It is the facto industrial IDE.
  the logic.                                                       Eclipse is an open source framework that provides many of
• Implementation. In the implantation phase, the developer         the underlying services software developers need. This would
  focuses in the logic of the smart application using the          be the idea we were looking for, a "toolkit for designing
  appropriate editor.                                              toolkits." Not just a set of APIs, the framework consists of real
                                                                   code designed to do real work. In short, Eclipse is a multi-
• Testing. To test the application a SIB simulator is needed.      language software development environment comprising an
  The SIB simulator is a tool included in the ADK so that          IDE and a plug-in system to extend it.
  programmers can check in real time the status of the SIB.
  Hence, they can see the correctness of the SSAP operations.      The Eclipse Platform is the foundation for constructing and
  This simulator is visual, so it is very easy and intuitive       running integrated end-to-end software development tools.
  check the information stored in the SIB. As the only             The platform consists of open source software components
  requirement to connect a SIB is follow SSAP protocol, it is      that tool vendors use to construct solutions that plug in to
                                                                   integrated software workbenches. The Eclipse Platform
  guaranteed that the smart application will run correctly with
  other SIB implementations.                                       incorporates technology expressed through a well-defined
                                                                   design and implementation framework.
• Exploitation. Depending on the target platform,
                                                                   The ADK consist on an Eclipse module composed by several
  programming language and communication protocols
                                                                   plugins that extend the IDE:
  defined in the design phase, the final executable to be
  deployed can differ. In this phase the suitable deployment       • Smart visual modeler. A visual editor to define the
  units are generated.                                               relationships between ontology concepts and SIBs.
                                                                   • OWL2Classes translator. A tool to translate ontologies
                                                                     written on OWL/RDF(S) to several programming
                                                                     languages classes according to the smart application layer
                                                                     composition.
                                                                   • Java editor. The very well known Eclipse java editor.
                                                                   • SIB server and viewer. A localhost SIB simulator to test
                                                                     applications. The information stored in the SIB is presented
                                                                     visually in a windows plugged in the IDE.
                                                                   • Sofia Project wizard. A wizard to gather all the smart
                                                                     application characteristics like ontologies to use, target
                                                                     platform, programming language, communication tools,
                                                                     project paths, etc.
                                                                   In the figure 6 the architecture of the ADK is presented.




Figure 5. Ontology Driven Development.
After investigating deeply all the different IDEs present in the
market, finally we decided to use Eclipse as the base IDE for
the ADK. The main reasons were:
The APIs provided are tested by the cross-industry consortium
to ensure code quality portability and performance.
• It delivers the ability to create derivative works, including
  redistribution of the platform. The Eclipse Platform allows
  tools developers to focus on core competencies and new
  models for development technology.                               Figure 6. ADK Architecture.
                                                                       The ADK architecture is divided in two main parts. The
                                                                   first one is the SIB (the server) which the smart applications
(the clients) can connect to. As Eclipse is based on OSGi, we        C. Smart city
decided to implement the SIB simulator as an OSGi bundle.
Thereby, developers can use the SIB inside and outside the           Smart city is a very large application context, where typically
ADK to test their solutions. Eclipse relay on Equinox OSGi to
                                                                     public areas include different embedded systems, some of
gain dynamicity, so the ADK also exploit this benefit with the
                                                                     them critical or closed. Personal devices can access some of
ability of plug future services as bundles.
                                                                     this information and the embedded systems further benefit
Another great feature of Eclipse is that it is multiplatform. In     from aggregated data provided to users in the space. A smart
fact, the development team responsible for building the ADK          city is the capability of creating on-the-fly systems that are
is programming in different operating systems (Windows,              able to organize a smart environment around a public place,
Linux and Mac OS X), so it is guaranteed that the ADK will           for example, for surveillance or monitoring purposes. In this
run at least in these platforms.                                     case dynamicity and scalability are main concerns while
                                                                     privacy is less important here. Distinct smart spaces can
                   IV.   APPLICATIONS AREAS                          overlap in space and time and challenging services that benefit
During the project real usage will be tested in three different      from information in multiple domains will be supported by
applications contexts: personal spaces, smart indoor spaces          SOFIA.
and smart city. Each of these addresses specific requirements                              V.   CONCLUSIONS
and constraints arising from their environments yet faces
similar challenges in sharing information.
                                                                     We envision an environment, where Embedded Systems (ESs)
                                                                     are able to connect, discover and enjoy personalized and
A. Personal smart spaces                                             cooperating      services    operating     on    interoperable,
                                                                     heterogeneous data. Connection at the lower level will occur
In personal environments, the use cases are typically dynamic        through a SOFIA general overlay based on legacy
and the area limited. Devices and their services can be              connectivity and communication protocols that can be seen as
developed throughout their lifetime, independent of each             the basic communication layer of the architecture. Logically
other. A “personal space” proactively creates a smart space          this overlay can be formed by several islands of
around a moving person in order to enable this person to             interconnected ESs. At a higher level of abstraction, each ES
access and organize services and data around him. Envisaged          can participate to one or more smart spaces. ESs participating
services include support for efficient networking and                to the same smart are connected through a second level
interaction between people involved in mobile social activities      overlay. From an application viewpoint, ESs participating to a
(PMSN) and may involve smart storage and context-                    smart space overlay may provide services/data to another
dependent handling of multimedia content in challenging              smart space. Also in this case the smart space specific overlay
environments, such as, for example, in cars. This is therefore a     can be seen as several islands formed by interconnected ESs.
highly dynamic environment with on-demand trust and
privacy requirements while scalability not necessarily is a          SOFIA Open Innovation reference Platform will support the
primary concern                                                      interworking of smart embedded services for creating and
                                                                     managing different smart spaces, through the use of
                                                                     composability and semantic techniques, in order to guarantee
B. Smart indoor spaces
                                                                     dynamicity, trust and scalability, while preserving privacy if
                                                                     needed. Moreover, the generality of the SOFIA architecture
In smart indoor spaces like e.g. smart office, embedded              will be ensured through the identification of ontology for each
infrastructure equipment as well as appliances and personal          of the smart space under investigation and by deriving a
devices can share information without being part of an               common ontology for all of them. This common ontology will
integrated system. A smart indoor space has the target of self-      lead to the layered architecture of the SOFIA platform and to
organizing sensors and devices inside buildings to enhance           the identification and specification of both, the core
their efficiency at several levels (e.g., energy efficiency, smart   middleware and the smart-space specific services.
maintenance) and to enhance also safety, security, productivity
and comfort of the occupants (e.g. residents, operators).
Multiple actors with different profiles are involved in this                             ACKNOWLEDGMENTS
smart space. Here, SOFIA will enable discovery and access to            This project has been funded by the ARTEMIS Joint
cooperating services tailored to the actors profile and context.     Undertaking under Project contract 100017, and national EU
This specific space has very strong privacy and trust issues         member states part of the SOFIA consortium (Finland, Italy,
while dynamicity might be a secondary concern.                       Netherlands, Spain).

Más contenido relacionado

La actualidad más candente

Context-Aware Computing
Context-Aware ComputingContext-Aware Computing
Context-Aware Computinglogus2k
 
Resource Identification Using Mobile Queries
Resource Identification Using Mobile QueriesResource Identification Using Mobile Queries
Resource Identification Using Mobile QueriesIDES Editor
 
context aware computing
context aware computingcontext aware computing
context aware computingswati sonawane
 
02 dsp valley p.simkens_internationalization and smart specialization_day 3_s...
02 dsp valley p.simkens_internationalization and smart specialization_day 3_s...02 dsp valley p.simkens_internationalization and smart specialization_day 3_s...
02 dsp valley p.simkens_internationalization and smart specialization_day 3_s...ClusterExcellence
 
IRJET- Device for Location Finder and Text Reader for Visually Impaired P...
IRJET-  	  Device for Location Finder and Text Reader for Visually Impaired P...IRJET-  	  Device for Location Finder and Text Reader for Visually Impaired P...
IRJET- Device for Location Finder and Text Reader for Visually Impaired P...IRJET Journal
 
Designing in Context
Designing in ContextDesigning in Context
Designing in ContextThomas Grill
 
Context Aware Computing
Context Aware ComputingContext Aware Computing
Context Aware ComputingMOHIT DADU
 
Destiny pen user manual
Destiny pen user manualDestiny pen user manual
Destiny pen user manualTony Toole
 
SOFIA Pilots Set Brochure
SOFIA Pilots Set BrochureSOFIA Pilots Set Brochure
SOFIA Pilots Set BrochureSofia Eu
 
Deep learning seminar report
Deep learning seminar reportDeep learning seminar report
Deep learning seminar reportSKS
 
SOFIA Pilots Brochure Final Set
SOFIA Pilots Brochure Final SetSOFIA Pilots Brochure Final Set
SOFIA Pilots Brochure Final SetSofia Eu
 
A survey about context-aware middleware
A survey about context-aware middlewareA survey about context-aware middleware
A survey about context-aware middlewareLeonardo Bruni
 
101 Webinar - Artificial Intelligence, Deep Learning and Geospatial
101 Webinar - Artificial Intelligence, Deep Learning and Geospatial101 Webinar - Artificial Intelligence, Deep Learning and Geospatial
101 Webinar - Artificial Intelligence, Deep Learning and GeospatialGeospatial Media & Communications
 

La actualidad más candente (18)

Context-Aware Computing
Context-Aware ComputingContext-Aware Computing
Context-Aware Computing
 
Resource Identification Using Mobile Queries
Resource Identification Using Mobile QueriesResource Identification Using Mobile Queries
Resource Identification Using Mobile Queries
 
context aware computing
context aware computingcontext aware computing
context aware computing
 
My Robot
My RobotMy Robot
My Robot
 
02 dsp valley p.simkens_internationalization and smart specialization_day 3_s...
02 dsp valley p.simkens_internationalization and smart specialization_day 3_s...02 dsp valley p.simkens_internationalization and smart specialization_day 3_s...
02 dsp valley p.simkens_internationalization and smart specialization_day 3_s...
 
IRJET- Device for Location Finder and Text Reader for Visually Impaired P...
IRJET-  	  Device for Location Finder and Text Reader for Visually Impaired P...IRJET-  	  Device for Location Finder and Text Reader for Visually Impaired P...
IRJET- Device for Location Finder and Text Reader for Visually Impaired P...
 
Designing in Context
Designing in ContextDesigning in Context
Designing in Context
 
Context Aware Computing
Context Aware ComputingContext Aware Computing
Context Aware Computing
 
Nanotechnology
NanotechnologyNanotechnology
Nanotechnology
 
Destiny pen user manual
Destiny pen user manualDestiny pen user manual
Destiny pen user manual
 
SOFIA Pilots Set Brochure
SOFIA Pilots Set BrochureSOFIA Pilots Set Brochure
SOFIA Pilots Set Brochure
 
"Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo N...
"Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo N..."Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo N...
"Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo N...
 
E setu
E setuE setu
E setu
 
Deep learning seminar report
Deep learning seminar reportDeep learning seminar report
Deep learning seminar report
 
SOFIA Pilots Brochure Final Set
SOFIA Pilots Brochure Final SetSOFIA Pilots Brochure Final Set
SOFIA Pilots Brochure Final Set
 
Maya
MayaMaya
Maya
 
A survey about context-aware middleware
A survey about context-aware middlewareA survey about context-aware middleware
A survey about context-aware middleware
 
101 Webinar - Artificial Intelligence, Deep Learning and Geospatial
101 Webinar - Artificial Intelligence, Deep Learning and Geospatial101 Webinar - Artificial Intelligence, Deep Learning and Geospatial
101 Webinar - Artificial Intelligence, Deep Learning and Geospatial
 

Similar a SOFIA - Opening Embedded Information for Smart Applications. VTT/ESI/NOKIA

Cassandra framework a service oriented distributed multimedia
Cassandra framework  a service oriented distributed multimediaCassandra framework  a service oriented distributed multimedia
Cassandra framework a service oriented distributed multimediaJoão Gabriel Lima
 
SOFIA - Experiences in Implementing a Cross-domain Use Case by Combining Sema...
SOFIA - Experiences in Implementing a Cross-domain Use Case by Combining Sema...SOFIA - Experiences in Implementing a Cross-domain Use Case by Combining Sema...
SOFIA - Experiences in Implementing a Cross-domain Use Case by Combining Sema...Sofia Eu
 
Telecom trends 261112
Telecom trends 261112Telecom trends 261112
Telecom trends 261112Sharon Rozov
 
SOFIA - Smart M3 Information Sharing Platform - NOKIA
SOFIA - Smart M3 Information Sharing Platform - NOKIASOFIA - Smart M3 Information Sharing Platform - NOKIA
SOFIA - Smart M3 Information Sharing Platform - NOKIASofia Eu
 
Towards Pervasive Computing Environments With Cloud Services
Towards Pervasive Computing Environments With Cloud ServicesTowards Pervasive Computing Environments With Cloud Services
Towards Pervasive Computing Environments With Cloud Servicesijsptm
 
Фреймворк промышленного интернета
Фреймворк промышленного интернетаФреймворк промышленного интернета
Фреймворк промышленного интернетаSergey Zhdanov
 
Live Matches , Streaming , Scores
Live Matches , Streaming , ScoresLive Matches , Streaming , Scores
Live Matches , Streaming , Scoreswebcric .site
 
SOFIA - Integration of an Answer Set Engine to Smart m3. NOKIA
SOFIA - Integration of an Answer Set Engine to Smart m3. NOKIASOFIA - Integration of an Answer Set Engine to Smart m3. NOKIA
SOFIA - Integration of an Answer Set Engine to Smart m3. NOKIASofia Eu
 
Implementation Of An Iot-Based Ecosystem Aware Smart Guide Platform In Indoor...
Implementation Of An Iot-Based Ecosystem Aware Smart Guide Platform In Indoor...Implementation Of An Iot-Based Ecosystem Aware Smart Guide Platform In Indoor...
Implementation Of An Iot-Based Ecosystem Aware Smart Guide Platform In Indoor...IRJET Journal
 
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...ijasuc
 
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...ijasuc
 
Toward a real time framework in cloudlet-based architecture
Toward a real time framework in cloudlet-based architectureToward a real time framework in cloudlet-based architecture
Toward a real time framework in cloudlet-based architectureredpel dot com
 
Air Programming on Sunspot with use of Wireless Networks
Air Programming on Sunspot with use of Wireless NetworksAir Programming on Sunspot with use of Wireless Networks
Air Programming on Sunspot with use of Wireless Networksijsrd.com
 
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA -  Smart Objects For Intelligent Applications. INDRA/ESISOFIA -  Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESISofia Eu
 
Software Technologies for ICT Architectures
Software Technologies for ICT ArchitecturesSoftware Technologies for ICT Architectures
Software Technologies for ICT ArchitecturesAntonio Marcos Alberti
 
13 9246 it implementation of cloud connected (edit ari)
13 9246 it implementation of cloud connected (edit ari)13 9246 it implementation of cloud connected (edit ari)
13 9246 it implementation of cloud connected (edit ari)IAESIJEECS
 
Towards a Semantic-based Context-as-a-Service for Internet of Things
Towards a Semantic-based Context-as-a-Service for Internet of ThingsTowards a Semantic-based Context-as-a-Service for Internet of Things
Towards a Semantic-based Context-as-a-Service for Internet of ThingsIJCSIS Research Publications
 
AARNet services including specific Applications & Services
AARNet services including specific Applications & ServicesAARNet services including specific Applications & Services
AARNet services including specific Applications & ServicesJames Sankar
 

Similar a SOFIA - Opening Embedded Information for Smart Applications. VTT/ESI/NOKIA (20)

Cassandra framework a service oriented distributed multimedia
Cassandra framework  a service oriented distributed multimediaCassandra framework  a service oriented distributed multimedia
Cassandra framework a service oriented distributed multimedia
 
SOFIA - Experiences in Implementing a Cross-domain Use Case by Combining Sema...
SOFIA - Experiences in Implementing a Cross-domain Use Case by Combining Sema...SOFIA - Experiences in Implementing a Cross-domain Use Case by Combining Sema...
SOFIA - Experiences in Implementing a Cross-domain Use Case by Combining Sema...
 
apchi08
apchi08apchi08
apchi08
 
Telecom trends 261112
Telecom trends 261112Telecom trends 261112
Telecom trends 261112
 
SOFIA - Smart M3 Information Sharing Platform - NOKIA
SOFIA - Smart M3 Information Sharing Platform - NOKIASOFIA - Smart M3 Information Sharing Platform - NOKIA
SOFIA - Smart M3 Information Sharing Platform - NOKIA
 
Paper444012-4014
Paper444012-4014Paper444012-4014
Paper444012-4014
 
Towards Pervasive Computing Environments With Cloud Services
Towards Pervasive Computing Environments With Cloud ServicesTowards Pervasive Computing Environments With Cloud Services
Towards Pervasive Computing Environments With Cloud Services
 
Фреймворк промышленного интернета
Фреймворк промышленного интернетаФреймворк промышленного интернета
Фреймворк промышленного интернета
 
Live Matches , Streaming , Scores
Live Matches , Streaming , ScoresLive Matches , Streaming , Scores
Live Matches , Streaming , Scores
 
SOFIA - Integration of an Answer Set Engine to Smart m3. NOKIA
SOFIA - Integration of an Answer Set Engine to Smart m3. NOKIASOFIA - Integration of an Answer Set Engine to Smart m3. NOKIA
SOFIA - Integration of an Answer Set Engine to Smart m3. NOKIA
 
Implementation Of An Iot-Based Ecosystem Aware Smart Guide Platform In Indoor...
Implementation Of An Iot-Based Ecosystem Aware Smart Guide Platform In Indoor...Implementation Of An Iot-Based Ecosystem Aware Smart Guide Platform In Indoor...
Implementation Of An Iot-Based Ecosystem Aware Smart Guide Platform In Indoor...
 
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...
 
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...
DESIGN AND IMPLEMENTATION OF INTELLIGENT COMMUNITY SYSTEM BASED ON THIN CLIEN...
 
Toward a real time framework in cloudlet-based architecture
Toward a real time framework in cloudlet-based architectureToward a real time framework in cloudlet-based architecture
Toward a real time framework in cloudlet-based architecture
 
Air Programming on Sunspot with use of Wireless Networks
Air Programming on Sunspot with use of Wireless NetworksAir Programming on Sunspot with use of Wireless Networks
Air Programming on Sunspot with use of Wireless Networks
 
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA -  Smart Objects For Intelligent Applications. INDRA/ESISOFIA -  Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESI
 
Software Technologies for ICT Architectures
Software Technologies for ICT ArchitecturesSoftware Technologies for ICT Architectures
Software Technologies for ICT Architectures
 
13 9246 it implementation of cloud connected (edit ari)
13 9246 it implementation of cloud connected (edit ari)13 9246 it implementation of cloud connected (edit ari)
13 9246 it implementation of cloud connected (edit ari)
 
Towards a Semantic-based Context-as-a-Service for Internet of Things
Towards a Semantic-based Context-as-a-Service for Internet of ThingsTowards a Semantic-based Context-as-a-Service for Internet of Things
Towards a Semantic-based Context-as-a-Service for Internet of Things
 
AARNet services including specific Applications & Services
AARNet services including specific Applications & ServicesAARNet services including specific Applications & Services
AARNet services including specific Applications & Services
 

Más de Sofia Eu

SOFIA Project Brochure Pilots Set
SOFIA Project Brochure Pilots Set SOFIA Project Brochure Pilots Set
SOFIA Project Brochure Pilots Set Sofia Eu
 
SOFIA Poster ATC 2012
SOFIA Poster ATC 2012SOFIA Poster ATC 2012
SOFIA Poster ATC 2012Sofia Eu
 
SOFIA ATC 2011_artemis_magazine
SOFIA ATC 2011_artemis_magazineSOFIA ATC 2011_artemis_magazine
SOFIA ATC 2011_artemis_magazineSofia Eu
 
SOFIA INDRA Presentation to AICIA
SOFIA INDRA  Presentation to AICIASOFIA INDRA  Presentation to AICIA
SOFIA INDRA Presentation to AICIASofia Eu
 
SOFIA INDRA ATC2011 Virtual Wall Poster
SOFIA INDRA ATC2011 Virtual Wall PosterSOFIA INDRA ATC2011 Virtual Wall Poster
SOFIA INDRA ATC2011 Virtual Wall PosterSofia Eu
 
SOFIA project INDRA NEO Publication
SOFIA project INDRA NEO PublicationSOFIA project INDRA NEO Publication
SOFIA project INDRA NEO PublicationSofia Eu
 
Cross-project collaboration leaflet: SOFIA/SMARCOS/CHIRON
Cross-project collaboration leaflet: SOFIA/SMARCOS/CHIRONCross-project collaboration leaflet: SOFIA/SMARCOS/CHIRON
Cross-project collaboration leaflet: SOFIA/SMARCOS/CHIRONSofia Eu
 
SOFIA/SMARCOS/CHIRON Poster ARTEMIS & ITEA2 Co-Summit 2011
SOFIA/SMARCOS/CHIRON Poster ARTEMIS & ITEA2 Co-Summit 2011SOFIA/SMARCOS/CHIRON Poster ARTEMIS & ITEA2 Co-Summit 2011
SOFIA/SMARCOS/CHIRON Poster ARTEMIS & ITEA2 Co-Summit 2011Sofia Eu
 
Smart LED Lighting for Power Management in a Building
Smart LED Lighting for Power Management in a BuildingSmart LED Lighting for Power Management in a Building
Smart LED Lighting for Power Management in a BuildingSofia Eu
 
SOFIA Vvirtual Wall Pilot Poster
SOFIA Vvirtual Wall Pilot PosterSOFIA Vvirtual Wall Pilot Poster
SOFIA Vvirtual Wall Pilot PosterSofia Eu
 
SOFIA PILOTS POSTER 8th European ITS Congress, Lyon - France
SOFIA PILOTS POSTER 8th European ITS Congress, Lyon - France SOFIA PILOTS POSTER 8th European ITS Congress, Lyon - France
SOFIA PILOTS POSTER 8th European ITS Congress, Lyon - France Sofia Eu
 
SOFIA PILOTS BROCHURE 8th European ITS Congress, Lyon - France
SOFIA PILOTS BROCHURE 8th European ITS Congress, Lyon - France SOFIA PILOTS BROCHURE 8th European ITS Congress, Lyon - France
SOFIA PILOTS BROCHURE 8th European ITS Congress, Lyon - France Sofia Eu
 
SOFIA Newsletter 1st Issue May 2011
SOFIA Newsletter 1st Issue May 2011SOFIA Newsletter 1st Issue May 2011
SOFIA Newsletter 1st Issue May 2011Sofia Eu
 
SOFIA - Interactive Quality Visualization (IQVis)- VTT
SOFIA - Interactive Quality Visualization (IQVis)- VTTSOFIA - Interactive Quality Visualization (IQVis)- VTT
SOFIA - Interactive Quality Visualization (IQVis)- VTTSofia Eu
 
SOFIA Poster - ARTEMIS & ITEA co-Summit 2010
SOFIA Poster - ARTEMIS & ITEA co-Summit 2010SOFIA Poster - ARTEMIS & ITEA co-Summit 2010
SOFIA Poster - ARTEMIS & ITEA co-Summit 2010Sofia Eu
 
SOFIA - ARTEMIS & ITEA co-Summit 2010
SOFIA - ARTEMIS & ITEA co-Summit 2010SOFIA - ARTEMIS & ITEA co-Summit 2010
SOFIA - ARTEMIS & ITEA co-Summit 2010Sofia Eu
 
SOFIA - M3 Smart Space Infrastructure. VTT/NOKIA
SOFIA - M3 Smart Space Infrastructure. VTT/NOKIASOFIA - M3 Smart Space Infrastructure. VTT/NOKIA
SOFIA - M3 Smart Space Infrastructure. VTT/NOKIASofia Eu
 
SOFIA - Overview Brochure
SOFIA - Overview BrochureSOFIA - Overview Brochure
SOFIA - Overview BrochureSofia Eu
 
SOFIA - A Smart Space Application to Dynamically Relate Medical and Environme...
SOFIA - A Smart Space Application to Dynamically Relate Medical and Environme...SOFIA - A Smart Space Application to Dynamically Relate Medical and Environme...
SOFIA - A Smart Space Application to Dynamically Relate Medical and Environme...Sofia Eu
 
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESISOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESISofia Eu
 

Más de Sofia Eu (20)

SOFIA Project Brochure Pilots Set
SOFIA Project Brochure Pilots Set SOFIA Project Brochure Pilots Set
SOFIA Project Brochure Pilots Set
 
SOFIA Poster ATC 2012
SOFIA Poster ATC 2012SOFIA Poster ATC 2012
SOFIA Poster ATC 2012
 
SOFIA ATC 2011_artemis_magazine
SOFIA ATC 2011_artemis_magazineSOFIA ATC 2011_artemis_magazine
SOFIA ATC 2011_artemis_magazine
 
SOFIA INDRA Presentation to AICIA
SOFIA INDRA  Presentation to AICIASOFIA INDRA  Presentation to AICIA
SOFIA INDRA Presentation to AICIA
 
SOFIA INDRA ATC2011 Virtual Wall Poster
SOFIA INDRA ATC2011 Virtual Wall PosterSOFIA INDRA ATC2011 Virtual Wall Poster
SOFIA INDRA ATC2011 Virtual Wall Poster
 
SOFIA project INDRA NEO Publication
SOFIA project INDRA NEO PublicationSOFIA project INDRA NEO Publication
SOFIA project INDRA NEO Publication
 
Cross-project collaboration leaflet: SOFIA/SMARCOS/CHIRON
Cross-project collaboration leaflet: SOFIA/SMARCOS/CHIRONCross-project collaboration leaflet: SOFIA/SMARCOS/CHIRON
Cross-project collaboration leaflet: SOFIA/SMARCOS/CHIRON
 
SOFIA/SMARCOS/CHIRON Poster ARTEMIS & ITEA2 Co-Summit 2011
SOFIA/SMARCOS/CHIRON Poster ARTEMIS & ITEA2 Co-Summit 2011SOFIA/SMARCOS/CHIRON Poster ARTEMIS & ITEA2 Co-Summit 2011
SOFIA/SMARCOS/CHIRON Poster ARTEMIS & ITEA2 Co-Summit 2011
 
Smart LED Lighting for Power Management in a Building
Smart LED Lighting for Power Management in a BuildingSmart LED Lighting for Power Management in a Building
Smart LED Lighting for Power Management in a Building
 
SOFIA Vvirtual Wall Pilot Poster
SOFIA Vvirtual Wall Pilot PosterSOFIA Vvirtual Wall Pilot Poster
SOFIA Vvirtual Wall Pilot Poster
 
SOFIA PILOTS POSTER 8th European ITS Congress, Lyon - France
SOFIA PILOTS POSTER 8th European ITS Congress, Lyon - France SOFIA PILOTS POSTER 8th European ITS Congress, Lyon - France
SOFIA PILOTS POSTER 8th European ITS Congress, Lyon - France
 
SOFIA PILOTS BROCHURE 8th European ITS Congress, Lyon - France
SOFIA PILOTS BROCHURE 8th European ITS Congress, Lyon - France SOFIA PILOTS BROCHURE 8th European ITS Congress, Lyon - France
SOFIA PILOTS BROCHURE 8th European ITS Congress, Lyon - France
 
SOFIA Newsletter 1st Issue May 2011
SOFIA Newsletter 1st Issue May 2011SOFIA Newsletter 1st Issue May 2011
SOFIA Newsletter 1st Issue May 2011
 
SOFIA - Interactive Quality Visualization (IQVis)- VTT
SOFIA - Interactive Quality Visualization (IQVis)- VTTSOFIA - Interactive Quality Visualization (IQVis)- VTT
SOFIA - Interactive Quality Visualization (IQVis)- VTT
 
SOFIA Poster - ARTEMIS & ITEA co-Summit 2010
SOFIA Poster - ARTEMIS & ITEA co-Summit 2010SOFIA Poster - ARTEMIS & ITEA co-Summit 2010
SOFIA Poster - ARTEMIS & ITEA co-Summit 2010
 
SOFIA - ARTEMIS & ITEA co-Summit 2010
SOFIA - ARTEMIS & ITEA co-Summit 2010SOFIA - ARTEMIS & ITEA co-Summit 2010
SOFIA - ARTEMIS & ITEA co-Summit 2010
 
SOFIA - M3 Smart Space Infrastructure. VTT/NOKIA
SOFIA - M3 Smart Space Infrastructure. VTT/NOKIASOFIA - M3 Smart Space Infrastructure. VTT/NOKIA
SOFIA - M3 Smart Space Infrastructure. VTT/NOKIA
 
SOFIA - Overview Brochure
SOFIA - Overview BrochureSOFIA - Overview Brochure
SOFIA - Overview Brochure
 
SOFIA - A Smart Space Application to Dynamically Relate Medical and Environme...
SOFIA - A Smart Space Application to Dynamically Relate Medical and Environme...SOFIA - A Smart Space Application to Dynamically Relate Medical and Environme...
SOFIA - A Smart Space Application to Dynamically Relate Medical and Environme...
 
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESISOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
 

SOFIA - Opening Embedded Information for Smart Applications. VTT/ESI/NOKIA

  • 1. SOFIA: Opening embedded information for smart applications Petri Liuha(1, Juha-Pekka Soininen(2, Raul Otaolea(3 1) Nokia Research Center, Finland petri.liuha@nokia.com 2) VTT Technical Research Centre, Oulu, Finland juha-pekka.soininen@vtt.fi 3) European Software Institute, Spain raul.otaolea@esi.es Abstract— In this paper we will present the principle of an Open the manufacturers of electronic devices do not have platforms Innovation Platform for smart environment applications. The and standards for such open devices. enabling technologies for both computing and communication have matured to a level where cost efficient use of embedded, Service oriented architectures do provide some solutions ubiquitous technologies makes sense. Thus, it is feasible to start but leave much to be desired for low resource devices, which in realizing the concept of Smart spaces that has been widely some cases also have to cope with changing context such as a studied in ubiquitous computing, ambient intelligence, and future physical movement between home, city or personal Internet research. environment and still provide the user with trusted functions in a uniform and predictable manner. It is very important for a From the user aspect, continually evolving information and user to be able to understand and operate devices and functions communication technologies (ICT) touch nearly every aspect of in his environment. Presently many users are not even aware of our contemporary life. Introduction of new applications or all the functionality that is embedded in a device, mostly services must address the human dimension of technology. In the because it is too complicated to access it. Furthermore, a user ambient services that use ubiquitous technologies, this human must not be obliged to interface and control his devices technology interaction will in nearest future extend to much more differently while at home, on the move in a city or in his office. complex field of everyday life that it has been so far. It is very important that a platform enables evolution inherently so that more and more functionality can be provided by devices In Artemis programme, the SOFIA project is addressing the challenge of creating smart environments. The project target is to and by the environment incrementally. Also there would be make information in the physical world available for smart resistance to an abrupt change that would require users to services in embedded and ubiquitous systems. replace their present day devices with new or better ones from one day to another. Any new way of making and using As core element we will present a software platform called electronic devices must not only evolve in the future but also Smart-M3 as cross-domain and cross-platform interoperability take into account the existing devices and work with them and information exchange platform between multi-domain seamlessly and ensure backward compatibility. embedded systems. Secondly, we will present the application development framework for applications that use information The SOFIA project is concentrated around the notion of from different embedded systems. smart space. A smart space is an ecosystem of interacting objects. Physically a smart space is formed by sensors, devices, Keywords- smart enviroments; information interoperability; and appliances that populate this space and it has the capability ontology driven application development to self-organize itself, and to provide services and complex data to, for example, a person who physically traverses this space or a service that, queries remotely about the state of the I. INTRODUCTION entire space or part of it. This notion of immersion in the Users today have electronic devices dedicated to perform a computing environment and at the same time the disappearance limited number of functions defined by the manufacturer of a of computers is shared with the pervasive computing vision device. These devices often have data and functions that can be [Wei91]. Moreover, a smart space has to be able to elaborate useful if made available to other devices in the user's on basic services and raw data to provide orchestrated services environment. By doing so, they can enable more smart use or mash-up data to be used by the external world. These smart cases than the manufacturer of a device could have foreseen. spaces thus poses many new challenges to embedded systems Although this would add value to the user and could also e.g. technologies, in terms of dynamicity (smart spaces are help energy efficient solutions, it is not feasible today because intrinsically dynamic as they need to continuously adapt on the basis of the context, habits, etc., by
  • 2. adding/removing/composing on-the-fly basic elements), Smart Spaces scalability (smart spaces can span from a small to a very large the number of sensors/devices/appliances), trust (some smart Smart KP KP KP World SIB spaces needs to be organized around a number of trusted KP SIB KP KP KP entities), and privacy (some smart spaces built around a house for example should pay specific attention to privacy Service Domain preservation). Service Serv Serv Client Serv Client Serv SOI Srv Srv Srv Srv Client World Srv Client Client Client SN SN Srv Client Srv SOFIA project targets to define and open a completely new SN AN SN SOI SOI Srv SOI service ontology interpreter domain for technology and service innovation in a global scale. The main mission of the project is to make "information" in the Device Network Dev Dev physical world available for smart services in embedded and Device Dev Dev GW Dev GW Dev ubiquitous systems. As concrete results, the project targets to World Dev Dev Dev Gateway between develop Open Innovation Platform (OIP) architecture and GW networks Application Development Kit (ADK). The key challenge is the Figure 1. Separation of different levels of interoperability is needed in interoperability between devices and embedded systems creating smart environments. originating from different domains. The paper is constructed so that Section II descries the The key benefits of our approach are that it is completely principles and technical solutions for the information domain independent information sharing solution for objects interoperability, and the Section III describes the Application and devices in the space. It is also possible to reuse and share Development principles and tools. Section IV gives some the capabilities and information of devices and appliances that examples of applications.. have different original purposes and uses in different domains. It is a use case and application independent. It is easy to build II. SMART-M3 OPEN INNOVATION PLATFORM up complete user services step by step as the Internet. It also respects the device integrity, because the final choice for what The Smart-M3 open innovation platform is an information- information to share and how to use the shared information level interoperability solution that enables multi device, multi depends on the user or device manufacturer. It is an open vendor, and multi domain interoperability. It opens the solution. The information sharing is offered as a service for embedded data in the devices and objects in our current devices and applications. Openness makes it easy to include the physically accessible environment to applications so that they idea even into simple devices and appliances. It is also open can create better and more cost, energy, and resource optimized platform where information interoperability is based on services to users. The vision is that Smart-M3 opens the local common ontology. This enables the possibility to create mash- information and together with Web services and Semantic web ups and other type of information, service and application concepts revolutionizes the application development and collections in a completely new and yet unknown way. application possibilities. Smart-M3 will be an open solution meaning that is freely available and modifiable, easy to integrate and to adapt into various products and systems. A. Principles The main principle of Smart-M3 is that it focuses on The device interoperability can be divided into three opening and sharing of information only. The interoperability separate levels in order to clarify the different needs of them as agreement is done at the information level only. Common use in Fig. 1. We need to have a capability to transfer bits between case specific or domain specific ontology model as a basis of the devices shown at the bottom. The applications must be able information and common Smart-M3 specific data format in the to use the services also across device boundaries as shown in sharing are issues that need to agree with companies that the middle. Finally, the information has to have the same develop products that participate in smart environment. meaning in different devices in order to be used correctly. In smart environment all the three levels must exist. From the In SOFIA project several vertical use cases were analyzed and practical ecosystem point of view the problem is the world is the main principles were defined. Most important ones were extremely heterogeneous. The variety of solutions is enormous the open information, simplicity, providing information sharing and it is impossible to support them all or even small subset of as a service, extensibility, and being agnostic with respect to them economically feasible way. On the other hand, the variety anything principles. In addition the typical principles related to of technologies is needed in order to be able to create feasible creating usable platform were recognised. Examples are solutions in all possible domains. security, trust, privacy, scalability, quality management, ability to evolve, and support for legacy technologies. In smart-M3 we focus on highest level (information level) and rely on existing solutions for solving the service and device B. Smart-M3 concept level solutions. The core concept is a common shared memory or information broker existing in the physical space, The information level view of Smart-M3 concept is presentation of information using ontology models, and presented in Fig. 2. The basic information level elements are: providing interfaces for legacy service and communication 1) semantic information broker (SIB) is information world solutions. The information broker is exposed as a service in entity for storing, sharing and governing the information of one different service level solutions and accessed using the smart space. 2) Knowledge processor (KP) is an information communication channels supported by devices. world entity that processes information and contributes to
  • 3. and/or consumes information content from SIB according to Local information storage with RDF-store ontology relevant to its defined functionality. 3) Smart space and information access protocol (SSAP) is used by knowledge processors when Knowledge governance functionality processor accessing SIB. One or more SIBs create a smart space (SS) Knowledge processor that is a named search extent of information. The simple operation principle of Smart-M3 is following: Semantic information broker 1. Knowledge processors discover the SIB service (or Smart Application logic and interface supporting the Space) using discovery and communication mechanisms Access protocol (SSAP), use of common use case ontology and access to offered by the device hosting the SIB. with basic operations, e.g. join, leave, insert, remove, information broker subscribe. Etc. 2. KPs join the smart space using SSAP join message. Knowledge processor 3. KPs access the SIB using SSAP insert, remove, update messages or react to changes of information they Figure 2. Information level view on Smart-M3. subscribed with respective message. The information is stored into the SIB. used service API, as is the case of WebServices. We propose 4. Environment interacts with KPs in the way how it is an ontology governance process as the alternative to use case design in applications that are in KPs (so, the smartness of specific service API standardization. In simple cases this would the environment is actually programmed in the KPs) mean agreeing on common ontology models. In more advanced 5. The KPs leave the smart space using SSAP leave cases the ontology governance process would agree and adopt messages. new vocabularies using RDF and RDFS (RDF schema) defined constraints. Additionally the vocabularies could be further The Smart-M3 is meant for opening the information. It does constrained by domain specific ontologies. Finally, Knowledge not guarantee the performance and it is not meant for sending Processors (KP) can actively monitor and update the commands between devices (or KPs). That kind of information in the RDF store based on other kinds of reasoning interoperability should be implemented using service level rules. capabilities. Implementations of Smart-M3 provide a uniform, use case C. Logical architecture of Smart-M3 based smart independent service API for sharing information in a Smart environment Space. The possibility to expose Smart Space service APIs The logical architecture of smart environment (SE) based concurrently through multiple domains and transport on Smart-M3 IOP is presented in Fig. 3. The practical smart technologies makes the information currently isolated in environment consists of one or more SIBs and two or more multiple heterogeneous embedded domains available (i.e. to be KPs. The participating SIBs have to share service and monetized) by using web programming tools and methods communication level solutions with each other and at least one without compromising power, safety and performance solution (at service and communication level) with each KP in requirements of the embedded domains. As an example this the smart environment. The KPs do not necessarily have to would allow an application programmer who programs for a share any communication of service technologies. mobile platform to access contextual information in a car, home, office, football stadium etc in a uniform way and Smart space application (which is something that interacts improve the user experience, without compromising real-time with physical world or user) is a logical collection of a set of requirements of the embedded system. KPs functionality (all KPs in smart environment do not have to participate). The requirement is that KPs either produce or SIB stores information in RDF (Resource Description exploit the information stored by one of the SIBs in the SE. Language) format, which is a W3C standard. RDF gives ability to join data from vocabularies from different business domains, The requirement for having smart space applications is that without having to negotiate structural differences between the KPs and SIBs involved have common ontology model, data them. It also makes the vast reasoning and ontology theory, format, and information access solutions. Ontology model is a practice and tools developed by the semantic web community specified model of the information that defines the meaning of available for Smart Space application developers. it. It can be either use case or domain specific also. Data format is RDF triplets (predicate, subject, and object) as explained in The focus in the information level in Smart-M3 addresses previous chapter. Information access solution is SSAP value in application development by abolishing the need for a protocol. SSAP is basically a simple protocol that defines the priori use case standardization familiar in service level basic messages (or service operations of SIB) between KP and solutions such as DLNA and Bluetooth. Furthermore, Smart- SIB communication. SSAP is defined in more detail in Table 1. M3 shall abolish design time freezing of the address of the
  • 4. Optional Optional SIB2-N SIB1 KP1 KP2 KP3-N Smart space Smart space use case logic application Information logic storage KPI Ontology interpreter and Ontology governance (use) support Information level Ontology model Data format Common solution Information access Existing service solutions (service discovery, service registry, resource manager) Service level Common solution Communication Existing communication solutions (protocols, physical layers, etc.) level Figure 3. Logical architecture of smart environment. The logical structure of the SIB consists of RDF storage and there may be copyright and privacy reasons not to merge and ontology interpreter and governance functions in addition the information. In order to enable these types of business to common parts. RDF storage is a memory (or database) for models we are developing the concept of deductive closure keeping the RDF triplets. The ontology interpreter and towards distributed deductive closure. This work is currently in governance part can be divided into main three parts: the early phase. support for multiple SIBs, support for SSAP operations, and interfaces to service level. The support for SSAP operations means the implementations of defined in SIB interface specification. The basic functionality is defined, but there are open issues related TABLE I. SSAP OPERATIONS. security, authentication, and query languages, for example. In Name Description query languages, the template query and Wilbur query are Join Begins a session between KP and SIB currently supported in reference implementation. Leave Terminates the session Interface to service level is needed for implementing the Insert Inserts information into the smart space SOA specific functionality that is needed for communication. Remove Removes information from the smart space Update Combination of remove and insert operations The current status of Smart-M3 OIP is that the core Query Queries information within the smart space functionality has been developed and published in open source Subscribe Sets up a persistent query at www.sourecforge.org in smart-m3 project. The idea has Unsubscribe Terminates a persistent query been tested in some examples and there are on-going work Results Updates the result set of a persistent query related improving of the performance and scalability. In indication addition, the usability of Smart-M3 as a solution in smart Unsubscribe Notifies a knowledge processor of a smart space environments is being improved by developing solutions that indication initiated termination of its subscription increase the security and privacy features, allow run-time Leave Notifies a knowledge processor of a smart space quality adaptations, and context awareness support. indication initiated termination of the session III. APPLICATION DEVELOPMENT FRAMEWORK The idea in supporting multiples SIBs is that each Smart- M3 smart space can be constructed by physically distributed One of the key points related with the success of a technology RDF stores. This allows implementations where the personal is the existence of a development life cycle and a SDK information of a family is stored at home but it is augmented (Software Development Kit) that allow companies develop by non-personal information in, for example, a weather service solutions based on this technology. This is the reason why the
  • 5. development of an ADK (Application Development Kit) were The four layers forming Smart Applications have different scheduled from the start of the project. Thus, the community responsibilities: will have not only the Smart-M3 solution definition but also all the necessary tools to start programming smart application • Logic. The developer is only responsible for this layer. The based on it. other ones are generated automatically by the ADK. Once the developer has chosen the programming language, the As described in the previous section, the Smart-M3 open ontologies to be used and the communication protocols innovation platform is an information-level interoperability (this is done using a wizard), they only have to concentrate solution that enables multi device, multi vendor, and multi in developing the logic dealing with the API provided by domain interoperability. This heterogeneity means that the the model layer. ADK must include the possibility of programming in several languages and therefore different editors, compilers, debuggers, • Model. This layer provides the mapping of the ontologies etc. Hence, the IDE (Integrated Development Environment) into classes. The programmers not familiar with ontologies must have a great flexibility to include different needs and be or Smart-M3 translate all the ontology concepts (selected extensible to fulfill any future requirements. Moreover, it with other tools of the ADK) into classes in order to should be also very intuitive and easy to use. facilitate their use. The generated classes know how to map method calls to SIB calls. So from the point of view of the programmer they only see an API representing concepts A. Smart Application Development Approach (e.g. devices, sensors, actuators, capacities, services, etc.) and do not know anything about communication, SIB The goals of the ADK are twofold. First, provide tools and protocols or semantic issues. APIs (Application Programming Interface) to develop Smart • SSAP. This layer is an API with a set of classes to deal with Applications. And second, hide as much as possible semantic the SIB. It sends and receives all the SSAP protocol technologies complexity and Smart-M3 to the programmers. messages to/from the SIB, and makes appropriate changes Even though semantic technologies are becoming more and in the upper model layer. This layer does not know more familiar due to semantic web, the reality is that their use anything about the communication protocols (TCP/IP, are still more concentrated in academia world rather than in the Bluetooth, Zigbee, etc.) used to connect with a SIB. industry. Because of this, we find that the community of • Connectors. This layer abstracts the communication developers is very skilled in programming languages but not in protocols. The three main responsibilities are implementing semantics. Hence, the ADK must provide some kind of the input/output operations in a given protocol, the solution that allows developers work directly with classes and discovery of the SIB and the management of a not with ontologies. So bearing in mind this fact and also the communication inherent errors like interruptions, timeouts, goal of spreading the use of Smart-M3 to as much people as etc. possible, the ADK includes the necessary tools and APIs to fulfill this important requirement. Although the layers are designed to cooperate among themselves, each one is completely independent from the upper One of the main problems to face during smart application ones. Therefore, a programmer can add abstraction as needed. development is how to model the ontology in order to have a For example, if they want to use only connection facilities they lightweight class structure representing the concepts to be used have to add connectors layer. If they do not want to deal with in runtime. In our approach, we have divided the smart SSAP protocol, they can add SSAP layer. If they prefer work application in four layers (represented in figure 4) responsible with classes instead of ontologies then they add model layer for dealing with the semantic information stored in the SIB. and so on. Anyway, the default and recommended way of The layer called Model is a class representation of the concepts development is to use all layers. defined in the ontology. To generate it, we are developing a tool called OWL2Classes based on templates. This tool is capable of translating from OWL to several programming Let’s see an example. Suppose we have defined the following languages and generates an API that interacts with below class definition and hierarchy in the ontology: layers. <owl:Class rdf:about="#Event"> <rdfs:subClassOf rdf:resource="&owl;Thing"/> In the figure 6 the smart application layers are presented. The </owl:Class> parts representing the KP are automatically generated, so the developer only has to add the logic layer to create a smart <owl:Class rdf:about="#RawEvent"> application. <rdfs:subClassOf rdf:resource="#Event"/> </owl:Class> <owl:Class rdf:about="#SmokeEvent"> <rdfs:subClassOf rdf:resource="#RawEvent"/> </owl:Class> <owl:Class rdf:about="#Location"> <rdfs:subClassOf rdf:resource="&owl;Thing"/> Figure 4. Smart Application layers. </owl:Class>
  • 6. <owl:DatatypeProperty rdf:ID="eventId"> @Override <rdf:type public void setValue(boolean newValue) { rdf:resource="&owl;FunctionalProperty"/> Triplet removedTriplet = <rdfs:domain rdf:resource="#Event"/> new Triplet("SmokeEvent", "value", value); <rdfs:range rdf:resource="&xsd;string"/> Triplet addedTriplet = </owl:DatatypeProperty> new Triplet("SmokeEvent", "value", newValue); SSAPMessageParameter parameter = <owl:ObjectProperty rdf:ID="isLocatedIn"> new SSAPMessageParameter(); <rdfs:range rdf:resource="#Location"/> <rdfs:domain rdf:resource="#RawEvent"/> parameter.addInsertTriplets(addedTriplet); </owl:ObjectProperty> parameter.addRemoveTriplets(removedTriplet); <owl:DatatypeProperty rdf:ID="value"> sib.update(this, parameter); <rdf:type } rdf:resource="&owl;FunctionalProperty"/> ... <rdfs:domain rdf:resource="#SmokeEvent"/> } <rdfs:range rdf:resource="&xsd;boolean"/> </owl:DatatypeProperty> <owl:DatatypeProperty B. Life cycle development rdf:ID="#reliabilityIndex"> Once the architecture and all the stakeholders involved in the <rdf:type rdf:resource="&owl;FunctionalProperty"/> Smart-M3 solution are defined (e.g. SIB, KP and SSAP), a <rdfs:domain rdf:resource="#SmokeEvent"/> software engineering definition is needed to develop smart <rdfs:range rdf:resource="&xsd;int"/> applications. The objetives to fulfill are: </owl:DatatypeProperty> • define the life-cycle development of Sofia Smart Applications. • develop a cross-domain ADK. • develop/integrate needed tools to cover each development phase. All the solutions are based on the ODD (Ontology Driven Development) represented in figure 4. In this approach ontologies are used to model the context, devices, capabilities and services. This ontology is already defined by the ontology governance and developers use it to develop the smart applications. The ontology governance is responsible for defining, changing and evolving the ontologies that model the different domains. In order to manage them efficiently, four hierarchical layers have been defined: • Foundational ontologies. This is the most abstract one. The goal is to include all the existing ontologies that can be useful to model the domains and use cases. • Core ontology. Responsible for gathering all common concepts along the domain ontologies preventing overlapping. A class mapping from the OWL to Java KP Classes can be • Domain ontologies. These ontologies define all the expressed as: concepts, relationships and individuals of each domain. public class SmokeEvent extends AbstractKP • Application ontologies. This is the most concrete layer and implements ISmokeEvent, KPProducer, KPConsumer { defines the use case of a domain or inter-domain. private String eventId; Once the ontology is defined, we use the ODD approach to private Location location; create smart applications. It is formed by four main phases: private boolean value; • Design. The start point is the ontologies. The developer public SmokeEvent() { designs the smart application in the smart modeler editor. } The smart modeler is a visual editor to design the @Override application using graphs, connectors, rules, guards and public Location getIsLocatedIn() { other elements of the tool. Once the design is done, the return location; developer must concrete the target platform, the } programming language (Java, Python, C or C++) to … translate the ontologies to classes and the communication
  • 7. protocols. After this stage, the KP is generated (the bottom • Timely response to the requests for changes and three layers of the smart application). The model layer is enhancements in a controlled and organized way through created by the OWL2Classes tool that is transparent for the www.eclipse.org. developer. After this stage, the appropriate editor, compiler and debugger are activated so that the developer can finish • It is the facto industrial IDE. the logic. Eclipse is an open source framework that provides many of • Implementation. In the implantation phase, the developer the underlying services software developers need. This would focuses in the logic of the smart application using the be the idea we were looking for, a "toolkit for designing appropriate editor. toolkits." Not just a set of APIs, the framework consists of real code designed to do real work. In short, Eclipse is a multi- • Testing. To test the application a SIB simulator is needed. language software development environment comprising an The SIB simulator is a tool included in the ADK so that IDE and a plug-in system to extend it. programmers can check in real time the status of the SIB. Hence, they can see the correctness of the SSAP operations. The Eclipse Platform is the foundation for constructing and This simulator is visual, so it is very easy and intuitive running integrated end-to-end software development tools. check the information stored in the SIB. As the only The platform consists of open source software components requirement to connect a SIB is follow SSAP protocol, it is that tool vendors use to construct solutions that plug in to integrated software workbenches. The Eclipse Platform guaranteed that the smart application will run correctly with other SIB implementations. incorporates technology expressed through a well-defined design and implementation framework. • Exploitation. Depending on the target platform, The ADK consist on an Eclipse module composed by several programming language and communication protocols plugins that extend the IDE: defined in the design phase, the final executable to be deployed can differ. In this phase the suitable deployment • Smart visual modeler. A visual editor to define the units are generated. relationships between ontology concepts and SIBs. • OWL2Classes translator. A tool to translate ontologies written on OWL/RDF(S) to several programming languages classes according to the smart application layer composition. • Java editor. The very well known Eclipse java editor. • SIB server and viewer. A localhost SIB simulator to test applications. The information stored in the SIB is presented visually in a windows plugged in the IDE. • Sofia Project wizard. A wizard to gather all the smart application characteristics like ontologies to use, target platform, programming language, communication tools, project paths, etc. In the figure 6 the architecture of the ADK is presented. Figure 5. Ontology Driven Development. After investigating deeply all the different IDEs present in the market, finally we decided to use Eclipse as the base IDE for the ADK. The main reasons were: The APIs provided are tested by the cross-industry consortium to ensure code quality portability and performance. • It delivers the ability to create derivative works, including redistribution of the platform. The Eclipse Platform allows tools developers to focus on core competencies and new models for development technology. Figure 6. ADK Architecture. The ADK architecture is divided in two main parts. The first one is the SIB (the server) which the smart applications
  • 8. (the clients) can connect to. As Eclipse is based on OSGi, we C. Smart city decided to implement the SIB simulator as an OSGi bundle. Thereby, developers can use the SIB inside and outside the Smart city is a very large application context, where typically ADK to test their solutions. Eclipse relay on Equinox OSGi to public areas include different embedded systems, some of gain dynamicity, so the ADK also exploit this benefit with the them critical or closed. Personal devices can access some of ability of plug future services as bundles. this information and the embedded systems further benefit Another great feature of Eclipse is that it is multiplatform. In from aggregated data provided to users in the space. A smart fact, the development team responsible for building the ADK city is the capability of creating on-the-fly systems that are is programming in different operating systems (Windows, able to organize a smart environment around a public place, Linux and Mac OS X), so it is guaranteed that the ADK will for example, for surveillance or monitoring purposes. In this run at least in these platforms. case dynamicity and scalability are main concerns while privacy is less important here. Distinct smart spaces can IV. APPLICATIONS AREAS overlap in space and time and challenging services that benefit During the project real usage will be tested in three different from information in multiple domains will be supported by applications contexts: personal spaces, smart indoor spaces SOFIA. and smart city. Each of these addresses specific requirements V. CONCLUSIONS and constraints arising from their environments yet faces similar challenges in sharing information. We envision an environment, where Embedded Systems (ESs) are able to connect, discover and enjoy personalized and A. Personal smart spaces cooperating services operating on interoperable, heterogeneous data. Connection at the lower level will occur In personal environments, the use cases are typically dynamic through a SOFIA general overlay based on legacy and the area limited. Devices and their services can be connectivity and communication protocols that can be seen as developed throughout their lifetime, independent of each the basic communication layer of the architecture. Logically other. A “personal space” proactively creates a smart space this overlay can be formed by several islands of around a moving person in order to enable this person to interconnected ESs. At a higher level of abstraction, each ES access and organize services and data around him. Envisaged can participate to one or more smart spaces. ESs participating services include support for efficient networking and to the same smart are connected through a second level interaction between people involved in mobile social activities overlay. From an application viewpoint, ESs participating to a (PMSN) and may involve smart storage and context- smart space overlay may provide services/data to another dependent handling of multimedia content in challenging smart space. Also in this case the smart space specific overlay environments, such as, for example, in cars. This is therefore a can be seen as several islands formed by interconnected ESs. highly dynamic environment with on-demand trust and privacy requirements while scalability not necessarily is a SOFIA Open Innovation reference Platform will support the primary concern interworking of smart embedded services for creating and managing different smart spaces, through the use of composability and semantic techniques, in order to guarantee B. Smart indoor spaces dynamicity, trust and scalability, while preserving privacy if needed. Moreover, the generality of the SOFIA architecture In smart indoor spaces like e.g. smart office, embedded will be ensured through the identification of ontology for each infrastructure equipment as well as appliances and personal of the smart space under investigation and by deriving a devices can share information without being part of an common ontology for all of them. This common ontology will integrated system. A smart indoor space has the target of self- lead to the layered architecture of the SOFIA platform and to organizing sensors and devices inside buildings to enhance the identification and specification of both, the core their efficiency at several levels (e.g., energy efficiency, smart middleware and the smart-space specific services. maintenance) and to enhance also safety, security, productivity and comfort of the occupants (e.g. residents, operators). Multiple actors with different profiles are involved in this ACKNOWLEDGMENTS smart space. Here, SOFIA will enable discovery and access to This project has been funded by the ARTEMIS Joint cooperating services tailored to the actors profile and context. Undertaking under Project contract 100017, and national EU This specific space has very strong privacy and trust issues member states part of the SOFIA consortium (Finland, Italy, while dynamicity might be a secondary concern. Netherlands, Spain).