Abstract
Building IoT applications of added-value from a set of available devices with minimal human intervention is one of the main challenges facing the IoT. This is a difficult task that requires models for specifying objects, in addition to user-friendly and reliable composition techniques which in turn prevent the design of erroneous applications. In this work, we tackle this problem by first describing IoT applications using abstract models obtained from existing models of concrete devices. Then, we propose automated techniques for building compositions of devices using a repository of available devices, and an abstract goal of what the user expects from such compositions. Since the number of possible solutions can be quite high, we use both filtering and ranking techniques to provide the most pertinent solutions to users. The provided solutions satisfy the given goal and may be analysed with respect to properties such as deadlock-freeness or unmatched send messages. Finally, the application can be deployed using existing execution engines.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Project Things by Mozilla: https://iot.mozilla.org/wot/.
References
Alkhabbas, F., De Sanctis, M., Spalazzese, R., Bucchiarone, A., Davidsson, P., Marconi, A.: Enacting emergent configurations in the IoT through domain objects. In: Pahl, C., Vukovic, M., Yin, J., Yu, Q. (eds.) ICSOC 2018. LNCS, vol. 11236, pp. 279–294. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03596-9_19
Arnold, A.: Finite Transition Systems - Semantics of Communicating Systems. Prentice Hall, Upper Saddle River (1994)
Attiogbé, C., André, P., Ardourel, G.: Checking component composability. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 18–33. Springer, Heidelberg (2006). https://doi.org/10.1007/11821946_2
Baier, C., Katoen, J.: Principles of Model Checking. MIT Press, Cambridge (2008)
Berardi, D., Calvanese, D., De Giacomo, G., Lenzerini, M., Mecella, M.: Automatic composition of E-services that export their behavior. In: Orlowska, M.E., Weerawarana, S., Papazoglou, M.P., Yang, J. (eds.) ICSOC 2003. LNCS, vol. 2910, pp. 43–58. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-24593-3_4
Bertoli, P., Pistore, M., Traverso, P.: Automated composition of web services via planning in asynchronous domains. Artif. Intell. 174(3–4), 316–361 (2010)
Bouhoula, A., Jouannaud, J.-P., Meseguer, J.: Specification and proof in membership equational logic. Theore. Comput. Sci. 236(1), 35–132 (2000)
Brand, D., Zafiropulo, P.: On communicating finite-state machines. J. ACM 30(2), 323–342 (1983)
Bucchiarone, A., Marconi, A., Pistore, M., et al.: A context-aware framework for dynamic composition of process fragments in the internet of services. J. Internet Serv. Appl. 8(1), 6:1–6:23 (2017)
Canal, C., Pimentel, E., Troya, J.M.: Compatibility and inheritance in software architectures. Sci. Comput. Program. 41(2), 105–138 (2001)
Clavel, M., et al.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71999-1
Durán, F., Ouederni, M., Salaün, G.: A generic framework for N-protocol compatibility checking. Sci. Comput. Program. 77(7–8), 870–886 (2012)
Durán, F., Salaün, G.: A note on automated composition, analysis and deployment of IoT applications, April 2019. http://maude.lcc.uma.es/iotcompo
Felfernig, A., Falkner, A., Müslüm, A. et al.: ASP-based Knowledge Representations for IoT Configuration Scenarios. In: Proceedings of the ICW 2017, p. 62 (2017)
Guinard, D., Trifa, V., Mattern, F., Wilde, E.: From the internet of things to the web of things: resource-oriented architecture and best practices. In: Uckelmann, D., Harrison, M., Michahelles, F. (eds.) Architecting the Internet of Things, pp. 97–129. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19157-2_5
JS-Foundation. Node-RED: Flow-based Programming for the IoT (2018)
Klai, K., Ochi, H.: Checking compatibility of web services behaviorally. In: Arbab, F., Sirjani, M. (eds.) FSEN 2013. LNCS, vol. 8161, pp. 267–282. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40213-5_17
Marconi, A., Pistore, M., Traverso, P.: Automated composition of web services: the ASTRO approach. IEEE Data Eng. Bull. 31(3), 23–26 (2008)
Martens, A.: Analyzing web service based business processes. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 19–33. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-31984-9_3
Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theor. Comput. Sci. 96(1), 73–155 (1992)
Narayanan, S., McIlraith, S.A.: Simulation, verification and automated composition of web services. In: Proceedings of the WWW 2012, pp. 77–88. ACM (2002)
Ovadia, S.: Automate the internet with “This Then That”. Behav. Soc. Sci. Libr. 33(4), 208–211 (2014)
Raffelt, H., Steffen, B., Berg, T., Margaria, T.: LearnLib: a framework for extrapolating behavioral models. STTT 11(5), 393 (2009)
Tata, S., Klai, K., Jain, R.: Formal model and method to decompose process-aware IoT applications. In: Panetto, H., et al. (eds.) OTM 2017. LNCS, vol. 10573, pp. 663–680. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-69462-7_42
van Glabbeek, R.J., Weijland, W.P.: Branching time and abstraction in bisimulation semantics. J. ACM 43(3), 555–600 (1996)
Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Trans. Program. Lang. Syst. 19(2), 292–333 (1997)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Durán, F., Salaün, G., Krishna, A. (2019). Automated Composition, Analysis and Deployment of IoT Applications. In: Mazzara, M., Bruel, JM., Meyer, B., Petrenko, A. (eds) Software Technology: Methods and Tools. TOOLS 2019. Lecture Notes in Computer Science(), vol 11771. Springer, Cham. https://doi.org/10.1007/978-3-030-29852-4_21
Download citation
DOI: https://doi.org/10.1007/978-3-030-29852-4_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-29851-7
Online ISBN: 978-3-030-29852-4
eBook Packages: Computer ScienceComputer Science (R0)