Revised Section 3.4
Isabelle_DOF/Isabelle_DOF/master This commit looks good Details

This commit is contained in:
Achim D. Brucker 2019-08-04 20:34:22 +01:00
parent 451da54e0e
commit d89b9c6d65
3 changed files with 63 additions and 73 deletions

View File

@ -265,7 +265,7 @@ text\<open>
The \isadof distribution contains an example (actually, our CICM 2018 The \isadof distribution contains an example (actually, our CICM 2018
paper~@{cite "brucker.ea:isabelle-ontologies:2018"}) using the ontology ``scholarly\_paper'' in paper~@{cite "brucker.ea:isabelle-ontologies:2018"}) using the ontology ``scholarly\_paper'' in
the directory \nolinkurl{examples/scholarly_paper/2018-cicm-isabelle_dof-applications/}. You the directory \nolinkurl{examples/scholarly_paper/2018-cicm-isabelle_dof-applications/}. You
can inspect/jedit the example in Isabelle's IDE, by either can inspect/edit the example in Isabelle's IDE, by either
\<^item> starting Isabelle/jedit using your graphical user interface (\eg, by clicking on the \<^item> starting Isabelle/jedit using your graphical user interface (\eg, by clicking on the
Isabelle-Icon provided by the Isabelle installation) and loading the file Isabelle-Icon provided by the Isabelle installation) and loading the file
\nolinkurl{examples/scholarly_paper/2018-cicm-isabelle_dof-applications/IsaDofApplications.thy}. \nolinkurl{examples/scholarly_paper/2018-cicm-isabelle_dof-applications/IsaDofApplications.thy}.
@ -425,7 +425,7 @@ text\<open>
The ontology ``CENELEC\_50128''\index{ontology!CENELEC\_50128} is a small ontology modeling The ontology ``CENELEC\_50128''\index{ontology!CENELEC\_50128} is a small ontology modeling
documents for a certification following CENELEC 50128~@{cite "boulanger:cenelec-50128:2015"}. documents for a certification following CENELEC 50128~@{cite "boulanger:cenelec-50128:2015"}.
The \isadof distribution contains a small example using the ontology ``CENELEC\_50128'' in The \isadof distribution contains a small example using the ontology ``CENELEC\_50128'' in
the directory \nolinkurl{examples/CENELEC_50128/mini_odo/}. You can inspect/jedit the example the directory \nolinkurl{examples/CENELEC_50128/mini_odo/}. You can inspect/edit the example
in Isabelle's IDE, by either in Isabelle's IDE, by either
\<^item> starting Isabelle/jedit using your graphical user interface (\eg, by clicking on the \<^item> starting Isabelle/jedit using your graphical user interface (\eg, by clicking on the
Isabelle-Icon provided by the Isabelle installation) and loading the file Isabelle-Icon provided by the Isabelle installation) and loading the file
@ -549,67 +549,80 @@ device. This condition can not be established inside the formal theory but has t
checked by system integration tests. Now we reference in @{docitem_ref \<open>figfig7\<close>} this checked by system integration tests. Now we reference in @{docitem_ref \<open>figfig7\<close>} this
safety-related condition; however, this happens in a context where general \<^emph>\<open>exported constraints\<close> safety-related condition; however, this happens in a context where general \<^emph>\<open>exported constraints\<close>
are listed. \isadof's checks establish that this is legal in the given ontology. are listed. \isadof's checks establish that this is legal in the given ontology.
\<close>
This example shows that ontological modeling is indeed adequate for large technical, section*[math_exam::example]\<open>Writing Exams (math\_exam)\<close>
collaboratively developed documentations, where modifications can lead easily to incoherence. subsection\<open>The Math Exam Example\<close>
The current checks help to systematically avoid this type of incoherence between formal and text\<open>
informal parts. \<close> The ontology ``math\_exam''\index{ontology!math\_exam} is an experimental ontology modeling
the process of writing exams at higher education institution in the United Kingdom, where exams
undergo both an internal and external review process. The \isadof distribution contains a tiny
example using the ontology ``math\_exam'' in the directory
\nolinkurl{examples/math_exam/MathExam/}. You can inspect/edit the example
in Isabelle's IDE, by either
\<^item> starting Isabelle/jedit using your graphical user interface (\eg, by clicking on the
Isabelle-Icon provided by the Isabelle installation) and loading the file
\nolinkurl{examples/math_exam/MathExam/MathExam.thy}.
\<^item> starting Isabelle/jedit from the command line by calling:
section*[math_exam::example]\<open> The Math-Exam Scenario \<close> \begin{bash}
text\<open> The Math-Exam Scenario is an application with mixed formal and ë\prompt{\isadofdirn}ë
semi-formal content. It addresses applications where the author of the exam is not present isabelle jedit examples/math_exam/MathExam/MathExam.thy
during the exam and the preparation requires a very rigorous process, as the french \end{bash}
\<^emph>\<open>baccaleaureat\<close> and exams at The University of Sheffield. \<close>
text\<open>
You can build the PDF-document by calling:
We assume that the content has four different types of addressees, which have a different \begin{bash}
\<^emph>\<open>view\<close> on the integrated document: ë\prompt{}ë isabelle build MathExam
\end{bash}
\<^item> the \<^emph>\<open>setter\<close>, \ie, the author of the exam,
\<^item> the \<^emph>\<open>checker\<close>, \ie, an internal person that checks
the exam for feasibility and non-ambiguity,
\<^item> the \<^emph>\<open>external examiner\<close>, \ie, an external person that checks
the exam for feasibility and non-ambiguity, and
\<^item> the \<^emph>\<open>student\<close>, \ie, the addressee of the exam.
\<close> \<close>
text\<open> The latter quality assurance mechanism is used in many universities,
where for organizational reasons the execution of an exam takes place in facilities subsection\<open>Modeling Exams\<close>
where the author of the exam is not expected to be physically present. text\<open>
Furthermore, we assume a simple grade system (thus, some calculation is required). The math-exam scenario is an application with mixed formal and semi-formal content. It addresses
applications where the author of the exam is not present during the exam and the preparation
requires a very rigorous process.
We assume that the content has four different types of addressees, which have a different
\<^emph>\<open>view\<close> on the integrated document:
\<^item> the \<^emph>\<open>setter\<close>, \ie, the author of the exam,
\<^item> the \<^emph>\<open>checker\<close>, \ie, an internal person that checks
the exam for feasibility and non-ambiguity,
\<^item> the \<^emph>\<open>external\<close>, \ie, an external person that checks
the exam for feasibility and non-ambiguity, and
\<^item> the \<^emph>\<open>student\<close>, \ie, the addressee of the exam.
\<close>
text\<open>
The latter quality assurance mechanism is used in many universities,
where for organizational reasons the execution of an exam takes place in facilities
where the author of the exam is not expected to be physically present.
Furthermore, we assume a simple grade system (thus, some calculation is required). We
can model this as follows:
\begin{figure}
\begin{isar} \begin{isar}
doc_class Author = ... doc_class Author = ...
datatype Subject = algebra | geometry | statistical datatype Subject = algebra | geometry | statistical
datatype Grade = A1 | A2 | A3 datatype Grade = A1 | A2 | A3
doc_class Header = examTitle :: string doc_class Header = examTitle :: string
examSubject :: Subject examSubject :: Subject
date :: string date :: string
timeAllowed :: int -- minutes timeAllowed :: int -- minutes
datatype ContentClass = setter datatype ContentClass = setter
| checker | checker
| external_examiner | external_examiner
| student | student
doc_class Exam_item = concerns :: "ContentClass set"
doc_class Exam_item = doc_class Exam_item = concerns :: "ContentClass set"
concerns :: "ContentClass set"
doc_class Exam_item =
concerns :: "ContentClass set"
type_synonym SubQuestion = string type_synonym SubQuestion = string
\end{isar} \end{isar}
\caption{The core of the ontology modeling math exams.}
\label{fig:onto-exam} The heart of this ontology is an alternation of questions and answers, where the answers can
\end{figure} consist of simple yes-no answers or lists of formulas. Since we do not assume familiarity of
The heart of this ontology (see \autoref{fig:onto-exam}) is an alternation of questions and answers, the students with Isabelle (\inlineisar+term+ would assume that this is a parse-able and
where the answers can consist of simple yes-no answers (QCM style check-boxes) or lists of formulas. type-checkable entity), we basically model a derivation as a sequence of strings:
Since we do not
assume familiarity of the students with Isabelle (\inlineisar+term+ would assume that this is a
parse-able and type-checkable entity), we basically model a derivation as a sequence of strings
(see \autoref{fig:onto-questions}).
\begin{figure}
\begin{isar} \begin{isar}
doc_class Answer_Formal_Step = Exam_item + doc_class Answer_Formal_Step = Exam_item +
justification :: string justification :: string
@ -635,17 +648,11 @@ doc_class Exercise = Exam_item +
concerns :: "ContentClass set" <= "UNIV" concerns :: "ContentClass set" <= "UNIV"
mark :: int mark :: int
\end{isar} \end{isar}
\caption{An exam can contain different types of questions.}
\label{fig:onto-questions}
\end{figure}
In many institutions, it makes sense to have a rigorous process of validation In many institutions, having a rigorous process of validation for exam subjects makes sense: is
for exam subjects: is the initial question correct? Is a proof in the sense of the the initial question correct? Is a proof in the sense of the question possible? We model the
question possible? We model the possibility that the @{term examiner} validates a possibility that the @{term examiner} validates a question by a sample proof validated by Isabelle:
question by a sample proof validated by Isabelle (see \autoref{fig:onto-exam-monitor}).
In our scenario this sample proofs are completely \<^emph>\<open>intern\<close>, \ie, not exposed to the
students but just additional material for the internal review process of the exam.
\begin{figure}
\begin{isar} \begin{isar}
doc_class Validation = doc_class Validation =
tests :: "term list" <="[]" tests :: "term list" <="[]"
@ -661,26 +668,10 @@ doc_class MathExam=
global_grade :: Grade global_grade :: Grade
where "\<lbrace>Author\<rbrace>$^+$ ~~ Header ~~ \<lbrace>Exercise ~~ Solution\<rbrace>$^+$ " where "\<lbrace>Author\<rbrace>$^+$ ~~ Header ~~ \<lbrace>Exercise ~~ Solution\<rbrace>$^+$ "
\end{isar} \end{isar}
\caption{Validating exams.}
\label{fig:onto-exam-monitor} In our scenario this sample proofs are completely \<^emph>\<open>intern\<close>, \ie, not exposed to the
\end{figure} students but just additional material for the internal review process of the exam.
\<close> \<close>
declare_reference*["fig_qcm"::figure]
text\<open> Using the \LaTeX{} package hyperref, it is possible to conceive an interactive
exam-sheets with multiple-choice and/or free-response elements
(see @{docitem_ref (unchecked) \<open>fig_qcm\<close>}). With the
help of the latter, it is possible that students write in a browser a formal mathematical
derivation---as part of an algebra exercise, for example---which is submitted to the examiners
electronically. \<close>
figure*[fig_qcm::figure,spawn_columns=False,
relative_width="90",src="''figures/InteractiveMathSheet''"]
\<open> A Generated QCM Fragment \ldots \<close>
(*<*) (*<*)
end end
(*>*) (*>*)

View File

@ -21,7 +21,6 @@ session "Isabelle_DOF-Manual" = "Isabelle_DOF" +
"figures/Dogfood-Intro.png" "figures/Dogfood-Intro.png"
"figures/Dogfood-IV-jumpInDocCLass.png" "figures/Dogfood-IV-jumpInDocCLass.png"
"figures/Dogfood-V-attribute.png" "figures/Dogfood-V-attribute.png"
"figures/InteractiveMathSheet.png"
"figures/IsaArchGlobal.png" "figures/IsaArchGlobal.png"
"figures/IsaArchInteract.png" "figures/IsaArchInteract.png"
"figures/IsaArch.odp" "figures/IsaArch.odp"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB