{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T02:17:55Z","timestamp":1742955475581,"version":"3.40.3"},"publisher-location":"Cham","reference-count":16,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783031095924"},{"type":"electronic","value":"9783031095931"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2022,6,17]],"date-time":"2022-06-17T00:00:00Z","timestamp":1655424000000},"content-version":"vor","delay-in-days":167,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Formal method techniques are used to model complex systems as mathematical entities. By building mathematical rigorous models of IoT design patterns, it is possible to verify their properties in a thorough fashion. In this paper, we propose a refinement-based approach for modeling IoT design patterns. It allows the modeling of correct by construction IoT design patterns. It takes advantage of formal methods by the specification of design pattern models with the Event-B method and checking the design correctness. Our goal is to design IoT patterns proven correct by construction to successfully apply them and promote their reuse. Our approach is experimented through pattern examples and we illustrate it with a case study in the health care domain.<\/jats:p>","DOI":"10.1007\/978-3-031-09593-1_3","type":"book-chapter","created":{"date-parts":[[2022,6,21]],"date-time":"2022-06-21T11:13:50Z","timestamp":1655810030000},"page":"30-42","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Modeling IoT Design Patterns Proven Correct by\u00a0Construction"],"prefix":"10.1007","author":[{"given":"Imen","family":"Tounsi","sequence":"first","affiliation":[]},{"given":"Najeh","family":"Khalfi","sequence":"additional","affiliation":[]},{"given":"Abdessamad","family":"Saidi","sequence":"additional","affiliation":[]},{"given":"Mohamed","family":"Hadj Kacem","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2022,6,17]]},"reference":[{"key":"3_CR1","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9781139195881","volume-title":"Modeling in Event-B: System and Software Engineering","author":"JR Abrial","year":"2010","unstructured":"Abrial, J.R.: Modeling in Event-B: System and Software Engineering, 1st edn. Cambridge University Press, New York (2010)","edition":"1"},{"key":"3_CR2","doi-asserted-by":"publisher","first-page":"126443","DOI":"10.1109\/ACCESS.2020.3003694","volume":"8","author":"F Borelli","year":"2020","unstructured":"Borelli, F., Biondi, G., Kamienski, C.: Biota: a buildout IoT application language. IEEE Access 8, 126443\u2013126459 (2020). https:\/\/doi.org\/10.1109\/ACCESS.2020.3003694","journal-title":"IEEE Access"},{"key":"3_CR3","unstructured":"Chandra, G.S.: Pattern language for IoT applications. In: PLoP Conference, USA (2016)"},{"key":"3_CR4","doi-asserted-by":"publisher","first-page":"1755","DOI":"10.1016\/j.jss.2007.03.005","volume":"80","author":"J Dong","year":"2007","unstructured":"Dong, J., Alencar, P., Cowan, D.D., Sheng, Y.: Composing pattern-based components and verifying correctness. J. Syst. Softw. 80, 1755\u20131769 (2007)","journal-title":"J. Syst. Softw."},{"key":"3_CR5","unstructured":"Erl, T.: SOA Design Patterns (The Prentice Hall Service-Oriented Computing Series from Thomas Erl), 1st edn. Prentice Hall (2009)"},{"key":"3_CR6","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E Gamma","year":"1994","unstructured":"Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)"},{"key":"3_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1007\/978-3-030-51517-1_5","volume-title":"The Impact of Digital Technologies on Public Health in Developed and Developing Countries","author":"M Hadj Kacem","year":"2020","unstructured":"Hadj Kacem, M., Tounsi, I., Khalfi, N.: Modeling and specification of\u00a0bootstrapping and registration design patterns for IoT applications. In: Jmaiel, M., Mokhtari, M., Abdulrazak, B., Aloulou, H., Kallel, S. (eds.) ICOST 2020. LNCS, vol. 12157, pp. 55\u201366. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-51517-1_5"},{"key":"3_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"855","DOI":"10.1007\/978-3-540-45236-2_46","volume-title":"FME 2003: Formal Methods","author":"M Leuschel","year":"2003","unstructured":"Leuschel, M., Butler, M.: ProB: a model checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855\u2013874. Springer, Heidelberg (2003). https:\/\/doi.org\/10.1007\/978-3-540-45236-2_46"},{"key":"3_CR9","doi-asserted-by":"crossref","unstructured":"Qanbari, S., et al.: IoT design patterns: computational constructs to design, build and engineer edge applications. In: 2016 IEEE First International Conference on Internet-of-Things Design and Implementation (IoTDI), pp. 277\u2013282 (2016)","DOI":"10.1109\/IoTDI.2015.18"},{"key":"3_CR10","doi-asserted-by":"crossref","unstructured":"Reinfurt, L., Breitenb\u00fccher, U., Falkenthal, M., Leymann, F., Riegg, A.: Internet of things patterns for device bootstrapping and registration. In: Proceedings of the 22nd European Conference on Pattern Languages of Programs, EuroPLoP 2017, pp. 15:1\u201315:27. ACM, New York (2017)","DOI":"10.1145\/3147704.3147721"},{"key":"3_CR11","unstructured":"Reinfurt, L., Falkenthal, M., Breitenb\u00fccher, U., Leymann, F.: Applying IoT patterns to smart factory systems. Advanced Summer School on Service Oriented Computing, Summer SOC (2017)"},{"key":"3_CR12","doi-asserted-by":"crossref","unstructured":"Tounsi, I., Hadj Kacem, M., Hadj Kacem, A.: An approach for modeling and formalizing SOA design patterns. In: Proceedings of the 22nd IEEE International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises, WETICE 2013, Hammamet, Tunisia, pp. 330\u2013335. IEEE Computer Society (2013)","DOI":"10.1109\/WETICE.2013.26"},{"issue":"1","key":"3_CR13","doi-asserted-by":"publisher","first-page":"78","DOI":"10.1504\/IJCC.2015.067705","volume":"4","author":"I Tounsi","year":"2015","unstructured":"Tounsi, I., Hadj Kacem, M., Hadj Kacem, A., Drira, K.: A refinement-based approach for building valid SOA design patterns. IJCC, Int. J. Cloud Comput. 4(1), 78\u2013104 (2015)","journal-title":"IJCC, Int. J. Cloud Comput."},{"key":"3_CR14","doi-asserted-by":"crossref","unstructured":"Tounsi, I., Hadj Kacem, M., Hadj Kacem, A., Drira, K.: Transformation of compound SOA design patterns. In: The 8th International Conference on Ambient Systems, Networks and Technologies (ANT 2017), Madeira, Portugal, 16\u201319 May 2017, pp. 408\u2013415 (2017)","DOI":"10.1016\/j.procs.2017.05.410"},{"key":"3_CR15","doi-asserted-by":"crossref","unstructured":"Tounsi, I., Hadj Kacem, M., Hadj Kacem, A., Drira, K., Mezghani, E.: Towards an approach for modeling and formalizing SOA design patterns with Event-B. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC 2013, Coimbra, Portugal, pp. 1937\u20131938. ACM, March 2013","DOI":"10.1145\/2480362.2480721"},{"key":"3_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"630","DOI":"10.1007\/978-3-642-16901-4_41","volume-title":"Formal Methods and Software Engineering","author":"H Zhu","year":"2010","unstructured":"Zhu, H., Bayley, I.: Laws of pattern composition. In: Dong, J.S., Zhu, H. (eds.) ICFEM 2010. LNCS, vol. 6447, pp. 630\u2013645. Springer, Heidelberg (2010). https:\/\/doi.org\/10.1007\/978-3-642-16901-4_41"}],"container-title":["Lecture Notes in Computer Science","Participative Urban Health and Healthy Aging in the Age of AI"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-09593-1_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,6,21]],"date-time":"2022-06-21T11:14:04Z","timestamp":1655810044000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-09593-1_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783031095924","9783031095931"],"references-count":16,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-09593-1_3","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"17 June 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ICOST","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Smart Homes and Health Telematics","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Paris","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"France","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"27 June 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30 June 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"icost2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.icost-society.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"33","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"15","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"10","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"45% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"No","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}