a tool, named Foehn, that allows one to find the optimal deployment plan by using a state-of-the-art configuration optimizer and thus satisfy the QoS constraints of the IoT application while minimizing user-defined metrics, such as the total running cost or the network inter-nodes distance (chapter 4).

In chapter 2, we presented high-level concepts for the general implementation of interoperable IoT systems using linguistic solutions. We integrated the CoAP and MQTT application protocols and the UDP transport protocol into the Service-Oriented Jolie language. Doing so, we also faced the mapping of the publish/subscribe message pattern of MQTT into the request-response original pattern of Jolie.

In chapter 3, we implemented TQuery in JIoT, offering automatic data format heterogeneity conversion by-construction and performance-oriented in-memory data manipulation. These factors allow to separate input and output data formats from the data handling logic and manage data structure within the application memory. Hence, we provided programmers with a single, consistent interface for data manipulation through the TQuery operators (match, unwind, project, group, and lookup), on any data-format supported by JIoT (XML, JSON, raw).

In chapter 4, we implemented Foehn, a tool that allows one to find the optimal deployment plan of IoT distributed applications. When it comes to IoT systems deployment, proper specification language abstractions are needed to describe both the application and the infrastructure. Only thanks to this abstractions both developers and IT staff can cooperate and produce an appropriate releasing plan, that match QoS constraints with actual QoS profiles. Hence, we included in our model communication links QoS constraints specifications, geospatial information for Cloud, Fog, and Things, as well as user-defined objective function description. We implemented all of the above in a tool that parses the specifications given in JSON format and instantiates a state-of-the-art SMT-based optimizer to find the final optimal QoS-aware deployment plan of the IoT application.

In chapter 2 and chapter 3, we tackle C1 and C2 and build a specific language, with proper abstractions, to offer a single linguistic domain to integrate Cloud, Edge and Things computing seamlessly. While we proposed a dedicated language, comparable approaches provide API specifications [131], or they faced the problem from a framework perspective, thus providing chains of tools, each addressing a specific sub-system technology [70]. Differently, we extended a language (its expressiveness power) with the main benefit of letting programmers directly work at any level of the IoT application stack, instead of developing specific knowledge on the usage of a given framework. As an added value, JIoT is a high-level, declarative language, not intended for modelling
a specific layer of the system but built to reason on the (service-Oriented) architecture as a whole. We gave a notable example of such expressiveness power for the language-based solution, in the IoT applications ephemeral data handling scenario, where we conducted a comparison study that shows how our solution provided a substantial increase in performance (averagely five times faster).

In chapter 4, we tackled C3 and build a tool to provide DevOps with a declarative IoT application description language, and an automatic tool that can be easily integrated into existing DevOps pipelines.

In conclusion, in this dissertation, we moved a step towards a comprehensive, holistic solution that addressed software development challenges in the IoT context by adopting a linguistic approach.

From work done in this dissertation, it is possible to draw at least two directions in future scenarios. First, explore the consolidation of the tools proposed in this dissertation, moving them to an advanced Technology Readiness Level (TLR) stage, by prototyping the solutions in industrial settings, and thus fostering the technological transfer. Finally, the last direction concerns the augmentation of the expressive power of the proposed language-based solutions. For instance, in JIoT, to investigate the integration of more transport, application protocols, and data formats in order to extend the usability of the language. Similarly, one could explore the further generalization of the Foehn model, to include more complex deployment scenarios.

Without any claim to be complete in any of the above discussed matters, we believe that the adoption of linguistic approaches, in particular, their Service-Oriented fashion, can foster the advancement of the Internet of Things to a new stage of a fully integrated ecosystem.
<figure><img src="image_16.png" /></figure>
Bibliography

[1] Erika Ábrahám, Florian Corzilius, Einar Broch Johnsen, Gereon Kremer, and Jacopo Mauro. *Zephyrus2*. 2016. URL: https://bitbucket.org/jacopomauro/zephyrus2 (visited on August 31, 2019) (cit. on pp. 75, 78).

[2] Erika Ábrahám, Florian Corzilius, Einar Broch Johnsen, Gereon Kremer, and Jacopo Mauro. "Zephyrus2: On the Fly Deployment Optimization Using SMT and CP Technologies". In: *Dependable Software Engineering: Theories, Tools, and Applications*. Springer International Publishing, 2016, pp. 229-245 (cit. on pp. 74, 78).

[3] Ahmed B. Altamimi and Rabie A. Ramadan. "Towards internet of things modeling: a gateway approach". In: *Complex Adaptive Systems Modeling* (2016) (cit. on p. 71).

[4] Apache Software Foundation. *CouchDB*. 2018. URL: https://couchdb.apache.org/ (visited on August 31, 2019) (cit. on pp. 47, 49).

[5] ArangoDB. *ArangoDB*. 2014. URL: https://www.arangodb.com (visited on August 31, 2019) (cit. on p. 49).

[6] Stephanie B. Baker, Wei Xiang, and Ian Atkinson. "Internet of Things for Smart Healthcare: Technologies, Challenges, and Opportunities". In: *IEEE Access* 5 (2017), pp. 26521-26544 (cit. on p. 46).

[7] Andrew Banks and Rahul Gupta. *MQTT Version 3.1.1*. Oasis standard. Oasis, 2014. URL: http://docs.oasis-open.org/mqtt/mQTt/v3.1.1/os/ (cit. on pp. 10, 16).

[8] *The biotope Project*. 2017. URL: http://www.biotope-project.eu/ (visited on August 31, 2019) (cit. on p. 10).

[9] Carsten Bormann. *CoAP website*. 2016. URL: http://coap.technology/ (visited on August 31, 2019) (cit. on pp. 10, 14, 16).

[10] Elena Botoeva, Diego Calvanese, Benjamin Cogrel, and Guohui Xiao. "Expressivity and Complexity of MongoDB Queries". In: *CEUR Workshop Proceedings*. Vol. 2161. Schloss Dagstuhl - LZI, 2018, 9:1-9:23 (cit. on pp. 50, 54, 59, 65).
Bibliography

[11] Mario Bravetti, Saverio Giallorenzo, Jacopo Mauro, Iacopo Talevi, and Gianluigi Zavattaro. "Optimal and Automated Deployment for Microservices". In: *Lecture Notes in Computer Science*. Vol. 11424 Lncs. 2019, pp. 351-368 (cit. on p. 88).

[12] Brian Krebs. *Extortionists Wipe Thousands of Databases, Victims Who Pay Up Get Stiffed*. 2017. URL: https://krebsonsecurity.com/2017/01/extortionists-wipe-thousands-of-databases-victims-who-pay-up-get-stiffed/ (visited on August 31, 2019) (cit. on p. 47).

[13] Antonio Brogi and Stefano Forti. "QoS-aware deployment of IoT applications through the fog". In: *IEEE Internet of Things Journal* 4.5 (2017), pp. 1-8 (cit. on pp. 68-70, 72, 75, 87).

[14] Antonio Brogi, Stefano Forti, and Ahmad Ibrahim. "Predictive Analysis to Support Fog Application Deployment". In: *Fog and Edge Computing: Principles and Paradigms*. 2018. Chap. 9, pp. 1-40 (cit. on pp. 68, 70, 72, 81).

[15] Antonio Brogi et al. "SeaClouds: A European Project on Seamless Management of Multi-cloud Applications". In: *SIGSOFT Softw. Eng. Notes* (2014) (cit. on p. 71).

[16] Luís Caires, Giuseppe F. Italiano, Luís Monteiro, Catuscia Palamidessi, and Moti Yung, eds. *Automata, Languages and Programming*. Vol. 3580. 2. March 2005, p. 110 (cit. on p. 88).

[17] Fay Chang et al. "Bigtable: A distributed storage system for structured data". In: *Tocs* 26.2 (2008), p. 4 (cit. on p. 49).

[18] James Cheney, Sam Lindley, and Philip Wadler. "A practical theory of language-integrated query". In: *ACM SIGPLAN Notices* 48.9 (2013), pp. 403-416 (cit. on pp. 47-48).

[19] Gerry Gerard Claps, Richard Berntsson Svensson, and Aybüke Aurum. "On the journey to continuous deployment: Technical and social challenges along the way". In: *Information and Software Technology* 57.1 (January 2015), pp. 21-31 (cit. on p. 68).

[20] OASIS Committee. *Topology and Orchestration Specification for Cloud Applications (TOSCA)-Committee Specification 01*. 2013. URL: http://docs.oasis-open.org/tosca/TOSCA/v1.0/cs01/TOSCA-v1.0/cs01.pdf (visited on August 31, 2019) (cit. on p. 71).

[21] World Wide Web Consortium et al. "JSON-LD 1.0: a JSON-based serialization for linked data". In: (2014) (cit. on pp. 37, 47).
[22] Iván Corredor, Eduardo Metola, Ana M. Bernardos, Paula Tarrío, and José R. Casar. "A lightweight web of things open platform to facilitate context data management and personalized healthcare services creation". In: *International Journal of Environmental Research and Public Health* 11.5 (2014), pp. 4676-4713 (cit. on p. 12).

[23] Ravi Das and Preston de Guise. *Amazon Web Services*. April 2019. (Visited on August 31, 2019) (cit. on p. 69).

[24] David M. Eddy. "Evidence on the Costs and Benefits of Health Information Technology The". In: testimony before Congress. Vol. 24. 1990 (cit. on p. 46).

[25] Hui Deng, Jiguo Yu, Dongxiao Yu, Guangshun Li, and Baogui Huang. "Heuristic Algorithms for One-Slot Link Scheduling in Wireless Sensor Networks under SINR". In: *International Journal of Distributed Sensor Networks* 11.3 (March 2015), p. 806-820 (cit. on p. 71).

[26] Roberto Di Cosmo, Jacopo Mauro, Stefano Zacchiroli, and Gianluigi Zavattaro. "Aeolus: A component model for the cloud". In: *Information and Computation* 239 (December 2014), pp. 100-121 (cit. on pp. 68, 71, 74, 88).

[27] Roberto Di Cosmo et al. "Automatic application deployment in the cloud: From practice to theory and back". In: *Leibniz International Proceedings in Informatics, LIPIcs* 42 (2015), pp. 1-16 (cit. on p. 88).

[28] Roberto Di Cosmo et al. "Automatic deployment of services in the cloud with aeolus blender". In: *Lecture Notes in Computer Science*. Vol. 9435. 2015, p. 397 (cit. on p. 88).

[29] LLC DigitalOcean. *Digital Ocean*. 2019. URL: https://digitalocean.com/ (visited on August 31, 2019) (cit. on p. 69).

[30] William H. Dutton, Everett M. Rogers, and Suk Ho Jun. "Diffusion and Social Impacts of Personal Computers". In: *Communication Research* 14.2 (April 1987), pp. 219-250 (cit. on p. 4).

[31] Tom Ellis. *Opaleye*. 2014. URL: https://github.com/tomjaguarpaw/haskell-opaleye (visited on August 31, 2019) (cit. on p. 49).

[32] Thomas Erl. *SOA: Principles of Service Design*. 2005, pp. 116-119 (cit. on pp. 7, 10, 39).

[33] Francisco Javier Ferrández Pastor, Higinio Mora, Antonio Jimeno Morenilla, and Bruno Volckaert. "Deployment of IoT Edge and Fog Computing Technologies to Develop Smart Building Services". In: *Sustainability* 10.11 (October 2018), p. 3832 (cit. on p. 82).
[46] Matteo Golfarelli, Stefano Rizzi, and Andrea Proli. "Designing what-if analysis: Towards a methodology". In: *Proceedings of the ACM International Workshop on Data Warehousing and OLAP*, DOLAP. 2006 (cit. on p. 69).

[47] Stijn de Gouw, Jacopo Mauro, Behrooz Nobakht, and Gianluigi Zavattaro. "Declarative elasticity in ABS". In: *Lecture Notes in Computer Science*. Vol. 9846. Springer International Publishing, 2016, pp. 118-134 (cit. on p. 88).

[48] Jayavardhana Gubbi, Rajkumar Buyya, Slaven Marusic, and Marimuthu Palaniswami. "Internet of Things (IoT): A vision, architectural elements, and future directions". In: *Future Generation Computer Systems* 29.7 (September 2013), pp. 1645-1660 (cit. on pp. 6, 10).

[49] Claudio Guidi, Ivan Lanese, Fabrizio Montesi, and Gianluigi Zavattaro. "Dynamic Error Handling in Service Oriented Applications". In: *Fundamenta Informaticae* 95.1 (2009), pp. 73-102 (cit. on p. 33).

[50] Claudio Guidi, Roberto Lucchi, Roberto Gorrieri, Nadia Busi, and Gianluigi Zavattaro. "SOCK: A Calculus for Service Oriented Computing". In: *Lecture Notes in Computer Science*. Vol. 4294 Lncs. Springer. Springer International Publishing, 2006, pp. 327-338 (cit. on p. 33).

[51] Dominique Guinard. "A Web of Things Application Architecture - Integrating the Real-World into the Web". In: *PhD th., ETH Zurich* 19891 (2011), p. 220 (cit. on pp. 12, 18, 83).

[52] Harshit Gupta, Amir Vahid Dastjerdi, Soumya K. Ghosh, and Rajkumar Buyya. "iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments". In: *Software - Practice and Experience*. 2017 (cit. on pp. 71, 87-88).

[53] Dave Harrison and Knox Lively. *Achieving DevOps*. Apress, 2019 (cit. on p. 68).

[54] Jez Humble and David Farley. *Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation*. Addison-Wesley, 2010, p. 463 (cit. on p. 68).

[55] Urs Hunkeler, Hong Linh Truong, and Andy Stanford-Clark. "MQTT-S-A publish/subscribe protocol for Wireless Sensor Networks". In: *Comsware*. IEEE. 2008, pp. 791-798 (cit. on p. 32).

[56] Google Inc. *LevelDB*. 2017. URL: http://leveldb.org (visited on August 31, 2019) (cit. on p. 49).
[57] MongoDB Inc. MongoDB. 2007. URL: https://www.mongodb.com (visited on August 31, 2019) (cit. on p. 49).

[58] Michael Jang. Linux Annoyances for Geeks: Getting the Most Flexible System in the World Just the Way You Want It. O'Reilly Media, 2006 (cit. on p. 47).

[59] Jolie Developers Team. Jolie Website. 2018. URL: https://www.jolie-lang.org/ (visited on August 31, 2019) (cit. on p. 50).

[60] Jolie website. 2019. URL: http://jolie-lang.org (visited on August 31, 2019) (cit. on p. 10).

[61] Josh Juneau. RESTful Web Services. ACM Press, 2018, pp. 613–653 (cit. on pp. 10, 38).

[62] Adrian Klein, Fuyuki Ishikawa, and Shinichi Honiden. "Towards network aware service composition in the cloud". In: *Proceedings of the 21st international conference on World Wide Web*. New York, New York, USA: ACM Press, 2012, p. 959 (cit. on p. 71).

[63] Ivan Lanese, Luca Bedogni, and Marco Di Felice. "Internet of things: A process calculus approach". In: *Proceedings of the ACM Symposium on Applied Computing*. ACM Press, 2013, pp. 1339–1346 (cit. on p. 7).

[64] Edward A. Lee. "Cyber Physical Systems: Design Challenges". In: *2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC)*. IEEE, May 2008, pp. 363–369 (cit. on p. 5).

[65] Barry M Leiner et al. "A Brief History of the Internet". In: *ACM SIGCOMM Computer Communication Review* 39.5 (2009), pp. 22–31 (cit. on p. 4).

[66] Fei Li, Michael Vogler, Markus Claessens, and Schahram Dustdar. "Towards Automated Internet of Things Application Deployment by a Cloud-Based Approach". In: *Proceedings of the IEEE International Conference on Service-Oriented Computing and Applications, ICSOCA*. IEEE, December 2013, pp. 61–68 (cit. on p. 71).

[67] Lixing Li, Zhi Jin, Ge Li, Liwei Zheng, and Qiang Wei. "Modeling and Analyzing the Reliability and Cost of Service Composition in the IoT: A Probabilistic Approach". In: *2012 IEEE 19th International Conference on Web Services*. IEEE, June 2012, pp. 584–591 (cit. on p. 71).
[68] Debasmita Lohar, Anudeep Dunaboyina, and Dibyendu Das. *Dependable Software Engineering. Theories, Tools, and Applications*. Vol. 10606. Lecture Notes in Computer Science. Springer International Publishing, 2016, pp. 315–322 (cit. on pp. 68, 75, 77, 88).

[69] Jiakang Lu et al. “The smart thermostat”. In: *Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems - SenSys ’10*. ACM Press, 2010, p. 211 (cit. on pp. 59–60, 62).

[70] Alessandro Ludovici, Anna Calveras, and Anna Calveras. “A proxy design to leverage the interconnection of CoAP wireless sensor networks with web applications”. In: *Sensors (Switzerland)* 15.1 (2015), pp. 1217–1244 (cit. on pp. 12, 90).

[71] Meng Ma, Ping Wang, and Chao-Hsien Chu. “Data management for internet of things: Challenges, approaches and opportunities”. In: *2013 IEEE International conference on green computing and communications and IEEE Internet of Things and IEEE cyber, physical and social computing*. IEEE. 2013, pp. 1144–1151 (cit. on p. 47).

[72] Tim A Majchrzak and Tor-morten Grønli Eds. *Towards Integrated Web, Mobile, and IoT Technology*. Vol. 347. Lecture Notes in Business Information Processing. Springer International Publishing, 2019 (cit. on pp. 6, 83).

[73] Norman Maurer. *The Netty project*. 2003. URL: https://netty.io (visited on August 31, 2019) (cit. on p. 31).

[74] Norman Maurer and Marvin Wolfthal. *Netty in Action*. Manning Publications, 2016 (cit. on pp. 32, 34).

[75] Jacopo Mauro and Gianluigi Zavattaro. “On the Complexity of Reconfiguration in Systems with Legacy Components”. In: *Lecture Notes in Computer Science*. 2015, pp. 382–393 (cit. on p. 71).

[76] Dinesh P Mehta and Sartaj Sahni. *Handbook of data structures and applications*. Chapman and Hall/CRC, 2004 (cit. on pp. 46–47).

[77] Erik Meijer, Brian Beckman, and Gavin Bierman. “Linq: reconciling object, relations and xml in the. net framework”. In: *Sigmod. Acm*. 2006, pp. 706–706 (cit. on pp. 48–49).

[78] Andrea Melis, Marco Prandini, Saverio Giallorenzo, and Franco Callegati. “Insider Threats in Emerging Mobility-as-a-Service Scenarios”. In: *Proceedings of the Hawaii International Conference on System Sciences, HICSS*. AIS Electronic Library (AISeL), 2017 (cit. on p. 43).
[79] Dirk Merkel. "Docker: lightweight linux containers for consistent development and deployment". In: *Linux Journal* 2014.239 (2014), p. 2 (cit. on p. 41).

[80] Microsoft. *Microsoft Azure*. 2019. URL: https://azure.microsoft.com/ (visited on August 31, 2019) (cit. on p. 69).

[81] Milan Milenkovic. "A Case for Interoperable IoT Sensor Data and Metadata Formats". In: *Ubiquity* 2015.November (2015), pp. 1-7 (cit. on p. 10).

[82] E. Mingozzi, G. Tanganelli, and C. Vallati. "CoAP proxy virtualization for the web of things". In: *Proceedings of the International Conference on Cloud Computing Technology and Science, CloudCom*. Vol. 2015-Febru. February. IEEE Computer Society, 2015, pp. 577-582 (cit. on p. 12).

[83] Sudip Misra and Subhadeep Sarkar. "Theoretical modelling of fog computing: a green computing paradigm to support IoT applications". In: *IET Networks* 5.2 (2016), pp. 23-29 (cit. on p. 71).

[84] MongoDB Inc. *MongoDB Aggregation Framework*. 2018. URL: https://docs.mongodb.com/manual/aggregation/ (visited on August 31, 2019) (cit. on pp. 50, 65).

[85] MongoDB Inc. *MongoDB Website*. 2018. URL: https://www.mongodb.com/ (visited on August 31, 2019) (cit. on pp. 47, 81).

[86] Fabrizio Montesi. "Process-aware web programming with Jolie". In: *Science of Computer Programming*. Vol. 130. ACM Press, 2016, pp. 69-96 (cit. on pp. 10, 21).

[87] Fabrizio Montesi and Marco Carbone. "Programming services with correlation sets". In: *Lecture Notes in Computer Science*. Vol. 7084 Lncs. Springer, 2011, pp. 125-141 (cit. on p. 33).

[88] Fabrizio Montesi, Claudio Guidi, Roberto Lucchi, and Gianluigi Zavattaro. "JOLIE: a Java Orchestration Language Interpreter Engine". In: *Electronic Notes in Theoretical Computer Science* 181.1 (June 2007), pp. 19-33 (cit. on p. 10).

[89] Fabrizio Montesi, Claudio Guidi, and Gianluigi Zavattaro. "Service-Oriented Programming with Jolie". In: *Web Services Foundations* (September 2014), pp. 81-107 (cit. on pp. 10, 15, 38, 50).
[90] Menno Mostert, Annelien L. Bredenoord, Monique C.I.H. Biesaart, and Johannes J.M. Van Delden. "Big Data in medical research and EU data protection law: Challenges to the consent or anonymise approach". In: *European Journal of Human Genetics* 24.7 (2016), pp. 956-960 (cit. on p. 46).

[91] Leonardo de Moura and Nikolaj Bjørner. "Z3: An Efficient SMT Solver". In: *Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)*. Vol. 4963. 2008, pp. 337-340 (cit. on p. 78).

[92] MQTT community. *MQTT website*. 2014. URL: http://mart.org (visited on August 31, 2019) (cit. on pp. 10, 16).

[93] Rouhollah Nabati and Samira Taheri. "the Internet of Things (IoT) a Survey". In: *Turkish Online Journal of Design, Art and Communication* 6.Jlyspcl (2016), pp. 725-739 (cit. on pp. 5, 10).

[94] Shayan Najd, Sam Lindley, Josef Svenningsson, and Philip Wadler. "Everything Old is New Again: Quoted Domain-specific Languages". In: *Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation*. Pepm '16. Acm, 2016, pp. 25-36 (cit. on p. 4).

[95] NCoAP A *JAVA implementation of CoAP*. 2018. URL: https://github.com/okleine/nCoAP (visited on August 31, 2019) (cit. on p. 33).

[96] Julie L. Newcomb, Satish Chandra, Jean Baptiste Jeannin, Cole Schlesinger, and Manu Sridharan. "IoTa: A calculus for internet of things automation". In: *Proceedings of the ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, SIGPLAN*. 2017, pp. 119-133 (cit. on p. 7).

[97] Niall Gallagher. *CQEngine - Java Collection SQL-like Query Engine*. 2018. URL: https://github.com/npgall/cqengine (visited on August 31, 2019) (cit. on pp. 48-49).

[98] Eva Nieuwdorp. "The Pervasive discourse: An analysis". In: *Computers in Entertainment* 5.2 (April 2007), p. 13 (cit. on p. 5).

[99] Oasis. *Web Services Business Process Execution Language*. URL: http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html (visited on August 31, 2019) (cit. on p. 33).

[100] Opscode. *Chef*. 2019. URL: http://www.opscode.com/chef/ (visited on August 31, 2019) (cit. on p. 70).
[101] Charith Perera, Arkady Zaslavsky, Peter Christen, and Dimitrios Georgakopoulos. "Sensing as a Service Model for Smart Cities Supported by Internet of Things". In: *Transactions on Emerging Telecommunications Technologies* 25.1 (July 2013), pp. 81–93 (cit. on p. 74).

[102] Jon Postel. *User datagram protocol*. Rfc 768. Ietf, 1980 (cit. on p. 19).

[103] Puppetlabs. *Puppet*. 2019. URL: http://puppetlabs.com/ (visited on August 31, 2019) (cit. on p. 70).

[104] Inc. Red Hat. *Red Hat CloudForms*. 2019. URL: https://www.redhat.com/en/resources/red-hat-cloudforms-unified-management-for-hybrid-environments (visited on August 31, 2019) (cit. on p. 69).

[105] Inc. Red Hat. *Red Hat OpenStack Platform*. 2019. URL: https://www.redhat.com/en/resources/openstack-platform-datasheet (visited on August 31, 2019) (cit. on pp. 69, 81).

[106] Roberto Reda, Filippo Piccinini, and Antonella Carbonaro. "Towards Consistent Data Representation in the IoT Healthcare Landscape". In: *Digital Health Conference*. 2018, pp. 5–10 (cit. on p. 47).

[107] Telefonica Research and Innovation. *Thinking Things*. 2016. URL: http://www.thinkingthings.telefonica.com/ (visited on August 31, 2019) (cit. on p. 12).

[108] Nikolas Rose. "The human brain project: Social and ethical challenges". In: *Neuron* 82.6 (2014), pp. 1212–1215 (cit. on p. 59).

[109] Libelium Comunicaciones Distribuidas S.L. *Meshlium*. 2016. URL: http://www.libelium.com/products/meshlium/ (visited on August 31, 2019) (cit. on p. 12).

[110] Debashis Saha and Amitava Mukherjee. "Pervasive computing: A paradigm for the 21st century". In: *Computer* 36.3 (March 2003), pp. 25–31+4 (cit. on p. 5).

[111] Salvatore Sanfilippo and Pieter Noordhuis. *Redis*. 2018. URL: https://redis.io/ (visited on August 31, 2019) (cit. on pp. 49, 81).

[112] Enrique Saurez, Kirak Hong, Dave Lillethun, Umakishore Ramachandran, and Beate Ottenwälder. "Incremental deployment and migration of geo-distributed situation awareness applications in the fog". In: *Proceedings of the ACM International Conference on Distributed and Event-Based Systems, DEBS*. ACM Press, 2016, pp. 258–269 (cit. on pp. 68, 70, 87).
[113] Luca Sciullo, Cristiano Aguzzi, Marco Di Felice, and Tullio Salmon Cinotti. "WoT Store: Enabling Things and Applications Discovery for the W3C Web of Things". In: *2019 16th IEEE Annual Consumer Communications & Networking Conference (CCNC)*. IEEE, January 2019, pp. 1-8 (cit. on p. 74).

[114] Esther Shein. "Ephemeral Data". In: *Communications of the ACM* 56.9 (2013), pp. 20-22 (cit. on p. 46).

[115] Z Shelby, K Hartke, and C Bormann. *The Constrained Application Protocol (CoAP)*. 2014. (Visited on August 31, 2019) (cit. on pp. 10, 14, 16, 19, 33).

[116] Weisong Shi, Jie Cao, Quan Zhang, Youhuizi Li, and Lanyu Xu. "Edge Computing: Vision and Challenges". In: *IEEE Internet of Things Journal* 3.5 (2016), pp. 637-646 (cit. on p. 46).

[117] Inc. SmartThings. *SmartThings*. 2016. URL: http://www.smartthings.com/ (visited on August 31, 2019) (cit. on pp. 12, 35).

[118] Fabrizio Soppelsa and Chanwit Kaewkasi. *Native Docker Clustering with Swarm*. Packt Publishing, 2017, p. 248 (cit. on p. 41).

[119] Sergios Soursos et al. "Towards the cross-domain interoperability of IoT platforms". In: *Proceedings of the European Conference on Networks and Communications, EUCNC*. IEEE, 2016, pp. 398-402 (cit. on p. 10).

[120] Adika Bintang Sulaeman, Fransiskus Astha Ekadiyanto, and Riri Fitri Sari. "Performance evaluation of HTTP-CoAP proxy for wireless sensor and actuator networks". In: *Proceedings of the IEEE Asia Pacific Conference on Wireless and Mobile, APWiMob*. IEEE, 2017, pp. 68-73 (cit. on p. 12).

[121] Andrew S Tanenbaum and Maarten Van Steen. "Distributed Systems: Principles and Paradigms". In: *Angewandte Chemie International Edition* 40.6 (March 2001), p. 9823 (cit. on p. 4).

[122] Omer Tene and Jules Polonetsky. "Big Data for All: Privacy and User Control in the Age of Analytics". In: *Northwestern Journal of Technology and Intellectual Property* 11.5 (2013), p. 239 (cit. on p. 46).

[123] Dinesh Thangavel, Xiaoping Ma, Alvin Valera, Hwee Xian Tan, and Colin Keng Yan Tan. "Performance evaluation of MQTT and CoAP via a common middleware". In: *Proceedings of the IEEE International Conference on Intelligent Sensors, Sensor Networks and Information Processing, ISSNIP*. IEEE, 2014, pp. 1-6 (cit. on p. 12).
Bibliography

[124] *The Eclipse for IoT Project*. 2017. URL: https://iot.eclipse.org/ (visited on August 31, 2019) (cit. on p. 12).

[125] *The SensorML Project*. 2017. URL: http://www.opengeospatial.org (visited on August 31, 2019) (cit. on p. 12).

[126] Brendan Van Alsenoy. "General Data Protection Regulation". In: *Data Protection Law in the EU: Roles, Responsibilities and Liability*. Inter-sentia, March 2019, pp. 279–324 (cit. on p. 46).

[127] Socrates Varakliotis, Peter T. Kirstein, Antonio Jara, and Antonio Skarmeta. "A process-based Internet of Things". In: *2014 IEEE World Forum on Internet of Things (WF-IoT)*. IEEE, March 2014, pp. 73–78 (cit. on p. 7).

[128] Siva Visveswaran. *Dive into connection pooling with J2EE*. 2000. URL: https://www.javaworld.com/article/2076221/dive-into-connection-pooling-with-j2ee.html (visited on August 31, 2019) (cit. on p. 48).

[129] W3c. *Transport Message Exchange Pattern: Single-Request-Response*. 2001. URL: https://www.w3.org/2000/xp/Group/1/10/11/2001-10-11-SRR-Transport%5C_MEP (visited on August 31, 2019) (cit. on p. 15).

[130] Zhiliang Wang, Yi Yang, Lu Wang, and Wei Wang. "A SOA based IOT communication middleware". In: *Proceedings International Conference on Mechatronic Science, Electric Engineering and Computer, MEC*. IEEE, August 2011, pp. 2555–2558 (cit. on p. 12).

[131] *Web of Things*. 2017. URL: https://www.w3.org/WoT/ (visited on August 31, 2019) (cit. on pp. 11, 37, 90).

[132] *Web of Things Architecture*. 2017. URL: https://w3c.github.io/wot/architecture/wot-architecture.html (visited on August 31, 2019) (cit. on p. 11).

[133] Mark Weiser. "The Computer for the 21st Century". In: *Scientific American* 265.3 (September 1991), pp. 94–104 (cit. on p. 5).

[134] Luke Welling and Laura Thomson. *PHP and MySQL Web development*. Sams Publishing, 2003 (cit. on p. 47).

[135] Lu Yan, Yan Zhang, Laurence T. Yang, and Huansheng Ning. *The Internet of things: from RFID to the next-generation pervasive networked systems*. Taylor & Francis, 2008, pp. 1–318 (cit. on pp. 5–6).
[136] Nazim Yilmaz, Oylum Alatli, Birol Ciloglugil, and Riza Cenk Erdur. "Evaluation of storage and query performance of sensor based Internet of Things data with MongoDB". In: *2018 International Conference on Artificial Intelligence and Data Processing (IDAP)*. IEEE, September 2018, pp. 1-6 (cit. on p. 63).

[137] Jiguo Yu, Ying Chen, and Baogui Huang. "On Connected Target k-Coverage in Heterogeneous Wireless Sensor Networks". In: *Proceedings of the International Conference on Identification, Information, and Knowledge in the Internet of Things, IIKI*. 2016 (cit. on p. 71).
<figure><img src="image_17.png" /></figure>