INES – National Institute of Science and Technology for Software Engineering

RSS feed


August 2014
« Jul   Sep »

  • Project ArchIoT: An Architecture-Oriented Development Environment for Internet of Things Applications

    Publicado em August 3rd, 2014Uncategorized

    Internet of Things (IoT) platforms consist of several heterogeneous devices with different functionalities and diverse communication protocols. In this scenario, an important challenge is to define an architecture to: (i) provide abstractions to physical devices and services; (ii) provide search and discover services to find devices and services; (iii) allow the interconnection of the elements via network; (iv) allow the monitoring of the state and location of each connected element, and; (v) provide mechanisms to manage the interoperability of heterogeneous devices. EcoDiF (Ecossistema Web de Dispositivos Físicos) – EcoDiF: is a middleware platform to connect devices with applications and/or final users in an IoT ecosystem that integrates heterogeneous physical devices and provides data control, visualization, processing, and storage, in real time. This platform was developed in the context of a Work Group of RNP (Rede Nacional de Ensino e Pesquisa). EcoDiF prototype is available at Several applications were developed to validate EcoDiF. They are available at

    In terms of applications development, EcoDif provides a programming and execution environment that uses data (feeds) available at the platform and allows the generation of new information that will be also available to be used by other feeds and more complex applications. The applications are built as mashups, created from the composition of different information types provided by different sources. The programming and execution environment is based on the EMML (Enterprise Mashup Markup Language) language, an open and declarative language used as a standard to the development of mashups. Mashup applications are implemented as EMML scripts and executed by an execution engine that processes such scripts.

    The current development process of IoT applications at the EcoDiF platform does not support the specification of the application architecture. In addition, the development process is error-prone as the developer needs to write all the application script in EMML. These limitations hamper the widely adoption of the platform, in special in industrial scenarios, which demand platform with support to easy development and architectural modelling. These features are even more important in case of IoT applications that can be complex and involve a myriad of objects.

    The main goal of this project is to offer an architecture-oriented environment for the development of Internet of Things (IoT) applications. This environment encompasses two levels: (i) architectural level: composed by an architecture description language, SysADL, based on SysML, with support for the structural, behavioral, and executable description of the architecture; (ii) IoT platform level: composed by the EcoDiF platform. The development of this environment consists of the development of the tool to support the specification of the application architecture, and the mapping of the architecture to the application code to be executed at the EcoDiF platform. A monitoring and controlling application to managed objects (physical objects and software services) will be developed to illustrate the use of the environment. This application can be used in several IoT domains, such as health applications, smart cities applications, environmental applications, etc. Specifically, in this project, we aim to develop an application to a computer network support environment, which includes several physical objects such as switches, blade servers, storage servers, no-breaks and air conditioners. In our EcoDiF Project, we developed a prototype of this application in collaboration with SInfo (Superintendencia de Redes da Universidade Federal do Rio Grande do Norte – UFRN), which will be also the partner of this project, providing the infrastructure to the development and operation of the application. The current application is described in EMML and it has some important limitations: it does not include non-functional requirements, and no architectural model is provided.

    In terms of innovation, ArchIoT will be a pioneering environment for the development of IoT applications, with support to the architectural description using a language based on a standard widely used in industry. This environment will allow the development of IoT applications guided by the architecture. In fact, the architecture supports the expression of non-functional properties such as fault tolerance, performance, security, etc. Thus, this Project has the potential of generating an important scientific and technological impact in Software Engineering to IoT.

    Members: Thais Batista (UFRN) – coordinator, Bruno Costa (UFRJ), Eduardo Silva (UFRN), Flávio Oquendo (UBS – France), Flávia Delicato (UFRJ), Jair Leite (UFRN), Paulo Pires (UFRJ)