9 Application Challenges of the I/W/SW-OT Paradigm MUHAMED TURKANOVIĆ and MARKO HÖLBL, University of Maribor, Faculty of Electrical Engineering and Computer Science The Internet of Things (IOT) paradigm is increasingly infiltrating into our lives. Although still not standardised it already expanded into new paradigms, e.g. Web of Things and Social Web/Internet of Things. Despite the fact that numerous IOT applications already exists, there does not exist any comprehensive methodology or tool for developing IOT applications. Fur- thermore, the development of such applications is highly challenging because of various IOT particularities as the heterogeneity, resource constrained architecture, scalability, etc. In this paper we evaluate the IOT application development challenges and present some recent methodological solutions. Categories and Subject Descriptors: D.2.4 [Software Engineering] Coding Tools and Techniques; D.2.11 [Software Archi- tectures] Domain-specific architectures; C.2.1 [Network Architecture and Design] Wireless communication General Terms: Internet of Things Additional Key Words and Phrases: Internet of Things, Web of Things, Social Web of Things, Wireless Sensor Network, Applications, Challenges, Development 1. INTRODUCTION The Internet today is not what it was a decade ago. Social networking was emerging with MySpace and Facebook was an unknown term for almost everyone on the planet. Similarly the iPhone was none existing and a smart phone with the Android OS will come only after few years. Cloud Computing and Software as a Service (SaaS) were concepts known only to specific industry and researchers. Now, Face- book reports about 1.4 billion monthly active users [Facebook, Inc. 2015], owners of an iPhone count about 700 million worldwide [Ingraham 2015], and there is already about 1 exabyte of data stored in the cloud [Woods 2015]. But the interesting difference between today and a decade ago is not hidden in the numbers but in the diversity and heterogeneity of devices connected to the Internet. Specifi- cally, there is a large number of different types of (smart) devices or objects which are interconnected among each other and with the Internet, and thus create a pervasive and ubiquitous network called the Internet of Things (IOT). As aforementioned, the IOT paradigm exploits the pervasiveness, abundance and versatility of ob- jects which are interconnected. The objects are called smart objects/things, since they can sense, com- pute, communicate and integrate with the environment and with each other. These smart things are also readable, locatable, addressable and controllable via the Internet. The IOT paradigm is not defined and bound with specific environments, platforms or technologies. It rather presents an upper layer added to the current Internet structure which calls for its exploitation. A different story is with the Web of Things (WOT), which can also be seen as an under-layer of the IOT. The WOT relies on the idea of evolving the Web towards a state, where smart objects are directly Author’s address: M. Turkanović, 2000 Maribor, Slovenia, email: muhamed.turkanovic@gmail.com, tel: +386-40-303-874; M. Hölbl, 2000 Maribor, Slovenia, email: marko.holbl@um.si, tel:+386-2-220-7361. Copyright c by the paper’s authors. Copying permitted only for private and academic purposes. In: Z. Budimac, M. Heričko (eds.): Proceedings of the 4th Workshop of Software Quality, Analysis, Monitoring, Improvement, and Applications (SQAMIA 2015), Maribor, Slovenia, 8.-10.6.2015. Also published online by CEUR Workshop Proceedings (CEUR-WS.org, ISSN 1613-0073) 9:70 • M. Turkanović and M. Hölbl connected to the Web as we know it today, by applying standard and specific Web Protocols [Levä et al. 2014]. A further extension of the IOT and respectively WOT is the so-called Social Web of Things (SWOT). The SWOT integrates smart objects into the social network and thus facilitates continuous interaction between things and humans [Mashal et al. 2015]. A similar paradigm as SWOT is the Social Internet of Things (SIOT), which attempts to create social consciousness for objects [Atzori et al. 2012]. The main focus of both is the convergence of the IOT and the Social Networks. Even though all the mentioned paradigms are still being researched and the work for their stan- dardization is still in progress, applications are already being proposed and developed [Atzoria et al. 2010]. However, developing applications for the IOT is challenging because of various reasons. Some of the most challenging are heterogeneity and scalability of objects, addressing and networking issues, resource constrained architecture of devices, mobility of some devices, data management, security and privacy, etc. In this paper we evaluate the challenges the stakeholder encounter while developing applications for the I/W/SW-OT paradigm. Prior to the evaluation we present a brief review on specific paradigms. In order to better understand the main topic of the paper, we also discuss the IOT architecture. Later on, we discuss some proposed solutions for the IOT application development and present some lateral, non-exhaustive utilities, for aiding the IOT application development and a novel comprehensive model- driven-design approach, which aims to make IOT application development easy. 2. IOT, WOT, SWOT PARADIGM The IOT paradigm is gaining ground in almost every aspect of our life. Already, the number of con- nected devices exceeds planet’s populations by more than a triple and it is estimated that the number will exceed 7 trillion by 2025 [Sangiovanni-Vincentelli 2011; Evans 2011]. These devices are so-called smart things/items/objects, which are not only equipped with usual wireless communication, memory, microprocessors but furthermore with autonomous proactive behaviour, context awareness, collabo- rative communication, etc. [Atzoria et al. 2010]. An example of such devices are sensors, actuators, RFIDs, NFCs, smartphones, computers, wearables, etc. Although there are various definitions of the IOT, there is no clear and unambiguous one, because of different visions about it. This is also in correlation with the diversity of the IOT application domains, whereby the most advanced are those of smart grid, smart home, public safety, independent living, medical and healthcare, logistics, agriculture, industrial processing, etc. [Borgia 2014; Atzoria et al. 2010]. The vision of WOT indicates a more sophisticated layer of networking tightly bind with the Web rather than with the hole concept of the Internet. It leverages technologies like the Internet protocol which is the backbone of the Web. Furthermore the WOT relies much on objects like sensors and smartphones which generate massive amount of data, thus highlighting the importance of the WOT in the era of big data and cloud [Chena et al. 2014]. Therefore the vision of WOT leads to a development of more sophisticated applications which combine any physical interconnected object with the Web Layer. The development of WOT applications has become more flexible with Web-Service-enabled devices, which exploit different existing Web technologies (URI, HTTP, etc.) [Castro et al. 2014; Mashal et al. 2015]. The main contribution of the WOT is the so-called CoAP, a lightweight Web Service based protocol for IOT devices. A further extensions of the WOT into the Web as we know today (e.g. Web 2.0) is envisioned with the SWOT. The SWOT integrates smart objects into the pervasive social networks (e.g. Facebook) and it facilitates the continuous and automated interaction between physical devices and people [Mashal et al. 2015]. The SWOT enables social network users to leverage their Web-enabled smart objects in Applications challenges for the I/W/SW-OT paradigm • 9:71 order to access, manage and share object’s resources. The paradigm is the logical natural evolution of the WOT. 3. ARCHITECTURE In order to better understand the challenges of IOT application development we briefly present the IOT architecture and the technologies involved with the paradigm. Previous classic applications focused on specific dedicated devices with proprietary ICT infrastruc- ture. However IOT applications will share infrastructure, environment and network elements as shown on Figure 1. Figure 1 presents a non-exhaustive list of technologies and protocols, since a vast number of additional various devices and technologies exist. Authors [Borgia 2014] presented three different phases where the interaction between the cyber (i.e. Internet) and the physical (i.e. Things) world takes place. The first phase is the collection-phase, which is combined of devices (i.e. sensor, actuator, RFID, etc.), responsible for the sensing of physical phe- nomenon and technologies responsible for the collection of data. The collection is typically done using short range communications (e.g. Bluetooth, IEEE 802.16.4, NFC, etc.). The second phase, called the transmission phase, has the job, to transfer the collected data to the applications over the network. Devices from the first phase are connected to the network via a diverse set of gateways and heteroge- neous communication technologies. The most well-known communication technologies used are: IEEE 802.3 (i.e. wired), IEEE 802.11 family (i.e. wireless), IEEE 802.16 (i.e. WiMAX), etc. Lastly, the pro- cessing, managing and utilization phase is responsible for forwarding data to the applications and services, processing and analysis of data using semantics, data aggregation, etc. The Service platform & Enabler acts as a abstraction machine, hence hiding the heterogeneity of IOT hardware, software, technologies and protocols. Fig. 1. Representation of some IOT technologies and protocols [Borgia 2014]. 4. CHALLENGES In this section we discuss important IOT specific challenges and specifically, the challenges for devel- oping IOT applications. 9:72 • M. Turkanović and M. Hölbl Borgia [2014] has summarized the basic IOT challenges into nine groups. The 1st is the network architecture and system design. Some essential information about the network architecture was already presented in the previous section. The challenge that reflects on the first group is finding a scalable, flexible and cost efficient architecture for the complex IOT environment. The 2nd group is the addressing and naming, which implies the issues of efficient retrieving of all content produced by various heterogeneous IOT end-devices. Classical addressing (i.e. IPv4) is not possible since the addressing space is already exhausted, while the IPv6 is not compatible with the IEEE 802.15.4 com- munication protocol used by the majority of IOT end-devices (i.e. sensors) [Borgia 2014]. Furthermore there is a problem with the address retrieval. This issue is in combination with the third group pre- sented by Borgia [2014], i.e. object’s mobility. This is due to the fact that a big part of IOT objects are mobile and thus not fixed (e.g. RFID, sensors, NFC, etc.). The 4th group is M2M communication, which encompasses routing problems and end-to-end reliability. The 5th challenge group is the chal- lenge of designing flexible GW, which need to be versatile end flexible in order to efficiently manage various nationalities (e.g. access, resources, QoS, etc.). The 6th challenge group are solutions for effi- cient device management, which take into account the heterogeneity of IOT end-devices. The man- agement of devices needs to be enabled remotely. The 7th group concentrates on the management of data, precisely management of Big Data, which is the product of a huge amount of IOT devices. Furthermore, managing IOT data is challenging because of the variety of different data properties and semantics. The last two groups are the traffic characterization and security. The former deals with the problem that the characteristic of the IOT generated traffic is unknown and the later deals with the basic security requirements every application should provide (i.e. confidentiality, integrity, non-repudiation, availability, etc.). Although not specifically specified, one of the biggest challenges is the resource constrained architecture of IOT end-devices (i.e. battery-powered, low processing power, small storage space, etc.) [Akyildiz et al. 2002]. Every aspect of a complete IOT application should take these constraints into consideration since typical solutions may be inappropriate due to the energy requirement. Ensuring such a degree of security is highly challenging due to the IOT characteristics. Although the basic IOT challenges can easily be transferred to challenges for developing IOT appli- cations, there are still some specific ones as presented by Patel and Cassou [2012]. Lack of division role is one of the disclosed challenges, which refers to the multi-disciplined knowledge-process re- quirement. Thus, for developing an IOT applications, a set of skills are required as domain expertise, deployment-specific knowledge, application design, implementation knowledge and platform-specific knowledge. Another challenge presented by [Patel and Cassou 2012] is the heterogeneity, which was already mentioned in the previous paragraph. The application stakeholders have to have in mind IOT heterogeneity in terms of devices, platforms, protocols, etc., since these can largely affect the appli- cation design and code. Another challenge is the scalalability, since IOT end-devices are distributed among a huge amount of different systems and can count in thousands (e.g. WSN) [Akyildiz et al. 2002]. Hence it is very demanding encompassing all the vastness into a practical solution. The last challenge presented by [Patel and Cassou 2012], are different life cycle phases (i.e. development, deployment, maintenance). At each mentioned phase, the application logic has to be adapted to a various number of different heterogeneous entities, platforms, devices, etc. 5. SOLUTIONS In regard to the basic IOT challenges, some solutions are already presented and implemented. A com- prehensive list of these solutions can be found in [Borgia 2014; Atzoria et al. 2010]. Alongside to these layer-specific solutions, some lateral, non-exhaustive utilities are also proposed for the IOT application development. An example is the CoAP library proposed by Castro et al. [2014] and designed for the WOT paradigm, i.e. covering the application logic between Web Browsers as Web Applications challenges for the I/W/SW-OT paradigm • 9:73 Fig. 2. Conceptual framework for developing IOT applications [Patel and Cassou 2012]. Clients and IOT end-devices. The library is written in Java and it is embedded into a HTML5 Web Site, which in turn is simply accessible through JavaScript. Similar to this approach, there are also others like the Cooper [Matthias 2011] or Actinium [Matthias et al. 2012]. The former is a Firefox and Chrome plugin which supports CoAP browsing. The later is a server-based runtime container for scriptable IOT applications. Furthermore, research is also done on analysing different approaches for interoperable services (i.e. WS-* and RESTful Web Services) in order to conclude which are better suited for building IOT appli- cations [Guinard et al. 2011]. Unfortunately, there exists no high-level IOT application development tool or methodology, but rather some network specific solutions, which cover only limited subsets of IOT as pervasive com- puting or sensor networks [Pathak and Prasanna ; Cassou et al. 2012]. Recently, a comprehensive model-driven-design approach, which aims to make IOT application development easy is presented by Patel and Cassou [2012]. The authors have fragmented the IOT application development into several specific aspects, while also integrating a set of high-level languages. They also provide some automa- tion techniques at different phases in order to make the development easier. The authors have represented the aforementioned aspects or concerns in a conceptual model, which is divided into four concepts, i.e. the domain-specific concept, functionality-specific concept, deployment- specific concept and platform-specific concept [Patel and Cassou 2012]. This conceptual model is later on propagated into a development methodology, which in term result in a conceptual framework for IOT applications development. An overview of the framework is presented in Figure 2. Among the key features of the methodology presented is the divisibility of application stakeholders into distinct roles according to the four concepts of the conceptual model, i.e. domain expert, software designer, application developer, device developer and network manager. This facilitates the aforemen- tioned challenge called lack of division role. 9:74 • M. Turkanović and M. Hölbl 6. CONCLUSION AND FUTURE WORK In this paper we briefly presented some basic challenges, which stakeholders encounter, while develop- ing IOT-specific application. These challenges need to be addressed comprehensively in order to cover all the possible present and future outcomes. Furthermore, we put forward some recent proposal for aiding the IOT development. Our future objective is to present an exhaustive survey on the state of the art solutions. This way we hope to infer the best practices, methodologies or tools for an easier and robuster IOT application development. REFERENCES I. F. Akyildiz, Y. Sankarasubramaniam W. Su, and E. Cayirci. 2002. Wireless sensor networks: a survey. Computer Networks 38, 4 (2002), 393—-422. Luigi Atzori, Antonio Iera, Giacomo Morabito, and Michele Nitti. 2012. The Social Internet of Things (SIoT) – When social networks meet the Internet of Things: Concept, architecture and network characterization. Computer Networks 56 (2012), 3594—-3608. Luigi Atzoria, Antonio Ierab, and Giacomo Morabitoc. 2010. The Internet of Things: A survey. Computer Networks 54, 15 (2010), 2787—-2805. Eleonora Borgia. 2014. The Internet of Things vision: Key features, applications and open issues. Computer Communications 54 (2014), 1—-31. Damien Cassou, Julien Bruneau, Charles Consel, , and Emilie Balland. 2012. Toward a Tool-Based Development Methodology for Pervasive Computing Applications. IEEE Transactions on Software Engineering 38, 6 (2012), 1445–1463. Miguel Castro, Antonio J. Jara, and Antonio F. Skarmeta. 2014. Enabling end-to-end CoAP-based communications for the Web of Things. Journal of Network and Computer Applications In Press (2014). Guoqing Chena, Paulo Goesb, Harry Jiannan Wangd, Qiang Weia, and J. Leon Zhaoc. 2014. Guest Editorial: Business applica- tions of Web of Things. Decision Support Systems 63 (2014), 1–2. Dave Evans. 2011. The internet of things: How the next evolution of the internetis changing everything. Technical Report. https://www.cisco.com/web/about/ac79/docs/innov/IoT IBSG 0411FINAL.pdf Retrieved 10.7.2014. Dominique Guinard, Iulia Ion, and Simon Mayer. 2011. In Search of an Internet of Things Service Architecture: REST or WS-*? A Developers’ Perspective (Proceedings of MobiQuitous). Nathan Ingraham. 2015. Apple has sold 700 million iPhones, 25 million Apple TVs. (March 2015). http://www.theverge.com/ 2015/3/9/8164357/apple-watch-event-700-million-iphones-sold Retrieved 27.4.2015. Tapio Levä, Oleksiy Mazhelis, and Henna Suomi. 2014. Comparing the cost-efficiency of CoAP and HTTP inWeb of Things applications. Decision Support Systems 63 (2014), 23–38. Ibrahim Mashal, Osama Alsaryrah, Tein-Yaw Chung, Cheng-Zen Yang, Wen-Hsing Kuo, and Dharma P. Agrawal. 2015. Choices for interaction with things on Internet and underlying issues. Ad Hoc Networks 28 (2015), 68—-90. Kovatsch Matthias. 2011. Demo abstract:human–CoAP interaction with copper (Proceedings of the 7th IEEE international conference on Distributed Computing in Sensor Systems). Kovatsch Matthias, Lanter Martin, and Duquennoy Simon. 2012. Actinium: a RESTful runtime container for scriptable Internet of Things applications (Proceedings of the 3rd international conference on the Internet of Things (IoT2012)). Wuxi, China. Pankesh Patel and Damien Cassou. 2012. Enabling high-level application development for the Internet of Things. The Journal of Systems and Software 103 (2012), 62–84. Animesh Pathak and Viktor K. Prasanna. High-Level Application Development for Sensor Networks: Data-Driven Approach. Springer Berlin Heidelberg, 865–891. Facebook, Inc. 2015. Facebook Reports First Quarter 2015 Results. (April 2015). http://investor.fb.com/releasedetail.cfm? ReleaseID=908022 Retrieved 27.4.2015. A. Sangiovanni-Vincentelli. 2011. Let’s get physical: adding physical dimensions to cyber systems (Internet of Everything Sum- mit). Rome. Jack Woods. 2015. 20 cloud computing statistics every CIO should know. (January 2015). http://siliconangle.com/blog/2014/01/ 27/20-cloud-computing-statistics-tc0114/ Retrieved 27.4.2015.