| Copyright | (C) 2017 ATS Advanced Telematic Systems GmbH |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Stevan Andjelkovic <stevan.andjelkovic@strath.ac.uk> |
| Stability | provisional |
| Portability | non-portable (GHC extensions) |
| Safe Haskell | None |
| Language | Haskell2010 |
Test.StateMachine.Types.History
Description
This module contains the notion of a history of an execution of a (parallel) program.
Synopsis
- newtype History (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type) = History {}
- type History' (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type) = [(Pid, HistoryEvent cmd resp)]
- newtype Pid = Pid {}
- data HistoryEvent (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type)
- data Operation (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type)
- makeOperations :: forall (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type). History' cmd resp -> [Operation cmd resp]
- interleavings :: forall (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type). History' cmd resp -> Forest (Operation cmd resp)
- operationsPath :: forall (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type). Forest (Operation cmd resp) -> [Operation cmd resp]
- completeHistory :: (cmd Concrete -> resp Concrete) -> History cmd resp -> History cmd resp
Documentation
newtype History (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type) Source #
type History' (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type) = [(Pid, HistoryEvent cmd resp)] Source #
data HistoryEvent (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type) Source #
Instances
| (Show (cmd Concrete), Show (resp Concrete)) => Show (HistoryEvent cmd resp) Source # | |
Defined in Test.StateMachine.Types.History Methods showsPrec :: Int -> HistoryEvent cmd resp -> ShowS # show :: HistoryEvent cmd resp -> String # showList :: [HistoryEvent cmd resp] -> ShowS # | |
| (Eq (cmd Concrete), Eq (resp Concrete)) => Eq (HistoryEvent cmd resp) Source # | |
Defined in Test.StateMachine.Types.History Methods (==) :: HistoryEvent cmd resp -> HistoryEvent cmd resp -> Bool # (/=) :: HistoryEvent cmd resp -> HistoryEvent cmd resp -> Bool # | |
data Operation (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type) Source #
An operation packs up an invocation event with its corresponding response event.
makeOperations :: forall (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type). History' cmd resp -> [Operation cmd resp] Source #
Given a sequential history, group invocation and response events into operations.
interleavings :: forall (cmd :: (Type -> Type) -> Type) (resp :: (Type -> Type) -> Type). History' cmd resp -> Forest (Operation cmd resp) Source #
Given a parallel history, return all possible interleavings of invocations and corresponding response events.