Abstract
DOF is a novel framework for defining ontologies and enforcing them during document development and document evolution. A major goal of DOF is the integrated development of formal certification documents (e. g., for Common Criteria or CENELEC 50128) that require consistency across both formal and informal arguments.
To support a consistent development of formal and informal parts of a document, we provide Isabelle/DOF, an implementation of DOF on top of Isabelle/HOL. Isabelle/DOF is integrated into Isabelle’s IDE, which allows for smooth ontology development as well as immediate ontological feedback during the editing of a document.
In this paper, we give an in-depth presentation of the design concepts of DOF’s Ontology Definition Language (ODL) and key aspects of the technology of its implementation. Isabelle/DOF is the first ontology language supporting machine-checked links between the formal and informal parts in an LCF-style interactive theorem proving environment.
Sufficiently annotated, large documents can easily be developed collaboratively, while ensuring their consistency, and the impact of changes (in the formal and the semi-formal content) is tracked automatically.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The Isabelle/DOF distribution contains an ontology for writing documents for a certification according to CENELEC 50128.
- 2.
The usual import-mechanisms of the Isabelle document model applies also to ODL: ontologies can be extended, several ontologies may be imported, a document can validate several ontologies.
- 3.
Earlier versions of Isabelle/DOF used an additional
-to-
translator that needed to be integrated into the document build process.
References
Fluent editor (2018). http://www.cognitum.eu/Semantics/FluentEditor/
The neon toolkit (2018). http://neon-toolkit.org
Ontologies (2018). https://www.w3.org/standards/semanticweb/ontology
Owlgred (2018). http://owlgred.lumii.lv/
Protégé (2018). https://protege.stanford.edu
Archive of formal proofs (2019). https://afp-isa.org
Ibm engineering requirements management doors family (2019). https://www.ibm.com/us-en/marketplace/requirements-management
Jupyter (2019). https://jupyter.org/
Abrial, J.-R.: Steam-boiler control specification problem. In: Abrial, J.-R., Börger, E., Langmaack, H. (eds.) Formal Methods for Industrial Applications. LNCS, vol. 1165, pp. 500–509. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0027252
Barras, B., et al.: Pervasive parallelism in highly-trustable interactive theorem proving systems. In: Carette, J., Aspinall, D., Lange, C., Sojka, P., Windsteiger, W. (eds.) CICM 2013. LNCS (LNAI), vol. 7961, pp. 359–363. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39320-4_29
Blanchette, J.C., Haslbeck, M., Matichuk, D., Nipkow, T.: Mining the archive of formal proofs. In: Kerber, M., Carette, J., Kaliszyk, C., Rabe, F., Sorge, V. (eds.) CICM 2015. LNCS (LNAI), vol. 9150, pp. 3–17. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-20615-8_1
Brucker, A.D., Ait-Sadoune, I., Crisafulli, P., Wolff, B.: Using the isabelle ontology framework. In: Rabe, F., Farmer, W.M., Passmore, G.O., Youssef, A. (eds.) CICM 2018. LNCS (LNAI), vol. 11006, pp. 23–38. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96812-4_3
Brucker, A.D., Brügger, L., Wolff, B.: Formal network models and their application to firewall policies. Archive of Formal Proofs (2017). http://www.isa-afp.org/entries/UPF_Firewall.shtml
Brucker, A.D., Herzberg, M.: The Core DOM. Archive of Formal Proofs (2018). http://www.isa-afp.org/entries/Core_DOM.html
Brucker, A.D., Tuong, F., Wolff, B.: Featherweight OCL: a proposal for a machine-checked formal semantics for OCL 2.5. Archive of Formal Proofs (2014). http://www.isa-afp.org/entries/Featherweight_OCL.shtml
BS EN 50128:2011: Bs en 50128:2011: Railway applications - communication, signalling and processing systems - software for railway control and protecting systems. Standard, Britisch Standards Institute (BSI) (2014)
Common Criteria: Common criteria for information technology security evaluation (version 3.1), Part 3: Security assurance components (2006)
Faithfull, A., Bengtson, J., Tassi, E., Tankink, C.: Coqoon - an IDE for interactiveproof development in coq. STTT 20(2), 125–137 (2018). https://doi.org/10.1007/s10009-017-0457-2
Groza, T., Handschuh, S., Möller, K., Decker, S.: SALT - semantically annotated LaTeX for scientific publications. In: Franconi, E., Kifer, M., May, W. (eds.) ESWC 2007. LNCS, vol. 4519, pp. 518–532. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-72667-8_37
Hou, Z., Sanan, D., Tiu, A., Liu, Y.: A formal model for the SPARCv8 ISA and a proof of non-interference for the LEON3 processor. Archive of Formal Proofs (2016). http://isa-afp.org/entries/SPARCv8.html
Hupel, L., Zhang, Y.: CakeML. Archive of Formal Proofs (2018). http://isa-afp.org/entries/CakeML.html
Klein, G., et al.: Comprehensive formal verification of an OS microkernel. ACM Trans. Comput. Syst. 32(1), 2:1–2:70 (2014). https://doi.org/10.1145/2560537
Nipkow, T.: Functional automata. Archive of Formal Proofs (2004). http://isa-afp.org/entries/Functional-Automata.html. Formal proof development
Nipkow, T.: Splay tree. Archive of Formal Proofs (2014). http://isa-afp.org/entries/Splay_Tree.html. Formal proof development
Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45949-9
Sprenger, C., Somaini, I.: Developing security protocols by refinement. Archive of Formal Proofs (2017). http://isa-afp.org/entries/Security_Protocol_Refinement.html. Formal proof development
Verbeek, F., et al.: Formal specification of a generic separation kernel. Archive of Formal Proofs (2014). http://isa-afp.org/entries/CISC-Kernel.html. Formal proof development
Wenzel, M.: Asynchronous user interaction and tool integration in Isabelle/PIDE. In: Klein, G., Gamboa, R. (eds.) ITP 2014. LNCS, vol. 8558, pp. 515–530. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08970-6_33
Wenzel, M.: System description: Isabelle/jEdit in 2014. In: Proceedings Eleventh Workshop on User Interfaces for Theorem Provers, UITP 2014, Vienna, Austria, 17th July 2014, pp. 84–94 (2014). https://doi.org/10.4204/EPTCS.167.10
Wenzel, M.: The Isabelle/Isar Reference Manual (2017). Part of the Isabelle distribution
Acknowledgments
This work has been partially supported by IRT SystemX, Paris-Saclay, France, and therefore granted with public funds of the Program “Investissements d’Avenir”.
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
Brucker, A.D., Wolff, B. (2019). Isabelle/DOF: Design and Implementation. In: Ölveczky, P., Salaün, G. (eds) Software Engineering and Formal Methods. SEFM 2019. Lecture Notes in Computer Science(), vol 11724. Springer, Cham. https://doi.org/10.1007/978-3-030-30446-1_15
Download citation
DOI: https://doi.org/10.1007/978-3-030-30446-1_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-30445-4
Online ISBN: 978-3-030-30446-1
eBook Packages: Computer ScienceComputer Science (R0)