@STRING{pub-springer={Springer} }
@STRING{pub-springer:adr="" }
@STRING{s-lncs	= "LNCS" }

@Misc{		  w3c:ontologies:2015,
  author	= {W3C},
  title		= {Ontologies},
  organisation	= {W3c},
  url		= {https://www.w3.org/standards/semanticweb/ontology},
  year		= 2015
}

@Misc{		  ibm:doors:2019,
  author	= {IBM},
  title		= {{IBM} Engineering Requirements Management {DOORS} Family},
  note		= {\url{https://www.ibm.com/us-en/marketplace/requirements-management}},
  year		= 2019
}

@Manual{	  wenzel:isabelle-isar:2019,
  title		= {The Isabelle/Isar Reference Manual},
  author	= {Makarius Wenzel},
  year		= 2019,
  note		= {Part of the Isabelle distribution.}
}

@InCollection{	  brucker.ea:isabelledof:2019,
  abstract	= {DOF is a novel framework for defining ontologies and
		  enforcing them during document development and 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 the formal methods
		  framework Isabelle/HOL. A particular emphasis is put on a
		  deep integration into Isabelle{\^a}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{\^a}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 collabo- ratively, 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},
  location	= {Oslo},
  author	= {Achim D. Brucker and Burkhart Wolff},
  booktitle	= {Software Engineering and Formal Methods (SEFM)},
  language	= {USenglish},
  url		= {https://www.brucker.ch/bibliography/abstract/brucker.ea-isabelledof-2019},
  publisher	= {Springer-Verlag},
  address	= {Heidelberg},
  series	= {Lecture Notes in Computer Science},
  number	= {11724},
  isbn		= {3-540-25109-X},
  doi		= {10.1007/978-3-030-30446-1_15},
  editor	= {Peter C. {\"O}lveczky and Gwen Sala{\"u}n},
  pdf		= {https://www.brucker.ch/bibliography/download/2019/brucker.ea-isabelledof-2019.pdf},
  title		= {{Isabelle/DOF}: Design and Implementation},
  classification= {conference},
  areas		= {formal methods, software},
  categories	= {isadof},
  year		= {2019},
  public	= {yes}
}

@InCollection{	  brucker.ea:isabelle-ontologies:2018,
  abstract	= {While Isabelle is mostly known as part of Isabelle/HOL (an
		  interactive theorem prover), it actually provides a
		  framework for developing a wide spectrum of applications. A
		  particular strength of the Isabelle framework is the
		  combination of text editing, formal verification, and code
		  generation.
		  
		  Up to now, Isabelle's document preparation system lacks a
		  mechanism for ensuring the structure of different document
		  types (as, e.g., required in certification processes) in
		  general and, in particular, mechanism for linking informal
		  and formal parts of a document.
		  
		  In this paper, we present Isabelle/DOF, a novel Document
		  Ontology Framework on top of Isabelle. Isabelle/DOF allows
		  for conventional typesetting \emph{as well} as formal
		  development. We show how to model document ontologies
		  inside Isabelle/DOF, how to use the resulting
		  meta-information for enforcing a certain document
		  structure, and discuss ontology-specific IDE support.},
  keywords	= {Isabelle/Isar, HOL, Ontologies},
  location	= {Hagenberg, Austria},
  author	= {Achim D. Brucker and Idir Ait-Sadoune and Paolo Crisafulli
		  and Burkhart Wolff},
  booktitle	= {Conference on Intelligent Computer Mathematics (CICM)},
  language	= {USenglish},
  publisher	= {Springer-Verlag},
  address	= {Heidelberg},
  series	= {Lecture Notes in Computer Science},
  number	= {11006},
  url		= {https://www.brucker.ch/bibliography/abstract/brucker.ea-isabelle-ontologies-2018},
  title		= {Using the {Isabelle} Ontology Framework: Linking the
		  Formal with the Informal},
  classification= {conference},
  areas		= {formal methods, software},
  categories	= {isadof},
  public	= {yes},
  year		= {2018},
  doi		= {10.1007/978-3-319-96812-4_3},
  pdf		= {https://www.brucker.ch/bibliography/download/2018/brucker.ea-isabelle-ontologies-2018.pdf}
}

@Book{		  boulanger:cenelec-50128:2015,
  author	= {Boulanger, Jean-Louis},
  title		= {{CENELEC} 50128 and {IEC} 62279 Standards},
  publisher	= {Wiley-ISTE},
  year		= 2015,
  address	= {Boston}
}

@Booklet{	  cc:cc-part3:2006,
  bibkey	= {cc:cc-part3:2006},
  key		= {Common Criteria},
  institution	= {Common Criteria},
  language	= {USenglish},
  month		= sep,
  year		= 2006,
  public	= {yes},
  title		= {Common Criteria for Information Technology Security
		  Evaluation (Version 3.1), {Part} 3: Security assurance
		  components},
  note		= {Available as document
		  \href{http://www.commoncriteriaportal.org/public/files/CCPART3V3.1R1.pdf}
		  {CCMB-2006-09-003}},
  number	= {CCMB-2006-09-003},
  acknowledgement={brucker, 2007-04-24}
}

@Book{		  nipkow.ea:isabelle:2002,
  author	= {Tobias Nipkow and Lawrence C. Paulson and Markus Wenzel},
  title		= {Isabelle/HOL---A Proof Assistant for Higher-Order Logic},
  publisher	= pub-springer,
  address	= pub-springer:adr,
  series	= s-lncs,
  volume	= 2283,
  doi		= {10.1007/3-540-45949-9},
  abstract	= {This book is a self-contained introduction to interactive
		  proof in higher-order logic (\acs{hol}), using the proof
		  assistant Isabelle2002. It is a tutorial for potential
		  users rather than a monograph for researchers. The book has
		  three parts.
		  
		  1. Elementary Techniques shows how to model functional
		  programs in higher-order logic. Early examples involve
		  lists and the natural numbers. Most proofs are two steps
		  long, consisting of induction on a chosen variable followed
		  by the auto tactic. But even this elementary part covers
		  such advanced topics as nested and mutual recursion. 2.
		  Logic and Sets presents a collection of lower-level tactics
		  that you can use to apply rules selectively. It also
		  describes Isabelle/\acs{hol}'s treatment of sets, functions
		  and relations and explains how to define sets inductively.
		  One of the examples concerns the theory of model checking,
		  and another is drawn from a classic textbook on formal
		  languages. 3. Advanced Material describes a variety of
		  other topics. Among these are the real numbers, records and
		  overloading. Advanced techniques are described involving
		  induction and recursion. A whole chapter is devoted to an
		  extended example: the verification of a security protocol. },
  year		= 2002,
  acknowledgement={brucker, 2007-02-19},
  bibkey	= {nipkow.ea:isabelle:2002},
  tags		= {noTAG},
  clearance	= {unclassified},
  timestap	= {2008-05-26}
}

@InProceedings{	  wenzel:asynchronous:2014,
  author	= {Makarius Wenzel},
  title		= {Asynchronous User Interaction and Tool Integration in
		  {Isabelle}/{PIDE}},
  booktitle	= {ITP},
  pages		= {515--530},
  year		= 2014,
  crossref	= {klein.ea:interactive:2014},
  doi		= {10.1007/978-3-319-08970-6_33},
  timestamp	= {Sun, 21 May 2017 00:18:59 +0200},
  abstract	= { Historically, the LCF tradition of interactive theorem
		  proving was tied to the read-eval-print loop, with
		  sequential and synchronous evaluation of prover commands
		  given on the command-line. This user-interface technology
		  was adequate when R. Milner introduced his LCF proof
		  assistant in the 1970-ies, but it severely limits the
		  potential of current multicore hardware and advanced IDE
		  front-ends.
		  
		  Isabelle/PIDE breaks this loop and retrofits the
		  read-eval-print phases into an asynchronous model of
		  document-oriented proof processing. Instead of feeding a
		  sequence of individual commands into the prover process,
		  the primary interface works via edits over a family of
		  document versions. Execution is implicit and managed by the
		  prover on its own account in a timeless and stateless
		  manner. Various aspects of interactive proof checking are
		  scheduled according to requirements determined by the
		  front-end perspective on the proof document, while making
		  adequate use of the CPU resources on multicore hardware on
		  the back-end.
		  
		  Recent refinements of Isabelle/PIDE provide an explicit
		  concept of asynchronous print functions over existing proof
		  states. This allows to integrate long-running or
		  potentially non-terminating tools into the document-model.
		  Applications range from traditional proof state output
		  (which may consume substantial time in interactive
		  development) to automated provers and dis-provers that
		  report on existing proof document content (e.g.
		  Sledgehammer, Nitpick, Quickcheck in Isabelle/HOL).
		  Moreover, it is possible to integrate query operations via
		  additional GUI panels with separate input and output (e.g.
		  for Sledgehammer or find-theorems). Thus the Prover IDE
		  provides continuous proof processing, augmented by add-on
		  tools that help the user to continue writing proofs. }
}

@Proceedings{	  klein.ea:interactive:2014,
  editor	= {Gerwin Klein and Ruben Gamboa},
  title		= {Interactive Theorem Proving - 5th International
		  Conference, {ITP} 2014, Held as Part of the Vienna Summer
		  of Logic, {VSL} 2014, Vienna, Austria, July 14-17, 2014.
		  Proceedings},
  series	= s-lncs,
  volume	= 8558,
  publisher	= pub-springer,
  year		= 2014,
  doi		= {10.1007/978-3-319-08970-6}
}

@InProceedings{	  bezzecchi.ea:making:2018,
  title		= {Making Agile Development Processes fit for V-style
		  Certification Procedures},
  author	= {Bezzecchi, S. and Crisafulli, P. and Pichot, C. and Wolff,
		  B.},
  booktitle	= {{ERTS'18}},
  abstract	= {We present a process for the development of safety and
		  security critical components in transportation systems
		  targeting a high-level certification (CENELEC 50126/50128,
		  DO 178, CC ISO/IEC 15408).
		  
		  The process adheres to the objectives of an ``agile
		  development'' in terms of evolutionary flexibility and
		  continuous improvement. Yet, it enforces the overall
		  coherence of the development artifacts (ranging from proofs
		  over tests to code) by a particular environment (CVCE).
		  
		  In particular, the validation process is built around a
		  formal development based on the interactive theorem proving
		  system Isabelle/HOL, by linking the business logic of the
		  application to the operating system model, down to code and
		  concrete hardware models thanks to a series of refinement
		  proofs.
		  
		  We apply both the process and its support in CVCE to a
		  case-study that comprises a model of an odometric service
		  in a railway-system with its corresponding implementation
		  integrated in seL4 (a secure kernel for which a
		  comprehensive Isabelle development exists). Novel
		  techniques implemented in Isabelle enforce the coherence of
		  semi-formal and formal definitions within to specific
		  certification processes in order to improve their
		  cost-effectiveness. },
  pdf		= {https://www.lri.fr/~wolff/papers/conf/2018erts-agile-fm.pdf},
  year		= 2018,
  series	= {ERTS Conference Proceedings},
  location	= {Toulouse}
}

@InCollection{	  wenzel.ea:building:2007,
  abstract	= {We present the generic system framework of
		  Isabelle/Isarunderlying recent versions of Isabelle. Among
		  other things, Isar provides an infrastructure for Isabelle
		  plug-ins, comprising extensible state components and
		  extensible syntax that can be bound to tactical ML
		  programs. Thus the Isabelle/Isar architecture may be
		  understood as an extension and refinement of the
		  traditional LCF approach, with explicit infrastructure for
		  building derivative systems. To demonstrate the technical
		  potential of the framework, we apply it to a concrete
		  formalmethods tool: the HOL-Z 3.0 environment, which is
		  geared towards the analysis of Z specifications and formal
		  proof of forward-refinements.},
  author	= {Makarius Wenzel and Burkhart Wolff},
  booktitle	= {TPHOLs 2007},
  editor	= {Klaus Schneider and Jens Brandt},
  language	= {USenglish},
  acknowledgement={none},
  pages		= {352--367},
  publisher	= pub-springer,
  address	= pub-springer:adr,
  number	= 4732,
  series	= s-lncs,
  title		= {Building Formal Method Tools in the {Isabelle}/{Isar}
		  Framework},
  doi		= {10.1007/978-3-540-74591-4_26},
  year		= 2007
}

@Misc{		  biendarra.ea:defining:2019,
  title		= {Defining (Co)datatypes and Primitively (Co)recursive
		  Functions in Isabelle/HOL},
  author	= {Julian Biendarra and Jasmin Christian Blanchette and
		  Martin Desharnais and Lorenz Panny and Andrei Popescu and
		  Dmitriy Traytel},
  note		= {\url{https://isabelle.in.tum.de/doc/datatypes.pdf}},
  year		= 2019
}

@Misc{		  kraus:defining:2019,
  title		= {Defining Recursive Functions in Isabelle/HOL},
  author	= {Alexander Kraus},
  note		= {\url{https://isabelle.in.tum.de/doc/functions.pdf}},
  year		= 2019
}

@Misc{		  nipkow:whats:2019,
  title		= {What's in Main},
  author	= {Tobias Nipkow},
  note		= {\url{https://isabelle.in.tum.de/doc/main.pdf}},
  year		= 2019
}

@InProceedings{	  wenzel:system:2014,
  author	= {Makarius Wenzel},
  title		= {System description: Isabelle/{jEdit} in 2014},
  booktitle	= {UITP},
  pages		= {84--94},
  year		= 2014,
  doi		= {10.4204/EPTCS.167.10}
}

@InProceedings{	  barras.ea:pervasive:2013,
  author	= {Bruno Barras and Lourdes Del Carmen
		  Gonz{\'{a}}lez{-}Huesca and Hugo Herbelin and Yann
		  R{\'{e}}gis{-}Gianas and Enrico Tassi and Makarius Wenzel
		  and Burkhart Wolff},
  title		= {Pervasive Parallelism in Highly-Trustable Interactive
		  Theorem Proving Systems},
  booktitle	= {MKM},
  pages		= {359--363},
  year		= 2013,
  doi		= {10.1007/978-3-642-39320-4_29}
}

@Article{	  faithfull.ea:coqoon:2018,
  author	= {Faithfull, Alexander and Bengtson, Jesper and Tassi,
		  Enrico and Tankink, Carst},
  title		= {Coqoon},
  journal	= {Int. J. Softw. Tools Technol. Transf.},
  issue_date	= {April 2018},
  volume	= 20,
  number	= 2,
  month		= apr,
  year		= 2018,
  issn		= {1433-2779},
  pages		= {125--137},
  numpages	= 13,
  doi		= {10.1007/s10009-017-0457-2},
  acmid		= 3204223,
  publisher	= {Springer-Verlag},
  address	= {Berlin, Heidelberg}
}

@InProceedings{	  abrial:steam-boiler:1996,
  author	= {Abrial, Jean-Raymond},
  title		= {Steam-Boiler Control Specification Problem},
  booktitle	= {Formal Methods for Industrial Applications, Specifying and
		  Programming the Steam Boiler Control (the Book Grow out of
		  a Dagstuhl Seminar, June 1995).},
  year		= 1996,
  isbn		= {3-540-61929-1},
  pages		= {500--509},
  numpages	= 10,
  url		= {http://dl.acm.org/citation.cfm?id=647370.723886},
  acmid		= 723886,
  publisher	= {Springer-Verlag},
  address	= {London, UK, UK}
}

@TechReport{	  bsi:50128:2014,
  type		= {Standard},
  key		= {BS EN 50128:2011},
  month		= apr,
  year		= 2014,
  series	= {British Standards Publication},
  title		= {BS EN 50128:2011: Railway applications -- Communication,
		  signalling and processing systems -- Software for railway
		  control and protecting systems},
  institution	= {Britisch Standards Institute (BSI)},
  keywords	= {CENELEC},
  abstract	= {This European Standard is part of a group of related
		  standards. The others are EN 50126-1:1999 "Railway
		  applications -- The specification and demonstration of
		  Reliability, Availability, Maintainability and Safety
		  (RAMS) -- Part 1: Basic requirements and generic process --
		  and EN 50129:2003 "Railway applications -- Communication,
		  signalling and processing systems -- Safety related
		  electronic systems for signalling". EN 50126-1 addresses
		  system issues on the widest scale, while EN 50129 addresses
		  the approval process for individual systems which can exist
		  within the overall railway control and protection system.
		  This European Standard concentrates on the methods which
		  need to be used in order to provide software which meets
		  the demands for safety integrity which are placed upon it
		  by these wider considerations. This European Standard
		  provides a set of requirements with which the development,
		  deployment and maintenance of any safety-related software
		  intended for railway control and protection applications
		  shall comply. It defines requirements concerning
		  organisational structure, the relationship between
		  organisations and division of responsibility involved in
		  the development, deployment and maintenanceactivities.}
}

@Article{	  kraus.ea:regular-sets-afp:2010,
  author	= {Alexander Krauss and Tobias Nipkow},
  title		= {Regular Sets and Expressions},
  journal	= {Archive of Formal Proofs},
  month		= may,
  year		= 2010,
  note		= {\url{http://isa-afp.org/entries/Regular-Sets.html}, Formal
		  proof development},
  issn		= {2150-914x}
}

@Article{	  nipkow.ea:functional-Automata-afp:2004,
  author	= {Tobias Nipkow},
  title		= {Functional Automata},
  journal	= {Archive of Formal Proofs},
  month		= mar,
  year		= 2004,
  note		= {\url{http://isa-afp.org/entries/Functional-Automata.html},
		  Formal proof development},
  issn		= {2150-914x}
}

@Booklet{	  kohm:koma-script:2019,
  author	= {Markus Kohm},
  title		= {{KOMA-Script}: a versatile {\LaTeXe{}} bundle},
  year		= 2019
}

@Booklet{	  wenzel:system-manual:2019,
  author	= {Makarius Wenzel},
  title		= {The {Isabelle} System Manual},
  year		= 2019,
  note		= {Part of the Isabelle distribution.}
}

@Booklet{	  chervet:keycommand:2010,
  author	= {Florent Chervet},
  title		= {The free and open source keycommand package: key-value
		  interface for commands and environments in {\LaTeX}.},
  year		= 2010
}

@Book{		  knuth:texbook:1986,
  author	= {Knuth, Donald E.},
  title		= {The TeXbook},
  year		= 1986,
  isbn		= 0201134470,
  publisher	= {Addison-Wesley Professional}
}

@Book{		  mittelbach.ea:latex:1999,
  author	= {Mittelbach, Frank and Goossens, Michel and Braams,
		  Johannes and Carlisle, David and Rowley, Chris},
  title		= {The LaTeX Companion},
  year		= 2004,
  edition	= {2nd},
  publisher	= {Addison-Wesley Longman Publishing Co., Inc.},
  address	= {Boston, MA, USA}
}

@Book{		  eijkhout:latex-cs:2012,
  author	= {Victor Eijkhout},
  title		= {The Computer Science of TeX and LaTeX},
  publisher = {Texas Advanced Computing Center},
  year		= 2012
}
