Compound Module Tic

Package: core4inet.examples.AS6802.rt_tictoc
File: examples/AS6802/rt_tictoc/tic.ned

tic: configuration in tic.ini.

NodeStatus TTEPHYPort BGEtherEncap ISync ITTEScheduler IApplication BGQueueBuffer BGQueueBuffer CheckedBuffer InterfaceTable TTIncoming TTDoubleBuffer RCIncoming RCQueueBuffer

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Extends:

Name Type Description
TTEEtherHost compound module

Module for a TTEthernet Host. Contains a BGEtherEncap for best-effort traffic, a TTEPHYPort module as physical port, sync module (Sync) and a TTEScheduler module.

Networks:

Name Type Description
rt_tictoc network

Small sample network with two hosts and one switch that shows how to build application models for the simulation. The example uses two different applications (TicApp and TocApp) that pass messages to each other

Parameters:

Name Type Default value Description
numApps int 0

Number of Applications running on the device

numBuffer int 0

Optional: Number of Buffers with Incoming Module for TT and RC traffic (When not manually declared in own deriving .ned file)

numPorts int 1

Number of Ports of the device

hardware_delay double 0us

Forwardingdelay of the device hardware

Properties:

Name Value Description
display bgb=503,314
networkNode
labels node

Gates:

Name Direction Size Description
ethg inout

Physical port of the host

Unassigned submodule parameters:

Name Type Default value Description
status.initialStatus string "UP"

TODO @signal, @statistic

phy.shaper.numRCpriority int 10
phy.shaper.tt_buffers string ""

Comma seperated list of TTBuffers that send messages to this port

phy.shaper.safety_margin int 5

Safety margin for TT-Messages in ticks (musst be set according to maximum clock correction!)

phy.shaper.oscillator string "^.^.scheduler.oscillator"

Oscillator of the timed module (must be set to the name of an oscillator module in the Node) when left empty: oscillator

phy.shaper.timer string "^.^.scheduler.timer"

Timer of the timed module (must be set to the name of an timer module in the Node) when left empty: timer

phy.inControl.oscillator string "oscillator"

Oscillator of the timed module (must be set to the name of an oscillator module in the Node) when left empty: oscillator

phy.inControl.timer string "timer"

Timer of the timed module (must be set to the name of an timer module in the Node) when left empty: timer

phy.inControl.ct_marker int
phy.inControl.ct_mask int

Critical traffic mask of the buffer

phy.inControl.ct_incomings string ""

Comma seperated list of ctc modules the input uses

phy.mac.interfaceTableModule string

The path to the InterfaceTable module

phy.mac.address string "auto"

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

phy.mac.duplexMode bool true

must be set to "true", as EtherMACFullDuplex does not support half-duplex operation (parameter is present to reduce the risk of accidental misconfiguration)

phy.mac.txQueueLimit int 1000

maximum number of frames queued up for transmission in the internal queue (only used if queueModule==""); additional frames cause a runtime error

phy.mac.mtu int 1500B
phy.mac.connectionColoring bool true

colors the connection when transmitting

encap.useSNAP bool false

create EtherFrameWithSNAP frames instead of EthernetIIFrame

app.buffers string

Comma seperated list of buffer modules the application is allowed to use

app.displayName string

Name shown above the module

bgIn.destination_gates string ""

Comma seperated list of gates where the frames of the buffer are delivered

bgIn.maxMessageSize int 1522B

The maximum allowed message size for this buffer. Larger Frames are dropped.

bgIn.enabled bool true

Switch to enable and disable the buffer

bgIn.size int -1

Maximum size of the buffer negative means infinite

bgIn.dropNew bool false

Dropping policy, Should the newest frame instead of the oldest frame be dropped when the buffer is full (see size parameter)

bgOut.destination_gates string ""

Comma seperated list of gates where the frames of the buffer are delivered

bgOut.maxMessageSize int 1522B

The maximum allowed message size for this buffer. Larger Frames are dropped.

bgOut.enabled bool true

Switch to enable and disable the buffer

bgOut.size int -1

Maximum size of the buffer negative means infinite

bgOut.dropNew bool false

Dropping policy, Should the newest frame instead of the oldest frame be dropped when the buffer is full (see size parameter)

checkedBuffer.buffer.destination_gates string

Comma seperated list of gates where the frames of the buffer are delivered

interfaceTable.displayAddresses bool true

whether to display IP addresses on links

vl_100_ctc.receive_window_start int

Beginning of the receive window in number of ticks (-1 means no receive window)

vl_100_ctc.receive_window_end int

End of the receive window in number of ticks (-1 means no receive window)

vl_100_ctc.permanence_pit int

permanence point in time in number of ticks (-1 means no permanence point, frame is relayed immediately)

vl_100_ctc.period string "^.scheduler.period[0]"

Period of Scheduler this ctc is assigned to

vl_100_ctc.oscillator string "^.scheduler.oscillator"

Oscillator of the timed module (must be set to the name of an oscillator module in the Node) when left empty: oscillator

vl_100_ctc.timer string "^.scheduler.timer"

Timer of the timed module (must be set to the name of an timer module in the Node) when left empty: timer

vl_100.destination_gates string ""

Comma seperated list of gates where the frames of the buffer are delivered

vl_100.maxMessageSize int 1522B

The maximum allowed message size for this buffer. Larger Frames are dropped.

vl_100.enabled bool true

Switch to enable and disable the buffer

vl_100.priority int -1

Priority of the buffer (currently only used for rate-constrained traffic)

vl_100.ct_id int

Critical traffic ID of the buffer

vl_100.ct_marker int

Critical traffic marker of the buffer

vl_100.ct_mask int

Critical traffic mask of the buffer

vl_100.oscillator string "^.scheduler.oscillator"

Oscillator this buffer is assigned to

vl_100.timer string "^.scheduler.timer"

Timer this buffer is assigned to

vl_100.sendWindowStart int

Beginning of the send window in number of ticks (Changes to this parameter will get active for future scheduled frames only)

vl_100.sendWindowEnd int 0tick

End of the send window in number of ticks

vl_100.period string "period[0]"

Period of Scheduler this buffer is assigned to

vl_101_ctc.hardware_delay double 0s

Hardware delay between incoming and outgoing buffer

vl_101_ctc.bag int 0tick

Bandwidth allocation gap in number of ticks (Changes to this parameter will get active for future frames only)

vl_101_ctc.jitter int 0tick

Maximum jitter for the bandwidth allocation gap in number of ticks

vl_101_ctc.oscillator string "^.scheduler.oscillator"
vl_101_ctc.timer string "^.scheduler.timer"

Timer of the timed module (must be set to the name of an timer module in the Node) when left empty: timer

vl_101.destination_gates string ""

Comma seperated list of gates where the frames of the buffer are delivered

vl_101.maxMessageSize int 1522B

The maximum allowed message size for this buffer. Larger Frames are dropped.

vl_101.enabled bool true

Switch to enable and disable the buffer

vl_101.priority int -1

Priority of the buffer (currently only used for rate-constrained traffic)

vl_101.ct_id int

Critical traffic ID of the buffer

vl_101.ct_marker int

Critical traffic marker of the buffer

vl_101.ct_mask int

Critical traffic mask of the buffer

vl_101.oscillator string "^.scheduler.oscillator"

Oscillator this buffer is assigned to

vl_101.timer string "^.scheduler.timer"

Timer this buffer is assigned to

vl_101.max_dispatch_delay int 0tick

Not used

vl_101.bag int 0tick

Bandwidth allocation gap in number of ticks (Changes to this parameter will get active for future frames only)

vl_101.jitter int 0tick

Maximum jitter for the bandwidth allocation gap in number of ticks

vl_101.size int -1

Size of the buffer negative means infinite

vl_101.dropNew bool false

Dropping policy, Should the newest frame instead of the oldest frame be dropped when the buffer is full (see size parameter)

Source code:

//
// tic: configuration in tic.ini.
//
// - Sends time-triggered messages at 1ms with VL-ID 100, receives rate-constrained messages with VL-ID 101
//
module Tic extends TTEEtherHost
{
    @display("bgb=503,314");
    submodules:
        vl_100_ctc: TTIncoming {
            parameters:
                @display("p=350,60");

        }
        vl_100: TTDoubleBuffer {
            parameters:
                @display("p=450,60");
        }
        vl_101_ctc: RCIncoming {
            parameters:
                @display("p=350,160");

        }
        vl_101: RCQueueBuffer {
            parameters:
                @display("p=450,160");
        }
    connections:
        vl_100_ctc.out --> vl_100.in;
        vl_101_ctc.out --> vl_101.in;
}