Download complete thesis as PDF

Transcript
Next, the theorem transition_state_secure is formulated as in Figure 67.
This theorem states that given an initial secure state, for any input, the state transited to
will be secure based on the defined transition operation.
%% Theorem stating change of state is secure
theorem transition_state_secure is
fa(S: State, input:Input)
securestate?(S) => securestate?((transition input S).2)
Figure 67
Theorem Transition State Secure
It should not be difficult then to conclude that given an initial empty state,
which is secure by the theorem EmptySecure, the system state will always be secure as a
direct result from transition_state_secure.
i.
Proving in Isabelle
During the session at Kestrel, the specification was translated to the
Isabelle language and Kestrel provided examples of how to use the Isabelle theorem
prover. The proof steps are performed using the Isabelle graphical interface, as described
above, which can later by copied into the Specware specification itself to facilitate reproof. From this experience, we learned that interactive theorem proving is an intense
effort that requires detailed knowledge of both the target specification’s logic and the
proof system — our BLP model and the Isabelle theorem prover, in this case. One
example, to establish that the dominates operation is a linear ordering, was not completed
due to time limitations of the visit, but illustrated how different specification styles, as
well as proof strategies, can effect the elegance of the proof.
3.
Discussion and Lessons Learned
Many of the lessons learned in the building of this submodel have been
documented and discussed in the previous section. The most important takeaway was
that the proving on Isabelle platform is not trivial, and would take more than just simple
predicate and theorem proofing knowledge and basic understanding of Isabelle to
complete the proof. Experience would be another key asset, as we saw how the Kestrel
56