SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI


Published on

1 Like
  • Be the first to comment

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

No notes for slide

SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI

  1. 1. Smart Objects For Intelligent Applications - ADK Jesús Fernández Gómez-Pimpollo Raúl Otaolea Indra ESI Tecnalia Abstract Connectors are already coded for a variety of languages (partially programmed for Java) and will be The poster attempts to describe the ADK tools stored in a centralized server where the ADK connectsdeveloped in the SOFIA project (http://www.sofia- to and downloads The SOFIA project is a three-year Openness and scalability are major factors,ARTEMIS project involving twenty two partners from therefore connectors for different communicationfour different EU countries, its key outcomes of the protocols and different languages are feasible. Theproject relate to user interaction paradigms for Smart Application Wizard includes the OWL2Classesinteracting in smart environments, the common facility, which translates several ontologies intointerpretability solution between many heterogeneous programming languages classes in order to be useddevices and embedded systems, and on the application with the SOFIA middleware. When this class is used,development schemes that can mobilize new all its interactions are sent to the SIB; thereforedevelopers for smart environments. programmers do not need to have expertise knowledge about ontologies.1. Introduction 3. Implementation The ADK is a set of tools that provides several A KP is divided in four layers: 1. Logic. Afunctionalities to the whole development life cycle. developer is only responsible for programming thisThe Ontology Driven Development (ODD) [1] based layer and it represents the functionalities a final useron Ontology Driven Software Engineering approach or a company wants to create. 2. Semantic model. Thishas three phases: design, implementation, testing and layer is automatically generated by the OWL2Classesdeployment. tool of the ADK. It is an API with the classes in a specific programming language representing ontologies selected in the wizard tool. Thus, they are2. Design the concepts to exchange with the smart space. 3. SSAP. This layer gathers all APIs dedicated to deal The Wizard plug-in centralizes the programmer with the SIB. The upper layer knows how to invokedecisions about the Knowledge Processor (KP). The the appropriate methods of this API.[3] Connection.wizard guides the developer to choose in between The different connectors are plugged in this layer toontology concepts to use and their profile (producers connect with the SIB. It is also responsible forand/or consumers), platform and programming Semantic Information Broker (SIB) discovery.language, communication protocol and project details Hence, the complexity related with ontologies andlike name, package names, etc. communication protocols are totally encapsulated in a A new SOFIA project is created in the last wizard´s very easy API formed by plain classes (model layer).step where all necessary middleware (all layers in the Developers only have to instantiate them and use theirproper language, an editor for that language) is added getters/setters in order to interact with the smart space.and finally all the connectors selected, SSAP orcommunication protocol knowledge is not needed tostart coding the logic of a KP. The plug-in selects a 4. Testing and Deploymentproper editor for the programming language chosen bythe KP developer, and assigns it to the SOFIA project The SIB is the responsible for the interoperabilitygenerated. between heterogeneous smart applications and
  2. 2. devices. Its core is differentiated in three parts; Gateways supporting new communication protocols1.Sessions. Refers to the KP connected to the SIB at a and increasing the amount of devices where smartgiven moment. 2. Subscriptions. Subscribed nodes are applications can be deployed, freeing new Gatewaynotified when certain conditions in the semantic developers of any responsibility regarding openedmodel are produced. 3. Semantic Model provides the sessions (KPs-SIB) as the fragment bundle will beinteroperability level needed to connect different extended by the Gateway.devices, platforms, sensors or data using the SOFIA Moreover, two specific Gateway OSGI Bundles areSmart Space context. It also enables the knowledge been looked at the moment to support TCP/IP andprocessing, sharing and reuse between applications. Bluetooth connections. The platform is also open to The SIB OSGi Bundle exposes a set of services develop new Gateways supporting more connectionusing the public interfaces ISIB (shows all the protocols.methods to interact with the SIB using SSAP Message SIB includes a server to represent any servertype communication), which controls the visually, which main functions are start and stop thecommunication between Gateways/KP and SIB, and SIB and a viewer to visualize the content of theIViewer (exposes methods to observe the content and embedded SIB and has three tabs: Sessions,to register changes within the SIB) Subscriptions and Semantic model (to check insertions The Semantic Model is based on Jena (Semantic and removals among connected KPs and the SIB, keyWeb Framework), which provides an API to allow the tool to test KP).storage of ontologies, classes, individuals, propertiesand all data related to ontologies. It is assumed that 5. Future and conclusionslanguages can be used for the interaction with themodel are OWL (or RDF-XML) and N3. Decisions are The ADK has already achieved its main goal, tobased on the definition of the SSAP Message Protocol aid developers programming high quality smartdefined in Description of XML encoding of SSAP applications; nevertheless SOFIA aims to push thisdocument (internal Wiki). This model maintains a full concept to the limit allowing final users to build theirclass hierarchy of already connected nodes and the own applications. To do so, we are now defining aindividuals (instances or triples) that has joined the smart application model (within ODD) to design easySIB. All KPs must send in their first ontology model applications visually linking the different partsconnection to the SIB, so that, all individuals defined semantically [2],[3]. This approach will gain highin that KP can be understood by the SIB and other dynamicity and composability inside a smart space, asKPs in the Smart Space. When a KP is removed from the dependencies are not established statically butthe Smart Space all the information about this KP is semantically and could be solved at runtime based onalso removed from the SIB Semantic Model, including semantics. This feature will be ready with the secondall the inserted individuals. version of the ADK. The ADK Subscription Manager is responsiblefor maintaining the information about the subscribed 10. ReferencesKPs and Session Manager manages the KPsconnected to the SIB at a given moment. Only [1] W3C, Ontology Driven Architectures and Potential Usesconnected KP-nodes are allowed to perform the SSAP of the Semantic Web in Systems and Software Eng., 2006,operations in the SIB. The SIB into a Sofia smart online: needs to interoperate with the KPs of severalsmart applications that are running into the smart [2] K. M. de Oliveira, K. Villela, A. R. Rocha, and G., which enables the KP to change information Travassos, “Use of ontologies in software development environments,” in Calero, C., Ruiz, F., Piattini, M. (eds)into the SIB and the SIB communicates those change Ontologies for Software Engineering and Software, several KPs subscribed to them. KP can be executedin any physical device with communication [3] M. Vanden Bossche, P. Ross, I. MacLarty, B. Vancapabilities to interoperate with a SIB of the smart Nuffelen, and N. Pelov, “Ontology driven softwarespace. The use of Gateways is a solution to avoid engineering for real life applications,” in Proc. 3rd Intl.problems when having devices with different Workshop on Semantic Web Enabled Softwarecommunication protocols. Engineering, 2007. A modular and extendible architecture is achievedby having the OSGI platform as a module container,where the SIB or the Gateways are OSGI bundles andSIB bundle changes will not affect any Gatewaybundle. This architecture will be enhanced with new