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.
- 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 Scholar
- J.-R. Abrial. 1996. The B-book: Assigning Programs to Meanings. Cambridge University Press, New York, NY, USA.Google ScholarCross Ref
- 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 Scholar
- Lorenzo Bettini. 2016. Implementing Domain-Specific Languages with Xtext and Xtend (2nd ed.). Packt Publishing.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- [15] Meeduse.[n.d.]. http://vasco.imag.fr/tools/meeduse/. Accessed: 2020-10-07.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- [19] Sirius.[n.d.]. http://www.eclipse.org/sirius/. Accessed: 2020-10-07.Google Scholar
- Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework(2nd ed.). Addison-Wesley.Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 Scholar
Index Terms
- A Lightweight Development of Outbreak Prevention Strategies Built on Formal Methods and xDSLs
Recommendations
A Formal Framework for ASTRAL Intralevel Proof Obligations
ASTRAL is a formal specification language for real-time systems. It is intended to support formal software development, and therefore has been formally defined. This paper focuses on how to formally prove the mathematical correctness of ASTRAL ...
Support Formal Component-Based Development with UML Profile
ASWEC '13: Proceedings of the 2013 22nd Australian Conference on Software EngineeringIntegrating formal methods into UML opens up a way to complement UML-based software development with precise semantics, development methodologies, as well as rigorous verification and refinement techniques. In this paper, we present an approach to ...
Combining Formal Methods for the Development of Reactive Systems
Special Issue on Modeling and Verification of Discrete Event SystemsThis article deals with the use of two verification approaches: theorem proving and model checking. We focus on the Event-B method by using its associated theorem proving tool (Click_n_Prove), and on the language TLA+ by using its model checker TLC. By ...
Comments