src/HOL/TLA/Memory/MemClerkParameters.thy
changeset 3807 82a99b090d9d
child 6255 db63752140c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/TLA/Memory/MemClerkParameters.thy	Wed Oct 08 11:50:33 1997 +0200
@@ -0,0 +1,34 @@
+(*
+    File:        MemClerkParameters.thy
+    Author:      Stephan Merz
+    Copyright:   1997 University of Munich
+
+    Theory Name: MemClerkParameters
+    Logic Image: TLA
+
+    RPC-Memory example: Parameters of the memory clerk.
+*)
+
+MemClerkParameters = RPCParameters + 
+
+datatype  mClkState  =  clkA | clkB
+
+types
+  (* types sent on the clerk's send and receive channels are argument types
+     of the memory and the RPC, respectively *)
+  mClkSndArgType   = "memArgType"
+  mClkRcvArgType   = "rpcArgType"
+
+consts
+  (* translate a memory call to an RPC call *)
+  MClkRelayArg     :: "memArgType => rpcArgType"
+  (* translate RPC failures to memory failures *)
+  MClkReplyVal     :: "Vals => Vals"
+
+rules
+  MClkRelayArg_def    "MClkRelayArg marg == Inl (remoteCall, marg)"
+  MClkReplyVal_def    "MClkReplyVal v == 
+                           if v = RPCFailure then MemFailure else v"
+
+end
+