skip to main content
10.1145/3501774.3501787acmotherconferencesArticle/Chapter ViewAbstractPublication PagesesseConference Proceedingsconference-collections
research-article

A Lightweight Development of Outbreak Prevention Strategies Built on Formal Methods and xDSLs

Authors Info & Claims
Published:26 March 2022Publication History

ABSTRACT

Because of the Covid-19 pandemic, several organisations around the world applied social distancing rules with workplace controls. Most of these rules can be automated and supervised using software systems that interact with connected devices such as smart cameras, motion sensors, smart door locks, etc. Given the critical nature of a pandemic prevention application, it seems essential to use techniques such that the possibility of failures is minimised. The integration of formal reasoning within software development is obviously a way to achieve this goal. Unfortunately, often formal methods are deemed too difficult and hence their application is somehow limited. This study builds on real-life pandemic prevention strategies, and shows how a formal method and domain-specific languages can be mixed in a lightweight development process. Our approach extends Meeduse, a language workbench that embeds an animator and model-checker and allows one to define proved executable Domain-Specific Languages (xDSLs) using the B method. In addition to the benefits of using xDSLs together with a formal approach during the development process the originality of this work is two-fold: (1) first, we propose a novel refinement-based approach that allows DSL developers to produce several versions of the application without breaking down the global safety properties; and (2) second, we use the verified specification of the DSL semantics at runtime so that the implementation effort is highly reduced.

References

  1. Alessandro Abate, Carlos E. Budde, Nathalie Cauchi, Arnaud van Harmelen, Khaza Anuarul Hoque, and Mariëlle Stoelinga. 2018. Modelling Smart Buildings Using Fault Maintenance Trees. In Computer Performance Engineering, Rena Bakhshi, Paolo Ballarini, Benoît Barbot, Hind Castel-Taleb, and Anne Remke (Eds.). Springer International Publishing, Cham, 110–125.Google ScholarGoogle Scholar
  2. J.-R. Abrial. 1996. The B-book: Assigning Programs to Meanings. Cambridge University Press, New York, NY, USA.Google ScholarGoogle ScholarCross RefCross Ref
  3. Nils Bandener, Christian Soltenborn, and Gregor Engels. 2011. Extending DMM Behavior Specifications for Visual Execution and Debugging. In Software Language Engineering(LNCS, Vol. 6563). Springer, 357–376.Google ScholarGoogle Scholar
  4. Lorenzo Bettini. 2016. Implementing Domain-Specific Languages with Xtext and Xtend (2nd ed.). Packt Publishing.Google ScholarGoogle Scholar
  5. Jim Davies, David Milward, Chen-Wei Wang, and James Welch. 2015. Formal Model-driven Engineering of Critical Information Systems. Sci. Comput. Program. 103, C (June 2015), 88–113. https://doi.org/10.1016/j.scico.2014.11.004Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Gregor Engels, Jan Hendrik Hausmann, Reiko Heckel, and Stefan Sauer. 2000. Dynamic Meta Modeling: A Graphical Approach to the Operational Semantics of Behavioral Diagrams in UML. In UML 2000 — The Unified Modeling Language(LNCS, Vol. 1939), Andy Evans, Stuart Kent, and Bran Selic (Eds.). Springer, 323–337.Google ScholarGoogle ScholarCross RefCross Ref
  7. Akram Idani. 2020. Meeduse: A Tool to Build and Run Proved DSLs. In 16th International Conference on integrated Formal Methods (iFM)(LNCS). Springer. accepted.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Akram Idani, Yves Ledru, and German Vega. 2020. Alliance of Model Driven Engineering with a Proof-based Formal Approach. International NASA Journal on Innovations in Systems and Software Engineering (ISSE) (2020). https://doi.org//10.1007/s11334-020-00366-3Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Aníbal Iung, João Carbonell, Luciano Marchezan, Elder Macedo Rodrigues, Maicon Bernardino, Fabio Paulo Basso, and Bruno Medeiros. 2020. Systematic mapping study on domain-specific language development tools. Empirical Software Engineering 25, 5 (2020), 4205–4249. https://doi.org/10.1007/s10664-020-09872-1Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Philipp Körner, Jens Bendisposto, Jannik Dunkelau, Sebastian Krings, and Michael Leuschel. 2019. Embedding High-Level Formal Specifications into Applications. In International Conference on Formal Methods (FM)(LNCS, Vol. 11800). Springer.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Kenneth Lausdahl, Hans Kristian Agerlund Lintrup, and Peter Gorm Larsen. 2009. Connecting UML and VDM++ with Open Tool Support. In FM 2009: Formal Methods, Second World Congress, Eindhoven, The Netherlands, November 2-6, 2009. Proceedings. 563–578.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Michael Leuschel and Michael Butler. 2008. ProB: an automated analysis toolset for the B method. Software Tools for Technology Transfer (STTT) 10, 2 (2008), 185–203.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. H. Luo, R. Wang, and X. Li. 2013. A Rule Verification and Resolution Framework in Smart Building System. In 2013 International Conference on Parallel and Distributed Systems. 438–439.Google ScholarGoogle Scholar
  14. Amel Mammar and Régine Laleau. 2006. A formal approach based on UML and B for the specification and development of database applications. Autom. Softw. Eng. 13, 4 (2006), 497–528. https://doi.org/10.1007/s10515-006-0273-5Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] Meeduse.[n.d.]. http://vasco.imag.fr/tools/meeduse/. Accessed: 2020-10-07.Google ScholarGoogle Scholar
  16. Obeo. [n.d.]. Xtext / Sirius - Integration, The main use-cases (White paper). https://www.obeodesigner.com/resource/white-paper/WhitePaper_XtextSirius_EN.pdf. Accessed: 2020-10-07.Google ScholarGoogle Scholar
  17. R. C. Parocha and E. Q. B. Macabebe. 2019. Implementation of Home Automation System Using OpenHAB Framework for Heterogeneous IoT Devices. In IEEE International Conference on Internet of Things and Intelligence System (IoTaIS). 67–73.Google ScholarGoogle Scholar
  18. Mar Yah Said, Michael Butler, and Colin Snook. 2015. A Method of Refinement in UML-B. Softw. Syst. Model. 14, 4 (Oct. 2015), 1557–1580.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] Sirius.[n.d.]. http://www.eclipse.org/sirius/. Accessed: 2020-10-07.Google ScholarGoogle Scholar
  20. Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework(2nd ed.). Addison-Wesley.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Y. Sun, X. Wang, H. Luo, and X. Li. 2015. Conflict Detection Scheme Based on Formal Rule Model for Smart Building Systems. IEEE Transactions on Human-Machine Systems 45, 2 (2015), 215–227.Google ScholarGoogle ScholarCross RefCross Ref
  22. Y. Sun, T. Wu, X. Li, and M. Guizani. 2017. A Rule Verification System for Smart Buildings. IEEE Transactions on Emerging Topics in Computing 5, 3 (2017), 367–379.Google ScholarGoogle ScholarCross RefCross Ref
  23. Jérémie Tatibouët, Arnaud Cuccuru, Sébastien Gérard, and François Terrier. 2014. Formalizing Execution Semantics of UML Profiles with fUML Models. In Model-Driven Engineering Languages and Systems (Models)(LNCS, Vol. 8767). Springer, 133–148.Google ScholarGoogle Scholar

Index Terms

  1. A Lightweight Development of Outbreak Prevention Strategies Built on Formal Methods and xDSLs
            Index terms have been assigned to the content through auto-classification.

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Other conferences
              ESSE '21: Proceedings of the 2021 European Symposium on Software Engineering
              November 2021
              172 pages
              ISBN:9781450385060
              DOI:10.1145/3501774

              Copyright © 2021 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 26 March 2022

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed limited
            • Article Metrics

              • Downloads (Last 12 months)56
              • Downloads (Last 6 weeks)4

              Other Metrics

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader

            HTML Format

            View this article in HTML Format .

            View HTML Format