Copyright | (c) Markus Roggenbach and Till Mossakowski and Uni Bremen 2004 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | M.Roggenbach@swansea.ac.uk |
Stability | provisional |
Portability | portable |
Safe Haskell | None |
signatures for CSP-CASL
Synopsis
- addProcNameToProcNameMap :: PROCESS_NAME -> ProcProfile -> ProcNameMap -> ProcNameMap
- ccSig2CASLSign :: CspCASLSign -> CASLSign
- ccSig2CspSign :: CspCASLSign -> CspSign
- type ChanNameMap = MapSet CHANNEL_NAME SORT
- closeCspCommAlpha :: Rel SORT -> CommAlpha -> CommAlpha
- type CspCASLSign = Sign CspSen CspSign
- type CspCASLSen = FORMULA CspSen
- data CspSen = ProcessEq FQ_PROCESS_NAME FQProcVarList CommAlpha PROCESS
- data CspSign = CspSign {}
- cspSignUnion :: CspSign -> CspSign -> CspSign
- diffCspSig :: CspSign -> CspSign -> CspSign
- emptyCspCASLSign :: CspCASLSign
- emptyCspSign :: CspSign
- type FQProcVarList = [TERM ()]
- getUniqueProfileInProcNameMap :: PROCESS_NAME -> Int -> ProcNameMap -> Result ProcProfile
- isCspCASLSubSig :: CspCASLSign -> CspCASLSign -> Bool
- isCspSubSign :: CspSign -> CspSign -> Bool
- isNameInProcNameMap :: PROCESS_NAME -> ProcProfile -> ProcNameMap -> Bool
- isProcessEq :: CspCASLSen -> Bool
- type ProcNameMap = MapSet PROCESS_NAME ProcProfile
- type ProcVarList = [(SIMPLE_ID, SORT)]
- type ProcVarMap = Map SIMPLE_ID SORT
- reduceProcProfile :: Rel SORT -> ProcProfile -> ProcProfile
- commType2Sort :: CommType -> SORT
- relatedSorts :: CspCASLSign -> SORT -> SORT -> Bool
- relatedProcs :: CspCASLSign -> ProcProfile -> ProcProfile -> Bool
- unionCspCASLSign :: CspCASLSign -> CspCASLSign -> Result CspCASLSign
Documentation
addProcNameToProcNameMap :: PROCESS_NAME -> ProcProfile -> ProcNameMap -> ProcNameMap Source #
Add a process name and its profile to a process name map. exist.
ccSig2CASLSign :: CspCASLSign -> CASLSign Source #
ccSig2CspSign :: CspCASLSign -> CspSign Source #
Projection from CspCASL signature to Csp signature
type ChanNameMap = MapSet CHANNEL_NAME SORT Source #
type CspCASLSign = Sign CspSen CspSign Source #
A CspCASL signature is a CASL signature with a CSP process signature in the extendedInfo part.
type CspCASLSen = FORMULA CspSen Source #
A CspCASl senetence is either a CASL formula or a Procsses equation. A process equation has on the LHS a process name, a list of parameters which are qualified variables (which are terms), a constituent( or is it permitted ?) communication alphabet and finally on the RHS a fully qualified process.
Instances
CSP process signature.
Instances
diffCspSig :: CspSign -> CspSign -> CspSign Source #
Compute difference of two CSP process signatures.
emptyCspCASLSign :: CspCASLSign Source #
Empty CspCASL signature.
emptyCspSign :: CspSign Source #
Empty CSP process signature.
type FQProcVarList = [TERM ()] Source #
FQProcVarList should only contain fully qualified CASL variables which are TERMs i.e. constructed via the TERM constructor Qual_var.
getUniqueProfileInProcNameMap :: PROCESS_NAME -> Int -> ProcNameMap -> Result ProcProfile Source #
Given a simple process name and a required number of parameters, find a unqiue profile with that many parameters if possible. If this is not possible (i.e., name does not exist, or no profile with the required number of arguments or not unique profile for the required number of arguments), then the functions returns a failed result with a helpful error message. failure.
isCspCASLSubSig :: CspCASLSign -> CspCASLSign -> Bool Source #
Is one CspCASL Signature a sub signature of another
isCspSubSign :: CspSign -> CspSign -> Bool Source #
Is one Csp Signature a sub signature of another assuming the same data signature for now.
isNameInProcNameMap :: PROCESS_NAME -> ProcProfile -> ProcNameMap -> Bool Source #
Test if a simple process name with a profile is in the process name map.
isProcessEq :: CspCASLSen -> Bool Source #
type ProcNameMap = MapSet PROCESS_NAME ProcProfile Source #
type ProcVarList = [(SIMPLE_ID, SORT)] Source #
type ProcVarMap = Map SIMPLE_ID SORT Source #
reduceProcProfile :: Rel SORT -> ProcProfile -> ProcProfile Source #
Remove the implicit sorts from a profile under a sub-sort relation. Assumes all the proc profile's comms are in the sub sort relation and simply makes the comms contain only the minimal super sorts under the sub-sort relation.
commType2Sort :: CommType -> SORT Source #
relatedSorts :: CspCASLSign -> SORT -> SORT -> Bool Source #
relatedProcs :: CspCASLSign -> ProcProfile -> ProcProfile -> Bool Source #
unionCspCASLSign :: CspCASLSign -> CspCASLSign -> Result CspCASLSign Source #
Compute union of two CSP CASL signatures.