Gradual Development of an IoT Architecture for Real-World Things Gaitan Nicoleta Cristina, Gaitan Vasile Gheorghita, Ungurean Ioan Faculty of Electrical Engineering and Computer Science Ştefan cel Mare University of Suceava, Romania cristinag@eed.usv.ro, gaitan@eed.usv.ro, ioanu@eed.usv.ro Abstract—The Internet of Things (IoT) is a great challenge of our time that will lead, as many scientists argue, to the fourth industrial revolution with major benefits for people’s everyday life. As the IoT is still a new field of research, there are various viewpoints regarding it. In this paper we propose an IoT architecture relied on the middleware. The basic principles, and also the strengths of the proposed architecture are the following: it uses mature standards with open source implementations; it ensures increased flexibility and scalability that allow the integration of a large number of current and future technologies; it includes facilities for unitary description of data exposed by THINGS; it decouples the address space of the local objects from the global address space seen in IoT; it is modular and hierarchic, with clear interfaces between hierarchical levels; it ensures data security. Keywords- Internet of Thing; fieldbus; middleware I. INTRODUCTION Several current technologies revolutionized everyday life. One of them is the Internet that had led to a new era of information, available for everyone. Other technologies, such as Radio-Frequency Identification (RFID), or Wireless Sensors Network increased the ability to communicate among things. Internet Protocol Version 6 (IPv6) removed the address depletion problem existing in Internet Protocol (IP). In this context, it is only natural that the next wave in the development of Internet does not refer to people, but to interconnected smart devices. The mobile revolution, with more than 5 billion smart phones connected to various mobile networks, provides the population with the possibility to access the Internet. In [1], it is stated that there are already 50 billion smart devices, and, therefore, the opportunities and challenges for the Internet of Things (IoT) will be related to connecting these devices in a manner that would make possible the complete distribution of applications among things. IoT will enable the connection of real-world objects to the Internet. Due to its potential, the IoT technology is approached from three fields of activity: scientific theory, engineering design, and user experience. This article will address the IoT in terms of engineering design and it will propose a practical IoT architecture. Starting from several questions, the paper presents gradually an IoT architecture (shown in Figure 1) in a bottom-up way. The architecture is organized on four levels. The first level, called THINGS, contains the set of all things that can communicate. We propose two types of things, namely: those with direct access to the Internet, and those which need an intermediary device to reach an Internet Access Point (IAP). Furthermore, at this level, the connection of THINGS to an IAP is ensured by wired or wireless protocols and devices (adapters, converters, gateways). The next level is the data provider (Data Provider - DP). For flexibility and scalability reasons, we divide this level into two sublevels. The first sublevel is represented by the communication modules (CM) that contain protocol drivers and a wrapper that exports a standard set of functions (Application Programming Interface - API) to the upper level. Therefore, we can easily add new protocols by developing only the wrapper for this API. The next sublevel is Data and Fieldbuses Manager (DFM). At this sublevel, we use the concept of the Electronic Data Sheet (EDS) files defined by the CANOpen, in order to describe THINGS. Based on these files and an EDS interpreter, DFM creates a dictionary of objects (DO), which exposes all possible data to the server. We can also add other interpreters with their own dictionaries of objects. Furthermore, at this sublevel there is the software module, called by the server to configure and manage the fieldbuses. Since DP is not designed for a specific server, we defined a second standard API for the upper level. The middleware level must provide data transport to/from DO using the servers and/or peers. By implementing the second interface, the server gains full access to the data of the DO and THINGS exposed through EDS. For a practical implementation, and in order to define communication between clients and server, we chose the TAO implementation of CORBA, and we used the Interface Description Language (IDL). Furthermore, other middleware can be used. The last level is the application level. At this level, we define two address spaces for IoT, one locally and one globally. The application is based on a set of objects of the following types: graphical, mathematical, historical, alarms and event, middleware and IoT objects. We defined the third standard interface which allows these objects to communicate with each other. Therefore, the addition of new objects is made simply by implementing the functions of this interface. To define the global space, we added a middleware object based on the Distributed Data Service (DDS) specification from the Object Management Group (OMG). We can also use other protocols specific to the IoT. Based on several questions, the rest of the present paper presents the following, gradually, from a bottom up perspective: the reason for the way in which the architecture was built, the proposed solutions, and their motivation. Therefore, we defined the general characteristics of IoT: what is THINGS and how data is exposed to the Internet. 2015 IEEE European Modelling Symposium 978-1-5090-0206-1/15 $31.00 © 2015 IEEE DOI 10.1109/EMS.2015.57 344 2015 IEEE European Modelling Symposium 978-1-5090-0206-1/15 $31.00 © 2015 IEEE DOI 10.1109/EMS.2015.57 344