

file name: params.hpp
classification: simulation
contents: enum EModule, enum ESystemParameter, enum ESystemCommand,
enum EReplyType, enum EMessageType
use: provides enumerations for many data structures that are
sent over the socket
enumerations:
enum EMessageType:
All possible message types, both from the simulation and from the evaluation.
The first byte in a message contains the type (cast to INT8).
enum EModule:
The simulation modules.
enum EReplyType:
All possible types of message replies from the simulation to the evaluation.
enum ESystemCommand:
All command types for issuing commands from the evaluation to the simulation.
enum ESystemParameter:
The parameter types for setting/obtaining system parameters (sent from
the evaluation to the simulation).
enum EMessageType:
note: EMessageType is cast to INT8 in the socket interface
class for stream sockets (class CStreamInterface),
so the values should be in the range [0, 255].
EvalSys -> Simulation:
-
MsgCommand: execute a command
-
MsgSetParameter: set a parameter
-
MsgGetParameter: get a parameter
Simulation -> EvalSys:
-
MsgEvent: report an event
-
MsgReply: reply to a message
-
MsgModule: send an INT8 with the module (Controller or
Supervisor)
-
MsgByteOrder: send the INT16 for checking the byte-order
-
MsgEnumSizes: send a structure containing the sizes of all enums
EvalSys <-> Simulation:
-
MsgResynchronize: request for resynchronization
-
MsgSynchronizationByte: resynchronization byte
note: the last two commands are for resynchronization if the communication
has gone awry. If one side is out of sync, it sends a message MsgResynchronize
to its partner which responds with the message MsgSynchronizationByte.
enum EModule:
-
Controller: controls the whole simulation
-
Supervisor: controls one Clock Synchronization Application (CSA)
-
ClockSync: the main part of the synchronization, comprises the
synchronization algorithm
-
Clock: provides an interface to the clock (either simulated or
real)
-
Lance: interface to the network driver
-
Network: the simulated network
enum EReplyType:
-
ReplyBoolean: reply contains a boolean value
-
ReplyDouble: reply contains a double value
-
ReplyStructure: reply contains a whole structure
enum ESystemCommand:
Clock:
-
ConnectGps: connect a GPS receiver to a GPU of the UTCSU
-
CrashModule: crash the module
-
DisconnectGps: disconnect a GPS receiver from the UTCSU
-
RecoverModule: recover a crashed module
-
ResetModule: restore the module to its initial state
ClockSync:
-
ConnectNetwork: add the network to the list of associated networks
-
DisconnectNetwork: remove the network from the list of associated
networks
-
DontReportTransmissions: do not report measured message transmission
delays
-
ReportTransmissions: report measured transmission delays for every
incoming message
-
ResetModule: restore the module to its initial state
-
UserCommand: user defined command for the synchronization algorithm
Controller:
-
CreateApplication: start a new synchronization application
-
CreateNetwork: create a new network (pure simulation only!)
-
DeleteApplication: kill an existing synchronization application
-
DeleteNetwork: delete a network (pure simulation only!)
-
KillSimulation: delete everything, stop program execution
-
ResetModule: restore the controller module to its initial state
-
ResetSimulation: reset all application modules and all networks
-
ResumeApplication: resume operation of an application
-
ResumeSimulation: resume all applications (in hardware-based simulation:
of the node)
-
SuspendApplication: suspend an application (stop operation)
-
SuspendSimulation: suspend all applications (in hardware-based
simulation: of the node)
Lance:
-
CrashModule: crash the module
-
RecoverModule: recover a crashed module
-
ResetModule: restore the module to its initial state
Network:
-
ConnectNode: connect a node to the network
-
CrashModule: crash the module
-
DisconnectNode: remove an existing connection
-
RecoverModule: recover a crashed module
-
ResetModule: restore the module to its initial state
Supervisor:
-
EnableSnapshot: trigger a snapshot once every period
-
DisableSnapshot: disable the triggering of periodic snapshots
-
ResetModule: restore the module to its initial state
enum ESystemParameter:
Clock:
-
Accuracy: accuracy of the clock
-
AccuracyTransmissionLoss: transmitted accuracy granularity
-
AmortizationDuration: duration of the amortization phase
-
ClockDrift: the clock drift (seconds/second) (pure simulation
only!)
-
ClockGranularity: transmitted clock granularity
-
ClockValue: clock value (macrostamp, timestamp)
-
CrashStatus: returns the crash status (read-only)
-
DistributionFast: distribution for selecting a clock drift that
is too fast
-
DistributionRegular: distribution for selecting a clock drift
that is within its specification
-
DistributionSlow: distribution for selecting a clock drift that
is too slow
-
PCrash: probability of a module crash
-
PDriftChange: probability of the drift being changed
-
PFast: probability of the drift changing to a faster value than
specified
-
PReadFault: probability of a failure when reading the clock
-
PRecover: probability of module recovery after a crash
-
PSlow: probability of the drift changing to a slower value than
specified
-
PWriteFault: probability of a failure when setting the clock
-
RhoMinus: returns the lower bound on the clock drift that is within
its specification (read-only)
-
RhoPlus: returns the upper bound on the clock drift that is within
its specification (read-only)
-
WobbleDrift: all data necessary for incrementally moving the clock
drift through a given range
ClockSync:
-
AssociatedNetwork: the network to which the CSA synchronizes
-
ComputationDelayCompensation: Gamma (time from CV-alg. to resync.)
-
DelayCompensation: Delta + Lambda + Omega (time from FME to alg.)
-
DelayMeasurementCycles: =n --> every n-th FME does delay measurement
-
Delta: estimated deterministic part of message transmission characteristics
-
EpsilonMinus: estimated lower bound of the indeterministic part
of message transmission characteristics
-
EpsilonPlus: estimated upper bound of the indeterministic part
of message transmission characteristics
-
NumberOfFaultyNodes: maximum(!) number of faulty nodes allowed
-
NumberOfNodes: number of nodes in the system
-
RateSynchronizationCycles: rate synchronization (used like delay
measurement)
-
RoundPeriod: the round period P (time between two FMEs)
-
SynchronizationAlgorithm: the synchronization algorithm used
-
ThetaMinus: computed lower bound on the clock rate
-
ThetaPlus: computed upper bound on the clock rate
-
TimerGranularity: duty timer granularity (read-only)
-
U: accumulated clock state corrections since last rate sync. round
-
UserParameter: user defined parameter (synchronization algorithm)
Lance:
-
CrashStatus: returns the crash status (read-only)
-
DistributionSend: distribution for delaying msges before they
are sent
-
DistributionRecv: distribution for delaying msges before they
are announced
-
PCrash: probability of a module crash
-
PDuplicateRecv: probability of an incoming message getting duplicated
-
PDuplicateSend: probability of an outgoing message getting duplicated
-
PRecover: probability of module recovery after a crash
-
PScrambleRecv: probability of an incoming message getting scrambled
-
PScrambleSend: probability of an outgoing message getting scrambled
Network:
-
CrashStatus: returns the crash status (read-only)
-
DistributionEarly: distributions of network transmission delays
for early messages
-
DistributionLambda: distribution for the broadcast latency
-
DistributionLate: distributions of network transmission delays
for late messages
-
DistributionOmega: distribution for the broadcast operation delay
-
DistributionTimely: distributions of network transmission delays
for timely messages
-
PCrash: probability of a module crash
-
PEarly: probability of a message being early (transmitted faster
than within specifications)
-
PLate: probability of a message being late (transmitted slower
than within specifications)
-
PRecover: probability of module recovery after a crash
Controller, Supervisor:
-
EventReport: what types of events should be reported
-
EventClassReport: what classes of events should be reported
-
InterfacePeriod: process period (Supervisor: also snapshot period)
-
TimerGranularity: system timer granularity (read-only)
last modified: Fri Feb 5 18:56:31 1999