CSPM-FiringRules-0.4.4.0: Firing rules semantic of CSPM

Copyright(c) Fontaine 2010 - 2011
LicenseBSD3
Maintainerfontaine@cs.uni-duesseldorf.de
Stabilityexperimental
PortabilityGHC-only
Safe HaskellSafe
LanguageHaskell2010

CSPM.FiringRules.Rules

Description

This module defines data types for (CSP) proof trees. A proof tree shows that a particular transition is valid with respect to the firing rules semantics.

(For more info on the firing rule semantics see: The Theory and Practice of Concurrency A.W. Roscoe 1999.)

We use three separate data types: RuleTau stores a proof tree for a tau rule, RuleTick stores a proof tree for a tick rule and RuleEvent stores a proof tree for an event from Sigma.

There is a one-to-one correspondence between each constructor of the data types RuleTau, RuleTick, RuleEvent and one fireing rule.

Synopsis

Documentation

data Rule i Source #

A sum-type for tau, tick and regular proof trees.

Constructors

TauRule (RuleTau i) 
TickRule (RuleTick i) 
EventRule (RuleEvent i) 

Instances

(Eq (RuleEvent i), Eq (RuleTick i), Eq (RuleTau i)) => Eq (Rule i) Source # 

Methods

(==) :: Rule i -> Rule i -> Bool #

(/=) :: Rule i -> Rule i -> Bool #

(Show (RuleEvent i), Show (RuleTick i), Show (RuleTau i)) => Show (Rule i) Source # 

Methods

showsPrec :: Int -> Rule i -> ShowS #

show :: Rule i -> String #

showList :: [Rule i] -> ShowS #

isTauRule :: Rule i -> Bool Source #

Is this a proof tree for a tau-transition ?

data RuleTau i Source #

Representation of tau proof trees.

Constructors

Hidden (EventSet i) (RuleEvent i) 
HideTau (EventSet i) (RuleTau i) 
SeqTau (RuleTau i) (Process i) 
SeqTick (RuleTick i) (Process i) 
InternalChoiceL (Process i) (Process i) 
InternalChoiceR (Process i) (Process i) 
ChaosStop (EventSet i) 
TimeoutOccurs (Process i) (Process i) 
TimeoutTauR (RuleTau i) (Process i) 
ExtChoiceTauL (RuleTau i) (Process i) 
ExtChoiceTauR (Process i) (RuleTau i) 
InterleaveTauL (RuleTau i) (Process i) 
InterleaveTauR (Process i) (RuleTau i) 
InterleaveTickL (RuleTick i) (Process i) 
InterleaveTickR (Process i) (RuleTick i) 
ShareTauL (EventSet i) (RuleTau i) (Process i) 
ShareTauR (EventSet i) (Process i) (RuleTau i) 
ShareTickL (EventSet i) (RuleTick i) (Process i) 
ShareTickR (EventSet i) (Process i) (RuleTick i) 
AParallelTauL (EventSet i) (EventSet i) (RuleTau i) (Process i) 
AParallelTauR (EventSet i) (EventSet i) (Process i) (RuleTau i) 
AParallelTickL (EventSet i) (EventSet i) (RuleTick i) (Process i) 
AParallelTickR (EventSet i) (EventSet i) (Process i) (RuleTick i) 
InterruptTauL (RuleTau i) (Process i) 
InterruptTauR (Process i) (RuleTau i) 
TauRepAParallel [Either (EventSet i, Process i) (EventSet i, RuleTau i)] 
RenamingTau (RenamingRelation i) (RuleTau i) 
LinkLinked (RenamingRelation i) (RuleEvent i) (RuleEvent i) 
LinkTauL (RenamingRelation i) (RuleTau i) (Process i) 
LinkTauR (RenamingRelation i) (Process i) (RuleTau i) 
LinkTickL (RenamingRelation i) (RuleTick i) (Process i) 
LinkTickR (RenamingRelation i) (Process i) (RuleTick i) 
ExceptionTauL (EventSet i) (RuleTau i) (Process i) 
ExceptionTauR (EventSet i) (Process i) (RuleTau i) 
TraceSwitchOn (Process i) 

Instances

(Eq (RuleEvent i), Eq (RuleTick i), Eq (Process i), Eq (EventSet i), Eq (RenamingRelation i)) => Eq (RuleTau i) Source # 

Methods

(==) :: RuleTau i -> RuleTau i -> Bool #

(/=) :: RuleTau i -> RuleTau i -> Bool #

(Ord (RuleEvent i), Ord (RuleTick i), Ord (Process i), Ord (EventSet i), Ord (ExtProcess i), Ord (Prefix i), Ord (Event i), Ord (RenamingRelation i)) => Ord (RuleTau i) Source # 

Methods

compare :: RuleTau i -> RuleTau i -> Ordering #

(<) :: RuleTau i -> RuleTau i -> Bool #

(<=) :: RuleTau i -> RuleTau i -> Bool #

(>) :: RuleTau i -> RuleTau i -> Bool #

(>=) :: RuleTau i -> RuleTau i -> Bool #

max :: RuleTau i -> RuleTau i -> RuleTau i #

min :: RuleTau i -> RuleTau i -> RuleTau i #

(Show (RuleEvent i), Show (RuleTick i), Show (Process i), Show (EventSet i), Show (RenamingRelation i)) => Show (RuleTau i) Source # 

Methods

showsPrec :: Int -> RuleTau i -> ShowS #

show :: RuleTau i -> String #

showList :: [RuleTau i] -> ShowS #

data RuleEvent i Source #

Representation of regular proof trees.