Paper Title Authors Name/s per 1st Affiliation Authors Name/s per 2nd Affiliation Department name Name of organization City, Country E-mail address Department name Name of organization City, Country E-mail address Abstract—Abstract. Keywords—Internet of Things; physical devices; EcoDiF I. INTRODUCTION Introduction. II. ECODIF: A WEB ECOSYSTEM OF PHYSICAL DEVICES IoT environments are typically characterized by a high degree of hardware and software heterogeneity, several devices with different capabilities/functionalities, large amount of network protocols, incompatible applications, and proprietary solutions that are hard to manage. Furthermore, the wide dissemination of the IoT paradigm has the potential of producing a considerable impact in the daily lives of the human beings, so that new applications from several domains and that are based on interacting physical devices and engaged in complex relationships arise. Given such scenario, it is necessary to provide abstractions for physical devices and services to applications and end-users, as well as means to manage the interoperability between such heterogeneous devices. In this context, our recent work [1] has introduced EcoDiF (Web Ecosystem of Physical Devices), which is a Web platform for connecting devices with applications and/or end-users in an IoT ecosystem in which new ideas and products can be developed in an organic way. Therefore, the main goal of EcoDiF is to integrate heterogeneous physical devices in order to provide services for supporting real-time data control, visualization, processing, and storage, thus enabling to use it in several application domains, such as environmental monitoring, public urban infrastructure monitoring, health care, prevention of environmental disasters, etc. A. Architecture and Implementation In order to achieve its goals, EcoDiF is composed of several modules (middleware services) that compose its logical architecture, as illustrated in Fig. 1. Fig. 1. EcoDiF architecture. The Devices Connection Module aims to facilitate the connection of physical devices. In this perspective, device manufacturers can configure their devices according to the EcoDiF’s specific API to enable their integration with the platform, as well as users can connect their pre-configured devices to perform the operations of the provided API. Such devices are connected to EcoDiF through customized drivers developed for each specific device. These drivers play a very important role in terms of the integration of the devices with EcoDiF since the heterogeneity of such devices is abstracted away from the users and applications that make use of the data provided by them. Such transparency and interoperability are the main essential requirements for middleware platforms in the context of the IoT paradigm and consolidates one of the EcoDiF’s main goals. Therefore, EcoDiF is able to provide a unified access to data and services provided by the integrated devices through high-level interfaces, besides contributing to make the development of applications easier in the highly distributed and heterogeneous IoT environments. Furthermore, the complexity of the devices and the underlying network environment are hidden from applications and users, thus releasing them from the task of explicitly manipulating infrastructure protocols and services. Once the respective drivers enable the connection between EcoDiF and the integrated devices, these drivers obtain the data collected by the devices (the so-called feeds) and structure them by using the EEML (Extended Environments Markup Language) protocol [2], which is a XML-based language that de- scribe the data obtained from devices in a specific context (environment). Afterwards, such structured data are sent to EcoDiF through HTTP PUT requests according to the REST (REpresentational State Transfer) architectural style [3, 4] in order to be registered by the Data Manipulation Module. The Visualization and Management Module provides a Web interface to enable users to manage the devices connected to EcoDiF. Through this interface, users can: (i) monitor the state and the localization of their devices; (ii) create alerts and notifications (the so-called triggers) about the feeds, and; (iii) visualize historical data stored in the platform. In turn, the Collaboration Module aims to facilitate the collaboration among EcoDiF users, thus enabling them to perform searches for devices and applications from their respective metadata (type, user, localization, etc.) through the EcoDiF’s Web interface. The Storage Module consists of two basic repositories: (i) a repository for storing data by using a relational database, and; (ii) a repository for storing application scripts in a file system. It is important to highlight that these repositories may use a Cloud Computing infrastructure [5] to store relational data and files, thus providing quality attributes such as robustness, reliability, security, availability, and scalability. The Common Services Module aggregates mechanisms inherent to the platform, such as security (in terms of user authenticity, confidentiality, and integrity), applications life cycle, transactions, etc. Finally, the Applications Module is intended to provide a model and environment for programming and executing applications that make use of the data (feeds) available at EcoDiF and generate new information to be available at the platform. In EcoDiF, these applications are built as Web mashups [6], which are ad-hoc Web applications created from the composition of different types of information provided by several sources. For instance, a sensor monitors the temperature in a given location, but the user wishes to combine this information with a map that informs the localization of the collected measures. Therefore, a single mashup application can compose such temperature and localization information. For developing applications, EcoDiF adopts the EMML (Enterprise Mashup Markup Language) language [7], which is an open XML-based language for developing Web mashup applications from by integrating data from several sources, as well as from Web services and relational databases. Given the features of its modules, EcoDiF envisions four profiles of stakeholders (as depicted in Fig. 1), namely: (i) device manufacturers, which develop drivers to their devices in order to make them compatible with the EcoDiF’s API; (ii) data providers, which are device owners that make the data produced by their devices available at EcoDiF through the specific drivers for each device; (iii) application developers, which build Web applications or services that take as inputs data (raw data provided by the connected devices or more refined data produced as output of other applications) available at EcoDiF or produced by any other Web accessible resource, for their business purposes, and; (iv) data consumers, which are users that interact with EcoDiF in order to consult information (about devices and provided data, applications, etc.) that is available at the platform. III. EVALUATION Evaluation. A. Case Studies Case studies. 1) Parcipatory Sensing Participatory Sensing. 2) Data Processing Centers Monitoring Data Processing Centers (DPCs) monitoring. IV. RELATED WORK V. FINAL REMARKS Related work. Final remarks. ACKNOWLEDGEMENTS This work is supported by the Brazilian Education and Research Network (RNP) through the GT-EcoDiF Working Group. REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] F. Delicato et al. “Towards an IoT ecosystem”, Proc. of the First Int. Workshop on Software Engineering for Systems-of-Systems. New York, NY, USA: ACM, 2013, pp. 25-28. Extended Environments Markup Language: http://www.eeml.org/ R. Fielding, Architectural styles and the design of network-based software architectures. PhD dissertation. University of California-Irvine, USA, 2000. J. Webber, S. Parastatidis, and I. Robinson, REST in practice: Hypermedia and systems architecture. Sebastopol, CA, USA: O’Reilly, 2010. Mell, P. and Grance, T., The NIST Definition of Cloud Computing. Technical report. Gaithersburg, MD, USA: National Institute of Standards and Technology, 2011. D. Guinard, V. Trifa, T. Pham, and O. Liechiti, “Towards physical mashups in the Web of Things”, Proc. of the 6th Int. Conf. on Network Sensing Systems. Piscataway, NJ, USA: IEEE Press, pp. 196-199. OMA EMML Documentation: http://www.openmashup.org/omadocs/v1.0/index.html