Advertisement

Isabelle/DOF: Design and Implementation

  • Achim D. BruckerEmail author
  • Burkhart Wolff
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11724)

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.

Keywords

Ontology Formal document development Certification DOF Isabelle/DOF 

Notes

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”.

References

  1. 1.
  2. 2.
    The neon toolkit (2018). http://neon-toolkit.org
  3. 3.
  4. 4.
    Owlgred (2018). http://owlgred.lumii.lv/
  5. 5.
  6. 6.
    Archive of formal proofs (2019). https://afp-isa.org
  7. 7.
    Ibm engineering requirements management doors family (2019). https://www.ibm.com/us-en/marketplace/requirements-management
  8. 8.
    Jupyter (2019). https://jupyter.org/
  9. 9.
    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/BFb0027252CrossRefGoogle Scholar
  10. 10.
    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_29CrossRefGoogle Scholar
  11. 11.
    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_1CrossRefGoogle Scholar
  12. 12.
    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_3CrossRefGoogle Scholar
  13. 13.
    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
  14. 14.
    Brucker, A.D., Herzberg, M.: The Core DOM. Archive of Formal Proofs (2018). http://www.isa-afp.org/entries/Core_DOM.html
  15. 15.
    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
  16. 16.
    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)Google Scholar
  17. 17.
    Common Criteria: Common criteria for information technology security evaluation (version 3.1), Part 3: Security assurance components (2006)Google Scholar
  18. 18.
    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-2CrossRefGoogle Scholar
  19. 19.
    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_37CrossRefGoogle Scholar
  20. 20.
    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
  21. 21.
    Hupel, L., Zhang, Y.: CakeML. Archive of Formal Proofs (2018). http://isa-afp.org/entries/CakeML.html
  22. 22.
    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/2560537CrossRefGoogle Scholar
  23. 23.
    Nipkow, T.: Functional automata. Archive of Formal Proofs (2004). http://isa-afp.org/entries/Functional-Automata.html. Formal proof development
  24. 24.
    Nipkow, T.: Splay tree. Archive of Formal Proofs (2014). http://isa-afp.org/entries/Splay_Tree.html. Formal proof development
  25. 25.
    Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002).  https://doi.org/10.1007/3-540-45949-9CrossRefzbMATHGoogle Scholar
  26. 26.
    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
  27. 27.
    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
  28. 28.
    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_33CrossRefGoogle Scholar
  29. 29.
    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.10CrossRefGoogle Scholar
  30. 30.
    Wenzel, M.: The Isabelle/Isar Reference Manual (2017). Part of the Isabelle distributionGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of ExeterExeterUK
  2. 2.LRI, CNRS, Université Paris-SaclayParisFrance

Personalised recommendations