SOFIA: Opening embedded information for smart                     applications                                      Petri ...
adding/removing/composing on-the-fly basic elements),                                                                     ...
and/or consumes information content from SIB according to                                                Local information...
Optional                                                                                        Optional          SIB2-N  ...
development of an ADK (Application Development Kit) were               The four layers forming Smart Applications have dif...
<owl:DatatypeProperty rdf:ID="eventId">                      @Override        <rdf:type                                   ...
protocols. After this stage, the KP is generated (the bottom     • Timely response to the requests for changes and  three ...
(the clients) can connect to. As Eclipse is based on OSGi, we        C. Smart citydecided to implement the SIB simulator a...
Upcoming SlideShare
Loading in...5

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


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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

  1. 1. SOFIA: Opening embedded information for smart applications Petri Liuha(1, Juha-Pekka Soininen(2, Raul Otaolea(3 1) Nokia Research Center, Finland 2) VTT Technical Research Centre, Oulu, Finland 3) European Software Institute, Spain raul.otaolea@esi.esAbstract— In this paper we will present the principle of an Open the manufacturers of electronic devices do not have platformsInnovation Platform for smart environment applications. The and standards for such open devices.enabling technologies for both computing and communicationhave matured to a level where cost efficient use of embedded, Service oriented architectures do provide some solutionsubiquitous technologies makes sense. Thus, it is feasible to start but leave much to be desired for low resource devices, which inrealizing the concept of Smart spaces that has been widely some cases also have to cope with changing context such as astudied in ubiquitous computing, ambient intelligence, and future physical movement between home, city or personalInternet research. environment and still provide the user with trusted functions in a uniform and predictable manner. It is very important for aFrom the user aspect, continually evolving information and user to be able to understand and operate devices and functionscommunication technologies (ICT) touch nearly every aspect of in his environment. Presently many users are not even aware ofour contemporary life. Introduction of new applications or all the functionality that is embedded in a device, mostlyservices must address the human dimension of technology. In the because it is too complicated to access it. Furthermore, a userambient services that use ubiquitous technologies, this human must not be obliged to interface and control his devicestechnology 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 devicesIn Artemis programme, the SOFIA project is addressing thechallenge of creating smart environments. The project target is to and by the environment incrementally. Also there would bemake information in the physical world available for smart resistance to an abrupt change that would require users toservices 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 usingAs core element we will present a software platform called electronic devices must not only evolve in the future but alsoSmart-M3 as cross-domain and cross-platform interoperability take into account the existing devices and work with themand information exchange platform between multi-domain seamlessly and ensure backward compatibility.embedded systems. Secondly, we will present the applicationdevelopment framework for applications that use information The SOFIA project is concentrated around the notion offrom 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 capabilityontology 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 disappearancelimited number of functions defined by the manufacturer of a of computers is shared with the pervasive computing visiondevice. These devices often have data and functions that can be [Wei91]. Moreover, a smart space has to be able to elaborateuseful if made available to other devices in the users on basic services and raw data to provide orchestrated servicesenvironment. By doing so, they can enable more smart use or mash-up data to be used by the external world. These smartcases than the manufacturer of a device could have foreseen. spaces thus poses many new challenges to embedded systemsAlthough this would add value to the user and could also e.g. technologies, in terms of dynamicity (smart spaces arehelp 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. 2. adding/removing/composing on-the-fly basic elements), Smart Spacesscalability (smart spaces can span from a small to a very largethe number of sensors/devices/appliances), trust (some smart Smart KP KP KP World SIBspaces needs to be organized around a number of trusted KP SIB KP KP KPentities), and privacy (some smart spaces built around a housefor example should pay specific attention to privacy Service Domainpreservation). 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 interpreterdomain for technology and service innovation in a global scale.The main mission of the project is to make "information" in the Device Network Dev Devphysical world available for smart services in embedded and Device Dev Dev GW Dev GW Devubiquitous systems. As concrete results, the project targets to World Dev Dev Dev Gateway betweendevelop Open Innovation Platform (OIP) architecture and GW networksApplication Development Kit (ADK). The key challenge is the Figure 1. Separation of different levels of interoperability is needed ininteroperability 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 completelyprinciples and technical solutions for the information domain independent information sharing solution for objectsinteroperability, and the Section III describes the Application and devices in the space. It is also possible to reuse and shareDevelopment principles and tools. Section IV gives some the capabilities and information of devices and appliances thatexamples 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 informationlevel interoperability solution that enables multi device, multi depends on the user or device manufacturer. It is an openvendor, and multi domain interoperability. It opens the solution. The information sharing is offered as a service forembedded data in the devices and objects in our current devices and applications. Openness makes it easy to include thephysically accessible environment to applications so that they idea even into simple devices and appliances. It is also opencan create better and more cost, energy, and resource optimized platform where information interoperability is based onservices 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 applicationconcepts revolutionizes the application development and collections in a completely new and yet unknown way.application possibilities. Smart-M3 will be an open solutionmeaning that is freely available and modifiable, easy tointegrate 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 interoperabilityseparate levels in order to clarify the different needs of them as agreement is done at the information level only. Common usein Fig. 1. We need to have a capability to transfer bits between case specific or domain specific ontology model as a basis ofthe devices shown at the bottom. The applications must be able information and common Smart-M3 specific data format in theto use the services also across device boundaries as shown in sharing are issues that need to agree with companies thatthe 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. Insmart environment all the three levels must exist. From the In SOFIA project several vertical use cases were analyzed andpractical ecosystem point of view the problem is the world is the main principles were defined. Most important ones wereextremely heterogeneous. The variety of solutions is enormous the open information, simplicity, providing information sharingand it is impossible to support them all or even small subset of as a service, extensibility, and being agnostic with respect tothem economically feasible way. On the other hand, the variety anything principles. In addition the typical principles related toof technologies is needed in order to be able to create feasible creating usable platform were recognised. Examples aresolutions 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 conceptlevel solutions. The core concept is a common shared memoryor information broker existing in the physical space, The information level view of Smart-M3 concept ispresentation 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 worldsolutions. The information broker is exposed as a service in entity for storing, sharing and governing the information of onedifferent service level solutions and accessed using the smart space. 2) Knowledge processor (KP) is an informationcommunication channels supported by devices. world entity that processes information and contributes to
  3. 3. and/or consumes information content from SIB according to Local information storage with RDF-storeontology relevant to its defined functionality. 3) Smart space and informationaccess protocol (SSAP) is used by knowledge processors when Knowledge governance functionality processoraccessing SIB. One or more SIBs create a smart space (SS) Knowledge processorthat is a named search extent of information. The simpleoperation principle of Smart-M3 is following: Semantic information broker1. 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 processor3. 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 propose4. 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 advanced5. 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, Knowledgenot guarantee the performance and it is not meant for sending Processors (KP) can actively monitor and update thecommands between devices (or KPs). That kind of information in the RDF store based on other kinds of reasoninginteroperability should be implemented using service level rules.capabilities. Implementations of Smart-M3 provide a uniform, use case C. Logical architecture of Smart-M3 based smartindependent service API for sharing information in a Smart environmentSpace. The possibility to expose Smart Space service APIs The logical architecture of smart environment (SE) basedconcurrently through multiple domains and transport on Smart-M3 IOP is presented in Fig. 3. The practical smarttechnologies makes the information currently isolated in environment consists of one or more SIBs and two or moremultiple heterogeneous embedded domains available (i.e. to be KPs. The participating SIBs have to share service andmonetized) by using web programming tools and methods communication level solutions with each other and at least onewithout compromising power, safety and performance solution (at service and communication level) with each KP inrequirements of the embedded domains. As an example this the smart environment. The KPs do not necessarily have towould allow an application programmer who programs for a share any communication of service 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 interactsimprove the user experience, without compromising real-time with physical world or user) is a logical collection of a set ofrequirements 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 abilityto join data from vocabularies from different business domains, The requirement for having smart space applications is thatwithout having to negotiate structural differences between the KPs and SIBs involved have common ontology model, datathem. It also makes the vast reasoning and ontology theory, format, and information access solutions. Ontology model is apractice and tools developed by the semantic web community specified model of the information that defines the meaning ofavailable 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 SSAPvalue in application development by abolishing the need for a protocol. SSAP is basically a simple protocol that defines thepriori use case standardization familiar in service level basic messages (or service operations of SIB) between KP andsolutions 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. 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 mergeand ontology interpreter and governance functions in addition the information. In order to enable these types of businessto common parts. RDF storage is a memory (or database) for models we are developing the concept of deductive closurekeeping the RDF triplets. The ontology interpreter and towards distributed deductive closure. This work is currently ingovernance part can be divided into main three parts: the early for multiple SIBs, support for SSAP operations, andinterfaces 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 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 technologyRDF stores. This allows implementations where the personal is the existence of a development life cycle and a SDKinformation of a family is stored at home but it is augmented (Software Development Kit) that allow companies developby non-personal information in, for example, a weather service solutions based on this technology. This is the reason why the
  5. 5. development of an ADK (Application Development Kit) were The four layers forming Smart Applications have differentscheduled from the start of the project. Thus, the community responsibilities:will have not only the Smart-M3 solution definition but also allthe necessary tools to start programming smart application • Logic. The developer is only responsible for this layer. Thebased on it. other ones are generated automatically by the ADK. Once the developer has chosen the programming language, theAs described in the previous section, the Smart-M3 open ontologies to be used and the communication protocolsinnovation platform is an information-level interoperability (this is done using a wizard), they only have to concentratesolution that enables multi device, multi vendor, and multi in developing the logic dealing with the API provided bydomain interoperability. This heterogeneity means that the the model layer.ADK must include the possibility of programming in severallanguages and therefore different editors, compilers, debuggers, • Model. This layer provides the mapping of the ontologiesetc. Hence, the IDE (Integrated Development Environment) into classes. The programmers not familiar with ontologiesmust have a great flexibility to include different needs and be or Smart-M3 translate all the ontology concepts (selectedextensible to fulfill any future requirements. Moreover, it with other tools of the ADK) into classes in order toshould 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 conceptsA. Smart Application Development Approach (e.g. devices, sensors, actuators, capacities, services, etc.) and do not know anything about communication, SIBThe 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 withApplications. And second, hide as much as possible semantic the SIB. It sends and receives all the SSAP protocoltechnologies complexity and Smart-M3 to the programmers. messages to/from the SIB, and makes appropriate changesEven though semantic technologies are becoming more and in the upper model layer. This layer does not knowmore 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 communicationdevelopers is very skilled in programming languages but not in protocols. The three main responsibilities are implementingsemantics. Hence, the ADK must provide some kind of the input/output operations in a given protocol, thesolution that allows developers work directly with classes and discovery of the SIB and the management of anot 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 tofulfill this important requirement. Although the layers are designed to cooperate among themselves, each one is completely independent from the upperOne 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 theylightweight class structure representing the concepts to be used have to add connectors layer. If they do not want to deal within runtime. In our approach, we have divided the smart SSAP protocol, they can add SSAP layer. If they prefer workapplication in four layers (represented in figure 4) responsible with classes instead of ontologies then they add model layerfor dealing with the semantic information stored in the SIB. and so on. Anyway, the default and recommended way ofThe 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 atool called OWL2Classes based on templates. This tool iscapable of translating from OWL to several programming Let’s see an example. Suppose we have defined the followinglanguages 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 thedeveloper 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. 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 developmentrdf:ID="#reliabilityIndex"> Once the architecture and all the stakeholders involved in the <rdf:typerdf: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 theexpressed as: concepts, relationships and individuals of each domain.public class SmokeEvent extends AbstractKP • Application ontologies. This is the most concrete layer andimplements 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. 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 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 themarket, finally we decided to use Eclipse as the base IDE forthe ADK. The main reasons were:The APIs provided are tested by the cross-industry consortiumto 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. 8. (the clients) can connect to. As Eclipse is based on OSGi, we C. Smart citydecided 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 typicallyADK to test their solutions. Eclipse relay on Equinox OSGi to public areas include different embedded systems, some ofgain dynamicity, so the ADK also exploit this benefit with the them critical or closed. Personal devices can access some ofability of plug future services as bundles. this information and the embedded systems further benefitAnother great feature of Eclipse is that it is multiplatform. In from aggregated data provided to users in the space. A smartfact, the development team responsible for building the ADK city is the capability of creating on-the-fly systems that areis 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 thisrun 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 benefitDuring the project real usage will be tested in three different from information in multiple domains will be supported byapplications contexts: personal spaces, smart indoor spaces SOFIA.and smart city. Each of these addresses specific requirements V. CONCLUSIONSand constraints arising from their environments yet facessimilar challenges in sharing information. We envision an environment, where Embedded Systems (ESs) are able to connect, discover and enjoy personalized andA. Personal smart spaces cooperating services operating on interoperable, heterogeneous data. Connection at the lower level will occurIn personal environments, the use cases are typically dynamic through a SOFIA general overlay based on legacyand the area limited. Devices and their services can be connectivity and communication protocols that can be seen asdeveloped throughout their lifetime, independent of each the basic communication layer of the architecture. Logicallyother. A “personal space” proactively creates a smart space this overlay can be formed by several islands ofaround a moving person in order to enable this person to interconnected ESs. At a higher level of abstraction, each ESaccess and organize services and data around him. Envisaged can participate to one or more smart spaces. ESs participatingservices include support for efficient networking and to the same smart are connected through a second levelinteraction 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 anotherdependent handling of multimedia content in challenging smart space. Also in this case the smart space specific overlayenvironments, 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 andprivacy requirements while scalability not necessarily is a SOFIA Open Innovation reference Platform will support theprimary concern interworking of smart embedded services for creating and managing different smart spaces, through the use of composability and semantic techniques, in order to guaranteeB. Smart indoor spaces dynamicity, trust and scalability, while preserving privacy if needed. Moreover, the generality of the SOFIA architectureIn smart indoor spaces like e.g. smart office, embedded will be ensured through the identification of ontology for eachinfrastructure equipment as well as appliances and personal of the smart space under investigation and by deriving adevices can share information without being part of an common ontology for all of them. This common ontology willintegrated system. A smart indoor space has the target of self- lead to the layered architecture of the SOFIA platform and toorganizing sensors and devices inside buildings to enhance the identification and specification of both, the coretheir efficiency at several levels (e.g., energy efficiency, smart middleware and the smart-space specific services.maintenance) and to enhance also safety, security, productivityand comfort of the occupants (e.g. residents, operators).Multiple actors with different profiles are involved in this ACKNOWLEDGMENTSsmart space. Here, SOFIA will enable discovery and access to This project has been funded by the ARTEMIS Jointcooperating services tailored to the actors profile and context. Undertaking under Project contract 100017, and national EUThis 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).