78 lines
1.8 KiB
Plaintext
78 lines
1.8 KiB
Plaintext
(*
|
|
* Copyright 2014, NICTA
|
|
*
|
|
* This software may be distributed and modified according to the terms of
|
|
* the GNU General Public License version 2. Note that NO WARRANTY is provided.
|
|
* See "LICENSE_GPLv2.txt" for details.
|
|
*
|
|
* @TAG(NICTA_GPL)
|
|
*)
|
|
|
|
(*<*)
|
|
theory Library_CAMKES
|
|
imports Types_CAMKES Wellformed_CAMKES
|
|
begin
|
|
(*>*)
|
|
|
|
(*<*)
|
|
(* Definitions of some built-in CAmkES entities. *)
|
|
definition
|
|
seL4RPC :: connector
|
|
where
|
|
"seL4RPC \<equiv> SyncConnector (Native RPC)"
|
|
lemma[simp]: "wellformed_connector seL4RPC"
|
|
by (auto simp:wellformed_connector_def seL4RPC_def)
|
|
|
|
definition
|
|
seL4Asynch :: connector
|
|
where
|
|
"seL4Asynch \<equiv> AsyncConnector (Native AsynchronousEvent)"
|
|
lemma[simp]: "wellformed_connector seL4Asynch"
|
|
by (auto simp:wellformed_connector_def seL4Asynch_def)
|
|
|
|
definition
|
|
seL4SharedData :: connector
|
|
where
|
|
"seL4SharedData \<equiv> MemoryConnector (Native SharedData)"
|
|
lemma[simp]: "wellformed_connector seL4SharedData"
|
|
by (auto simp:wellformed_connector_def seL4SharedData_def)
|
|
|
|
(* These connectors aren't literally identical, but for the purposes of the architectural model they
|
|
* are.
|
|
*)
|
|
definition
|
|
seL4RPCSimple :: connector
|
|
where
|
|
"seL4RPCSimple \<equiv> seL4RPC"
|
|
lemma[simp]: "wellformed_connector seL4RPCSimple"
|
|
by (simp add:seL4RPCSimple_def)
|
|
|
|
definition
|
|
seL4RPCCall :: connector
|
|
where
|
|
"seL4RPCCall \<equiv> seL4RPC"
|
|
lemma[simp]: "wellformed_connector seL4RPCCall"
|
|
by (simp add:seL4RPCCall_def)
|
|
|
|
definition
|
|
seL4Notification :: connector
|
|
where
|
|
"seL4Notification \<equiv> seL4Asynch"
|
|
lemma[simp]: "wellformed_connector seL4Notification"
|
|
by (simp add:seL4Notification_def)
|
|
|
|
lemmas connector_simps =
|
|
seL4SharedData_def
|
|
seL4RPC_def
|
|
seL4Asynch_def
|
|
seL4RPCSimple_def
|
|
seL4RPCCall_def
|
|
seL4Notification_def
|
|
|
|
lemmas [wellformed_CAMKES_simps] =
|
|
connector_simps
|
|
|
|
(*>*)
|
|
|
|
(*<*)end(*>*)
|