The document describes the SOFIA project which aims to create smart environments by making information from physical devices available to smart services. The key element discussed is the Smart-M3 platform, which allows cross-domain information exchange between embedded systems using a common ontology and format. Smart-M3 defines semantic information brokers that store and share information, and knowledge processors that access and process this information to enable new smart applications.
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).