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