PurpDefs - TorXakis/TorXakis GitHub Wiki
Test Purpose Definitions
Syntax
Term | Explanation |
---|---|
purpDef | "PURPDEF" purpName "::=" "CHAN" "IN" neChannelNameList? "CHAN" "OUT" neChannelNameList? neGoals "ENDDEF" |
neChannelNameList | channelName ("," channelName)* |
modelName | CapsId |
channelName | CapsId |
neGoals | goal (, goal)* |
goal | "GOAL" goalName "::=" processBehaviour |
Semantics
Define a Test Purpose, with its input and output channels for external communication, and the definition of the behaviour to be tested. Input and output channels shall be defined in a channel definition.
Examples
A test purpose for a Model Definition like:
PROCDEF modelBehaviour [ In :: InType ; Out :: OutType ] () ::=
-- Model behaviour definition
ENDDEF
MODELDEF Model ::=
CHAN IN In
CHAN OUT Out
BEHAVIOUR
modelBehaviour[In, Out]()
ENDDEF
can be:
PROCDEF processBehaviour [ In :: InType ; Out :: OutType ] ( inputValue :: Int) HIT ::=
-- Process behaviour definition
ENDDEF
PURPDEF TestPurpose ::=
CHAN IN In
CHAN OUT Out
GOAL purposeGoal1 ::= processBehaviour [In,Out] (1)
GOAL purposeGoal2 ::= processBehaviour [In,Out] (2)
ENDDEF