Channel Definition

Syntax

chanDefs

“CHANDEF” chanDefName “::=” neChannelsDeclList “ENDDEF”

neChannelsDeclList

channelsDecl (“;” channelsDecl)*

channelsDecl

neChannelNameList (“::” neTypeNameList)?

neChannelNameList

channelName (“,” channelName)*

neTypeNameList

typeName (“#” typeName)*

chanDefName

CapsId

channelName

CapsId

typeName

CapsId

Semantics

Define all channels that are used on the highest level in the TorXakis-file, i.e., in model definitions (MODELDEF) and in connection definitions (CNECTDEF). For each channel the types of messages communicated via that channel are defined. At the CHANDEF level, channels do not have an I/O-direction yet; I/O is added on the level of MODELDEF and CNECTDEF.

Examples

The definition

CHANDEF Channels
    ::=
        Action :: Operation;
        Input  :: Int # Int;
        Result :: Int
ENDDEF

defines three channels: Action, Input, and Result, with messages of types Operation, (Int x Int), and Int, respectively.