FIFOExample: CONFIGURATION
IMPORTS Process, TimeDefs, ImageDefs, IODefs, StreamDefs, StringDefs, SystemDefs
CONTROL FIFODriver = {

EnvelopesImpl;
Init: FIFOConnectorBool ← FIFOConnectorBoolImpl[FIFOScheduler, Process, WF];
ReadReq: FIFOConnectorBool ← FIFOConnectorBoolImpl[FIFOScheduler, Process, WF];
WriteReq: FIFOConnectorBool ← FIFOConnectorBoolImpl[FIFOScheduler, Process, WF];
SpaceAv: FIFOConnectorBool ← FIFOConnectorBoolImpl[FIFOScheduler, Process, WF];
DataAv: FIFOConnectorBool ← FIFOConnectorBoolImpl[FIFOScheduler, Process, WF];
DataIn: FIFOConnectorCard ← FIFOConnectorCardImpl[FIFOScheduler, Process, WF];
DataOut: FIFOConnectorCard ← FIFOConnectorCardImpl[FIFOScheduler, Process, WF];
FIFOImpl[Init,
ReadReq,
WriteReq,
SpaceAv,
DataAv,
DataIn,
DataOut, FIFOGuardian, FIFOScheduler, WF];
FIFOGuardianImpl[ReadReq,
WriteReq,
DataAv,
SpaceAv,
Init];
FIFODriver[DataAv,
SpaceAv,
Init,
ReadReq,
WriteReq,
DataOut,
DataIn,
FIFO, FIFOScheduler, ImageDefs, SimIO, WF];
FIFOSchedulerImpl;
SimIOImpl;

WFImpl;
RandomCardImpl;
}.