
/* Program generated by Cbasic 6.0.0  */
#define XSCT_CBASIC

#define SCT_VERSION_6_0
#define XENABLE_VERSION_CHECK

#include "scttypes.h"
#ifdef XINCLUDE_HS_FILE
#include "try1Concuro.hs"
#endif
XSYSTEMVARS
#ifdef XCTRACE
static char  xFileName[] = "C:\\temp\\LAB8Concurency3\\try1Concuro.c";
#endif

/*************************************************************************
**                SECTION Types and Forward references                  **
*************************************************************************/

/*****
* SYSTEM Concuro
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy,4,1,8)
******/
extern XCONST struct xSystemIdStruct ySysR_z_Concuro;

/*****
* NEWTYPE RandomControl  (TYPE section)
* <<SYSTEM Concuro>>
* #SDTREF(TEXT,C:\Telelogic\SDL_TTCN_Suite6.0\sdt\include\adt\random.pr,26,9)
******/
#ifndef XTNOUSE_RandomControl
extern tSDLUserdefInfo ySDL_RandomControl;
#endif
                /* #SDTREF(TEXT,C:\Telelogic\SDL_TTCN_Suite6.0\sdt\include\adt\random.pr,162,42) */
typedef unsigned long * RandomControl;

#define xRandomTraceLevel xtNine



/*****
* NEWTYPE RandomControl  (HEADING section)
* <<SYSTEM Concuro>>
* #SDTREF(TEXT,C:\Telelogic\SDL_TTCN_Suite6.0\sdt\include\adt\random.pr,26,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_RandomControl;
#define ySrtN_RandomControl  (&ySrtR_RandomControl)
#endif
                /* #SDTREF(TEXT,C:\Telelogic\SDL_TTCN_Suite6.0\sdt\include\adt\random.pr,162,42) */
#ifdef __cplusplus
#include <math.h>
#endif

extern double log XPP(( double ));
extern double exp XPP(( double ));

extern SDL_Real Random XPP((RandomControl Seq));
#define RandomT(P1)  RtoT(Random(P1))

extern SDL_Real Erlang
  XPP((SDL_Real Mean, SDL_Integer r, RandomControl Seq));
#define ErlangRT(P1, P2, P3)  RtoT(Erlang(P1, P2, P3))
#define ErlangTR(P1, P2, P3)  Erlang(TtoR(P1), P2, P3)
#define ErlangTT(P1, P2, P3)  RtoT(Erlang(TtoR(P1), P2, P3))

extern SDL_Real HyperExp2
  XPP((SDL_Real Mean1, SDL_Real Mean2, SDL_Real Alpha,
       RandomControl Seq));
#define HyperExp2RT(P1, P2, P3, P4)  RtoT(HyperExp2(P1, P2, P3, P4))
#define HyperExp2TR(P1, P2, P3, P4)  HyperExp2(TtoR(P1), TtoR(P2), P3, P4)
#define HyperExp2TT(P1, P2, P3, P4)  RtoT(HyperExp2(TtoR(P1), TtoR(P2), P3, P4))

extern SDL_Real NegExp  XPP((SDL_Real Mean, RandomControl Seq));
#define NegExpRT(P1, P2)  RtoT(NegExp(P1, P2))
#define NegExpTR(P1, P2)  NegExp(TtoR(P1), P2)
#define NegExpTT(P1, P2)  RtoT(NegExp(TtoR(P1), P2))

extern SDL_Real Uniform
  XPP((SDL_Real Low, SDL_Real High, RandomControl Seq));
#define UniformRT(P1, P2, P3)  RtoT(Uniform(P1, P2, P3))
#define UniformTR(P1, P2, P3)  Uniform(TtoR(P1), TtoR(P2), P3)
#define UniformTT(P1, P2, P3)  RtoT(Uniform(TtoR(P1), TtoR(P2), P3))

extern SDL_Real Draw  XPP((SDL_Real Alpha, RandomControl Seq));

extern SDL_Integer Geometric  XPP((SDL_Real p, RandomControl Seq));
#define GeometricRT(P1, P2)  ItoT(Geometric(P1, P2))
#define GeometricTI(P1, P2)  Geometric(TtoR(P1), P2)
#define GeometricTT(P1, P2)  ItoT(Geometric(TtoR(P1), P2))

extern SDL_Integer Poisson  XPP((SDL_Real m, RandomControl Seq));
#define PoissonRT(P1, P2)  ItoT(Poisson(P1, P2))
#define PoissonTI(P1, P2)  Poisson(TtoR(P1), P2)
#define PoissonTT(P1, P2)  ItoT(Poisson(TtoR(P1), P2))

extern SDL_Integer RandInt
  XPP((SDL_Integer Low, SDL_Integer High, RandomControl Seq));
#define RandIntT(P1, P2, P3)  ItoT(RandInt(P1, P2, P3))

extern RandomControl DefineSeed  XPP((SDL_Integer Seed));

extern SDL_Integer Seed  XPP((RandomControl Seq));
extern SDL_Real TtoR  XPP((SDL_Time D));
extern SDL_Time RtoT  XPP((SDL_Real R));
extern SDL_Time ItoT  XPP((SDL_Integer I));

extern char * yWri_RandomControl  XPP((void * Value));
extern int    yRead_RandomControl  XPP((void * Result));




#define yAssF_RandomControl(V,E,A)  V = E
#define yEqF_RandomControl(Expr1,Expr2)  (Expr1) == (Expr2)
#define yNEqF_RandomControl(Expr1,Expr2)  (Expr1) != (Expr2)
#define yMkAddr_RandomControl(V,R) (*(R) = V, (void *)R)
#ifndef ANY_RandomControl
#define ANY_RandomControl
#endif
#define zC1U_copy(P)  P

/*****
* BLOCK Producers
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk,4,1,7)
******/
extern XCONST struct xBlockIdStruct yBloR_z0_Producers;

/*****
* SYNTYPE iLikeToWrite  (TYPE section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),9,9)
******/
#ifndef XTNOUSE_iLikeToWrite_Producer
extern tSDLGenInfo ySDL_z010_iLikeToWrite;
#endif
typedef SDL_Integer  z010_iLikeToWrite;

/*****
* SYNTYPE iLikeToWrite  (HEADING section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),9,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_z010_iLikeToWrite;
#define ySrtN_z010_iLikeToWrite  (&ySrtR_z010_iLikeToWrite)
#endif

#define yAssF_z010_iLikeToWrite(V,E,A)  yAssF_SDL_Integer(V,E,A)
#define yEqF_z010_iLikeToWrite(Expr1,Expr2)  yEqF_SDL_Integer(Expr1,Expr2)
#define yNEqF_z010_iLikeToWrite(Expr1,Expr2)  yNEqF_SDL_Integer(Expr1,Expr2)
#define yMkAddr_z010_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z010_iLikeToWrite(Expr1),Expr2)
#ifdef XTESTF
extern xbool  yTest_z010_iLikeToWrite (void *);
#endif
#ifdef XERANGE
extern z010_iLikeToWrite yTstA_z010_iLikeToWrite (z010_iLikeToWrite);
#else
#define yTstA_z010_iLikeToWrite(yExpr)  yExpr
#endif
#ifndef ANY_z010_iLikeToWrite
#define ANY_z010_iLikeToWrite (z010_iLikeToWrite)(SDL_INTEGER_LIT(0) + \
  GETINTRAND%(SDL_INTEGER_LIT(100)+1))
#endif

/*****
* PROCESS Producer
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z01_Producer[];
extern XCONST xStateIdNode yPrsT_z01_Producer[];
extern XCONST struct xPrsIdStruct yPrsR_z01_Producer;
#define yPrsN_z01_Producer  (&yPrsR_z01_Producer)
#ifdef XCOVERAGE
extern long int yPrsC_z01_Producer[];
#endif
YPAD_PROTOTYPE(yPAD_z01_Producer)
extern XCONST struct xSignalIdStruct ySigR_z01_Producer;
#define ySigN_z01_Producer  (&ySigR_z01_Producer)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z01_Producer;
typedef yPDef_z01_Producer  *yPDP_z01_Producer;
XPROCESSDEF_H(Producer,"Producer",z01_Producer,yPAD_z01_Producer, \
  yVDef_z01_Producer)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z01_Producer[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z01_Producer  14
extern char * yRef_z01_Producer (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),3,1) */
    SDL_Duration z014_someTime;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),5,1) */
    SDL_Integer z015_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),6,1) */
    SDL_Integer z016_numberToWrite;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),7,1) */
    SDL_PId z017_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),1,7) */
    DEF_TIMER_VAR(yTim_walkingTime)
} yVDef_z01_Producer;
typedef yVDef_z01_Producer  *yVDP_z01_Producer;
extern void yFree_z01_Producer (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),134(65,70),1,1)
******/
#define z011_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z011_SiDLing;
#define yStaN_z011_SiDLing  (&yStaR_z011_SiDLing)

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),167(60,125),1,1)
******/
#define z012_ForcedToWait  2
extern XCONST struct xStateIdStruct yStaR_z012_ForcedToWait;
#define yStaN_z012_ForcedToWait  (&yStaR_z012_ForcedToWait)

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z013_walkingTime;
#define ySigN_z013_walkingTime  (&ySigR_z013_walkingTime)

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z014_someTime;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z015_myID;
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z016_numberToWrite;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),7,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z017_mahPID;
#endif

/*****
* SYNTYPE iLikeToWrite  (TYPE section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),8,9)
******/
#ifndef XTNOUSE_iLikeToWrite_Producer2
extern tSDLGenInfo ySDL_z020_iLikeToWrite;
#endif
typedef SDL_Integer  z020_iLikeToWrite;

/*****
* SYNTYPE iLikeToWrite  (HEADING section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),8,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_z020_iLikeToWrite;
#define ySrtN_z020_iLikeToWrite  (&ySrtR_z020_iLikeToWrite)
#endif

#define yAssF_z020_iLikeToWrite(V,E,A)  yAssF_SDL_Integer(V,E,A)
#define yEqF_z020_iLikeToWrite(Expr1,Expr2)  yEqF_SDL_Integer(Expr1,Expr2)
#define yNEqF_z020_iLikeToWrite(Expr1,Expr2)  yNEqF_SDL_Integer(Expr1,Expr2)
#define yMkAddr_z020_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z020_iLikeToWrite(Expr1),Expr2)
#ifdef XTESTF
extern xbool  yTest_z020_iLikeToWrite (void *);
#endif
#ifdef XERANGE
extern z020_iLikeToWrite yTstA_z020_iLikeToWrite (z020_iLikeToWrite);
#else
#define yTstA_z020_iLikeToWrite(yExpr)  yExpr
#endif
#ifndef ANY_z020_iLikeToWrite
#define ANY_z020_iLikeToWrite (z020_iLikeToWrite)(SDL_INTEGER_LIT(0) + \
  GETINTRAND%(SDL_INTEGER_LIT(100)+1))
#endif

/*****
* PROCESS Producer2
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z02_Producer2[];
extern XCONST xStateIdNode yPrsT_z02_Producer2[];
extern XCONST struct xPrsIdStruct yPrsR_z02_Producer2;
#define yPrsN_z02_Producer2  (&yPrsR_z02_Producer2)
#ifdef XCOVERAGE
extern long int yPrsC_z02_Producer2[];
#endif
YPAD_PROTOTYPE(yPAD_z02_Producer2)
extern XCONST struct xSignalIdStruct ySigR_z02_Producer2;
#define ySigN_z02_Producer2  (&ySigR_z02_Producer2)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z02_Producer2;
typedef yPDef_z02_Producer2  *yPDP_z02_Producer2;
XPROCESSDEF_H(Producer2,"Producer2",z02_Producer2,yPAD_z02_Producer2, \
  yVDef_z02_Producer2)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z02_Producer2[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z02_Producer2  14
extern char * yRef_z02_Producer2 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),3,1) */
    SDL_Duration z024_someTime;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),4,1) */
    SDL_Integer z025_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),5,1) */
    SDL_Integer z026_numberToWrite;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),6,1) */
    SDL_PId z027_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),1,7) */
    DEF_TIMER_VAR(yTim_walkingTime)
} yVDef_z02_Producer2;
typedef yVDef_z02_Producer2  *yVDP_z02_Producer2;
extern void yFree_z02_Producer2 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),137(55,70),1,1)
******/
#define z021_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z021_SiDLing;
#define yStaN_z021_SiDLing  (&yStaR_z021_SiDLing)

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),128(50,125),1,1)
******/
#define z022_ForcedToWait  2
extern XCONST struct xStateIdStruct yStaR_z022_ForcedToWait;
#define yStaN_z022_ForcedToWait  (&yStaR_z022_ForcedToWait)

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z023_walkingTime;
#define ySigN_z023_walkingTime  (&ySigR_z023_walkingTime)

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z024_someTime;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z025_myID;
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z026_numberToWrite;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z027_mahPID;
#endif

/*****
* SYNTYPE iLikeToWrite  (TYPE section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),9,9)
******/
#ifndef XTNOUSE_iLikeToWrite_Producer3
extern tSDLGenInfo ySDL_z030_iLikeToWrite;
#endif
typedef SDL_Integer  z030_iLikeToWrite;

/*****
* SYNTYPE iLikeToWrite  (HEADING section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),9,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_z030_iLikeToWrite;
#define ySrtN_z030_iLikeToWrite  (&ySrtR_z030_iLikeToWrite)
#endif

#define yAssF_z030_iLikeToWrite(V,E,A)  yAssF_SDL_Integer(V,E,A)
#define yEqF_z030_iLikeToWrite(Expr1,Expr2)  yEqF_SDL_Integer(Expr1,Expr2)
#define yNEqF_z030_iLikeToWrite(Expr1,Expr2)  yNEqF_SDL_Integer(Expr1,Expr2)
#define yMkAddr_z030_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z030_iLikeToWrite(Expr1),Expr2)
#ifdef XTESTF
extern xbool  yTest_z030_iLikeToWrite (void *);
#endif
#ifdef XERANGE
extern z030_iLikeToWrite yTstA_z030_iLikeToWrite (z030_iLikeToWrite);
#else
#define yTstA_z030_iLikeToWrite(yExpr)  yExpr
#endif
#ifndef ANY_z030_iLikeToWrite
#define ANY_z030_iLikeToWrite (z030_iLikeToWrite)(SDL_INTEGER_LIT(0) + \
  GETINTRAND%(SDL_INTEGER_LIT(100)+1))
#endif

/*****
* PROCESS Producer3
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z03_Producer3[];
extern XCONST xStateIdNode yPrsT_z03_Producer3[];
extern XCONST struct xPrsIdStruct yPrsR_z03_Producer3;
#define yPrsN_z03_Producer3  (&yPrsR_z03_Producer3)
#ifdef XCOVERAGE
extern long int yPrsC_z03_Producer3[];
#endif
YPAD_PROTOTYPE(yPAD_z03_Producer3)
extern XCONST struct xSignalIdStruct ySigR_z03_Producer3;
#define ySigN_z03_Producer3  (&ySigR_z03_Producer3)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z03_Producer3;
typedef yPDef_z03_Producer3  *yPDP_z03_Producer3;
XPROCESSDEF_H(Producer3,"Producer3",z03_Producer3,yPAD_z03_Producer3, \
  yVDef_z03_Producer3)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z03_Producer3[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z03_Producer3  14
extern char * yRef_z03_Producer3 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),3,1) */
    SDL_Duration z034_someTime;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),5,1) */
    SDL_Integer z035_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),6,1) */
    SDL_Integer z036_numberToWrite;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),7,1) */
    SDL_PId z037_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),1,7) */
    DEF_TIMER_VAR(yTim_walkingTime)
} yVDef_z03_Producer3;
typedef yVDef_z03_Producer3  *yVDP_z03_Producer3;
extern void yFree_z03_Producer3 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),137(60,65),1,1)
******/
#define z031_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z031_SiDLing;
#define yStaN_z031_SiDLing  (&yStaR_z031_SiDLing)

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),128(55,120),1,1)
******/
#define z032_ForcedToWait  2
extern XCONST struct xStateIdStruct yStaR_z032_ForcedToWait;
#define yStaN_z032_ForcedToWait  (&yStaR_z032_ForcedToWait)

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z033_walkingTime;
#define ySigN_z033_walkingTime  (&ySigR_z033_walkingTime)

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z034_someTime;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z035_myID;
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z036_numberToWrite;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),7,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z037_mahPID;
#endif

/*****
* SYNTYPE iLikeToWrite  (TYPE section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),9,9)
******/
#ifndef XTNOUSE_iLikeToWrite_Producer4
extern tSDLGenInfo ySDL_z040_iLikeToWrite;
#endif
typedef SDL_Integer  z040_iLikeToWrite;

/*****
* SYNTYPE iLikeToWrite  (HEADING section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),9,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_z040_iLikeToWrite;
#define ySrtN_z040_iLikeToWrite  (&ySrtR_z040_iLikeToWrite)
#endif

#define yAssF_z040_iLikeToWrite(V,E,A)  yAssF_SDL_Integer(V,E,A)
#define yEqF_z040_iLikeToWrite(Expr1,Expr2)  yEqF_SDL_Integer(Expr1,Expr2)
#define yNEqF_z040_iLikeToWrite(Expr1,Expr2)  yNEqF_SDL_Integer(Expr1,Expr2)
#define yMkAddr_z040_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z040_iLikeToWrite(Expr1),Expr2)
#ifdef XTESTF
extern xbool  yTest_z040_iLikeToWrite (void *);
#endif
#ifdef XERANGE
extern z040_iLikeToWrite yTstA_z040_iLikeToWrite (z040_iLikeToWrite);
#else
#define yTstA_z040_iLikeToWrite(yExpr)  yExpr
#endif
#ifndef ANY_z040_iLikeToWrite
#define ANY_z040_iLikeToWrite (z040_iLikeToWrite)(SDL_INTEGER_LIT(0) + \
  GETINTRAND%(SDL_INTEGER_LIT(100)+1))
#endif

/*****
* PROCESS Producer4
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z04_Producer4[];
extern XCONST xStateIdNode yPrsT_z04_Producer4[];
extern XCONST struct xPrsIdStruct yPrsR_z04_Producer4;
#define yPrsN_z04_Producer4  (&yPrsR_z04_Producer4)
#ifdef XCOVERAGE
extern long int yPrsC_z04_Producer4[];
#endif
YPAD_PROTOTYPE(yPAD_z04_Producer4)
extern XCONST struct xSignalIdStruct ySigR_z04_Producer4;
#define ySigN_z04_Producer4  (&ySigR_z04_Producer4)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z04_Producer4;
typedef yPDef_z04_Producer4  *yPDP_z04_Producer4;
XPROCESSDEF_H(Producer4,"Producer4",z04_Producer4,yPAD_z04_Producer4, \
  yVDef_z04_Producer4)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z04_Producer4[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z04_Producer4  14
extern char * yRef_z04_Producer4 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),3,1) */
    SDL_Duration z044_someTime;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),5,1) */
    SDL_Integer z045_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),6,1) */
    SDL_Integer z046_numberToWrite;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),7,1) */
    SDL_PId z047_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),1,7) */
    DEF_TIMER_VAR(yTim_walkingTime)
} yVDef_z04_Producer4;
typedef yVDef_z04_Producer4  *yVDP_z04_Producer4;
extern void yFree_z04_Producer4 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),137(65,65),1,1)
******/
#define z041_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z041_SiDLing;
#define yStaN_z041_SiDLing  (&yStaR_z041_SiDLing)

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),128(60,120),1,1)
******/
#define z042_ForcedToWait  2
extern XCONST struct xStateIdStruct yStaR_z042_ForcedToWait;
#define yStaN_z042_ForcedToWait  (&yStaR_z042_ForcedToWait)

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z043_walkingTime;
#define ySigN_z043_walkingTime  (&ySigR_z043_walkingTime)

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z044_someTime;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z045_myID;
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z046_numberToWrite;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),7,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z047_mahPID;
#endif

/*****
* SYNTYPE iLikeToWrite  (TYPE section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),9,9)
******/
#ifndef XTNOUSE_iLikeToWrite_Producer5
extern tSDLGenInfo ySDL_z050_iLikeToWrite;
#endif
typedef SDL_Integer  z050_iLikeToWrite;

/*****
* SYNTYPE iLikeToWrite  (HEADING section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),9,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_z050_iLikeToWrite;
#define ySrtN_z050_iLikeToWrite  (&ySrtR_z050_iLikeToWrite)
#endif

#define yAssF_z050_iLikeToWrite(V,E,A)  yAssF_SDL_Integer(V,E,A)
#define yEqF_z050_iLikeToWrite(Expr1,Expr2)  yEqF_SDL_Integer(Expr1,Expr2)
#define yNEqF_z050_iLikeToWrite(Expr1,Expr2)  yNEqF_SDL_Integer(Expr1,Expr2)
#define yMkAddr_z050_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z050_iLikeToWrite(Expr1),Expr2)
#ifdef XTESTF
extern xbool  yTest_z050_iLikeToWrite (void *);
#endif
#ifdef XERANGE
extern z050_iLikeToWrite yTstA_z050_iLikeToWrite (z050_iLikeToWrite);
#else
#define yTstA_z050_iLikeToWrite(yExpr)  yExpr
#endif
#ifndef ANY_z050_iLikeToWrite
#define ANY_z050_iLikeToWrite (z050_iLikeToWrite)(SDL_INTEGER_LIT(0) + \
  GETINTRAND%(SDL_INTEGER_LIT(100)+1))
#endif

/*****
* PROCESS Producer5
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z05_Producer5[];
extern XCONST xStateIdNode yPrsT_z05_Producer5[];
extern XCONST struct xPrsIdStruct yPrsR_z05_Producer5;
#define yPrsN_z05_Producer5  (&yPrsR_z05_Producer5)
#ifdef XCOVERAGE
extern long int yPrsC_z05_Producer5[];
#endif
YPAD_PROTOTYPE(yPAD_z05_Producer5)
extern XCONST struct xSignalIdStruct ySigR_z05_Producer5;
#define ySigN_z05_Producer5  (&ySigR_z05_Producer5)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z05_Producer5;
typedef yPDef_z05_Producer5  *yPDP_z05_Producer5;
XPROCESSDEF_H(Producer5,"Producer5",z05_Producer5,yPAD_z05_Producer5, \
  yVDef_z05_Producer5)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z05_Producer5[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z05_Producer5  14
extern char * yRef_z05_Producer5 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),3,1) */
    SDL_Duration z054_someTime;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),5,1) */
    SDL_Integer z055_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),6,1) */
    SDL_Integer z056_numberToWrite;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),7,1) */
    SDL_PId z057_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),1,7) */
    DEF_TIMER_VAR(yTim_walkingTime)
} yVDef_z05_Producer5;
typedef yVDef_z05_Producer5  *yVDP_z05_Producer5;
extern void yFree_z05_Producer5 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),137(60,65),1,1)
******/
#define z051_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z051_SiDLing;
#define yStaN_z051_SiDLing  (&yStaR_z051_SiDLing)

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),128(55,120),1,1)
******/
#define z052_ForcedToWait  2
extern XCONST struct xStateIdStruct yStaR_z052_ForcedToWait;
#define yStaN_z052_ForcedToWait  (&yStaR_z052_ForcedToWait)

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z053_walkingTime;
#define ySigN_z053_walkingTime  (&ySigR_z053_walkingTime)

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z054_someTime;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z055_myID;
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z056_numberToWrite;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),7,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z057_mahPID;
#endif

/*****
* SYNTYPE iLikeToWrite  (TYPE section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),9,9)
******/
#ifndef XTNOUSE_iLikeToWrite_Producer6
extern tSDLGenInfo ySDL_z060_iLikeToWrite;
#endif
typedef SDL_Integer  z060_iLikeToWrite;

/*****
* SYNTYPE iLikeToWrite  (HEADING section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),9,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_z060_iLikeToWrite;
#define ySrtN_z060_iLikeToWrite  (&ySrtR_z060_iLikeToWrite)
#endif

#define yAssF_z060_iLikeToWrite(V,E,A)  yAssF_SDL_Integer(V,E,A)
#define yEqF_z060_iLikeToWrite(Expr1,Expr2)  yEqF_SDL_Integer(Expr1,Expr2)
#define yNEqF_z060_iLikeToWrite(Expr1,Expr2)  yNEqF_SDL_Integer(Expr1,Expr2)
#define yMkAddr_z060_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z060_iLikeToWrite(Expr1),Expr2)
#ifdef XTESTF
extern xbool  yTest_z060_iLikeToWrite (void *);
#endif
#ifdef XERANGE
extern z060_iLikeToWrite yTstA_z060_iLikeToWrite (z060_iLikeToWrite);
#else
#define yTstA_z060_iLikeToWrite(yExpr)  yExpr
#endif
#ifndef ANY_z060_iLikeToWrite
#define ANY_z060_iLikeToWrite (z060_iLikeToWrite)(SDL_INTEGER_LIT(0) + \
  GETINTRAND%(SDL_INTEGER_LIT(100)+1))
#endif

/*****
* PROCESS Producer6
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z06_Producer6[];
extern XCONST xStateIdNode yPrsT_z06_Producer6[];
extern XCONST struct xPrsIdStruct yPrsR_z06_Producer6;
#define yPrsN_z06_Producer6  (&yPrsR_z06_Producer6)
#ifdef XCOVERAGE
extern long int yPrsC_z06_Producer6[];
#endif
YPAD_PROTOTYPE(yPAD_z06_Producer6)
extern XCONST struct xSignalIdStruct ySigR_z06_Producer6;
#define ySigN_z06_Producer6  (&ySigR_z06_Producer6)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z06_Producer6;
typedef yPDef_z06_Producer6  *yPDP_z06_Producer6;
XPROCESSDEF_H(Producer6,"Producer6",z06_Producer6,yPAD_z06_Producer6, \
  yVDef_z06_Producer6)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z06_Producer6[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z06_Producer6  14
extern char * yRef_z06_Producer6 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),3,1) */
    SDL_Duration z064_someTime;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),5,1) */
    SDL_Integer z065_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),6,1) */
    SDL_Integer z066_numberToWrite;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),7,1) */
    SDL_PId z067_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),1,7) */
    DEF_TIMER_VAR(yTim_walkingTime)
} yVDef_z06_Producer6;
typedef yVDef_z06_Producer6  *yVDP_z06_Producer6;
extern void yFree_z06_Producer6 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),137(65,65),1,1)
******/
#define z061_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z061_SiDLing;
#define yStaN_z061_SiDLing  (&yStaR_z061_SiDLing)

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),128(60,120),1,1)
******/
#define z062_ForcedToWait  2
extern XCONST struct xStateIdStruct yStaR_z062_ForcedToWait;
#define yStaN_z062_ForcedToWait  (&yStaR_z062_ForcedToWait)

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z063_walkingTime;
#define ySigN_z063_walkingTime  (&ySigR_z063_walkingTime)

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z064_someTime;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z065_myID;
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z066_numberToWrite;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),7,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z067_mahPID;
#endif

/*****
* SYNTYPE iLikeToWrite  (TYPE section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),9,9)
******/
#ifndef XTNOUSE_iLikeToWrite_Producer7
extern tSDLGenInfo ySDL_z070_iLikeToWrite;
#endif
typedef SDL_Integer  z070_iLikeToWrite;

/*****
* SYNTYPE iLikeToWrite  (HEADING section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),9,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_z070_iLikeToWrite;
#define ySrtN_z070_iLikeToWrite  (&ySrtR_z070_iLikeToWrite)
#endif

#define yAssF_z070_iLikeToWrite(V,E,A)  yAssF_SDL_Integer(V,E,A)
#define yEqF_z070_iLikeToWrite(Expr1,Expr2)  yEqF_SDL_Integer(Expr1,Expr2)
#define yNEqF_z070_iLikeToWrite(Expr1,Expr2)  yNEqF_SDL_Integer(Expr1,Expr2)
#define yMkAddr_z070_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z070_iLikeToWrite(Expr1),Expr2)
#ifdef XTESTF
extern xbool  yTest_z070_iLikeToWrite (void *);
#endif
#ifdef XERANGE
extern z070_iLikeToWrite yTstA_z070_iLikeToWrite (z070_iLikeToWrite);
#else
#define yTstA_z070_iLikeToWrite(yExpr)  yExpr
#endif
#ifndef ANY_z070_iLikeToWrite
#define ANY_z070_iLikeToWrite (z070_iLikeToWrite)(SDL_INTEGER_LIT(0) + \
  GETINTRAND%(SDL_INTEGER_LIT(100)+1))
#endif

/*****
* PROCESS Producer7
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z07_Producer7[];
extern XCONST xStateIdNode yPrsT_z07_Producer7[];
extern XCONST struct xPrsIdStruct yPrsR_z07_Producer7;
#define yPrsN_z07_Producer7  (&yPrsR_z07_Producer7)
#ifdef XCOVERAGE
extern long int yPrsC_z07_Producer7[];
#endif
YPAD_PROTOTYPE(yPAD_z07_Producer7)
extern XCONST struct xSignalIdStruct ySigR_z07_Producer7;
#define ySigN_z07_Producer7  (&ySigR_z07_Producer7)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z07_Producer7;
typedef yPDef_z07_Producer7  *yPDP_z07_Producer7;
XPROCESSDEF_H(Producer7,"Producer7",z07_Producer7,yPAD_z07_Producer7, \
  yVDef_z07_Producer7)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z07_Producer7[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z07_Producer7  14
extern char * yRef_z07_Producer7 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),3,1) */
    SDL_Duration z074_someTime;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),5,1) */
    SDL_Integer z075_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),6,1) */
    SDL_Integer z076_numberToWrite;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),7,1) */
    SDL_PId z077_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),1,7) */
    DEF_TIMER_VAR(yTim_walkingTime)
} yVDef_z07_Producer7;
typedef yVDef_z07_Producer7  *yVDP_z07_Producer7;
extern void yFree_z07_Producer7 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),137(65,65),1,1)
******/
#define z071_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z071_SiDLing;
#define yStaN_z071_SiDLing  (&yStaR_z071_SiDLing)

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),128(60,120),1,1)
******/
#define z072_ForcedToWait  2
extern XCONST struct xStateIdStruct yStaR_z072_ForcedToWait;
#define yStaN_z072_ForcedToWait  (&yStaR_z072_ForcedToWait)

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z073_walkingTime;
#define ySigN_z073_walkingTime  (&ySigR_z073_walkingTime)

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z074_someTime;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z075_myID;
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z076_numberToWrite;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),7,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z077_mahPID;
#endif

/*****
* SYNTYPE iLikeToWrite  (TYPE section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),9,9)
******/
#ifndef XTNOUSE_iLikeToWrite_Producer8
extern tSDLGenInfo ySDL_z080_iLikeToWrite;
#endif
typedef SDL_Integer  z080_iLikeToWrite;

/*****
* SYNTYPE iLikeToWrite  (HEADING section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),9,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_z080_iLikeToWrite;
#define ySrtN_z080_iLikeToWrite  (&ySrtR_z080_iLikeToWrite)
#endif

#define yAssF_z080_iLikeToWrite(V,E,A)  yAssF_SDL_Integer(V,E,A)
#define yEqF_z080_iLikeToWrite(Expr1,Expr2)  yEqF_SDL_Integer(Expr1,Expr2)
#define yNEqF_z080_iLikeToWrite(Expr1,Expr2)  yNEqF_SDL_Integer(Expr1,Expr2)
#define yMkAddr_z080_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z080_iLikeToWrite(Expr1),Expr2)
#ifdef XTESTF
extern xbool  yTest_z080_iLikeToWrite (void *);
#endif
#ifdef XERANGE
extern z080_iLikeToWrite yTstA_z080_iLikeToWrite (z080_iLikeToWrite);
#else
#define yTstA_z080_iLikeToWrite(yExpr)  yExpr
#endif
#ifndef ANY_z080_iLikeToWrite
#define ANY_z080_iLikeToWrite (z080_iLikeToWrite)(SDL_INTEGER_LIT(0) + \
  GETINTRAND%(SDL_INTEGER_LIT(100)+1))
#endif

/*****
* PROCESS Producer8
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z08_Producer8[];
extern XCONST xStateIdNode yPrsT_z08_Producer8[];
extern XCONST struct xPrsIdStruct yPrsR_z08_Producer8;
#define yPrsN_z08_Producer8  (&yPrsR_z08_Producer8)
#ifdef XCOVERAGE
extern long int yPrsC_z08_Producer8[];
#endif
YPAD_PROTOTYPE(yPAD_z08_Producer8)
extern XCONST struct xSignalIdStruct ySigR_z08_Producer8;
#define ySigN_z08_Producer8  (&ySigR_z08_Producer8)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z08_Producer8;
typedef yPDef_z08_Producer8  *yPDP_z08_Producer8;
XPROCESSDEF_H(Producer8,"Producer8",z08_Producer8,yPAD_z08_Producer8, \
  yVDef_z08_Producer8)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z08_Producer8[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z08_Producer8  14
extern char * yRef_z08_Producer8 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),3,1) */
    SDL_Duration z084_someTime;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),5,1) */
    SDL_Integer z085_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),6,1) */
    SDL_Integer z086_numberToWrite;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),7,1) */
    SDL_PId z087_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),1,7) */
    DEF_TIMER_VAR(yTim_walkingTime)
} yVDef_z08_Producer8;
typedef yVDef_z08_Producer8  *yVDP_z08_Producer8;
extern void yFree_z08_Producer8 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),137(65,65),1,1)
******/
#define z081_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z081_SiDLing;
#define yStaN_z081_SiDLing  (&yStaR_z081_SiDLing)

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),128(60,120),1,1)
******/
#define z082_ForcedToWait  2
extern XCONST struct xStateIdStruct yStaR_z082_ForcedToWait;
#define yStaN_z082_ForcedToWait  (&yStaR_z082_ForcedToWait)

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z083_walkingTime;
#define ySigN_z083_walkingTime  (&ySigR_z083_walkingTime)

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z084_someTime;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z085_myID;
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z086_numberToWrite;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),7,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z087_mahPID;
#endif

/*****
* SYNTYPE iLikeToWrite  (TYPE section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),9,9)
******/
#ifndef XTNOUSE_iLikeToWrite_Producer9
extern tSDLGenInfo ySDL_z090_iLikeToWrite;
#endif
typedef SDL_Integer  z090_iLikeToWrite;

/*****
* SYNTYPE iLikeToWrite  (HEADING section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),9,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_z090_iLikeToWrite;
#define ySrtN_z090_iLikeToWrite  (&ySrtR_z090_iLikeToWrite)
#endif

#define yAssF_z090_iLikeToWrite(V,E,A)  yAssF_SDL_Integer(V,E,A)
#define yEqF_z090_iLikeToWrite(Expr1,Expr2)  yEqF_SDL_Integer(Expr1,Expr2)
#define yNEqF_z090_iLikeToWrite(Expr1,Expr2)  yNEqF_SDL_Integer(Expr1,Expr2)
#define yMkAddr_z090_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z090_iLikeToWrite(Expr1),Expr2)
#ifdef XTESTF
extern xbool  yTest_z090_iLikeToWrite (void *);
#endif
#ifdef XERANGE
extern z090_iLikeToWrite yTstA_z090_iLikeToWrite (z090_iLikeToWrite);
#else
#define yTstA_z090_iLikeToWrite(yExpr)  yExpr
#endif
#ifndef ANY_z090_iLikeToWrite
#define ANY_z090_iLikeToWrite (z090_iLikeToWrite)(SDL_INTEGER_LIT(0) + \
  GETINTRAND%(SDL_INTEGER_LIT(100)+1))
#endif

/*****
* PROCESS Producer9
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z09_Producer9[];
extern XCONST xStateIdNode yPrsT_z09_Producer9[];
extern XCONST struct xPrsIdStruct yPrsR_z09_Producer9;
#define yPrsN_z09_Producer9  (&yPrsR_z09_Producer9)
#ifdef XCOVERAGE
extern long int yPrsC_z09_Producer9[];
#endif
YPAD_PROTOTYPE(yPAD_z09_Producer9)
extern XCONST struct xSignalIdStruct ySigR_z09_Producer9;
#define ySigN_z09_Producer9  (&ySigR_z09_Producer9)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z09_Producer9;
typedef yPDef_z09_Producer9  *yPDP_z09_Producer9;
XPROCESSDEF_H(Producer9,"Producer9",z09_Producer9,yPAD_z09_Producer9, \
  yVDef_z09_Producer9)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z09_Producer9[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z09_Producer9  14
extern char * yRef_z09_Producer9 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),3,1) */
    SDL_Duration z094_someTime;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),5,1) */
    SDL_Integer z095_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),6,1) */
    SDL_Integer z096_numberToWrite;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),7,1) */
    SDL_PId z097_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),1,7) */
    DEF_TIMER_VAR(yTim_walkingTime)
} yVDef_z09_Producer9;
typedef yVDef_z09_Producer9  *yVDP_z09_Producer9;
extern void yFree_z09_Producer9 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),137(65,65),1,1)
******/
#define z091_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z091_SiDLing;
#define yStaN_z091_SiDLing  (&yStaR_z091_SiDLing)

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),128(60,120),1,1)
******/
#define z092_ForcedToWait  2
extern XCONST struct xStateIdStruct yStaR_z092_ForcedToWait;
#define yStaN_z092_ForcedToWait  (&yStaR_z092_ForcedToWait)

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z093_walkingTime;
#define ySigN_z093_walkingTime  (&ySigR_z093_walkingTime)

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z094_someTime;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z095_myID;
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z096_numberToWrite;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),7,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z097_mahPID;
#endif

/*****
* SYNTYPE iLikeToWrite  (TYPE section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),9,9)
******/
#ifndef XTNOUSE_iLikeToWrite_Producer10
extern tSDLGenInfo ySDL_z0A0_iLikeToWrite;
#endif
typedef SDL_Integer  z0A0_iLikeToWrite;

/*****
* SYNTYPE iLikeToWrite  (HEADING section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),9,9)
******/
#ifndef XOPTSORT
extern XCONST struct xSortIdStruct ySrtR_z0A0_iLikeToWrite;
#define ySrtN_z0A0_iLikeToWrite  (&ySrtR_z0A0_iLikeToWrite)
#endif

#define yAssF_z0A0_iLikeToWrite(V,E,A)  yAssF_SDL_Integer(V,E,A)
#define yEqF_z0A0_iLikeToWrite(Expr1,Expr2)  yEqF_SDL_Integer(Expr1,Expr2)
#define yNEqF_z0A0_iLikeToWrite(Expr1,Expr2)  yNEqF_SDL_Integer(Expr1,Expr2)
#define yMkAddr_z0A0_iLikeToWrite(Expr1,Expr2) yMkAddr_SDL_Integer(yTstA_z0A0_iLikeToWrite(Expr1),Expr2)
#ifdef XTESTF
extern xbool  yTest_z0A0_iLikeToWrite (void *);
#endif
#ifdef XERANGE
extern z0A0_iLikeToWrite yTstA_z0A0_iLikeToWrite (z0A0_iLikeToWrite);
#else
#define yTstA_z0A0_iLikeToWrite(yExpr)  yExpr
#endif
#ifndef ANY_z0A0_iLikeToWrite
#define ANY_z0A0_iLikeToWrite (z0A0_iLikeToWrite)(SDL_INTEGER_LIT(0) + \
  GETINTRAND%(SDL_INTEGER_LIT(100)+1))
#endif

/*****
* PROCESS Producer10
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z0A_Producer10[];
extern XCONST xStateIdNode yPrsT_z0A_Producer10[];
extern XCONST struct xPrsIdStruct yPrsR_z0A_Producer10;
#define yPrsN_z0A_Producer10  (&yPrsR_z0A_Producer10)
#ifdef XCOVERAGE
extern long int yPrsC_z0A_Producer10[];
#endif
YPAD_PROTOTYPE(yPAD_z0A_Producer10)
extern XCONST struct xSignalIdStruct ySigR_z0A_Producer10;
#define ySigN_z0A_Producer10  (&ySigR_z0A_Producer10)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z0A_Producer10;
typedef yPDef_z0A_Producer10  *yPDP_z0A_Producer10;
XPROCESSDEF_H(Producer10,"Producer10",z0A_Producer10,yPAD_z0A_Producer10, \
  yVDef_z0A_Producer10)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z0A_Producer10[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z0A_Producer10  14
extern char * yRef_z0A_Producer10 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),3,1) */
    SDL_Duration z0A4_someTime;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),5,1) */
    SDL_Integer z0A5_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),6,1) */
    SDL_Integer z0A6_numberToWrite;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),7,1) */
    SDL_PId z0A7_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),1,7) */
    DEF_TIMER_VAR(yTim_walkingTime)
} yVDef_z0A_Producer10;
typedef yVDef_z0A_Producer10  *yVDP_z0A_Producer10;
extern void yFree_z0A_Producer10 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),137(60,65),1,1)
******/
#define z0A1_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z0A1_SiDLing;
#define yStaN_z0A1_SiDLing  (&yStaR_z0A1_SiDLing)

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),128(55,120),1,1)
******/
#define z0A2_ForcedToWait  2
extern XCONST struct xStateIdStruct yStaR_z0A2_ForcedToWait;
#define yStaN_z0A2_ForcedToWait  (&yStaR_z0A2_ForcedToWait)

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z0A3_walkingTime;
#define ySigN_z0A3_walkingTime  (&ySigR_z0A3_walkingTime)

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z0A4_someTime;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z0A5_myID;
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z0A6_numberToWrite;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),7,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z0A7_mahPID;
#endif

/*****
* SIGNALROUTE ProducerLine1
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),119(42,42),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0B_ProducerLine1[];
extern XCONST xIdNode yChaOR_z0B_ProducerLine1[];
extern XCONST struct xChannelIdStruct yChaR_z0B_ProducerLine1;
extern XCONST struct xChannelIdStruct yChaRR_z0B_ProducerLine1;
#define yChaN_z0B_ProducerLine1  (&yChaR_z0B_ProducerLine1)
#endif

/*****
* SIGNALROUTE ProducerLine2
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),230(57,67),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0C_ProducerLine2[];
extern XCONST xIdNode yChaOR_z0C_ProducerLine2[];
extern XCONST struct xChannelIdStruct yChaR_z0C_ProducerLine2;
extern XCONST struct xChannelIdStruct yChaRR_z0C_ProducerLine2;
#define yChaN_z0C_ProducerLine2  (&yChaR_z0C_ProducerLine2)
#endif

/*****
* SIGNALROUTE ProducerLine3
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),275(57,87),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0D_ProducerLine3[];
extern XCONST xIdNode yChaOR_z0D_ProducerLine3[];
extern XCONST struct xChannelIdStruct yChaR_z0D_ProducerLine3;
extern XCONST struct xChannelIdStruct yChaRR_z0D_ProducerLine3;
#define yChaN_z0D_ProducerLine3  (&yChaR_z0D_ProducerLine3)
#endif

/*****
* SIGNALROUTE ProducerLine4
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),284(57,102),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0E_ProducerLine4[];
extern XCONST xIdNode yChaOR_z0E_ProducerLine4[];
extern XCONST struct xChannelIdStruct yChaR_z0E_ProducerLine4;
extern XCONST struct xChannelIdStruct yChaRR_z0E_ProducerLine4;
#define yChaN_z0E_ProducerLine4  (&yChaR_z0E_ProducerLine4)
#endif

/*****
* SIGNALROUTE ProducerLine5
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),293(57,117),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0F_ProducerLine5[];
extern XCONST xIdNode yChaOR_z0F_ProducerLine5[];
extern XCONST struct xChannelIdStruct yChaR_z0F_ProducerLine5;
extern XCONST struct xChannelIdStruct yChaRR_z0F_ProducerLine5;
#define yChaN_z0F_ProducerLine5  (&yChaR_z0F_ProducerLine5)
#endif

/*****
* SIGNALROUTE ProducerLine6
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),302(57,132),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0G_ProducerLine6[];
extern XCONST xIdNode yChaOR_z0G_ProducerLine6[];
extern XCONST struct xChannelIdStruct yChaR_z0G_ProducerLine6;
extern XCONST struct xChannelIdStruct yChaRR_z0G_ProducerLine6;
#define yChaN_z0G_ProducerLine6  (&yChaR_z0G_ProducerLine6)
#endif

/*****
* SIGNALROUTE ProducerLine7
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),311(57,147),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0H_ProducerLine7[];
extern XCONST xIdNode yChaOR_z0H_ProducerLine7[];
extern XCONST struct xChannelIdStruct yChaR_z0H_ProducerLine7;
extern XCONST struct xChannelIdStruct yChaRR_z0H_ProducerLine7;
#define yChaN_z0H_ProducerLine7  (&yChaR_z0H_ProducerLine7)
#endif

/*****
* SIGNALROUTE ProducerLine8
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),320(57,162),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0I_ProducerLine8[];
extern XCONST xIdNode yChaOR_z0I_ProducerLine8[];
extern XCONST struct xChannelIdStruct yChaR_z0I_ProducerLine8;
extern XCONST struct xChannelIdStruct yChaRR_z0I_ProducerLine8;
#define yChaN_z0I_ProducerLine8  (&yChaR_z0I_ProducerLine8)
#endif

/*****
* SIGNALROUTE ProducerLine9
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),329(57,177),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0J_ProducerLine9[];
extern XCONST xIdNode yChaOR_z0J_ProducerLine9[];
extern XCONST struct xChannelIdStruct yChaR_z0J_ProducerLine9;
extern XCONST struct xChannelIdStruct yChaRR_z0J_ProducerLine9;
#define yChaN_z0J_ProducerLine9  (&yChaR_z0J_ProducerLine9)
#endif

/*****
* SIGNALROUTE ProducerLine10
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),338(57,192),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0K_ProducerLine10[];
extern XCONST xIdNode yChaOR_z0K_ProducerLine10[];
extern XCONST struct xChannelIdStruct yChaR_z0K_ProducerLine10;
extern XCONST struct xChannelIdStruct yChaRR_z0K_ProducerLine10;
#define yChaN_z0K_ProducerLine10  (&yChaR_z0K_ProducerLine10)
#endif

/*****
* BLOCK ConcuroBlock
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk,4,1,7)
******/
extern XCONST struct xBlockIdStruct yBloR_z1_ConcuroBlock;

/*****
* PROCESS Io
* <<SYSTEM Concuro/BLOCK ConcuroBlock>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z13_Io[];
extern XCONST xStateIdNode yPrsT_z13_Io[];
extern XCONST struct xPrsIdStruct yPrsR_z13_Io;
#define yPrsN_z13_Io  (&yPrsR_z13_Io)
#ifdef XCOVERAGE
extern long int yPrsC_z13_Io[];
#endif
YPAD_PROTOTYPE(yPAD_z13_Io)
extern XCONST struct xSignalIdStruct ySigR_z13_Io;
#define ySigN_z13_Io  (&ySigR_z13_Io)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z13_Io;
typedef yPDef_z13_Io  *yPDP_z13_Io;
XPROCESSDEF_H(Io,"Io",z13_Io,yPAD_z13_Io,yVDef_z13_Io)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z13_Io[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z13_Io  9
extern char * yRef_z13_Io (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),2,1) */
    SDL_Integer z132_numberWritten;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),3,1) */
    SDL_Integer z133_writeID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),4,1) */
    SDL_PId z134_writePID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),5,1) */
    SDL_Integer z135_readID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),6,1) */
    SDL_PId z136_readPID;
} yVDef_z13_Io;
typedef yVDef_z13_Io  *yVDP_z13_Io;
extern void yFree_z13_Io (void *);

/*****
* STATE Phase1
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),122(60,35),1,1)
******/
#define z130_Phase1  1
extern XCONST struct xStateIdStruct yStaR_z130_Phase1;
#define yStaN_z130_Phase1  (&yStaR_z130_Phase1)

/*****
* STATE Phase2
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),134(60,110),1,1)
******/
#define z131_Phase2  2
extern XCONST struct xStateIdStruct yStaR_z131_Phase2;
#define yStaN_z131_Phase2  (&yStaR_z131_Phase2)

/*****
* DCL numberWritten
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),2,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z132_numberWritten;
#endif

/*****
* DCL writeID
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z133_writeID;
#endif

/*****
* DCL writePID
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z134_writePID;
#endif

/*****
* DCL readID
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z135_readID;
#endif

/*****
* DCL readPID
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z136_readPID;
#endif

/*****
* SIGNALROUTE ProduceMe
* <<SYSTEM Concuro/BLOCK ConcuroBlock>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),197(95,47),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z14_ProduceMe[];
extern XCONST xIdNode yChaOR_z14_ProduceMe[];
extern XCONST struct xChannelIdStruct yChaR_z14_ProduceMe;
extern XCONST struct xChannelIdStruct yChaRR_z14_ProduceMe;
#define yChaN_z14_ProduceMe  (&yChaR_z14_ProduceMe)
#endif

/*****
* SIGNALROUTE LineOut
* <<SYSTEM Concuro/BLOCK ConcuroBlock>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),188(45,97),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z15_LineOut[];
extern XCONST xIdNode yChaOR_z15_LineOut[];
extern XCONST struct xChannelIdStruct yChaR_z15_LineOut;
extern XCONST struct xChannelIdStruct yChaRR_z15_LineOut;
#define yChaN_z15_LineOut  (&yChaR_z15_LineOut)
#endif

/*****
* SIGNALROUTE ConsumeMe
* <<SYSTEM Concuro/BLOCK ConcuroBlock>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),206(92,157),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z16_ConsumeMe[];
extern XCONST xIdNode yChaOR_z16_ConsumeMe[];
extern XCONST struct xChannelIdStruct yChaR_z16_ConsumeMe;
extern XCONST struct xChannelIdStruct yChaRR_z16_ConsumeMe;
#define yChaN_z16_ConsumeMe  (&yChaR_z16_ConsumeMe)
#endif

/*****
* BLOCK Consumers
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk,4,1,7)
******/
extern XCONST struct xBlockIdStruct yBloR_z2_Consumers;

/*****
* PROCESS Consumer
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z21_Consumer[];
extern XCONST xStateIdNode yPrsT_z21_Consumer[];
extern XCONST struct xPrsIdStruct yPrsR_z21_Consumer;
#define yPrsN_z21_Consumer  (&yPrsR_z21_Consumer)
#ifdef XCOVERAGE
extern long int yPrsC_z21_Consumer[];
#endif
YPAD_PROTOTYPE(yPAD_z21_Consumer)
extern XCONST struct xSignalIdStruct ySigR_z21_Consumer;
#define ySigN_z21_Consumer  (&ySigR_z21_Consumer)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z21_Consumer;
typedef yPDef_z21_Consumer  *yPDP_z21_Consumer;
XPROCESSDEF_H(Consumer,"Consumer",z21_Consumer,yPAD_z21_Consumer, \
  yVDef_z21_Consumer)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z21_Consumer[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z21_Consumer  12
extern char * yRef_z21_Consumer (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),3,1) */
    SDL_Duration z213_theseTimes;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),4,1) */
    SDL_Integer z214_stuffRead;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),5,1) */
    SDL_Integer z215_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),6,1) */
    SDL_PId z216_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),1,7) */
    DEF_TIMER_VAR(yTim_coolTimes)
} yVDef_z21_Consumer;
typedef yVDef_z21_Consumer  *yVDP_z21_Consumer;
extern void yFree_z21_Consumer (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),131(65,75),1,1)
******/
#define z210_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z210_SiDLing;
#define yStaN_z210_SiDLing  (&yStaR_z210_SiDLing)

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),149(65,135),1,1)
******/
#define z211_ForcedWait  2
extern XCONST struct xStateIdStruct yStaR_z211_ForcedWait;
#define yStaN_z211_ForcedWait  (&yStaR_z211_ForcedWait)

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z212_coolTimes;
#define ySigN_z212_coolTimes  (&ySigR_z212_coolTimes)

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z213_theseTimes;
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z214_stuffRead;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z215_myID;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z216_mahPID;
#endif

/*****
* PROCESS Consumer2
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z22_Consumer2[];
extern XCONST xStateIdNode yPrsT_z22_Consumer2[];
extern XCONST struct xPrsIdStruct yPrsR_z22_Consumer2;
#define yPrsN_z22_Consumer2  (&yPrsR_z22_Consumer2)
#ifdef XCOVERAGE
extern long int yPrsC_z22_Consumer2[];
#endif
YPAD_PROTOTYPE(yPAD_z22_Consumer2)
extern XCONST struct xSignalIdStruct ySigR_z22_Consumer2;
#define ySigN_z22_Consumer2  (&ySigR_z22_Consumer2)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z22_Consumer2;
typedef yPDef_z22_Consumer2  *yPDP_z22_Consumer2;
XPROCESSDEF_H(Consumer2,"Consumer2",z22_Consumer2,yPAD_z22_Consumer2, \
  yVDef_z22_Consumer2)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z22_Consumer2[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z22_Consumer2  12
extern char * yRef_z22_Consumer2 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),3,1) */
    SDL_Duration z223_theseTimes;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),4,1) */
    SDL_Integer z224_stuffRead;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),5,1) */
    SDL_Integer z225_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),6,1) */
    SDL_PId z226_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),1,7) */
    DEF_TIMER_VAR(yTim_coolTimes)
} yVDef_z22_Consumer2;
typedef yVDef_z22_Consumer2  *yVDP_z22_Consumer2;
extern void yFree_z22_Consumer2 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),134(60,75),1,1)
******/
#define z220_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z220_SiDLing;
#define yStaN_z220_SiDLing  (&yStaR_z220_SiDLing)

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),125(60,135),1,1)
******/
#define z221_ForcedWait  2
extern XCONST struct xStateIdStruct yStaR_z221_ForcedWait;
#define yStaN_z221_ForcedWait  (&yStaR_z221_ForcedWait)

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z222_coolTimes;
#define ySigN_z222_coolTimes  (&ySigR_z222_coolTimes)

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z223_theseTimes;
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z224_stuffRead;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z225_myID;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z226_mahPID;
#endif

/*****
* PROCESS Consumer3
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z23_Consumer3[];
extern XCONST xStateIdNode yPrsT_z23_Consumer3[];
extern XCONST struct xPrsIdStruct yPrsR_z23_Consumer3;
#define yPrsN_z23_Consumer3  (&yPrsR_z23_Consumer3)
#ifdef XCOVERAGE
extern long int yPrsC_z23_Consumer3[];
#endif
YPAD_PROTOTYPE(yPAD_z23_Consumer3)
extern XCONST struct xSignalIdStruct ySigR_z23_Consumer3;
#define ySigN_z23_Consumer3  (&ySigR_z23_Consumer3)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z23_Consumer3;
typedef yPDef_z23_Consumer3  *yPDP_z23_Consumer3;
XPROCESSDEF_H(Consumer3,"Consumer3",z23_Consumer3,yPAD_z23_Consumer3, \
  yVDef_z23_Consumer3)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z23_Consumer3[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z23_Consumer3  12
extern char * yRef_z23_Consumer3 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),3,1) */
    SDL_Duration z233_theseTimes;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),4,1) */
    SDL_Integer z234_stuffRead;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),5,1) */
    SDL_Integer z235_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),6,1) */
    SDL_PId z236_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),1,7) */
    DEF_TIMER_VAR(yTim_coolTimes)
} yVDef_z23_Consumer3;
typedef yVDef_z23_Consumer3  *yVDP_z23_Consumer3;
extern void yFree_z23_Consumer3 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),134(60,70),1,1)
******/
#define z230_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z230_SiDLing;
#define yStaN_z230_SiDLing  (&yStaR_z230_SiDLing)

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),125(60,130),1,1)
******/
#define z231_ForcedWait  2
extern XCONST struct xStateIdStruct yStaR_z231_ForcedWait;
#define yStaN_z231_ForcedWait  (&yStaR_z231_ForcedWait)

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z232_coolTimes;
#define ySigN_z232_coolTimes  (&ySigR_z232_coolTimes)

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z233_theseTimes;
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z234_stuffRead;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z235_myID;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z236_mahPID;
#endif

/*****
* PROCESS Consumer4
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z24_Consumer4[];
extern XCONST xStateIdNode yPrsT_z24_Consumer4[];
extern XCONST struct xPrsIdStruct yPrsR_z24_Consumer4;
#define yPrsN_z24_Consumer4  (&yPrsR_z24_Consumer4)
#ifdef XCOVERAGE
extern long int yPrsC_z24_Consumer4[];
#endif
YPAD_PROTOTYPE(yPAD_z24_Consumer4)
extern XCONST struct xSignalIdStruct ySigR_z24_Consumer4;
#define ySigN_z24_Consumer4  (&ySigR_z24_Consumer4)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z24_Consumer4;
typedef yPDef_z24_Consumer4  *yPDP_z24_Consumer4;
XPROCESSDEF_H(Consumer4,"Consumer4",z24_Consumer4,yPAD_z24_Consumer4, \
  yVDef_z24_Consumer4)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z24_Consumer4[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z24_Consumer4  12
extern char * yRef_z24_Consumer4 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),3,1) */
    SDL_Duration z243_theseTimes;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),4,1) */
    SDL_Integer z244_stuffRead;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),5,1) */
    SDL_Integer z245_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),6,1) */
    SDL_PId z246_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),1,7) */
    DEF_TIMER_VAR(yTim_coolTimes)
} yVDef_z24_Consumer4;
typedef yVDef_z24_Consumer4  *yVDP_z24_Consumer4;
extern void yFree_z24_Consumer4 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),134(55,70),1,1)
******/
#define z240_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z240_SiDLing;
#define yStaN_z240_SiDLing  (&yStaR_z240_SiDLing)

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),125(55,130),1,1)
******/
#define z241_ForcedWait  2
extern XCONST struct xStateIdStruct yStaR_z241_ForcedWait;
#define yStaN_z241_ForcedWait  (&yStaR_z241_ForcedWait)

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z242_coolTimes;
#define ySigN_z242_coolTimes  (&ySigR_z242_coolTimes)

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z243_theseTimes;
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z244_stuffRead;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z245_myID;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z246_mahPID;
#endif

/*****
* PROCESS Consumer5
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z25_Consumer5[];
extern XCONST xStateIdNode yPrsT_z25_Consumer5[];
extern XCONST struct xPrsIdStruct yPrsR_z25_Consumer5;
#define yPrsN_z25_Consumer5  (&yPrsR_z25_Consumer5)
#ifdef XCOVERAGE
extern long int yPrsC_z25_Consumer5[];
#endif
YPAD_PROTOTYPE(yPAD_z25_Consumer5)
extern XCONST struct xSignalIdStruct ySigR_z25_Consumer5;
#define ySigN_z25_Consumer5  (&ySigR_z25_Consumer5)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z25_Consumer5;
typedef yPDef_z25_Consumer5  *yPDP_z25_Consumer5;
XPROCESSDEF_H(Consumer5,"Consumer5",z25_Consumer5,yPAD_z25_Consumer5, \
  yVDef_z25_Consumer5)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z25_Consumer5[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z25_Consumer5  12
extern char * yRef_z25_Consumer5 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),3,1) */
    SDL_Duration z253_theseTimes;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),4,1) */
    SDL_Integer z254_stuffRead;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),5,1) */
    SDL_Integer z255_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),6,1) */
    SDL_PId z256_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),1,7) */
    DEF_TIMER_VAR(yTim_coolTimes)
} yVDef_z25_Consumer5;
typedef yVDef_z25_Consumer5  *yVDP_z25_Consumer5;
extern void yFree_z25_Consumer5 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),134(60,70),1,1)
******/
#define z250_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z250_SiDLing;
#define yStaN_z250_SiDLing  (&yStaR_z250_SiDLing)

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),125(60,130),1,1)
******/
#define z251_ForcedWait  2
extern XCONST struct xStateIdStruct yStaR_z251_ForcedWait;
#define yStaN_z251_ForcedWait  (&yStaR_z251_ForcedWait)

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z252_coolTimes;
#define ySigN_z252_coolTimes  (&ySigR_z252_coolTimes)

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z253_theseTimes;
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z254_stuffRead;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z255_myID;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z256_mahPID;
#endif

/*****
* PROCESS Consumer6
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z26_Consumer6[];
extern XCONST xStateIdNode yPrsT_z26_Consumer6[];
extern XCONST struct xPrsIdStruct yPrsR_z26_Consumer6;
#define yPrsN_z26_Consumer6  (&yPrsR_z26_Consumer6)
#ifdef XCOVERAGE
extern long int yPrsC_z26_Consumer6[];
#endif
YPAD_PROTOTYPE(yPAD_z26_Consumer6)
extern XCONST struct xSignalIdStruct ySigR_z26_Consumer6;
#define ySigN_z26_Consumer6  (&ySigR_z26_Consumer6)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z26_Consumer6;
typedef yPDef_z26_Consumer6  *yPDP_z26_Consumer6;
XPROCESSDEF_H(Consumer6,"Consumer6",z26_Consumer6,yPAD_z26_Consumer6, \
  yVDef_z26_Consumer6)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z26_Consumer6[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z26_Consumer6  12
extern char * yRef_z26_Consumer6 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),3,1) */
    SDL_Duration z263_theseTimes;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),4,1) */
    SDL_Integer z264_stuffRead;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),5,1) */
    SDL_Integer z265_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),6,1) */
    SDL_PId z266_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),1,7) */
    DEF_TIMER_VAR(yTim_coolTimes)
} yVDef_z26_Consumer6;
typedef yVDef_z26_Consumer6  *yVDP_z26_Consumer6;
extern void yFree_z26_Consumer6 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),134(60,70),1,1)
******/
#define z260_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z260_SiDLing;
#define yStaN_z260_SiDLing  (&yStaR_z260_SiDLing)

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),125(60,130),1,1)
******/
#define z261_ForcedWait  2
extern XCONST struct xStateIdStruct yStaR_z261_ForcedWait;
#define yStaN_z261_ForcedWait  (&yStaR_z261_ForcedWait)

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z262_coolTimes;
#define ySigN_z262_coolTimes  (&ySigR_z262_coolTimes)

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z263_theseTimes;
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z264_stuffRead;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z265_myID;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z266_mahPID;
#endif

/*****
* PROCESS Consumer7
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z27_Consumer7[];
extern XCONST xStateIdNode yPrsT_z27_Consumer7[];
extern XCONST struct xPrsIdStruct yPrsR_z27_Consumer7;
#define yPrsN_z27_Consumer7  (&yPrsR_z27_Consumer7)
#ifdef XCOVERAGE
extern long int yPrsC_z27_Consumer7[];
#endif
YPAD_PROTOTYPE(yPAD_z27_Consumer7)
extern XCONST struct xSignalIdStruct ySigR_z27_Consumer7;
#define ySigN_z27_Consumer7  (&ySigR_z27_Consumer7)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z27_Consumer7;
typedef yPDef_z27_Consumer7  *yPDP_z27_Consumer7;
XPROCESSDEF_H(Consumer7,"Consumer7",z27_Consumer7,yPAD_z27_Consumer7, \
  yVDef_z27_Consumer7)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z27_Consumer7[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z27_Consumer7  12
extern char * yRef_z27_Consumer7 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),3,1) */
    SDL_Duration z273_theseTimes;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),4,1) */
    SDL_Integer z274_stuffRead;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),5,1) */
    SDL_Integer z275_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),6,1) */
    SDL_PId z276_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),1,7) */
    DEF_TIMER_VAR(yTim_coolTimes)
} yVDef_z27_Consumer7;
typedef yVDef_z27_Consumer7  *yVDP_z27_Consumer7;
extern void yFree_z27_Consumer7 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),134(60,70),1,1)
******/
#define z270_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z270_SiDLing;
#define yStaN_z270_SiDLing  (&yStaR_z270_SiDLing)

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),125(60,130),1,1)
******/
#define z271_ForcedWait  2
extern XCONST struct xStateIdStruct yStaR_z271_ForcedWait;
#define yStaN_z271_ForcedWait  (&yStaR_z271_ForcedWait)

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z272_coolTimes;
#define ySigN_z272_coolTimes  (&ySigR_z272_coolTimes)

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z273_theseTimes;
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z274_stuffRead;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z275_myID;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z276_mahPID;
#endif

/*****
* PROCESS Consumer8
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z28_Consumer8[];
extern XCONST xStateIdNode yPrsT_z28_Consumer8[];
extern XCONST struct xPrsIdStruct yPrsR_z28_Consumer8;
#define yPrsN_z28_Consumer8  (&yPrsR_z28_Consumer8)
#ifdef XCOVERAGE
extern long int yPrsC_z28_Consumer8[];
#endif
YPAD_PROTOTYPE(yPAD_z28_Consumer8)
extern XCONST struct xSignalIdStruct ySigR_z28_Consumer8;
#define ySigN_z28_Consumer8  (&ySigR_z28_Consumer8)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z28_Consumer8;
typedef yPDef_z28_Consumer8  *yPDP_z28_Consumer8;
XPROCESSDEF_H(Consumer8,"Consumer8",z28_Consumer8,yPAD_z28_Consumer8, \
  yVDef_z28_Consumer8)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z28_Consumer8[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z28_Consumer8  12
extern char * yRef_z28_Consumer8 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),3,1) */
    SDL_Duration z283_theseTimes;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),4,1) */
    SDL_Integer z284_stuffRead;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),5,1) */
    SDL_Integer z285_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),6,1) */
    SDL_PId z286_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),1,7) */
    DEF_TIMER_VAR(yTim_coolTimes)
} yVDef_z28_Consumer8;
typedef yVDef_z28_Consumer8  *yVDP_z28_Consumer8;
extern void yFree_z28_Consumer8 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),134(60,70),1,1)
******/
#define z280_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z280_SiDLing;
#define yStaN_z280_SiDLing  (&yStaR_z280_SiDLing)

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),125(60,130),1,1)
******/
#define z281_ForcedWait  2
extern XCONST struct xStateIdStruct yStaR_z281_ForcedWait;
#define yStaN_z281_ForcedWait  (&yStaR_z281_ForcedWait)

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z282_coolTimes;
#define ySigN_z282_coolTimes  (&ySigR_z282_coolTimes)

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z283_theseTimes;
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z284_stuffRead;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z285_myID;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z286_mahPID;
#endif

/*****
* PROCESS Consumer9
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z29_Consumer9[];
extern XCONST xStateIdNode yPrsT_z29_Consumer9[];
extern XCONST struct xPrsIdStruct yPrsR_z29_Consumer9;
#define yPrsN_z29_Consumer9  (&yPrsR_z29_Consumer9)
#ifdef XCOVERAGE
extern long int yPrsC_z29_Consumer9[];
#endif
YPAD_PROTOTYPE(yPAD_z29_Consumer9)
extern XCONST struct xSignalIdStruct ySigR_z29_Consumer9;
#define ySigN_z29_Consumer9  (&ySigR_z29_Consumer9)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z29_Consumer9;
typedef yPDef_z29_Consumer9  *yPDP_z29_Consumer9;
XPROCESSDEF_H(Consumer9,"Consumer9",z29_Consumer9,yPAD_z29_Consumer9, \
  yVDef_z29_Consumer9)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z29_Consumer9[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z29_Consumer9  12
extern char * yRef_z29_Consumer9 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),3,1) */
    SDL_Duration z293_theseTimes;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),4,1) */
    SDL_Integer z294_stuffRead;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),5,1) */
    SDL_Integer z295_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),6,1) */
    SDL_PId z296_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),1,7) */
    DEF_TIMER_VAR(yTim_coolTimes)
} yVDef_z29_Consumer9;
typedef yVDef_z29_Consumer9  *yVDP_z29_Consumer9;
extern void yFree_z29_Consumer9 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),134(60,70),1,1)
******/
#define z290_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z290_SiDLing;
#define yStaN_z290_SiDLing  (&yStaR_z290_SiDLing)

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),125(60,130),1,1)
******/
#define z291_ForcedWait  2
extern XCONST struct xStateIdStruct yStaR_z291_ForcedWait;
#define yStaN_z291_ForcedWait  (&yStaR_z291_ForcedWait)

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z292_coolTimes;
#define ySigN_z292_coolTimes  (&ySigR_z292_coolTimes)

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z293_theseTimes;
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z294_stuffRead;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z295_myID;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z296_mahPID;
#endif

/*****
* PROCESS Consumer10
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr,4,1,9)
******/
extern XCONST XSIGTYPE yPrsS_z2A_Consumer10[];
extern XCONST xStateIdNode yPrsT_z2A_Consumer10[];
extern XCONST struct xPrsIdStruct yPrsR_z2A_Consumer10;
#define yPrsN_z2A_Consumer10  (&yPrsR_z2A_Consumer10)
#ifdef XCOVERAGE
extern long int yPrsC_z2A_Consumer10[];
#endif
YPAD_PROTOTYPE(yPAD_z2A_Consumer10)
extern XCONST struct xSignalIdStruct ySigR_z2A_Consumer10;
#define ySigN_z2A_Consumer10  (&ySigR_z2A_Consumer10)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z2A_Consumer10;
typedef yPDef_z2A_Consumer10  *yPDP_z2A_Consumer10;
XPROCESSDEF_H(Consumer10,"Consumer10",z2A_Consumer10,yPAD_z2A_Consumer10, \
  yVDef_z2A_Consumer10)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z2A_Consumer10[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z2A_Consumer10  12
extern char * yRef_z2A_Consumer10 (int, xSymbolType *);
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),3,1) */
    SDL_Duration z2A3_theseTimes;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),4,1) */
    SDL_Integer z2A4_stuffRead;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),5,1) */
    SDL_Integer z2A5_myID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),6,1) */
    SDL_PId z2A6_mahPID;
                /* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),1,7) */
    DEF_TIMER_VAR(yTim_coolTimes)
} yVDef_z2A_Consumer10;
typedef yVDef_z2A_Consumer10  *yVDP_z2A_Consumer10;
extern void yFree_z2A_Consumer10 (void *);

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),134(60,70),1,1)
******/
#define z2A0_SiDLing  1
extern XCONST struct xStateIdStruct yStaR_z2A0_SiDLing;
#define yStaN_z2A0_SiDLing  (&yStaR_z2A0_SiDLing)

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),125(60,130),1,1)
******/
#define z2A1_ForcedWait  2
extern XCONST struct xStateIdStruct yStaR_z2A1_ForcedWait;
#define yStaN_z2A1_ForcedWait  (&yStaR_z2A1_ForcedWait)

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z2A2_coolTimes;
#define ySigN_z2A2_coolTimes  (&ySigR_z2A2_coolTimes)

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z2A3_theseTimes;
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z2A4_stuffRead;
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z2A5_myID;
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z2A6_mahPID;
#endif

/*****
* SIGNALROUTE ConsumerLine1
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),119(48,30),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2B_ConsumerLine1[];
extern XCONST xIdNode yChaOR_z2B_ConsumerLine1[];
extern XCONST struct xChannelIdStruct yChaR_z2B_ConsumerLine1;
extern XCONST struct xChannelIdStruct yChaRR_z2B_ConsumerLine1;
#define yChaN_z2B_ConsumerLine1  (&yChaR_z2B_ConsumerLine1)
#endif

/*****
* SIGNALROUTE ConsumerLine2
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),158(70,47),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2C_ConsumerLine2[];
extern XCONST xIdNode yChaOR_z2C_ConsumerLine2[];
extern XCONST struct xChannelIdStruct yChaR_z2C_ConsumerLine2;
extern XCONST struct xChannelIdStruct yChaRR_z2C_ConsumerLine2;
#define yChaN_z2C_ConsumerLine2  (&yChaR_z2C_ConsumerLine2)
#endif

/*****
* SIGNALROUTE ConsumerLine3
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),167(70,62),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2D_ConsumerLine3[];
extern XCONST xIdNode yChaOR_z2D_ConsumerLine3[];
extern XCONST struct xChannelIdStruct yChaR_z2D_ConsumerLine3;
extern XCONST struct xChannelIdStruct yChaRR_z2D_ConsumerLine3;
#define yChaN_z2D_ConsumerLine3  (&yChaR_z2D_ConsumerLine3)
#endif

/*****
* SIGNALROUTE ConsumerLine4
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),176(70,77),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2E_ConsumerLine4[];
extern XCONST xIdNode yChaOR_z2E_ConsumerLine4[];
extern XCONST struct xChannelIdStruct yChaR_z2E_ConsumerLine4;
extern XCONST struct xChannelIdStruct yChaRR_z2E_ConsumerLine4;
#define yChaN_z2E_ConsumerLine4  (&yChaR_z2E_ConsumerLine4)
#endif

/*****
* SIGNALROUTE ConsumerLine5
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),185(70,92),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2F_ConsumerLine5[];
extern XCONST xIdNode yChaOR_z2F_ConsumerLine5[];
extern XCONST struct xChannelIdStruct yChaR_z2F_ConsumerLine5;
extern XCONST struct xChannelIdStruct yChaRR_z2F_ConsumerLine5;
#define yChaN_z2F_ConsumerLine5  (&yChaR_z2F_ConsumerLine5)
#endif

/*****
* SIGNALROUTE ConsumerLine6
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),194(70,107),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2G_ConsumerLine6[];
extern XCONST xIdNode yChaOR_z2G_ConsumerLine6[];
extern XCONST struct xChannelIdStruct yChaR_z2G_ConsumerLine6;
extern XCONST struct xChannelIdStruct yChaRR_z2G_ConsumerLine6;
#define yChaN_z2G_ConsumerLine6  (&yChaR_z2G_ConsumerLine6)
#endif

/*****
* SIGNALROUTE ConsumerLine7
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),212(70,122),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2H_ConsumerLine7[];
extern XCONST xIdNode yChaOR_z2H_ConsumerLine7[];
extern XCONST struct xChannelIdStruct yChaR_z2H_ConsumerLine7;
extern XCONST struct xChannelIdStruct yChaRR_z2H_ConsumerLine7;
#define yChaN_z2H_ConsumerLine7  (&yChaR_z2H_ConsumerLine7)
#endif

/*****
* SIGNALROUTE ConsumerLine8
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),221(70,137),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2I_ConsumerLine8[];
extern XCONST xIdNode yChaOR_z2I_ConsumerLine8[];
extern XCONST struct xChannelIdStruct yChaR_z2I_ConsumerLine8;
extern XCONST struct xChannelIdStruct yChaRR_z2I_ConsumerLine8;
#define yChaN_z2I_ConsumerLine8  (&yChaR_z2I_ConsumerLine8)
#endif

/*****
* SIGNALROUTE ConsumerLine9
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),230(70,152),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2J_ConsumerLine9[];
extern XCONST xIdNode yChaOR_z2J_ConsumerLine9[];
extern XCONST struct xChannelIdStruct yChaR_z2J_ConsumerLine9;
extern XCONST struct xChannelIdStruct yChaRR_z2J_ConsumerLine9;
#define yChaN_z2J_ConsumerLine9  (&yChaR_z2J_ConsumerLine9)
#endif

/*****
* SIGNALROUTE ConsumerLine10
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),239(70,167),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2K_ConsumerLine10[];
extern XCONST xIdNode yChaOR_z2K_ConsumerLine10[];
extern XCONST struct xChannelIdStruct yChaR_z2K_ConsumerLine10;
extern XCONST struct xChannelIdStruct yChaRR_z2K_ConsumerLine10;
#define yChaN_z2K_ConsumerLine10  (&yChaR_z2K_ConsumerLine10)
#endif

/*****
* CHANNEL ProducerDongle
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),140(130,72),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z3_ProducerDongle[];
extern XCONST xIdNode yChaOR_z3_ProducerDongle[];
extern XCONST struct xChannelIdStruct yChaR_z3_ProducerDongle;
extern XCONST struct xChannelIdStruct yChaRR_z3_ProducerDongle;
#define yChaN_z3_ProducerDongle  (&yChaR_z3_ProducerDongle)
#endif

/*****
* CHANNEL ThisWayOrTheHighway
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),122(45,102),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z4_ThisWayOrTheHighway[];
extern XCONST xIdNode yChaOR_z4_ThisWayOrTheHighway[];
extern XCONST struct xChannelIdStruct yChaR_z4_ThisWayOrTheHighway;
extern XCONST struct xChannelIdStruct yChaRR_z4_ThisWayOrTheHighway;
#define yChaN_z4_ThisWayOrTheHighway  (&yChaR_z4_ThisWayOrTheHighway)
#ifdef XMULTIPLESYSTEMS
extern XCONST xIdNode yConnIn_Concuro_ThisWayOrTheHighway[];
extern XCONST xIdNode yConnOut_Concuro_ThisWayOrTheHighway[];
extern XCONST struct xChannelIdStruct yGateIn_Concuro_ThisWayOrTheHighway;
extern XCONST struct xChannelIdStruct yGateOut_Concuro_ThisWayOrTheHighway;
#endif
#endif

/*****
* CHANNEL ConsumerDongle
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),149(132,152),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z5_ConsumerDongle[];
extern XCONST xIdNode yChaOR_z5_ConsumerDongle[];
extern XCONST struct xChannelIdStruct yChaR_z5_ConsumerDongle;
extern XCONST struct xChannelIdStruct yChaRR_z5_ConsumerDongle;
#define yChaN_z5_ConsumerDongle  (&yChaR_z5_ConsumerDongle)
#endif

/*****
* SIGNAL requestWrite
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),2,1)
******/
extern XCONST struct xSignalIdStruct ySigR_z6_requestWrite;
#define ySigN_z6_requestWrite  (&ySigR_z6_requestWrite)
typedef struct {
    SIGNAL_VARS
    SDL_Integer  Param1;
    SDL_Integer  Param2;
    SDL_PId  Param3;
} yPDef_z6_requestWrite;
typedef yPDef_z6_requestWrite  *yPDP_z6_requestWrite;

/*****
* SIGNAL approveWrite
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),3,1)
******/
extern XCONST struct xSignalIdStruct ySigR_z7_approveWrite;
#define ySigN_z7_approveWrite  (&ySigR_z7_approveWrite)

/*****
* SIGNAL requestRead
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),4,1)
******/
extern XCONST struct xSignalIdStruct ySigR_z8_requestRead;
#define ySigN_z8_requestRead  (&ySigR_z8_requestRead)
typedef struct {
    SIGNAL_VARS
    SDL_Integer  Param1;
    SDL_PId  Param2;
} yPDef_z8_requestRead;
typedef yPDef_z8_requestRead  *yPDP_z8_requestRead;

/*****
* SIGNAL approveRead
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),5,1)
******/
extern XCONST struct xSignalIdStruct ySigR_z9_approveRead;
#define ySigN_z9_approveRead  (&ySigR_z9_approveRead)
typedef struct {
    SIGNAL_VARS
    SDL_Integer  Param1;
} yPDef_z9_approveRead;
typedef yPDef_z9_approveRead  *yPDP_z9_approveRead;

/*****
* SIGNAL consumerXReadItemY
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),6,1)
******/
extern XCONST struct xSignalIdStruct ySigR_zA_consumerXReadItemY;
#define ySigN_zA_consumerXReadItemY  (&ySigR_zA_consumerXReadItemY)
typedef struct {
    SIGNAL_VARS
    SDL_Integer  Param1;
    SDL_Integer  Param2;
} yPDef_zA_consumerXReadItemY;
typedef yPDef_zA_consumerXReadItemY  *yPDP_zA_consumerXReadItemY;

/*****
* SIGNAL producerXWroteItemY
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),7,1)
******/
extern XCONST struct xSignalIdStruct ySigR_zB_producerXWroteItemY;
#define ySigN_zB_producerXWroteItemY  (&ySigR_zB_producerXWroteItemY)
typedef struct {
    SIGNAL_VARS
    SDL_Integer  Param1;
    SDL_Integer  Param2;
} yPDef_zB_producerXWroteItemY;
typedef yPDef_zB_producerXWroteItemY  *yPDP_zB_producerXWroteItemY;

/*************************************************************************
**                #CODE directives, #HEADING sections                   **
*************************************************************************/

/*************************************************************************
**                  #CODE directives, #BODY sections                    **
*************************************************************************/

/*************************************************************************
**                  SECTION Variables and Functions                     **
*************************************************************************/

/*****
* SYSTEM Concuro
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy,4,1,8)
******/
XCONST struct xSystemIdStruct ySysR_z_Concuro = {xSystemEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&xSymbolTableIdRec, "Concuro" XCOMMON_EXTRAS,
  (xIdNode *)0, (xPrdIdNode *)0, (xSystemIdNode)0 xTrace(-1) xGRTrace(-1)
  xMSCETrace(-1) XSYS_EXTRAS};

/*****
* ENV
******/
#ifndef XMULTIPLESYSTEMS
#ifndef XOPTCHAN
xIdNode yEnvO_env[] = {(xIdNode)&yChaRR_z4_ThisWayOrTheHighway,
  (xIdNode)0  XTRACHANNELLIST};
#endif
#endif

/*****
* NEWTYPE RandomControl  (BODY section)
* <<SYSTEM Concuro>>
* #SDTREF(TEXT,C:\Telelogic\SDL_TTCN_Suite6.0\sdt\include\adt\random.pr,26,9)
******/

/* *** RandomControl *** */
#ifndef XTNOUSE_RandomControl
tSDLFuncInfo ySDLOp_RandomControl = {0, 0, 0 xRaWF(yWri_RandomControl)
  xRaWF(yRead_RandomControl)};
#ifndef T_RandomControl_EXTRA_VALUE
#define T_RandomControl_EXTRA_VALUE
#endif
tSDLUserdefInfo ySDL_RandomControl = {type_SDL_Userdef, 0,
  (xptrint)sizeof(RandomControl) T_SDL_OPFUNCS(&ySDLOp_RandomControl)
  T_SDL_EXTRA_VALUE T_SDL_Names("RandomControl")
  xRaWF((xIdNode)&ySysR_z_Concuro) xRaWF(&ySrtR_RandomControl)
  T_RandomControl_EXTRA_VALUE};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_RandomControl = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "RandomControl" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(0), (xptrint)sizeof(RandomControl),
  xUserdef, (xSortIdNode)0, (xSortIdNode)0, 0, 0, 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_RandomControl) XSRT_EXTRAS};
#endif
                /* #SDTREF(TEXT,C:\Telelogic\SDL_TTCN_Suite6.0\sdt\include\adt\random.pr,162,42) */
SDL_Real TtoR( SDL_Time D )
{ return (SDL_Real)D.s + (SDL_Real)D.ns*1E-9; }

SDL_Time RtoT( SDL_Real R )
{
  SDL_Time D;
  D.s = (xint32)R;
  D.ns = (xint32)((R - (SDL_Real)D.s)*1E9);
  return D;
}

SDL_Time ItoT( SDL_Integer I )
{
  SDL_Time D;
  D.s = I;
  D.ns = (xint32)0;
  return D;
}

SDL_Real Random( RandomControl Seq )
{
#ifdef XTRACE
  if ( xShouldBeTraced(xRandomTraceLevel, (xPrsNode)0) )
    xPrintString("      Random\n");
#endif
  *Seq = *Seq + (*Seq<<1) + (*Seq<<16);
  return (SDL_Real)((*Seq)/4294967296.0);
}

SDL_Real Erlang( SDL_Real Mean, SDL_Integer r, RandomControl Seq )
{
  SDL_Real Prod;
  int      I;
#ifdef XTRACE
  if ( xShouldBeTraced(xRandomTraceLevel, (xPrsNode)0) )
    xPrintString("      Erlang\n");
#endif
#ifdef XOPERRORF
  if ( (Mean <= 0.0) || (r < 1) ) {
    xSDLOpError("Erlang in sort RandomControl",
                "Illegal parameter");
    return 0.0;
  }
#endif
  Prod = Random(Seq);
  for (I=2; I<=r; I++)
    Prod = Prod*Random(Seq);
  return (-log(Prod)*Mean / r);
}

SDL_Real HyperExp2
  ( SDL_Real Mean1, SDL_Real Mean2, SDL_Real Alpha, RandomControl Seq )
{
  SDL_Real NegExp1;
#ifdef XTRACE
  if ( xShouldBeTraced(xRandomTraceLevel, (xPrsNode)0) )
    xPrintString("      HyperExp2\n");
#endif
#ifdef XOPERRORF
  if ( (Mean1<=0.0) || (Mean2<=0.0) || (Alpha<0.0) || (Alpha>1.0) ) {
    xSDLOpError("HyperExp2 in sort RandomControl",
                "Illegal parameter");
    return 0.0;
  }
#endif
  NegExp1 = -log(Random(Seq));
  if ( Alpha > Random(Seq) )
    return NegExp1*Mean1;
  return NegExp1*Mean2;
}

SDL_Real NegExp( SDL_Real Mean, RandomControl Seq )
{
#ifdef XTRACE
  if ( xShouldBeTraced(xRandomTraceLevel, (xPrsNode)0) )
    xPrintString("      NegExp\n");
#endif
#ifdef XOPERRORF
  if ( Mean <= 0.0 ) {
    xSDLOpError("NegExp in sort RandomControl",
                "Illegal parameter");
    return 0.0;
  }
#endif
  return -log(Random(Seq)) * Mean;
}

SDL_Real Uniform( SDL_Real Low, SDL_Real High, RandomControl Seq )
{
#ifdef XTRACE
  if ( xShouldBeTraced(xRandomTraceLevel, (xPrsNode)0) )
    xPrintString("      Uniform\n");
#endif
#ifdef XOPERRORF
  if ( Low > High ) {
    xSDLOpError("Uniform in sort RandomControl",
                "Illegal parameter");
    return 0.0;
  }
#endif
  return Low + (High-Low)*Random(Seq);
}

SDL_Real Draw( SDL_Real Alpha, RandomControl Seq )
{
#ifdef XTRACE
  if ( xShouldBeTraced(xRandomTraceLevel, (xPrsNode)0) )
    xPrintString("      Draw\n");
#endif
#ifdef XOPERRORF
  if ( (Alpha < 0.0) || (Alpha > 1.0) ) {
    xSDLOpError("Draw in sort RandomControl",
                "Illegal parameter");
    return SDL_False;
  }
#endif
  return Alpha > Random(Seq);
}

SDL_Integer Geometric( SDL_Real p, RandomControl Seq )
{
#ifdef XTRACE
  if ( xShouldBeTraced(xRandomTraceLevel, (xPrsNode)0) )
    xPrintString("      Geometric\n");
#endif
#ifdef XOPERRORF
  if ( (p < 0.0) || (p >= 1.0) ) {
    xSDLOpError("Geometric in sort RandomControl",
                "Illegal parameter");
    return 0;
  }
#endif
  if ( p == 0.0 ) {
    (void)Random(Seq);
    return 0;
  }
  return (SDL_Integer)(log(Random(Seq)) / log(p));
}

SDL_Integer Poisson( SDL_Real m, RandomControl Seq )
{
  SDL_Real U, Term, Sum;
  int Sample;
#ifdef XTRACE
  if ( xShouldBeTraced(xRandomTraceLevel, (xPrsNode)0) )
    xPrintString("      Poisson\n");
#endif
#ifdef XOPERRORF
  if ( m < 0.0 ) {
    xSDLOpError("Poisson in sort RandomControl",
                "Illegal parameter");
    return 0.0;
  }
#endif
  Term = exp(-m);
  Sum = Term;
  Sample = 0;
  U = Random(Seq);
  while (U > Sum) {
    Sample = Sample + 1;
    Term = Term * m/Sample;

#ifdef XOPERRORF
    if ( Sum+Term == Sum ) {
      xSDLOpError("Poisson in sort RandomControl",
                "Function run out of significant digits");
      return Sample;
    }
#endif
    Sum = Sum + Term;
  }
  return Sample;
}

SDL_Integer RandInt(SDL_Integer Low, SDL_Integer High, RandomControl Seq )
{
  SDL_Real U;
#ifdef XTRACE
  if ( xShouldBeTraced(xRandomTraceLevel, (xPrsNode)0) )
    xPrintString("      RandInt\n");
#endif
#ifdef XOPERRORF
  if ( Low > High ) {
    xSDLOpError("RandInt in sort RandomControl",
                "Illegal parameter");
    return 0;
  }
#endif
  U = Random(Seq);
  return (SDL_Integer)(Low*(1.0-U) + High*U + U);
}

RandomControl DefineSeed( SDL_Integer Seed )
{
  RandomControl R;
  R = (RandomControl)xAlloc((xptrint)sizeof(unsigned long));
#ifdef XOPERRORF
  if ( (Seed > 32767) || (Seed < 1) || (Seed%2 == 0) ) {
    xSDLOpError("DefineSeed in sort RandomControl",
                "Illegal Seed value");
    *R = 65537;
    return R;
  }
#endif
  if ( Seed < 8192 )
    *R = 65537*Seed + 8192;
  else
    *R = 65537*Seed;
  return R;
}

SDL_Integer Seed( RandomControl Seq )
{
  return RandInt(1, 16383, Seq)*2 + 1;
}


#ifdef XREADANDWRITEF
char * yWri_RandomControl( void * Value)
{
  static WriteBuf *buf = 0;

  if (*(void **)Value != (void *)0) {
    if (!buf)
      buf = WriteBuf_New(14);
    else
      WriteBuf_Clear(buf);
    xGenericWriteSort(buf, *(void **)Value, (tSDLTypeInfo *)&ySDL_SDL_Integer);
    return WriteBuf_Data(buf);
  }

  return "0";
}

int yRead_RandomControl( void * Result )
{
  if (*(RandomControl *)Result == (RandomControl)0)
    *(RandomControl *)Result =
      (RandomControl)xAlloc((xptrint)sizeof(unsigned long));
  return xRead_SDL_Integer(*(void **)Result);

}
#endif


/*****
* BLOCK Producers
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk,4,1,7)
******/
XCONST struct xBlockIdStruct yBloR_z0_Producers = {xBlockEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "Producers" XCOMMON_EXTRAS,
  (xBlockIdNode)0, (xIdNode *)0, (xPrdIdNode *)0, (xViewListRec *)0,
  (xViewIndexRec *)0, 1 xTrace(-1) xGRTrace(-1) xMSCETrace(-1) xMSCETrace(0)
  XBLO_EXTRAS};
#ifndef XOPTCHAN
XCONST xIdNode yChaOR_z3_ProducerDongle[] =
  {(xIdNode)&yChaRR_z0B_ProducerLine1, (xIdNode)&yChaRR_z0C_ProducerLine2,
  (xIdNode)&yChaRR_z0D_ProducerLine3, (xIdNode)&yChaRR_z0E_ProducerLine4,
  (xIdNode)&yChaRR_z0F_ProducerLine5, (xIdNode)&yChaRR_z0G_ProducerLine6,
  (xIdNode)&yChaRR_z0H_ProducerLine7, (xIdNode)&yChaRR_z0I_ProducerLine8,
  (xIdNode)&yChaRR_z0J_ProducerLine9, (xIdNode)&yChaRR_z0K_ProducerLine10,
  (xIdNode)0};
#endif

/*****
* SYNTYPE iLikeToWrite  (BODY section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),9,9)
******/

/* *** iLikeToWrite *** */
#ifndef XTNOUSE_iLikeToWrite_Producer
tSDLGenInfo ySDL_z010_iLikeToWrite = {type_SDL_Syntype, 0,
  (xptrint)sizeof(z010_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z01_Producer)
  xRaWF(&ySrtR_z010_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z010_iLikeToWrite = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "iLikeToWrite" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z010_iLikeToWrite),
  (xptrint)sizeof(z010_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer,
  &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z010_iLikeToWrite) XSRT_EXTRAS};
#endif

/*-------------------TEST-------------------*/
#ifdef XTESTF
xbool yTest_z010_iLikeToWrite(void * yExpr)
{
  {
    if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z010_iLikeToWrite *)yExpr))
      if (xLE_SDL_Integer(*(z010_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100)))
        return (xbool)1;
  }
  return (xbool)0;
}
#endif

/*-------------------TSTA-------------------*/
#ifdef XERANGE
z010_iLikeToWrite yTstA_z010_iLikeToWrite(z010_iLikeToWrite yExpr)
{
  if (! yTest_z010_iLikeToWrite((void *)&yExpr) )
    xErrorSubrange((tSDLTypeInfo *)&ySDL_z010_iLikeToWrite, (void *)&yExpr);
  return yExpr;
}
#endif

/*****
* PROCESS Producer
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z01_Producer[ySym_z01_Producer+1];
#endif
XCONST XSIGTYPE yPrsS_z01_Producer[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z013_walkingTime),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z01_Producer[] = {&xStartStateIdRec,
  &yStaR_z011_SiDLing, &yStaR_z012_ForcedToWait};
static XPRSNODE yPrsA_z01_Producer = (XPRSNODE)0;
static XPRSNODE yPrsB_z01_Producer = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z01_Producer = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer" XCOMMON_EXTRAS,
  yPrsT_z01_Producer, yPrsS_z01_Producer xService(0) xOptChan(
  yPrsO_z01_Producer), -1 xNrInst(1) xNrInst(1), &yPrsB_z01_Producer,
  (xptrint)sizeof(yVDef_z01_Producer) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z01_Producer xTrace(-1) xGRTrace(-1) xBreakB(yRef_z01_Producer)
  xBreakB(ySym_z01_Producer) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z01_Producer) xCoverage(0) xCoverage(0), yPAD_z01_Producer,
  yFree_z01_Producer, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z01_Producer)};
static xSignalNode ySigA_z01_Producer = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z01_Producer = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z01_Producer), &ySigA_z01_Producer, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Producer,"Producer",z01_Producer,yPAD_z01_Producer,
  yVDef_z01_Producer)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z01_Producer[] = {(xIdNode)&yChaR_z0B_ProducerLine1,
  (xIdNode)0};
#endif
void yFree_z01_Producer(void *yVarP)
{
}

/*+++++
* GR ref function for process Producer
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr,4,1,17)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z01_Producer (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),119(65,15),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),143(60,90),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),158(60,140),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),125(35,35),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),125(35,35),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),125(35,35),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),125(35,35),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),125(35,35),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),134(65,70),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),149(35,110),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),167(60,125),1,1)";
    case 11: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),179(45,160),1,1)";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),179(45,160),2,1)";
    case 13: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),179(45,160),3,1)";
    case 14: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),176(65,185),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Producer
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr,4,1,17)
++++++*/
YPAD_FUNCTION(yPAD_z01_Producer)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z01_Producer)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Producer")

  BEGIN_PAD(yVDef_z01_Producer)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),119(65,15),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z01_Producer)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z017_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(3, 3663)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),125(35,35),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_Integer(yVarP->z015_myID, SDL_INTEGER_LIT(1), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z015_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z015_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(4, 3681)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),125(35,35),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z016_numberToWrite, ANY_z010_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z016_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z016_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 3700)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),125(35,35),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Duration(yVarP->z014_someTime, SDL_DURATION_LIT(1000.0, 1000, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z014_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z014_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(6, 3719)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),125(35,35),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_PId(yVarP->z017_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z017_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z017_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(7, 3737)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),125(35,35),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z014_someTime), yVarP->
      z014_someTime, walkingTime, ySigN_z013_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(8, 3749)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),134(65,70),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z011_SiDLing, "SiDLing")

/*-----
* INPUT walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),143(60,90),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_walkingTime)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("walkingTime")
    INPUT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(9, 3770)

/*-----
* OUTPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),149(35,110),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z6_requestWrite)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z015_myID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z016_numberToWrite, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP->
      z017_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite,
      ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z6_requestWrite), "requestWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 3792)

/*-----
* NEXTSTATE ForcedToWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),167(60,125),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedToWait, z012_ForcedToWait, "ForcedToWait")

/*-----
* INPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),158(60,140),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedToWait_approveWrite)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveWrite")
    XBETWEEN_SYMBOLS(11, 3812)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),179(45,160),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    yAssF_SDL_Integer(yVarP->z016_numberToWrite, ANY_z010_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z016_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z016_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(12, 3831)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),179(45,160),2,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    yAssF_SDL_Duration(yVarP->z014_someTime, SDL_DURATION_LIT(950.0, 950, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z014_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z014_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(13, 3850)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),179(45,160),3,1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z014_someTime), yVarP->
      z014_someTime, walkingTime, ySigN_z013_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(14, 3862)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),176(65,185),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z011_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),134(65,70),1,1)
******/
static XCONST xInputAction yStaH_z011_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z011_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z011_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z011_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "SiDLing" XCOMMON_EXTRAS,
  z011_SiDLing, yStaH_z011_SiDLing, yStaI_z011_SiDLing, 0, 0, 0
  xCoverage(yStaC_z011_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),134(65,70),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),167(60,125),1,1)
******/
static XCONST xInputAction yStaH_z012_ForcedToWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z012_ForcedToWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z012_ForcedToWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z012_ForcedToWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "ForcedToWait" XCOMMON_EXTRAS,
  z012_ForcedToWait, yStaH_z012_ForcedToWait, yStaI_z012_ForcedToWait, 0, 0, 0
  xCoverage(yStaC_z012_ForcedToWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),167(60,125),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z013_walkingTime = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "walkingTime" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Producer.spr(1),128(135,15),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime,
  yVDef_z01_Producer) XSIG_EXTRAS};

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z014_someTime = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "someTime" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z01_Producer, z014_someTime), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z015_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z01_Producer, z015_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z016_numberToWrite = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "numberToWrite"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z01_Producer, z016_numberToWrite), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producer.spr(1),128(135,15),7,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z017_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z01_Producer, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z01_Producer, z017_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SYNTYPE iLikeToWrite  (BODY section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),8,9)
******/

/* *** iLikeToWrite *** */
#ifndef XTNOUSE_iLikeToWrite_Producer2
tSDLGenInfo ySDL_z020_iLikeToWrite = {type_SDL_Syntype, 0,
  (xptrint)sizeof(z020_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z02_Producer2)
  xRaWF(&ySrtR_z020_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z020_iLikeToWrite = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z02_Producer2, "iLikeToWrite" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z020_iLikeToWrite),
  (xptrint)sizeof(z020_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer,
  &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z020_iLikeToWrite) XSRT_EXTRAS};
#endif

/*-------------------TEST-------------------*/
#ifdef XTESTF
xbool yTest_z020_iLikeToWrite(void * yExpr)
{
  {
    if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z020_iLikeToWrite *)yExpr))
      if (xLE_SDL_Integer(*(z020_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100)))
        return (xbool)1;
  }
  return (xbool)0;
}
#endif

/*-------------------TSTA-------------------*/
#ifdef XERANGE
z020_iLikeToWrite yTstA_z020_iLikeToWrite(z020_iLikeToWrite yExpr)
{
  if (! yTest_z020_iLikeToWrite((void *)&yExpr) )
    xErrorSubrange((tSDLTypeInfo *)&ySDL_z020_iLikeToWrite, (void *)&yExpr);
  return yExpr;
}
#endif

/*****
* PROCESS Producer2
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z02_Producer2[ySym_z02_Producer2+1];
#endif
XCONST XSIGTYPE yPrsS_z02_Producer2[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z023_walkingTime),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z02_Producer2[] = {&xStartStateIdRec,
  &yStaR_z021_SiDLing, &yStaR_z022_ForcedToWait};
static XPRSNODE yPrsA_z02_Producer2 = (XPRSNODE)0;
static XPRSNODE yPrsB_z02_Producer2 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z02_Producer2 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer2" XCOMMON_EXTRAS,
  yPrsT_z02_Producer2, yPrsS_z02_Producer2 xService(0) xOptChan(
  yPrsO_z02_Producer2), -1 xNrInst(1) xNrInst(1), &yPrsB_z02_Producer2,
  (xptrint)sizeof(yVDef_z02_Producer2) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z02_Producer2 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z02_Producer2)
  xBreakB(ySym_z02_Producer2) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z02_Producer2) xCoverage(0) xCoverage(0), yPAD_z02_Producer2,
  yFree_z02_Producer2, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z02_Producer2)};
static xSignalNode ySigA_z02_Producer2 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z02_Producer2 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z02_Producer2), &ySigA_z02_Producer2, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Producer2,"Producer2",z02_Producer2,yPAD_z02_Producer2,
  yVDef_z02_Producer2)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z02_Producer2[] = {(xIdNode)&yChaR_z0C_ProducerLine2,
  (xIdNode)0};
#endif
void yFree_z02_Producer2(void *yVarP)
{
}

/*+++++
* GR ref function for process Producer2
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z02_Producer2 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),170(55,20),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),134(50,90),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),125(50,140),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),140(35,40),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),140(35,40),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),140(35,40),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),140(35,40),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),140(35,40),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),137(55,70),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),131(25,110),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),128(50,125),1,1)";
    case 11: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),122(35,160),1,1)";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),122(35,160),2,1)";
    case 13: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),122(35,160),3,1)";
    case 14: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),176(55,180),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Producer2
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z02_Producer2)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z02_Producer2)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Producer2")

  BEGIN_PAD(yVDef_z02_Producer2)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),170(55,20),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z02_Producer2)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z027_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(3, 4127)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),140(35,40),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_Integer(yVarP->z025_myID, SDL_INTEGER_LIT(2), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z025_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z025_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(4, 4145)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),140(35,40),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z026_numberToWrite, ANY_z020_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z026_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z026_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 4164)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),140(35,40),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Duration(yVarP->z024_someTime, SDL_DURATION_LIT(1001.0, 1001, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z024_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z024_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(6, 4183)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),140(35,40),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_PId(yVarP->z027_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z027_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z027_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(7, 4201)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),140(35,40),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z024_someTime), yVarP->
      z024_someTime, walkingTime, ySigN_z023_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(8, 4213)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),137(55,70),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z021_SiDLing, "SiDLing")

/*-----
* INPUT walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),134(50,90),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_walkingTime)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("walkingTime")
    INPUT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(9, 4234)

/*-----
* OUTPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),131(25,110),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z6_requestWrite)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z025_myID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z026_numberToWrite, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP->
      z027_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite,
      ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z6_requestWrite), "requestWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 4256)

/*-----
* NEXTSTATE ForcedToWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),128(50,125),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedToWait, z022_ForcedToWait, "ForcedToWait")

/*-----
* INPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),125(50,140),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedToWait_approveWrite)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveWrite")
    XBETWEEN_SYMBOLS(11, 4276)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),122(35,160),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    yAssF_SDL_Integer(yVarP->z026_numberToWrite, ANY_z020_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z026_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z026_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(12, 4295)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),122(35,160),2,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    yAssF_SDL_Duration(yVarP->z024_someTime, SDL_DURATION_LIT(866.0, 866, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z024_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z024_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(13, 4314)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),122(35,160),3,1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z024_someTime), yVarP->
      z024_someTime, walkingTime, ySigN_z023_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(14, 4326)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),176(55,180),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z021_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),137(55,70),1,1)
******/
static XCONST xInputAction yStaH_z021_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z021_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z021_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z021_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z02_Producer2, "SiDLing" XCOMMON_EXTRAS,
  z021_SiDLing, yStaH_z021_SiDLing, yStaI_z021_SiDLing, 0, 0, 0
  xCoverage(yStaC_z021_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),137(55,70),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),128(50,125),1,1)
******/
static XCONST xInputAction yStaH_z022_ForcedToWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z022_ForcedToWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z022_ForcedToWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z022_ForcedToWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z02_Producer2, "ForcedToWait" XCOMMON_EXTRAS,
  z022_ForcedToWait, yStaH_z022_ForcedToWait, yStaI_z022_ForcedToWait, 0, 0, 0
  xCoverage(yStaC_z022_ForcedToWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),128(50,125),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z023_walkingTime = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z02_Producer2, "walkingTime" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf2.spr(1),116(125,15),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime,
  yVDef_z02_Producer2) XSIG_EXTRAS};

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z024_someTime = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z02_Producer2, "someTime" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z02_Producer2, z024_someTime), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z025_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z02_Producer2, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z02_Producer2, z025_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z026_numberToWrite = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z02_Producer2, "numberToWrite"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z02_Producer2, z026_numberToWrite), (xptrint)0, 0
  XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf2.spr(1),116(125,15),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z027_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z02_Producer2, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z02_Producer2, z027_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SYNTYPE iLikeToWrite  (BODY section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),9,9)
******/

/* *** iLikeToWrite *** */
#ifndef XTNOUSE_iLikeToWrite_Producer3
tSDLGenInfo ySDL_z030_iLikeToWrite = {type_SDL_Syntype, 0,
  (xptrint)sizeof(z030_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z03_Producer3)
  xRaWF(&ySrtR_z030_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z030_iLikeToWrite = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z03_Producer3, "iLikeToWrite" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z030_iLikeToWrite),
  (xptrint)sizeof(z030_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer,
  &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z030_iLikeToWrite) XSRT_EXTRAS};
#endif

/*-------------------TEST-------------------*/
#ifdef XTESTF
xbool yTest_z030_iLikeToWrite(void * yExpr)
{
  {
    if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z030_iLikeToWrite *)yExpr))
      if (xLE_SDL_Integer(*(z030_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100)))
        return (xbool)1;
  }
  return (xbool)0;
}
#endif

/*-------------------TSTA-------------------*/
#ifdef XERANGE
z030_iLikeToWrite yTstA_z030_iLikeToWrite(z030_iLikeToWrite yExpr)
{
  if (! yTest_z030_iLikeToWrite((void *)&yExpr) )
    xErrorSubrange((tSDLTypeInfo *)&ySDL_z030_iLikeToWrite, (void *)&yExpr);
  return yExpr;
}
#endif

/*****
* PROCESS Producer3
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z03_Producer3[ySym_z03_Producer3+1];
#endif
XCONST XSIGTYPE yPrsS_z03_Producer3[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z033_walkingTime),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z03_Producer3[] = {&xStartStateIdRec,
  &yStaR_z031_SiDLing, &yStaR_z032_ForcedToWait};
static XPRSNODE yPrsA_z03_Producer3 = (XPRSNODE)0;
static XPRSNODE yPrsB_z03_Producer3 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z03_Producer3 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer3" XCOMMON_EXTRAS,
  yPrsT_z03_Producer3, yPrsS_z03_Producer3 xService(0) xOptChan(
  yPrsO_z03_Producer3), -1 xNrInst(1) xNrInst(1), &yPrsB_z03_Producer3,
  (xptrint)sizeof(yVDef_z03_Producer3) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z03_Producer3 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z03_Producer3)
  xBreakB(ySym_z03_Producer3) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z03_Producer3) xCoverage(0) xCoverage(0), yPAD_z03_Producer3,
  yFree_z03_Producer3, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z03_Producer3)};
static xSignalNode ySigA_z03_Producer3 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z03_Producer3 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z03_Producer3), &ySigA_z03_Producer3, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Producer3,"Producer3",z03_Producer3,yPAD_z03_Producer3,
  yVDef_z03_Producer3)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z03_Producer3[] = {(xIdNode)&yChaR_z0D_ProducerLine3,
  (xIdNode)0};
#endif
void yFree_z03_Producer3(void *yVarP)
{
}

/*+++++
* GR ref function for process Producer3
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z03_Producer3 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),143(60,10),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),134(55,85),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),125(55,135),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),140(30,30),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),140(30,30),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),140(30,30),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),140(30,30),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),140(30,30),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),137(60,65),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),131(30,105),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),128(55,120),1,1)";
    case 11: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),122(40,155),1,1)";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),122(40,155),2,1)";
    case 13: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),122(40,155),3,1)";
    case 14: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),119(60,180),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Producer3
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z03_Producer3)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z03_Producer3)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Producer3")

  BEGIN_PAD(yVDef_z03_Producer3)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),143(60,10),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z03_Producer3)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z037_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(3, 4592)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),140(30,30),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_Integer(yVarP->z035_myID, SDL_INTEGER_LIT(3), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z035_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z035_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(4, 4610)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),140(30,30),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z036_numberToWrite, ANY_z030_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z036_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z036_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 4629)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),140(30,30),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Duration(yVarP->z034_someTime, SDL_DURATION_LIT(1050.0, 1050, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z034_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z034_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(6, 4648)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),140(30,30),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_PId(yVarP->z037_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z037_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z037_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(7, 4666)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),140(30,30),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z034_someTime), yVarP->
      z034_someTime, walkingTime, ySigN_z033_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(8, 4678)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),137(60,65),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z031_SiDLing, "SiDLing")

/*-----
* INPUT walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),134(55,85),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_walkingTime)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("walkingTime")
    INPUT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(9, 4699)

/*-----
* OUTPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),131(30,105),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z6_requestWrite)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z035_myID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z036_numberToWrite, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP->
      z037_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite,
      ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z6_requestWrite), "requestWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 4721)

/*-----
* NEXTSTATE ForcedToWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),128(55,120),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedToWait, z032_ForcedToWait, "ForcedToWait")

/*-----
* INPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),125(55,135),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedToWait_approveWrite)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveWrite")
    XBETWEEN_SYMBOLS(11, 4741)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),122(40,155),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    yAssF_SDL_Integer(yVarP->z036_numberToWrite, ANY_z030_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z036_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z036_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(12, 4760)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),122(40,155),2,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    yAssF_SDL_Duration(yVarP->z034_someTime, SDL_DURATION_LIT(966.0, 966, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z034_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z034_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(13, 4779)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),122(40,155),3,1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z034_someTime), yVarP->
      z034_someTime, walkingTime, ySigN_z033_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(14, 4791)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),119(60,180),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z031_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),137(60,65),1,1)
******/
static XCONST xInputAction yStaH_z031_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z031_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z031_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z031_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z03_Producer3, "SiDLing" XCOMMON_EXTRAS,
  z031_SiDLing, yStaH_z031_SiDLing, yStaI_z031_SiDLing, 0, 0, 0
  xCoverage(yStaC_z031_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),137(60,65),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),128(55,120),1,1)
******/
static XCONST xInputAction yStaH_z032_ForcedToWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z032_ForcedToWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z032_ForcedToWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z032_ForcedToWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z03_Producer3, "ForcedToWait" XCOMMON_EXTRAS,
  z032_ForcedToWait, yStaH_z032_ForcedToWait, yStaI_z032_ForcedToWait, 0, 0, 0
  xCoverage(yStaC_z032_ForcedToWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),128(55,120),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z033_walkingTime = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z03_Producer3, "walkingTime" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf3.spr(1),116(130,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime,
  yVDef_z03_Producer3) XSIG_EXTRAS};

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z034_someTime = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z03_Producer3, "someTime" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z03_Producer3, z034_someTime), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z035_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z03_Producer3, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z03_Producer3, z035_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z036_numberToWrite = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z03_Producer3, "numberToWrite"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z03_Producer3, z036_numberToWrite), (xptrint)0, 0
  XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf3.spr(1),116(130,10),7,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z037_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z03_Producer3, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z03_Producer3, z037_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SYNTYPE iLikeToWrite  (BODY section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),9,9)
******/

/* *** iLikeToWrite *** */
#ifndef XTNOUSE_iLikeToWrite_Producer4
tSDLGenInfo ySDL_z040_iLikeToWrite = {type_SDL_Syntype, 0,
  (xptrint)sizeof(z040_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z04_Producer4)
  xRaWF(&ySrtR_z040_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z040_iLikeToWrite = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z04_Producer4, "iLikeToWrite" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z040_iLikeToWrite),
  (xptrint)sizeof(z040_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer,
  &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z040_iLikeToWrite) XSRT_EXTRAS};
#endif

/*-------------------TEST-------------------*/
#ifdef XTESTF
xbool yTest_z040_iLikeToWrite(void * yExpr)
{
  {
    if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z040_iLikeToWrite *)yExpr))
      if (xLE_SDL_Integer(*(z040_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100)))
        return (xbool)1;
  }
  return (xbool)0;
}
#endif

/*-------------------TSTA-------------------*/
#ifdef XERANGE
z040_iLikeToWrite yTstA_z040_iLikeToWrite(z040_iLikeToWrite yExpr)
{
  if (! yTest_z040_iLikeToWrite((void *)&yExpr) )
    xErrorSubrange((tSDLTypeInfo *)&ySDL_z040_iLikeToWrite, (void *)&yExpr);
  return yExpr;
}
#endif

/*****
* PROCESS Producer4
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z04_Producer4[ySym_z04_Producer4+1];
#endif
XCONST XSIGTYPE yPrsS_z04_Producer4[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z043_walkingTime),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z04_Producer4[] = {&xStartStateIdRec,
  &yStaR_z041_SiDLing, &yStaR_z042_ForcedToWait};
static XPRSNODE yPrsA_z04_Producer4 = (XPRSNODE)0;
static XPRSNODE yPrsB_z04_Producer4 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z04_Producer4 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer4" XCOMMON_EXTRAS,
  yPrsT_z04_Producer4, yPrsS_z04_Producer4 xService(0) xOptChan(
  yPrsO_z04_Producer4), -1 xNrInst(1) xNrInst(1), &yPrsB_z04_Producer4,
  (xptrint)sizeof(yVDef_z04_Producer4) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z04_Producer4 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z04_Producer4)
  xBreakB(ySym_z04_Producer4) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z04_Producer4) xCoverage(0) xCoverage(0), yPAD_z04_Producer4,
  yFree_z04_Producer4, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z04_Producer4)};
static xSignalNode ySigA_z04_Producer4 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z04_Producer4 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z04_Producer4), &ySigA_z04_Producer4, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Producer4,"Producer4",z04_Producer4,yPAD_z04_Producer4,
  yVDef_z04_Producer4)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z04_Producer4[] = {(xIdNode)&yChaR_z0E_ProducerLine4,
  (xIdNode)0};
#endif
void yFree_z04_Producer4(void *yVarP)
{
}

/*+++++
* GR ref function for process Producer4
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z04_Producer4 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),143(65,10),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),134(60,85),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),125(60,135),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),140(35,30),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),140(35,30),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),140(35,30),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),140(35,30),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),140(35,30),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),137(65,65),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),131(35,105),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),128(60,120),1,1)";
    case 11: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),122(45,155),1,1)";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),122(45,155),2,1)";
    case 13: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),122(45,155),3,1)";
    case 14: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),119(65,180),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Producer4
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z04_Producer4)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z04_Producer4)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Producer4")

  BEGIN_PAD(yVDef_z04_Producer4)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),143(65,10),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z04_Producer4)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z047_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(3, 5057)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),140(35,30),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_Integer(yVarP->z045_myID, SDL_INTEGER_LIT(4), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z045_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z045_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(4, 5075)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),140(35,30),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z046_numberToWrite, ANY_z040_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z046_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z046_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 5094)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),140(35,30),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Duration(yVarP->z044_someTime, SDL_DURATION_LIT(1055.0, 1055, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z044_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z044_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(6, 5113)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),140(35,30),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_PId(yVarP->z047_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z047_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z047_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(7, 5131)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),140(35,30),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z044_someTime), yVarP->
      z044_someTime, walkingTime, ySigN_z043_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(8, 5143)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),137(65,65),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z041_SiDLing, "SiDLing")

/*-----
* INPUT walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),134(60,85),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_walkingTime)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("walkingTime")
    INPUT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(9, 5164)

/*-----
* OUTPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),131(35,105),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z6_requestWrite)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z045_myID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z046_numberToWrite, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP->
      z047_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite,
      ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z6_requestWrite), "requestWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 5186)

/*-----
* NEXTSTATE ForcedToWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),128(60,120),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedToWait, z042_ForcedToWait, "ForcedToWait")

/*-----
* INPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),125(60,135),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedToWait_approveWrite)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveWrite")
    XBETWEEN_SYMBOLS(11, 5206)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),122(45,155),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    yAssF_SDL_Integer(yVarP->z046_numberToWrite, ANY_z040_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z046_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z046_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(12, 5225)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),122(45,155),2,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    yAssF_SDL_Duration(yVarP->z044_someTime, SDL_DURATION_LIT(812.0, 812, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z044_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z044_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(13, 5244)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),122(45,155),3,1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z044_someTime), yVarP->
      z044_someTime, walkingTime, ySigN_z043_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(14, 5256)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),119(65,180),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z041_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),137(65,65),1,1)
******/
static XCONST xInputAction yStaH_z041_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z041_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z041_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z041_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z04_Producer4, "SiDLing" XCOMMON_EXTRAS,
  z041_SiDLing, yStaH_z041_SiDLing, yStaI_z041_SiDLing, 0, 0, 0
  xCoverage(yStaC_z041_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),137(65,65),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),128(60,120),1,1)
******/
static XCONST xInputAction yStaH_z042_ForcedToWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z042_ForcedToWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z042_ForcedToWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z042_ForcedToWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z04_Producer4, "ForcedToWait" XCOMMON_EXTRAS,
  z042_ForcedToWait, yStaH_z042_ForcedToWait, yStaI_z042_ForcedToWait, 0, 0, 0
  xCoverage(yStaC_z042_ForcedToWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),128(60,120),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z043_walkingTime = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z04_Producer4, "walkingTime" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf4.spr(1),116(135,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime,
  yVDef_z04_Producer4) XSIG_EXTRAS};

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z044_someTime = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z04_Producer4, "someTime" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z04_Producer4, z044_someTime), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z045_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z04_Producer4, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z04_Producer4, z045_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z046_numberToWrite = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z04_Producer4, "numberToWrite"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z04_Producer4, z046_numberToWrite), (xptrint)0, 0
  XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf4.spr(1),116(135,10),7,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z047_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z04_Producer4, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z04_Producer4, z047_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SYNTYPE iLikeToWrite  (BODY section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),9,9)
******/

/* *** iLikeToWrite *** */
#ifndef XTNOUSE_iLikeToWrite_Producer5
tSDLGenInfo ySDL_z050_iLikeToWrite = {type_SDL_Syntype, 0,
  (xptrint)sizeof(z050_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z05_Producer5)
  xRaWF(&ySrtR_z050_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z050_iLikeToWrite = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z05_Producer5, "iLikeToWrite" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z050_iLikeToWrite),
  (xptrint)sizeof(z050_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer,
  &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z050_iLikeToWrite) XSRT_EXTRAS};
#endif

/*-------------------TEST-------------------*/
#ifdef XTESTF
xbool yTest_z050_iLikeToWrite(void * yExpr)
{
  {
    if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z050_iLikeToWrite *)yExpr))
      if (xLE_SDL_Integer(*(z050_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100)))
        return (xbool)1;
  }
  return (xbool)0;
}
#endif

/*-------------------TSTA-------------------*/
#ifdef XERANGE
z050_iLikeToWrite yTstA_z050_iLikeToWrite(z050_iLikeToWrite yExpr)
{
  if (! yTest_z050_iLikeToWrite((void *)&yExpr) )
    xErrorSubrange((tSDLTypeInfo *)&ySDL_z050_iLikeToWrite, (void *)&yExpr);
  return yExpr;
}
#endif

/*****
* PROCESS Producer5
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z05_Producer5[ySym_z05_Producer5+1];
#endif
XCONST XSIGTYPE yPrsS_z05_Producer5[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z053_walkingTime),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z05_Producer5[] = {&xStartStateIdRec,
  &yStaR_z051_SiDLing, &yStaR_z052_ForcedToWait};
static XPRSNODE yPrsA_z05_Producer5 = (XPRSNODE)0;
static XPRSNODE yPrsB_z05_Producer5 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z05_Producer5 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer5" XCOMMON_EXTRAS,
  yPrsT_z05_Producer5, yPrsS_z05_Producer5 xService(0) xOptChan(
  yPrsO_z05_Producer5), -1 xNrInst(1) xNrInst(1), &yPrsB_z05_Producer5,
  (xptrint)sizeof(yVDef_z05_Producer5) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z05_Producer5 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z05_Producer5)
  xBreakB(ySym_z05_Producer5) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z05_Producer5) xCoverage(0) xCoverage(0), yPAD_z05_Producer5,
  yFree_z05_Producer5, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z05_Producer5)};
static xSignalNode ySigA_z05_Producer5 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z05_Producer5 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z05_Producer5), &ySigA_z05_Producer5, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Producer5,"Producer5",z05_Producer5,yPAD_z05_Producer5,
  yVDef_z05_Producer5)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z05_Producer5[] = {(xIdNode)&yChaR_z0F_ProducerLine5,
  (xIdNode)0};
#endif
void yFree_z05_Producer5(void *yVarP)
{
}

/*+++++
* GR ref function for process Producer5
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z05_Producer5 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),143(60,10),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),134(55,85),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),125(55,135),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),140(30,30),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),140(30,30),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),140(30,30),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),140(30,30),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),140(30,30),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),137(60,65),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),131(30,105),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),128(55,120),1,1)";
    case 11: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),122(40,155),1,1)";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),122(40,155),2,1)";
    case 13: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),122(40,155),3,1)";
    case 14: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),119(60,180),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Producer5
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z05_Producer5)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z05_Producer5)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Producer5")

  BEGIN_PAD(yVDef_z05_Producer5)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),143(60,10),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z05_Producer5)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z057_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(3, 5522)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),140(30,30),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_Integer(yVarP->z055_myID, SDL_INTEGER_LIT(5), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z055_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z055_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(4, 5540)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),140(30,30),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z056_numberToWrite, ANY_z050_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z056_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z056_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 5559)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),140(30,30),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Duration(yVarP->z054_someTime, SDL_DURATION_LIT(1069.0, 1069, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z054_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z054_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(6, 5578)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),140(30,30),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_PId(yVarP->z057_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z057_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z057_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(7, 5596)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),140(30,30),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z054_someTime), yVarP->
      z054_someTime, walkingTime, ySigN_z053_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(8, 5608)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),137(60,65),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z051_SiDLing, "SiDLing")

/*-----
* INPUT walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),134(55,85),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_walkingTime)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("walkingTime")
    INPUT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(9, 5629)

/*-----
* OUTPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),131(30,105),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z6_requestWrite)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z055_myID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z056_numberToWrite, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP->
      z057_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite,
      ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z6_requestWrite), "requestWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 5651)

/*-----
* NEXTSTATE ForcedToWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),128(55,120),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedToWait, z052_ForcedToWait, "ForcedToWait")

/*-----
* INPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),125(55,135),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedToWait_approveWrite)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveWrite")
    XBETWEEN_SYMBOLS(11, 5671)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),122(40,155),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    yAssF_SDL_Integer(yVarP->z056_numberToWrite, ANY_z050_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z056_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z056_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(12, 5690)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),122(40,155),2,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    yAssF_SDL_Duration(yVarP->z054_someTime, SDL_DURATION_LIT(987.0, 987, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z054_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z054_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(13, 5709)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),122(40,155),3,1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z054_someTime), yVarP->
      z054_someTime, walkingTime, ySigN_z053_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(14, 5721)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),119(60,180),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z051_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),137(60,65),1,1)
******/
static XCONST xInputAction yStaH_z051_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z051_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z051_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z051_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z05_Producer5, "SiDLing" XCOMMON_EXTRAS,
  z051_SiDLing, yStaH_z051_SiDLing, yStaI_z051_SiDLing, 0, 0, 0
  xCoverage(yStaC_z051_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),137(60,65),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),128(55,120),1,1)
******/
static XCONST xInputAction yStaH_z052_ForcedToWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z052_ForcedToWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z052_ForcedToWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z052_ForcedToWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z05_Producer5, "ForcedToWait" XCOMMON_EXTRAS,
  z052_ForcedToWait, yStaH_z052_ForcedToWait, yStaI_z052_ForcedToWait, 0, 0, 0
  xCoverage(yStaC_z052_ForcedToWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),128(55,120),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z053_walkingTime = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z05_Producer5, "walkingTime" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf5.spr(1),116(130,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime,
  yVDef_z05_Producer5) XSIG_EXTRAS};

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z054_someTime = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z05_Producer5, "someTime" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z05_Producer5, z054_someTime), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z055_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z05_Producer5, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z05_Producer5, z055_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z056_numberToWrite = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z05_Producer5, "numberToWrite"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z05_Producer5, z056_numberToWrite), (xptrint)0, 0
  XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf5.spr(1),116(130,10),7,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z057_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z05_Producer5, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z05_Producer5, z057_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SYNTYPE iLikeToWrite  (BODY section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),9,9)
******/

/* *** iLikeToWrite *** */
#ifndef XTNOUSE_iLikeToWrite_Producer6
tSDLGenInfo ySDL_z060_iLikeToWrite = {type_SDL_Syntype, 0,
  (xptrint)sizeof(z060_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z06_Producer6)
  xRaWF(&ySrtR_z060_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z060_iLikeToWrite = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z06_Producer6, "iLikeToWrite" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z060_iLikeToWrite),
  (xptrint)sizeof(z060_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer,
  &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z060_iLikeToWrite) XSRT_EXTRAS};
#endif

/*-------------------TEST-------------------*/
#ifdef XTESTF
xbool yTest_z060_iLikeToWrite(void * yExpr)
{
  {
    if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z060_iLikeToWrite *)yExpr))
      if (xLE_SDL_Integer(*(z060_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100)))
        return (xbool)1;
  }
  return (xbool)0;
}
#endif

/*-------------------TSTA-------------------*/
#ifdef XERANGE
z060_iLikeToWrite yTstA_z060_iLikeToWrite(z060_iLikeToWrite yExpr)
{
  if (! yTest_z060_iLikeToWrite((void *)&yExpr) )
    xErrorSubrange((tSDLTypeInfo *)&ySDL_z060_iLikeToWrite, (void *)&yExpr);
  return yExpr;
}
#endif

/*****
* PROCESS Producer6
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z06_Producer6[ySym_z06_Producer6+1];
#endif
XCONST XSIGTYPE yPrsS_z06_Producer6[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z063_walkingTime),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z06_Producer6[] = {&xStartStateIdRec,
  &yStaR_z061_SiDLing, &yStaR_z062_ForcedToWait};
static XPRSNODE yPrsA_z06_Producer6 = (XPRSNODE)0;
static XPRSNODE yPrsB_z06_Producer6 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z06_Producer6 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer6" XCOMMON_EXTRAS,
  yPrsT_z06_Producer6, yPrsS_z06_Producer6 xService(0) xOptChan(
  yPrsO_z06_Producer6), -1 xNrInst(1) xNrInst(1), &yPrsB_z06_Producer6,
  (xptrint)sizeof(yVDef_z06_Producer6) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z06_Producer6 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z06_Producer6)
  xBreakB(ySym_z06_Producer6) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z06_Producer6) xCoverage(0) xCoverage(0), yPAD_z06_Producer6,
  yFree_z06_Producer6, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z06_Producer6)};
static xSignalNode ySigA_z06_Producer6 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z06_Producer6 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z06_Producer6), &ySigA_z06_Producer6, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Producer6,"Producer6",z06_Producer6,yPAD_z06_Producer6,
  yVDef_z06_Producer6)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z06_Producer6[] = {(xIdNode)&yChaR_z0G_ProducerLine6,
  (xIdNode)0};
#endif
void yFree_z06_Producer6(void *yVarP)
{
}

/*+++++
* GR ref function for process Producer6
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z06_Producer6 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),143(65,10),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),134(60,85),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),125(60,135),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),140(35,30),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),140(35,30),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),140(35,30),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),140(35,30),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),140(35,30),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),137(65,65),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),131(35,105),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),128(60,120),1,1)";
    case 11: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),122(45,155),1,1)";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),122(45,155),2,1)";
    case 13: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),122(45,155),3,1)";
    case 14: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),119(65,180),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Producer6
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z06_Producer6)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z06_Producer6)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Producer6")

  BEGIN_PAD(yVDef_z06_Producer6)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),143(65,10),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z06_Producer6)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z067_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(3, 5987)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),140(35,30),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_Integer(yVarP->z065_myID, SDL_INTEGER_LIT(6), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z065_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z065_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(4, 6005)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),140(35,30),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z066_numberToWrite, ANY_z060_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z066_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z066_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 6024)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),140(35,30),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Duration(yVarP->z064_someTime, SDL_DURATION_LIT(1077.0, 1077, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z064_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z064_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(6, 6043)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),140(35,30),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_PId(yVarP->z067_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z067_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z067_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(7, 6061)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),140(35,30),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z064_someTime), yVarP->
      z064_someTime, walkingTime, ySigN_z063_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(8, 6073)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),137(65,65),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z061_SiDLing, "SiDLing")

/*-----
* INPUT walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),134(60,85),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_walkingTime)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("walkingTime")
    INPUT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(9, 6094)

/*-----
* OUTPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),131(35,105),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z6_requestWrite)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z065_myID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z066_numberToWrite, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP->
      z067_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite,
      ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z6_requestWrite), "requestWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 6116)

/*-----
* NEXTSTATE ForcedToWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),128(60,120),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedToWait, z062_ForcedToWait, "ForcedToWait")

/*-----
* INPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),125(60,135),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedToWait_approveWrite)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveWrite")
    XBETWEEN_SYMBOLS(11, 6136)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),122(45,155),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    yAssF_SDL_Integer(yVarP->z066_numberToWrite, ANY_z060_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z066_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z066_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(12, 6155)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),122(45,155),2,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    yAssF_SDL_Duration(yVarP->z064_someTime, SDL_DURATION_LIT(1001.0, 1001, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z064_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z064_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(13, 6174)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),122(45,155),3,1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z064_someTime), yVarP->
      z064_someTime, walkingTime, ySigN_z063_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(14, 6186)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),119(65,180),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z061_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),137(65,65),1,1)
******/
static XCONST xInputAction yStaH_z061_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z061_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z061_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z061_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z06_Producer6, "SiDLing" XCOMMON_EXTRAS,
  z061_SiDLing, yStaH_z061_SiDLing, yStaI_z061_SiDLing, 0, 0, 0
  xCoverage(yStaC_z061_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),137(65,65),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),128(60,120),1,1)
******/
static XCONST xInputAction yStaH_z062_ForcedToWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z062_ForcedToWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z062_ForcedToWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z062_ForcedToWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z06_Producer6, "ForcedToWait" XCOMMON_EXTRAS,
  z062_ForcedToWait, yStaH_z062_ForcedToWait, yStaI_z062_ForcedToWait, 0, 0, 0
  xCoverage(yStaC_z062_ForcedToWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),128(60,120),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z063_walkingTime = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z06_Producer6, "walkingTime" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf6.spr(1),116(135,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime,
  yVDef_z06_Producer6) XSIG_EXTRAS};

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z064_someTime = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z06_Producer6, "someTime" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z06_Producer6, z064_someTime), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z065_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z06_Producer6, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z06_Producer6, z065_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z066_numberToWrite = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_Producer6, "numberToWrite"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z06_Producer6, z066_numberToWrite), (xptrint)0, 0
  XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf6.spr(1),116(135,10),7,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z067_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z06_Producer6, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z06_Producer6, z067_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SYNTYPE iLikeToWrite  (BODY section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),9,9)
******/

/* *** iLikeToWrite *** */
#ifndef XTNOUSE_iLikeToWrite_Producer7
tSDLGenInfo ySDL_z070_iLikeToWrite = {type_SDL_Syntype, 0,
  (xptrint)sizeof(z070_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z07_Producer7)
  xRaWF(&ySrtR_z070_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z070_iLikeToWrite = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z07_Producer7, "iLikeToWrite" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z070_iLikeToWrite),
  (xptrint)sizeof(z070_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer,
  &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z070_iLikeToWrite) XSRT_EXTRAS};
#endif

/*-------------------TEST-------------------*/
#ifdef XTESTF
xbool yTest_z070_iLikeToWrite(void * yExpr)
{
  {
    if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z070_iLikeToWrite *)yExpr))
      if (xLE_SDL_Integer(*(z070_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100)))
        return (xbool)1;
  }
  return (xbool)0;
}
#endif

/*-------------------TSTA-------------------*/
#ifdef XERANGE
z070_iLikeToWrite yTstA_z070_iLikeToWrite(z070_iLikeToWrite yExpr)
{
  if (! yTest_z070_iLikeToWrite((void *)&yExpr) )
    xErrorSubrange((tSDLTypeInfo *)&ySDL_z070_iLikeToWrite, (void *)&yExpr);
  return yExpr;
}
#endif

/*****
* PROCESS Producer7
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z07_Producer7[ySym_z07_Producer7+1];
#endif
XCONST XSIGTYPE yPrsS_z07_Producer7[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z073_walkingTime),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z07_Producer7[] = {&xStartStateIdRec,
  &yStaR_z071_SiDLing, &yStaR_z072_ForcedToWait};
static XPRSNODE yPrsA_z07_Producer7 = (XPRSNODE)0;
static XPRSNODE yPrsB_z07_Producer7 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z07_Producer7 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer7" XCOMMON_EXTRAS,
  yPrsT_z07_Producer7, yPrsS_z07_Producer7 xService(0) xOptChan(
  yPrsO_z07_Producer7), -1 xNrInst(1) xNrInst(1), &yPrsB_z07_Producer7,
  (xptrint)sizeof(yVDef_z07_Producer7) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z07_Producer7 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z07_Producer7)
  xBreakB(ySym_z07_Producer7) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z07_Producer7) xCoverage(0) xCoverage(0), yPAD_z07_Producer7,
  yFree_z07_Producer7, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z07_Producer7)};
static xSignalNode ySigA_z07_Producer7 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z07_Producer7 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z07_Producer7), &ySigA_z07_Producer7, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Producer7,"Producer7",z07_Producer7,yPAD_z07_Producer7,
  yVDef_z07_Producer7)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z07_Producer7[] = {(xIdNode)&yChaR_z0H_ProducerLine7,
  (xIdNode)0};
#endif
void yFree_z07_Producer7(void *yVarP)
{
}

/*+++++
* GR ref function for process Producer7
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z07_Producer7 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),143(65,10),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),134(60,85),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),125(60,135),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),140(35,30),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),140(35,30),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),140(35,30),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),140(35,30),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),140(35,30),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),137(65,65),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),131(35,105),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),128(60,120),1,1)";
    case 11: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),122(45,155),1,1)";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),122(45,155),2,1)";
    case 13: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),122(45,155),3,1)";
    case 14: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),119(65,180),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Producer7
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z07_Producer7)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z07_Producer7)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Producer7")

  BEGIN_PAD(yVDef_z07_Producer7)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),143(65,10),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z07_Producer7)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z077_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(3, 6452)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),140(35,30),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_Integer(yVarP->z075_myID, SDL_INTEGER_LIT(7), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z075_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z075_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(4, 6470)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),140(35,30),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z076_numberToWrite, ANY_z070_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z076_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z076_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 6489)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),140(35,30),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Duration(yVarP->z074_someTime, SDL_DURATION_LIT(1105.0, 1105, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z074_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z074_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(6, 6508)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),140(35,30),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_PId(yVarP->z077_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z077_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z077_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(7, 6526)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),140(35,30),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z074_someTime), yVarP->
      z074_someTime, walkingTime, ySigN_z073_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(8, 6538)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),137(65,65),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z071_SiDLing, "SiDLing")

/*-----
* INPUT walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),134(60,85),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_walkingTime)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("walkingTime")
    INPUT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(9, 6559)

/*-----
* OUTPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),131(35,105),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z6_requestWrite)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z075_myID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z076_numberToWrite, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP->
      z077_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite,
      ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z6_requestWrite), "requestWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 6581)

/*-----
* NEXTSTATE ForcedToWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),128(60,120),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedToWait, z072_ForcedToWait, "ForcedToWait")

/*-----
* INPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),125(60,135),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedToWait_approveWrite)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveWrite")
    XBETWEEN_SYMBOLS(11, 6601)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),122(45,155),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    yAssF_SDL_Integer(yVarP->z076_numberToWrite, ANY_z070_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z076_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z076_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(12, 6620)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),122(45,155),2,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    yAssF_SDL_Duration(yVarP->z074_someTime, SDL_DURATION_LIT(861.0, 861, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z074_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z074_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(13, 6639)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),122(45,155),3,1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z074_someTime), yVarP->
      z074_someTime, walkingTime, ySigN_z073_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(14, 6651)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),119(65,180),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z071_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),137(65,65),1,1)
******/
static XCONST xInputAction yStaH_z071_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z071_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z071_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z071_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z07_Producer7, "SiDLing" XCOMMON_EXTRAS,
  z071_SiDLing, yStaH_z071_SiDLing, yStaI_z071_SiDLing, 0, 0, 0
  xCoverage(yStaC_z071_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),137(65,65),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),128(60,120),1,1)
******/
static XCONST xInputAction yStaH_z072_ForcedToWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z072_ForcedToWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z072_ForcedToWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z072_ForcedToWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z07_Producer7, "ForcedToWait" XCOMMON_EXTRAS,
  z072_ForcedToWait, yStaH_z072_ForcedToWait, yStaI_z072_ForcedToWait, 0, 0, 0
  xCoverage(yStaC_z072_ForcedToWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),128(60,120),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z073_walkingTime = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z07_Producer7, "walkingTime" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf7.spr(1),116(135,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime,
  yVDef_z07_Producer7) XSIG_EXTRAS};

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z074_someTime = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z07_Producer7, "someTime" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z07_Producer7, z074_someTime), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z075_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z07_Producer7, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z07_Producer7, z075_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z076_numberToWrite = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z07_Producer7, "numberToWrite"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z07_Producer7, z076_numberToWrite), (xptrint)0, 0
  XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf7.spr(1),116(135,10),7,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z077_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z07_Producer7, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z07_Producer7, z077_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SYNTYPE iLikeToWrite  (BODY section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),9,9)
******/

/* *** iLikeToWrite *** */
#ifndef XTNOUSE_iLikeToWrite_Producer8
tSDLGenInfo ySDL_z080_iLikeToWrite = {type_SDL_Syntype, 0,
  (xptrint)sizeof(z080_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z08_Producer8)
  xRaWF(&ySrtR_z080_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z080_iLikeToWrite = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z08_Producer8, "iLikeToWrite" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z080_iLikeToWrite),
  (xptrint)sizeof(z080_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer,
  &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z080_iLikeToWrite) XSRT_EXTRAS};
#endif

/*-------------------TEST-------------------*/
#ifdef XTESTF
xbool yTest_z080_iLikeToWrite(void * yExpr)
{
  {
    if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z080_iLikeToWrite *)yExpr))
      if (xLE_SDL_Integer(*(z080_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100)))
        return (xbool)1;
  }
  return (xbool)0;
}
#endif

/*-------------------TSTA-------------------*/
#ifdef XERANGE
z080_iLikeToWrite yTstA_z080_iLikeToWrite(z080_iLikeToWrite yExpr)
{
  if (! yTest_z080_iLikeToWrite((void *)&yExpr) )
    xErrorSubrange((tSDLTypeInfo *)&ySDL_z080_iLikeToWrite, (void *)&yExpr);
  return yExpr;
}
#endif

/*****
* PROCESS Producer8
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z08_Producer8[ySym_z08_Producer8+1];
#endif
XCONST XSIGTYPE yPrsS_z08_Producer8[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z083_walkingTime),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z08_Producer8[] = {&xStartStateIdRec,
  &yStaR_z081_SiDLing, &yStaR_z082_ForcedToWait};
static XPRSNODE yPrsA_z08_Producer8 = (XPRSNODE)0;
static XPRSNODE yPrsB_z08_Producer8 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z08_Producer8 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer8" XCOMMON_EXTRAS,
  yPrsT_z08_Producer8, yPrsS_z08_Producer8 xService(0) xOptChan(
  yPrsO_z08_Producer8), -1 xNrInst(1) xNrInst(1), &yPrsB_z08_Producer8,
  (xptrint)sizeof(yVDef_z08_Producer8) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z08_Producer8 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z08_Producer8)
  xBreakB(ySym_z08_Producer8) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z08_Producer8) xCoverage(0) xCoverage(0), yPAD_z08_Producer8,
  yFree_z08_Producer8, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z08_Producer8)};
static xSignalNode ySigA_z08_Producer8 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z08_Producer8 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z08_Producer8), &ySigA_z08_Producer8, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Producer8,"Producer8",z08_Producer8,yPAD_z08_Producer8,
  yVDef_z08_Producer8)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z08_Producer8[] = {(xIdNode)&yChaR_z0I_ProducerLine8,
  (xIdNode)0};
#endif
void yFree_z08_Producer8(void *yVarP)
{
}

/*+++++
* GR ref function for process Producer8
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z08_Producer8 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),143(65,10),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),134(60,85),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),125(60,135),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),140(35,30),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),140(35,30),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),140(35,30),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),140(35,30),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),140(35,30),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),137(65,65),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),131(35,105),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),128(60,120),1,1)";
    case 11: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),122(45,155),1,1)";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),122(45,155),2,1)";
    case 13: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),122(45,155),3,1)";
    case 14: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),119(65,180),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Producer8
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z08_Producer8)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z08_Producer8)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Producer8")

  BEGIN_PAD(yVDef_z08_Producer8)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),143(65,10),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z08_Producer8)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z087_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(3, 6917)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),140(35,30),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_Integer(yVarP->z085_myID, SDL_INTEGER_LIT(8), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z085_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z085_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(4, 6935)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),140(35,30),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z086_numberToWrite, ANY_z080_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z086_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z086_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 6954)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),140(35,30),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Duration(yVarP->z084_someTime, SDL_DURATION_LIT(1121.0, 1121, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z084_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z084_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(6, 6973)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),140(35,30),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_PId(yVarP->z087_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z087_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z087_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(7, 6991)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),140(35,30),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z084_someTime), yVarP->
      z084_someTime, walkingTime, ySigN_z083_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(8, 7003)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),137(65,65),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z081_SiDLing, "SiDLing")

/*-----
* INPUT walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),134(60,85),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_walkingTime)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("walkingTime")
    INPUT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(9, 7024)

/*-----
* OUTPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),131(35,105),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z6_requestWrite)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z085_myID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z086_numberToWrite, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP->
      z087_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite,
      ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z6_requestWrite), "requestWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 7046)

/*-----
* NEXTSTATE ForcedToWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),128(60,120),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedToWait, z082_ForcedToWait, "ForcedToWait")

/*-----
* INPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),125(60,135),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedToWait_approveWrite)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveWrite")
    XBETWEEN_SYMBOLS(11, 7066)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),122(45,155),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    yAssF_SDL_Integer(yVarP->z086_numberToWrite, ANY_z080_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z086_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z086_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(12, 7085)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),122(45,155),2,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    yAssF_SDL_Duration(yVarP->z084_someTime, SDL_DURATION_LIT(998.0, 998, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z084_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z084_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(13, 7104)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),122(45,155),3,1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z084_someTime), yVarP->
      z084_someTime, walkingTime, ySigN_z083_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(14, 7116)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),119(65,180),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z081_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),137(65,65),1,1)
******/
static XCONST xInputAction yStaH_z081_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z081_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z081_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z081_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z08_Producer8, "SiDLing" XCOMMON_EXTRAS,
  z081_SiDLing, yStaH_z081_SiDLing, yStaI_z081_SiDLing, 0, 0, 0
  xCoverage(yStaC_z081_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),137(65,65),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),128(60,120),1,1)
******/
static XCONST xInputAction yStaH_z082_ForcedToWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z082_ForcedToWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z082_ForcedToWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z082_ForcedToWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z08_Producer8, "ForcedToWait" XCOMMON_EXTRAS,
  z082_ForcedToWait, yStaH_z082_ForcedToWait, yStaI_z082_ForcedToWait, 0, 0, 0
  xCoverage(yStaC_z082_ForcedToWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),128(60,120),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z083_walkingTime = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z08_Producer8, "walkingTime" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf8.spr(1),116(135,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime,
  yVDef_z08_Producer8) XSIG_EXTRAS};

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z084_someTime = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z08_Producer8, "someTime" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z08_Producer8, z084_someTime), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z085_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z08_Producer8, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z08_Producer8, z085_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z086_numberToWrite = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z08_Producer8, "numberToWrite"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z08_Producer8, z086_numberToWrite), (xptrint)0, 0
  XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf8.spr(1),116(135,10),7,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z087_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z08_Producer8, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z08_Producer8, z087_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SYNTYPE iLikeToWrite  (BODY section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),9,9)
******/

/* *** iLikeToWrite *** */
#ifndef XTNOUSE_iLikeToWrite_Producer9
tSDLGenInfo ySDL_z090_iLikeToWrite = {type_SDL_Syntype, 0,
  (xptrint)sizeof(z090_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z09_Producer9)
  xRaWF(&ySrtR_z090_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z090_iLikeToWrite = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z09_Producer9, "iLikeToWrite" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z090_iLikeToWrite),
  (xptrint)sizeof(z090_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer,
  &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z090_iLikeToWrite) XSRT_EXTRAS};
#endif

/*-------------------TEST-------------------*/
#ifdef XTESTF
xbool yTest_z090_iLikeToWrite(void * yExpr)
{
  {
    if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z090_iLikeToWrite *)yExpr))
      if (xLE_SDL_Integer(*(z090_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100)))
        return (xbool)1;
  }
  return (xbool)0;
}
#endif

/*-------------------TSTA-------------------*/
#ifdef XERANGE
z090_iLikeToWrite yTstA_z090_iLikeToWrite(z090_iLikeToWrite yExpr)
{
  if (! yTest_z090_iLikeToWrite((void *)&yExpr) )
    xErrorSubrange((tSDLTypeInfo *)&ySDL_z090_iLikeToWrite, (void *)&yExpr);
  return yExpr;
}
#endif

/*****
* PROCESS Producer9
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z09_Producer9[ySym_z09_Producer9+1];
#endif
XCONST XSIGTYPE yPrsS_z09_Producer9[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z093_walkingTime),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z09_Producer9[] = {&xStartStateIdRec,
  &yStaR_z091_SiDLing, &yStaR_z092_ForcedToWait};
static XPRSNODE yPrsA_z09_Producer9 = (XPRSNODE)0;
static XPRSNODE yPrsB_z09_Producer9 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z09_Producer9 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer9" XCOMMON_EXTRAS,
  yPrsT_z09_Producer9, yPrsS_z09_Producer9 xService(0) xOptChan(
  yPrsO_z09_Producer9), -1 xNrInst(1) xNrInst(1), &yPrsB_z09_Producer9,
  (xptrint)sizeof(yVDef_z09_Producer9) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z09_Producer9 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z09_Producer9)
  xBreakB(ySym_z09_Producer9) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z09_Producer9) xCoverage(0) xCoverage(0), yPAD_z09_Producer9,
  yFree_z09_Producer9, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z09_Producer9)};
static xSignalNode ySigA_z09_Producer9 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z09_Producer9 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z09_Producer9), &ySigA_z09_Producer9, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Producer9,"Producer9",z09_Producer9,yPAD_z09_Producer9,
  yVDef_z09_Producer9)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z09_Producer9[] = {(xIdNode)&yChaR_z0J_ProducerLine9,
  (xIdNode)0};
#endif
void yFree_z09_Producer9(void *yVarP)
{
}

/*+++++
* GR ref function for process Producer9
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z09_Producer9 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),143(65,10),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),134(60,85),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),125(60,135),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),140(35,30),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),140(35,30),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),140(35,30),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),140(35,30),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),140(35,30),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),137(65,65),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),131(35,105),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),128(60,120),1,1)";
    case 11: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),122(45,155),1,1)";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),122(45,155),2,1)";
    case 13: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),122(45,155),3,1)";
    case 14: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),119(65,180),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Producer9
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z09_Producer9)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z09_Producer9)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Producer9")

  BEGIN_PAD(yVDef_z09_Producer9)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),143(65,10),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z09_Producer9)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z097_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(3, 7382)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),140(35,30),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_Integer(yVarP->z095_myID, SDL_INTEGER_LIT(9), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z095_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z095_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(4, 7400)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),140(35,30),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z096_numberToWrite, ANY_z090_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z096_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z096_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 7419)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),140(35,30),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Duration(yVarP->z094_someTime, SDL_DURATION_LIT(1133.0, 1133, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z094_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z094_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(6, 7438)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),140(35,30),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_PId(yVarP->z097_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z097_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z097_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(7, 7456)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),140(35,30),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z094_someTime), yVarP->
      z094_someTime, walkingTime, ySigN_z093_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(8, 7468)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),137(65,65),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z091_SiDLing, "SiDLing")

/*-----
* INPUT walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),134(60,85),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_walkingTime)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("walkingTime")
    INPUT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(9, 7489)

/*-----
* OUTPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),131(35,105),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z6_requestWrite)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z095_myID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z096_numberToWrite, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP->
      z097_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite,
      ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z6_requestWrite), "requestWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 7511)

/*-----
* NEXTSTATE ForcedToWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),128(60,120),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedToWait, z092_ForcedToWait, "ForcedToWait")

/*-----
* INPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),125(60,135),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedToWait_approveWrite)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveWrite")
    XBETWEEN_SYMBOLS(11, 7531)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),122(45,155),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    yAssF_SDL_Integer(yVarP->z096_numberToWrite, ANY_z090_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z096_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z096_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(12, 7550)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),122(45,155),2,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    yAssF_SDL_Duration(yVarP->z094_someTime, SDL_DURATION_LIT(777.0, 777, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z094_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z094_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(13, 7569)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),122(45,155),3,1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z094_someTime), yVarP->
      z094_someTime, walkingTime, ySigN_z093_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(14, 7581)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),119(65,180),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z091_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),137(65,65),1,1)
******/
static XCONST xInputAction yStaH_z091_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z091_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z091_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z091_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z09_Producer9, "SiDLing" XCOMMON_EXTRAS,
  z091_SiDLing, yStaH_z091_SiDLing, yStaI_z091_SiDLing, 0, 0, 0
  xCoverage(yStaC_z091_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),137(65,65),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),128(60,120),1,1)
******/
static XCONST xInputAction yStaH_z092_ForcedToWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z092_ForcedToWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z092_ForcedToWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z092_ForcedToWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z09_Producer9, "ForcedToWait" XCOMMON_EXTRAS,
  z092_ForcedToWait, yStaH_z092_ForcedToWait, yStaI_z092_ForcedToWait, 0, 0, 0
  xCoverage(yStaC_z092_ForcedToWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),128(60,120),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z093_walkingTime = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z09_Producer9, "walkingTime" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf9.spr(1),116(135,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime,
  yVDef_z09_Producer9) XSIG_EXTRAS};

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z094_someTime = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z09_Producer9, "someTime" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z09_Producer9, z094_someTime), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z095_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z09_Producer9, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z09_Producer9, z095_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z096_numberToWrite = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z09_Producer9, "numberToWrite"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z09_Producer9, z096_numberToWrite), (xptrint)0, 0
  XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf9.spr(1),116(135,10),7,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z097_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z09_Producer9, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z09_Producer9, z097_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SYNTYPE iLikeToWrite  (BODY section)
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),9,9)
******/

/* *** iLikeToWrite *** */
#ifndef XTNOUSE_iLikeToWrite_Producer10
tSDLGenInfo ySDL_z0A0_iLikeToWrite = {type_SDL_Syntype, 0,
  (xptrint)sizeof(z0A0_iLikeToWrite) T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("iLikeToWrite") xRaWF((xIdNode)&yPrsR_z0A_Producer10)
  xRaWF(&ySrtR_z0A0_iLikeToWrite), (tSDLTypeInfo *)&ySDL_SDL_Integer};
#endif
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z0A0_iLikeToWrite = {xSortEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z0A_Producer10, "iLikeToWrite" XCOMMON_EXTRAS
  xFreF(0) xAssF(0) xEqF(0) xTestF(yTest_z0A0_iLikeToWrite),
  (xptrint)sizeof(z0A0_iLikeToWrite), xSyntype, &xSrtR_SDL_Integer,
  &xSrtR_SDL_Integer, SDL_INTEGER_LIT(0), SDL_INTEGER_LIT(100), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z0A0_iLikeToWrite) XSRT_EXTRAS};
#endif

/*-------------------TEST-------------------*/
#ifdef XTESTF
xbool yTest_z0A0_iLikeToWrite(void * yExpr)
{
  {
    if (xLE_SDL_Integer(SDL_INTEGER_LIT(0), *(z0A0_iLikeToWrite *)yExpr))
      if (xLE_SDL_Integer(*(z0A0_iLikeToWrite *)yExpr, SDL_INTEGER_LIT(100)))
        return (xbool)1;
  }
  return (xbool)0;
}
#endif

/*-------------------TSTA-------------------*/
#ifdef XERANGE
z0A0_iLikeToWrite yTstA_z0A0_iLikeToWrite(z0A0_iLikeToWrite yExpr)
{
  if (! yTest_z0A0_iLikeToWrite((void *)&yExpr) )
    xErrorSubrange((tSDLTypeInfo *)&ySDL_z0A0_iLikeToWrite, (void *)&yExpr);
  return yExpr;
}
#endif

/*****
* PROCESS Producer10
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z0A_Producer10[ySym_z0A_Producer10+1];
#endif
XCONST XSIGTYPE yPrsS_z0A_Producer10[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), SIGNAL_NAME(walkingTime, &ySigR_z0A3_walkingTime),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z0A_Producer10[] = {&xStartStateIdRec,
  &yStaR_z0A1_SiDLing, &yStaR_z0A2_ForcedToWait};
static XPRSNODE yPrsA_z0A_Producer10 = (XPRSNODE)0;
static XPRSNODE yPrsB_z0A_Producer10 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z0A_Producer10 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "Producer10" XCOMMON_EXTRAS,
  yPrsT_z0A_Producer10, yPrsS_z0A_Producer10 xService(0) xOptChan(
  yPrsO_z0A_Producer10), -1 xNrInst(1) xNrInst(1), &yPrsB_z0A_Producer10,
  (xptrint)sizeof(yVDef_z0A_Producer10) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z0A_Producer10 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z0A_Producer10)
  xBreakB(ySym_z0A_Producer10) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z0A_Producer10) xCoverage(0) xCoverage(0),
  yPAD_z0A_Producer10, yFree_z0A_Producer10, (xPrsIdNode)0, (xPrdIdNode *)0,
  (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z0A_Producer10)};
static xSignalNode ySigA_z0A_Producer10 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z0A_Producer10 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z0A_Producer10), &ySigA_z0A_Producer10,
  0 xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Producer10,"Producer10",z0A_Producer10,yPAD_z0A_Producer10,
  yVDef_z0A_Producer10)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z0A_Producer10[] = {(xIdNode)&yChaR_z0K_ProducerLine10,
  (xIdNode)0};
#endif
void yFree_z0A_Producer10(void *yVarP)
{
}

/*+++++
* GR ref function for process Producer10
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr,4,1,19)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z0A_Producer10 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),143(60,10),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),134(55,85),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),125(55,135),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),140(30,30),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),140(30,30),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),140(30,30),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),140(30,30),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),140(30,30),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),137(60,65),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),131(30,105),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),128(55,120),1,1)";
    case 11: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),122(40,155),1,1)";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),122(40,155),2,1)";
    case 13: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),122(40,155),3,1)";
    case 14: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),119(60,180),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Producer10
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr,4,1,19)
++++++*/
YPAD_FUNCTION(yPAD_z0A_Producer10)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z0A_Producer10)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Producer10")

  BEGIN_PAD(yVDef_z0A_Producer10)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),143(60,10),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z0A_Producer10)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z0A7_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(3, 7848)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),140(30,30),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_Integer(yVarP->z0A5_myID, SDL_INTEGER_LIT(10), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z0A5_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z0A5_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(4, 7866)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),140(30,30),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z0A6_numberToWrite, ANY_z0A0_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z0A6_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z0A6_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 7885)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),140(30,30),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Duration(yVarP->z0A4_someTime, SDL_DURATION_LIT(1140.0, 1140, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z0A4_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z0A4_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(6, 7904)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),140(30,30),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_PId(yVarP->z0A7_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z0A7_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z0A7_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(7, 7922)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),140(30,30),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z0A4_someTime), yVarP->
      z0A4_someTime, walkingTime, ySigN_z0A3_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(8, 7934)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),137(60,65),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z0A1_SiDLing, "SiDLing")

/*-----
* INPUT walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),134(55,85),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_walkingTime)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("walkingTime")
    INPUT_TIMER_VAR(yVarP->yTim_walkingTime)
    XBETWEEN_SYMBOLS(9, 7955)

/*-----
* OUTPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),131(30,105),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestWrite, ySigN_z6_requestWrite, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z6_requestWrite)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z0A5_myID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z0A6_numberToWrite, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z6_requestWrite *)OUTSIGNAL_DATA_PTR)->Param3, yVarP->
      z0A7_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestWrite,
      ySigN_z6_requestWrite, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z6_requestWrite), "requestWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 7977)

/*-----
* NEXTSTATE ForcedToWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),128(55,120),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedToWait, z0A2_ForcedToWait, "ForcedToWait")

/*-----
* INPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),125(55,135),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedToWait_approveWrite)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveWrite")
    XBETWEEN_SYMBOLS(11, 7997)

/*-----
* ASSIGNMENT numberToWrite := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),122(40,155),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    yAssF_SDL_Integer(yVarP->z0A6_numberToWrite, ANY_z0A0_iLikeToWrite,
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("numberToWrite := ", &(yVarP->z0A6_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "numberToWrite := ", &(yVarP->z0A6_numberToWrite),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(12, 8016)

/*-----
* ASSIGNMENT someTime := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),122(40,155),2,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    yAssF_SDL_Duration(yVarP->z0A4_someTime, SDL_DURATION_LIT(908.0, 908, 0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("someTime := ", &(yVarP->z0A4_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "someTime := ", &(yVarP->z0A4_someTime),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(13, 8035)

/*-----
* SET walkingTime
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),122(40,155),3,1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z0A4_someTime), yVarP->
      z0A4_someTime, walkingTime, ySigN_z0A3_walkingTime,
      yVarP->yTim_walkingTime, "walkingTime")
    XBETWEEN_SYMBOLS(14, 8047)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),119(60,180),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z0A1_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),137(60,65),1,1)
******/
static XCONST xInputAction yStaH_z0A1_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z0A1_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z0A1_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z0A1_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z0A_Producer10, "SiDLing" XCOMMON_EXTRAS,
  z0A1_SiDLing, yStaH_z0A1_SiDLing, yStaI_z0A1_SiDLing, 0, 0, 0
  xCoverage(yStaC_z0A1_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),137(60,65),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedToWait
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),128(55,120),1,1)
******/
static XCONST xInputAction yStaH_z0A2_ForcedToWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z0A2_ForcedToWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z0A2_ForcedToWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z0A2_ForcedToWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z0A_Producer10, "ForcedToWait" XCOMMON_EXTRAS,
  z0A2_ForcedToWait, yStaH_z0A2_ForcedToWait, yStaI_z0A2_ForcedToWait, 0, 0, 0
  xCoverage(yStaC_z0A2_ForcedToWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),128(55,120),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER walkingTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z0A3_walkingTime = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z0A_Producer10, "walkingTime" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(walkingTime)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\ProducerOf10.spr(1),116(130,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_walkingTime,
  yVDef_z0A_Producer10) XSIG_EXTRAS};

/*****
* DCL someTime
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z0A4_someTime = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z0A_Producer10, "someTime" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z0A_Producer10, z0A4_someTime), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z0A5_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z0A_Producer10, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z0A_Producer10, z0A5_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL numberToWrite
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z0A6_numberToWrite = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z0A_Producer10, "numberToWrite"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z0A_Producer10, z0A6_numberToWrite), (xptrint)0, 0
  XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Producers/PROCESS Producer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ProducerOf10.spr(1),116(130,10),7,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z0A7_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z0A_Producer10, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z0A_Producer10, z0A7_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SIGNALROUTE ProducerLine1
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),119(42,42),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0B_ProducerLine1[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0B_ProducerLine1[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z0B_ProducerLine1[] = {(xIdNode)&yChaR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z0B_ProducerLine1[] = {(xIdNode)&yPrsR_z01_Producer,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0B_ProducerLine1 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine1"
  XCOMMON_EXTRAS, yChaS_z0B_ProducerLine1, yChaO_z0B_ProducerLine1,
  &yChaRR_z0B_ProducerLine1 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0B_ProducerLine1 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine1"
  XCOMMON_EXTRAS, yChaSR_z0B_ProducerLine1, yChaOR_z0B_ProducerLine1,
  &yChaR_z0B_ProducerLine1 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ProducerLine2
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),230(57,67),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0C_ProducerLine2[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0C_ProducerLine2[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z0C_ProducerLine2[] = {(xIdNode)&yChaR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z0C_ProducerLine2[] = {(xIdNode)&yPrsR_z02_Producer2,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0C_ProducerLine2 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine2"
  XCOMMON_EXTRAS, yChaS_z0C_ProducerLine2, yChaO_z0C_ProducerLine2,
  &yChaRR_z0C_ProducerLine2 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0C_ProducerLine2 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine2"
  XCOMMON_EXTRAS, yChaSR_z0C_ProducerLine2, yChaOR_z0C_ProducerLine2,
  &yChaR_z0C_ProducerLine2 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ProducerLine3
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),275(57,87),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0D_ProducerLine3[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0D_ProducerLine3[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z0D_ProducerLine3[] = {(xIdNode)&yChaR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z0D_ProducerLine3[] = {(xIdNode)&yPrsR_z03_Producer3,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0D_ProducerLine3 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine3"
  XCOMMON_EXTRAS, yChaS_z0D_ProducerLine3, yChaO_z0D_ProducerLine3,
  &yChaRR_z0D_ProducerLine3 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0D_ProducerLine3 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine3"
  XCOMMON_EXTRAS, yChaSR_z0D_ProducerLine3, yChaOR_z0D_ProducerLine3,
  &yChaR_z0D_ProducerLine3 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ProducerLine4
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),284(57,102),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0E_ProducerLine4[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0E_ProducerLine4[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z0E_ProducerLine4[] = {(xIdNode)&yChaR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z0E_ProducerLine4[] = {(xIdNode)&yPrsR_z04_Producer4,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0E_ProducerLine4 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine4"
  XCOMMON_EXTRAS, yChaS_z0E_ProducerLine4, yChaO_z0E_ProducerLine4,
  &yChaRR_z0E_ProducerLine4 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0E_ProducerLine4 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine4"
  XCOMMON_EXTRAS, yChaSR_z0E_ProducerLine4, yChaOR_z0E_ProducerLine4,
  &yChaR_z0E_ProducerLine4 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ProducerLine5
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),293(57,117),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0F_ProducerLine5[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0F_ProducerLine5[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z0F_ProducerLine5[] = {(xIdNode)&yChaR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z0F_ProducerLine5[] = {(xIdNode)&yPrsR_z05_Producer5,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0F_ProducerLine5 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine5"
  XCOMMON_EXTRAS, yChaS_z0F_ProducerLine5, yChaO_z0F_ProducerLine5,
  &yChaRR_z0F_ProducerLine5 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0F_ProducerLine5 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine5"
  XCOMMON_EXTRAS, yChaSR_z0F_ProducerLine5, yChaOR_z0F_ProducerLine5,
  &yChaR_z0F_ProducerLine5 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ProducerLine6
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),302(57,132),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0G_ProducerLine6[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0G_ProducerLine6[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z0G_ProducerLine6[] = {(xIdNode)&yChaR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z0G_ProducerLine6[] = {(xIdNode)&yPrsR_z06_Producer6,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0G_ProducerLine6 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine6"
  XCOMMON_EXTRAS, yChaS_z0G_ProducerLine6, yChaO_z0G_ProducerLine6,
  &yChaRR_z0G_ProducerLine6 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0G_ProducerLine6 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine6"
  XCOMMON_EXTRAS, yChaSR_z0G_ProducerLine6, yChaOR_z0G_ProducerLine6,
  &yChaR_z0G_ProducerLine6 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ProducerLine7
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),311(57,147),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0H_ProducerLine7[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0H_ProducerLine7[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z0H_ProducerLine7[] = {(xIdNode)&yChaR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z0H_ProducerLine7[] = {(xIdNode)&yPrsR_z07_Producer7,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0H_ProducerLine7 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine7"
  XCOMMON_EXTRAS, yChaS_z0H_ProducerLine7, yChaO_z0H_ProducerLine7,
  &yChaRR_z0H_ProducerLine7 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0H_ProducerLine7 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine7"
  XCOMMON_EXTRAS, yChaSR_z0H_ProducerLine7, yChaOR_z0H_ProducerLine7,
  &yChaR_z0H_ProducerLine7 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ProducerLine8
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),320(57,162),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0I_ProducerLine8[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0I_ProducerLine8[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z0I_ProducerLine8[] = {(xIdNode)&yChaR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z0I_ProducerLine8[] = {(xIdNode)&yPrsR_z08_Producer8,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0I_ProducerLine8 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine8"
  XCOMMON_EXTRAS, yChaS_z0I_ProducerLine8, yChaO_z0I_ProducerLine8,
  &yChaRR_z0I_ProducerLine8 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0I_ProducerLine8 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine8"
  XCOMMON_EXTRAS, yChaSR_z0I_ProducerLine8, yChaOR_z0I_ProducerLine8,
  &yChaR_z0I_ProducerLine8 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ProducerLine9
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),329(57,177),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0J_ProducerLine9[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0J_ProducerLine9[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z0J_ProducerLine9[] = {(xIdNode)&yChaR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z0J_ProducerLine9[] = {(xIdNode)&yPrsR_z09_Producer9,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0J_ProducerLine9 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine9"
  XCOMMON_EXTRAS, yChaS_z0J_ProducerLine9, yChaO_z0J_ProducerLine9,
  &yChaRR_z0J_ProducerLine9 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0J_ProducerLine9 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine9"
  XCOMMON_EXTRAS, yChaSR_z0J_ProducerLine9, yChaOR_z0J_ProducerLine9,
  &yChaR_z0J_ProducerLine9 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ProducerLine10
* <<SYSTEM Concuro/BLOCK Producers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk(1),338(57,192),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0K_ProducerLine10[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0K_ProducerLine10[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z0K_ProducerLine10[] = {(xIdNode)&yChaR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z0K_ProducerLine10[] = {(xIdNode)&yPrsR_z0A_Producer10,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0K_ProducerLine10 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine10"
  XCOMMON_EXTRAS, yChaS_z0K_ProducerLine10, yChaO_z0K_ProducerLine10,
  &yChaRR_z0K_ProducerLine10 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0K_ProducerLine10 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_Producers, "ProducerLine10"
  XCOMMON_EXTRAS, yChaSR_z0K_ProducerLine10, yChaOR_z0K_ProducerLine10,
  &yChaR_z0K_ProducerLine10 XCHA_EXTRAS};
#endif

/*****
* BLOCK ConcuroBlock
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk,4,1,7)
******/
XCONST struct xBlockIdStruct yBloR_z1_ConcuroBlock = {xBlockEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ConcuroBlock" XCOMMON_EXTRAS,
  (xBlockIdNode)0, (xIdNode *)0, (xPrdIdNode *)0, (xViewListRec *)0,
  (xViewIndexRec *)0, 1 xTrace(-1) xGRTrace(-1) xMSCETrace(-1) xMSCETrace(0)
  XBLO_EXTRAS};
#ifndef XOPTCHAN
XCONST xIdNode yChaO_z3_ProducerDongle[] = {(xIdNode)&yChaRR_z14_ProduceMe,
  (xIdNode)0};
XCONST xIdNode yChaOR_z4_ThisWayOrTheHighway[] = {(xIdNode)&yChaRR_z15_LineOut,
  (xIdNode)0};
XCONST xIdNode yChaO_z5_ConsumerDongle[] = {(xIdNode)&yChaRR_z16_ConsumeMe,
  (xIdNode)0};
#endif

/*****
* PROCESS Io
* <<SYSTEM Concuro/BLOCK ConcuroBlock>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z13_Io[ySym_z13_Io+1];
#endif
XCONST XSIGTYPE yPrsS_z13_Io[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), SIGNAL_NAME(requestRead, &ySigR_z8_requestRead),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z13_Io[] = {&xStartStateIdRec, &yStaR_z130_Phase1,
  &yStaR_z131_Phase2};
static XPRSNODE yPrsA_z13_Io = (XPRSNODE)0;
static XPRSNODE yPrsB_z13_Io = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z13_Io = {xProcessEC , (xIdNode)0, (xIdNode)0,
  (xIdNode)&yBloR_z1_ConcuroBlock, "Io" XCOMMON_EXTRAS, yPrsT_z13_Io,
  yPrsS_z13_Io xService(0) xOptChan(yPrsO_z13_Io), -1 xNrInst(1) xNrInst(1),
  &yPrsB_z13_Io, (xptrint)sizeof(yVDef_z13_Io)
  xPrsPrioPar(xDefaultPrioProcess), &yPrsA_z13_Io xTrace(-1) xGRTrace(-1)
  xBreakB(yRef_z13_Io) xBreakB(ySym_z13_Io) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z13_Io) xCoverage(0) xCoverage(0), yPAD_z13_Io, yFree_z13_Io,
  (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z13_Io)};
static xSignalNode ySigA_z13_Io = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z13_Io = {xStartUpSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock xIdNames("-") XCOMMON_EXTRAS,
  (xptrint)sizeof(yPDef_z13_Io), &ySigA_z13_Io, 0 xFreS(0)
  SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Io,"Io",z13_Io,yPAD_z13_Io,yVDef_z13_Io)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z13_Io[] = {(xIdNode)&yChaR_z14_ProduceMe,
  (xIdNode)&yChaR_z15_LineOut, (xIdNode)&yChaR_z16_ConsumeMe, (xIdNode)0};
#endif
void yFree_z13_Io(void *yVarP)
{
}

/*+++++
* GR ref function for process Io
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr,4,1,11)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z13_Io (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),116(60,20),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),128(30,50),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),146(35,135),1,1)";
    case 3: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),122(60,35),1,1)";
    case 4: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),137(30,70),1,1)";
    case 5: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),182(55,85),1,1)";
    case 6: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),134(60,110),1,1)";
    case 7: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),170(30,155),1,1)";
    case 8: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),191(40,170),1,1)";
    case 9: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),176(60,190),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Io
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr,4,1,11)
++++++*/
YPAD_FUNCTION(yPAD_z13_Io)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z13_Io)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Io")

  BEGIN_PAD(yVDef_z13_Io)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),116(60,20),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z13_Io)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z134_writePID, SDL_NULL, XASS_MR_ASS_NF);
    yAssF_SDL_PId(yVarP->z136_readPID, SDL_NULL, XASS_MR_ASS_NF);
    XBETWEEN_SYMBOLS(3, 8515)

/*-----
* NEXTSTATE Phase1
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),122(60,35),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Phase1, z130_Phase1, "Phase1")

/*-----
* INPUT requestWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),128(30,50),1,1)
------*/
  case 1:
    XDEBUG_LABEL(Phase1_requestWrite)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("requestWrite")
    yAssF_SDL_Integer(yVarP->z133_writeID, ((yPDef_z6_requestWrite *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    yAssF_SDL_Integer(yVarP->z132_numberWritten, ((yPDef_z6_requestWrite *)
      ySVarP)->Param2, XASS_AR_ASS_FR);
    yAssF_SDL_PId(yVarP->z134_writePID, ((yPDef_z6_requestWrite *)ySVarP)->
      Param3, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(4, 8541)

/*-----
* OUTPUT producerXWroteItemY
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),137(30,70),1,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    ALLOC_SIGNAL_PAR(producerXWroteItemY, ySigN_zB_producerXWroteItemY,
      TO_PROCESS(Env, &yEnvR_env), yPDef_zB_producerXWroteItemY)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_zB_producerXWroteItemY *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z133_writeID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_zB_producerXWroteItemY *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z132_numberWritten, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0,
      producerXWroteItemY, ySigN_zB_producerXWroteItemY, TO_PROCESS(Env,
      &yEnvR_env), sizeof(yPDef_zB_producerXWroteItemY), "producerXWroteItemY")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(5, 8561)

/*-----
* OUTPUT approveWrite
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),182(55,85),1,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    ALLOC_SIGNAL(approveWrite, ySigN_z7_approveWrite, yVarP->z134_writePID,
      XSIGNALHEADERTYPE)
    SIGNAL_ALLOC_ERROR
    SDL_2OUTPUT(xDefaultPrioSignal, (xIdNode *)0, approveWrite,
      ySigN_z7_approveWrite, yVarP->z134_writePID, 0, "approveWrite")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(6, 8576)

/*-----
* NEXTSTATE Phase2
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),134(60,110),1,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Phase2, z131_Phase2, "Phase2")

/*-----
* INPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),146(35,135),1,1)
------*/
  case 2:
    XDEBUG_LABEL(Phase2_requestRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("requestRead")
    yAssF_SDL_Integer(yVarP->z135_readID, ((yPDef_z8_requestRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    yAssF_SDL_PId(yVarP->z136_readPID, ((yPDef_z8_requestRead *)ySVarP)->
      Param2, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(7, 8600)

/*-----
* OUTPUT consumerXReadItemY
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),170(30,155),1,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    ALLOC_SIGNAL_PAR(consumerXReadItemY, ySigN_zA_consumerXReadItemY,
      TO_PROCESS(Env, &yEnvR_env), yPDef_zA_consumerXReadItemY)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_zA_consumerXReadItemY *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z135_readID, XASS_MR_ASS_NF);
    yAssF_SDL_Integer(((yPDef_zA_consumerXReadItemY *)OUTSIGNAL_DATA_PTR)->Param2,
      yVarP->z132_numberWritten, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0,
      consumerXReadItemY, ySigN_zA_consumerXReadItemY, TO_PROCESS(Env,
      &yEnvR_env), sizeof(yPDef_zA_consumerXReadItemY), "consumerXReadItemY")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(8, 8620)

/*-----
* OUTPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),191(40,170),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    ALLOC_SIGNAL_PAR(approveRead, ySigN_z9_approveRead, yVarP->z136_readPID,
      yPDef_z9_approveRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z9_approveRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z132_numberWritten, XASS_MR_ASS_NF);
    SDL_2OUTPUT(xDefaultPrioSignal, (xIdNode *)0, approveRead,
      ySigN_z9_approveRead, yVarP->z136_readPID, sizeof(yPDef_z9_approveRead),
      "approveRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(9, 8638)

/*-----
* NEXTSTATE Phase1
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),176(60,190),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Phase1, z130_Phase1, "Phase1")
  }
}

/*****
* STATE Phase1
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),122(60,35),1,1)
******/
static XCONST xInputAction yStaH_z130_Phase1[] = {xInput, xSave, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z130_Phase1[] = {1, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z130_Phase1[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z130_Phase1 = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "Phase1" XCOMMON_EXTRAS, z130_Phase1,
  yStaH_z130_Phase1, yStaI_z130_Phase1, 0, 0, 0 xCoverage(yStaC_z130_Phase1),
  (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),122(60,35),1,1)")
  XSTA_EXTRAS};

/*****
* STATE Phase2
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),134(60,110),1,1)
******/
static XCONST xInputAction yStaH_z131_Phase2[] = {xSave, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z131_Phase2[] = {0, 2, 0};
#ifdef XCOVERAGE
static long int yStaC_z131_Phase2[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z131_Phase2 = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "Phase2" XCOMMON_EXTRAS, z131_Phase2,
  yStaH_z131_Phase2, yStaI_z131_Phase2, 0, 0, 0 xCoverage(yStaC_z131_Phase2),
  (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Io.spr(1),134(60,110),1,1)")
  XSTA_EXTRAS};

/*****
* DCL numberWritten
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),2,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z132_numberWritten = {xVariableEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "numberWritten"
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z13_Io, z132_numberWritten), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL writeID
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z133_writeID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "writeID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z13_Io, z133_writeID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL writePID
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z134_writePID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "writePID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z13_Io, z134_writePID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL readID
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z135_readID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "readID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z13_Io, z135_readID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL readPID
* <<SYSTEM Concuro/BLOCK ConcuroBlock/PROCESS Io>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Io.spr(1),119(130,15),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z136_readPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z13_Io, "readPID" XCOMMON_EXTRAS, &xSrtR_SDL_PId,
  (tSDLTypeInfo *)&ySDL_SDL_PId, xOffsetOf(yVDef_z13_Io, z136_readPID),
  (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SIGNALROUTE ProduceMe
* <<SYSTEM Concuro/BLOCK ConcuroBlock>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),197(95,47),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z14_ProduceMe[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z14_ProduceMe[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
XCONST xIdNode yChaO_z14_ProduceMe[] = {(xIdNode)&yChaRR_z3_ProducerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z14_ProduceMe[] = {(xIdNode)&yPrsR_z13_Io, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z14_ProduceMe = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "ProduceMe"
  XCOMMON_EXTRAS, yChaS_z14_ProduceMe, yChaO_z14_ProduceMe,
  &yChaRR_z14_ProduceMe XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z14_ProduceMe = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "ProduceMe"
  XCOMMON_EXTRAS, yChaSR_z14_ProduceMe, yChaOR_z14_ProduceMe,
  &yChaR_z14_ProduceMe XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE LineOut
* <<SYSTEM Concuro/BLOCK ConcuroBlock>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),188(45,97),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z15_LineOut[] = {SIGNAL_NAME(consumerXReadItemY,
  &ySigR_zA_consumerXReadItemY), SIGNAL_NAME(producerXWroteItemY,
  &ySigR_zB_producerXWroteItemY), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z15_LineOut[] = {(XSIGTYPE)0};
XCONST xIdNode yChaO_z15_LineOut[] = {(xIdNode)&yChaR_z4_ThisWayOrTheHighway,
  (xIdNode)0};
XCONST xIdNode yChaOR_z15_LineOut[] = {(xIdNode)&yPrsR_z13_Io, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z15_LineOut = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "LineOut"
  XCOMMON_EXTRAS, yChaS_z15_LineOut, yChaO_z15_LineOut, &yChaRR_z15_LineOut
  XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z15_LineOut = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "LineOut"
  XCOMMON_EXTRAS, yChaSR_z15_LineOut, yChaOR_z15_LineOut, &yChaR_z15_LineOut
  XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumeMe
* <<SYSTEM Concuro/BLOCK ConcuroBlock>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk(1),206(92,157),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z16_ConsumeMe[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z16_ConsumeMe[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z16_ConsumeMe[] = {(xIdNode)&yChaRR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z16_ConsumeMe[] = {(xIdNode)&yPrsR_z13_Io, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z16_ConsumeMe = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "ConsumeMe"
  XCOMMON_EXTRAS, yChaS_z16_ConsumeMe, yChaO_z16_ConsumeMe,
  &yChaRR_z16_ConsumeMe XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z16_ConsumeMe = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z1_ConcuroBlock, "ConsumeMe"
  XCOMMON_EXTRAS, yChaSR_z16_ConsumeMe, yChaOR_z16_ConsumeMe,
  &yChaR_z16_ConsumeMe XCHA_EXTRAS};
#endif

/*****
* BLOCK Consumers
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk,4,1,7)
******/
XCONST struct xBlockIdStruct yBloR_z2_Consumers = {xBlockEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "Consumers" XCOMMON_EXTRAS,
  (xBlockIdNode)0, (xIdNode *)0, (xPrdIdNode *)0, (xViewListRec *)0,
  (xViewIndexRec *)0, 1 xTrace(-1) xGRTrace(-1) xMSCETrace(-1) xMSCETrace(0)
  XBLO_EXTRAS};
#ifndef XOPTCHAN
XCONST xIdNode yChaOR_z5_ConsumerDongle[] =
  {(xIdNode)&yChaRR_z2B_ConsumerLine1, (xIdNode)&yChaRR_z2C_ConsumerLine2,
  (xIdNode)&yChaRR_z2D_ConsumerLine3, (xIdNode)&yChaRR_z2E_ConsumerLine4,
  (xIdNode)&yChaRR_z2F_ConsumerLine5, (xIdNode)&yChaRR_z2G_ConsumerLine6,
  (xIdNode)&yChaRR_z2H_ConsumerLine7, (xIdNode)&yChaRR_z2I_ConsumerLine8,
  (xIdNode)&yChaRR_z2J_ConsumerLine9, (xIdNode)&yChaRR_z2K_ConsumerLine10,
  (xIdNode)0};
#endif

/*****
* PROCESS Consumer
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z21_Consumer[ySym_z21_Consumer+1];
#endif
XCONST XSIGTYPE yPrsS_z21_Consumer[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z212_coolTimes),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z21_Consumer[] = {&xStartStateIdRec,
  &yStaR_z210_SiDLing, &yStaR_z211_ForcedWait};
static XPRSNODE yPrsA_z21_Consumer = (XPRSNODE)0;
static XPRSNODE yPrsB_z21_Consumer = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z21_Consumer = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer" XCOMMON_EXTRAS,
  yPrsT_z21_Consumer, yPrsS_z21_Consumer xService(0) xOptChan(
  yPrsO_z21_Consumer), -1 xNrInst(1) xNrInst(1), &yPrsB_z21_Consumer,
  (xptrint)sizeof(yVDef_z21_Consumer) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z21_Consumer xTrace(-1) xGRTrace(-1) xBreakB(yRef_z21_Consumer)
  xBreakB(ySym_z21_Consumer) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z21_Consumer) xCoverage(0) xCoverage(0), yPAD_z21_Consumer,
  yFree_z21_Consumer, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z21_Consumer)};
static xSignalNode ySigA_z21_Consumer = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z21_Consumer = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z21_Consumer), &ySigA_z21_Consumer, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Consumer,"Consumer",z21_Consumer,yPAD_z21_Consumer,
  yVDef_z21_Consumer)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z21_Consumer[] = {(xIdNode)&yChaR_z2B_ConsumerLine1,
  (xIdNode)0};
#endif
void yFree_z21_Consumer(void *yVarP)
{
}

/*+++++
* GR ref function for process Consumer
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr,4,1,17)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z21_Consumer (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),119(65,20),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),137(65,95),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),155(50,155),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),122(45,40),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),122(45,40),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),122(45,40),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),122(45,40),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),122(45,40),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),131(65,75),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),143(50,115),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),149(65,135),1,1)";
    case 11: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),167(45,175),1,1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),173(65,200),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Consumer
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr,4,1,17)
++++++*/
YPAD_FUNCTION(yPAD_z21_Consumer)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z21_Consumer)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Consumer")

  BEGIN_PAD(yVDef_z21_Consumer)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),119(65,20),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z21_Consumer)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z216_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(3, 8942)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),122(45,40),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_PId(yVarP->z216_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z216_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z216_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(4, 8960)

/*-----
* ASSIGNMENT stuffRead := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),122(45,40),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z214_stuffRead, SDL_INTEGER_LIT(0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("stuffRead := ", &(yVarP->z214_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z214_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 8979)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),122(45,40),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Integer(yVarP->z215_myID, SDL_INTEGER_LIT(1), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z215_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z215_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(6, 8997)

/*-----
* ASSIGNMENT theseTimes := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),122(45,40),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_Duration(yVarP->z213_theseTimes,
      SDL_DURATION_LIT(1000.0, 1000, 0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("theseTimes := ", &(yVarP->z213_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z213_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(7, 9016)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),122(45,40),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z213_theseTimes), yVarP->
      z213_theseTimes, coolTimes, ySigN_z212_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(8, 9028)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),131(65,75),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z210_SiDLing, "SiDLing")

/*-----
* INPUT coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),137(65,95),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_coolTimes)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("coolTimes")
    INPUT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(9, 9049)

/*-----
* OUTPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),143(50,115),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z8_requestRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z215_myID, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->
      z216_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead,
      ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z8_requestRead), "requestRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 9069)

/*-----
* NEXTSTATE ForcedWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),149(65,135),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedWait, z211_ForcedWait, "ForcedWait")

/*-----
* INPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),155(50,155),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedWait_approveRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveRead")
    yAssF_SDL_Integer(yVarP->z214_stuffRead, ((yPDef_z9_approveRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(11, 9091)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),167(45,175),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z213_theseTimes), yVarP->
      z213_theseTimes, coolTimes, ySigN_z212_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(12, 9103)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),173(65,200),1,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z210_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),131(65,75),1,1)
******/
static XCONST xInputAction yStaH_z210_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z210_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z210_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z210_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "SiDLing" XCOMMON_EXTRAS,
  z210_SiDLing, yStaH_z210_SiDLing, yStaI_z210_SiDLing, 0, 0, 0
  xCoverage(yStaC_z210_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),131(65,75),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),149(65,135),1,1)
******/
static XCONST xInputAction yStaH_z211_ForcedWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z211_ForcedWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z211_ForcedWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z211_ForcedWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "ForcedWait" XCOMMON_EXTRAS,
  z211_ForcedWait, yStaH_z211_ForcedWait, yStaI_z211_ForcedWait, 0, 0, 0
  xCoverage(yStaC_z211_ForcedWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),149(65,135),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z212_coolTimes = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "coolTimes" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer.spr(1),125(145,15),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes,
  yVDef_z21_Consumer) XSIG_EXTRAS};

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z213_theseTimes = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "theseTimes" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z21_Consumer, z213_theseTimes), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z214_stuffRead = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "stuffRead" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z21_Consumer, z214_stuffRead), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z215_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z21_Consumer, z215_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer.spr(1),125(145,15),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z216_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z21_Consumer, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z21_Consumer, z216_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* PROCESS Consumer2
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z22_Consumer2[ySym_z22_Consumer2+1];
#endif
XCONST XSIGTYPE yPrsS_z22_Consumer2[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z222_coolTimes),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z22_Consumer2[] = {&xStartStateIdRec,
  &yStaR_z220_SiDLing, &yStaR_z221_ForcedWait};
static XPRSNODE yPrsA_z22_Consumer2 = (XPRSNODE)0;
static XPRSNODE yPrsB_z22_Consumer2 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z22_Consumer2 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer2" XCOMMON_EXTRAS,
  yPrsT_z22_Consumer2, yPrsS_z22_Consumer2 xService(0) xOptChan(
  yPrsO_z22_Consumer2), -1 xNrInst(1) xNrInst(1), &yPrsB_z22_Consumer2,
  (xptrint)sizeof(yVDef_z22_Consumer2) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z22_Consumer2 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z22_Consumer2)
  xBreakB(ySym_z22_Consumer2) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z22_Consumer2) xCoverage(0) xCoverage(0), yPAD_z22_Consumer2,
  yFree_z22_Consumer2, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z22_Consumer2)};
static xSignalNode ySigA_z22_Consumer2 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z22_Consumer2 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z22_Consumer2), &ySigA_z22_Consumer2, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Consumer2,"Consumer2",z22_Consumer2,yPAD_z22_Consumer2,
  yVDef_z22_Consumer2)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z22_Consumer2[] = {(xIdNode)&yChaR_z2C_ConsumerLine2,
  (xIdNode)0};
#endif
void yFree_z22_Consumer2(void *yVarP)
{
}

/*+++++
* GR ref function for process Consumer2
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z22_Consumer2 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),140(60,20),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),131(60,95),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),122(45,155),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),137(40,40),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),137(40,40),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),137(40,40),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),137(40,40),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),137(40,40),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),134(60,75),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),128(45,115),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),125(60,135),1,1)";
    case 11: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),119(40,175),1,1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),116(60,200),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Consumer2
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z22_Consumer2)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z22_Consumer2)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Consumer2")

  BEGIN_PAD(yVDef_z22_Consumer2)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),140(60,20),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z22_Consumer2)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z226_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(3, 9319)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),137(40,40),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_PId(yVarP->z226_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z226_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z226_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(4, 9337)

/*-----
* ASSIGNMENT stuffRead := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),137(40,40),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z224_stuffRead, SDL_INTEGER_LIT(0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("stuffRead := ", &(yVarP->z224_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z224_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 9356)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),137(40,40),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Integer(yVarP->z225_myID, SDL_INTEGER_LIT(2), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z225_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z225_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(6, 9374)

/*-----
* ASSIGNMENT theseTimes := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),137(40,40),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_Duration(yVarP->z223_theseTimes,
      SDL_DURATION_LIT(1050.0, 1050, 0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("theseTimes := ", &(yVarP->z223_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z223_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(7, 9393)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),137(40,40),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z223_theseTimes), yVarP->
      z223_theseTimes, coolTimes, ySigN_z222_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(8, 9405)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),134(60,75),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z220_SiDLing, "SiDLing")

/*-----
* INPUT coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),131(60,95),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_coolTimes)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("coolTimes")
    INPUT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(9, 9426)

/*-----
* OUTPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),128(45,115),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z8_requestRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z225_myID, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->
      z226_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead,
      ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z8_requestRead), "requestRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 9446)

/*-----
* NEXTSTATE ForcedWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),125(60,135),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedWait, z221_ForcedWait, "ForcedWait")

/*-----
* INPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),122(45,155),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedWait_approveRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveRead")
    yAssF_SDL_Integer(yVarP->z224_stuffRead, ((yPDef_z9_approveRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(11, 9468)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),119(40,175),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z223_theseTimes), yVarP->
      z223_theseTimes, coolTimes, ySigN_z222_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(12, 9480)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),116(60,200),1,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z220_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),134(60,75),1,1)
******/
static XCONST xInputAction yStaH_z220_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z220_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z220_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z220_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z22_Consumer2, "SiDLing" XCOMMON_EXTRAS,
  z220_SiDLing, yStaH_z220_SiDLing, yStaI_z220_SiDLing, 0, 0, 0
  xCoverage(yStaC_z220_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),134(60,75),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),125(60,135),1,1)
******/
static XCONST xInputAction yStaH_z221_ForcedWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z221_ForcedWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z221_ForcedWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z221_ForcedWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z22_Consumer2, "ForcedWait" XCOMMON_EXTRAS,
  z221_ForcedWait, yStaH_z221_ForcedWait, yStaI_z221_ForcedWait, 0, 0, 0
  xCoverage(yStaC_z221_ForcedWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),125(60,135),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z222_coolTimes = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z22_Consumer2, "coolTimes" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer2.spr(1),143(140,15),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes,
  yVDef_z22_Consumer2) XSIG_EXTRAS};

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z223_theseTimes = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z22_Consumer2, "theseTimes" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z22_Consumer2, z223_theseTimes), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z224_stuffRead = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z22_Consumer2, "stuffRead" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z22_Consumer2, z224_stuffRead), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z225_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z22_Consumer2, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z22_Consumer2, z225_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer2>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer2.spr(1),143(140,15),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z226_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z22_Consumer2, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z22_Consumer2, z226_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* PROCESS Consumer3
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z23_Consumer3[ySym_z23_Consumer3+1];
#endif
XCONST XSIGTYPE yPrsS_z23_Consumer3[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z232_coolTimes),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z23_Consumer3[] = {&xStartStateIdRec,
  &yStaR_z230_SiDLing, &yStaR_z231_ForcedWait};
static XPRSNODE yPrsA_z23_Consumer3 = (XPRSNODE)0;
static XPRSNODE yPrsB_z23_Consumer3 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z23_Consumer3 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer3" XCOMMON_EXTRAS,
  yPrsT_z23_Consumer3, yPrsS_z23_Consumer3 xService(0) xOptChan(
  yPrsO_z23_Consumer3), -1 xNrInst(1) xNrInst(1), &yPrsB_z23_Consumer3,
  (xptrint)sizeof(yVDef_z23_Consumer3) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z23_Consumer3 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z23_Consumer3)
  xBreakB(ySym_z23_Consumer3) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z23_Consumer3) xCoverage(0) xCoverage(0), yPAD_z23_Consumer3,
  yFree_z23_Consumer3, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z23_Consumer3)};
static xSignalNode ySigA_z23_Consumer3 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z23_Consumer3 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z23_Consumer3), &ySigA_z23_Consumer3, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Consumer3,"Consumer3",z23_Consumer3,yPAD_z23_Consumer3,
  yVDef_z23_Consumer3)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z23_Consumer3[] = {(xIdNode)&yChaR_z2D_ConsumerLine3,
  (xIdNode)0};
#endif
void yFree_z23_Consumer3(void *yVarP)
{
}

/*+++++
* GR ref function for process Consumer3
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z23_Consumer3 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),140(60,15),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),131(60,90),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),122(45,150),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),137(40,35),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),137(40,35),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),137(40,35),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),137(40,35),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),137(40,35),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),134(60,70),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),128(45,110),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),125(60,130),1,1)";
    case 11: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),119(40,170),1,1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),116(60,195),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Consumer3
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z23_Consumer3)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z23_Consumer3)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Consumer3")

  BEGIN_PAD(yVDef_z23_Consumer3)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),140(60,15),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z23_Consumer3)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z236_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(3, 9696)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),137(40,35),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_PId(yVarP->z236_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z236_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z236_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(4, 9714)

/*-----
* ASSIGNMENT stuffRead := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),137(40,35),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z234_stuffRead, SDL_INTEGER_LIT(0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("stuffRead := ", &(yVarP->z234_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z234_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 9733)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),137(40,35),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Integer(yVarP->z235_myID, SDL_INTEGER_LIT(3), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z235_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z235_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(6, 9751)

/*-----
* ASSIGNMENT theseTimes := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),137(40,35),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_Duration(yVarP->z233_theseTimes,
      SDL_DURATION_LIT(1100.0, 1100, 0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("theseTimes := ", &(yVarP->z233_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z233_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(7, 9770)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),137(40,35),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z233_theseTimes), yVarP->
      z233_theseTimes, coolTimes, ySigN_z232_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(8, 9782)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),134(60,70),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z230_SiDLing, "SiDLing")

/*-----
* INPUT coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),131(60,90),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_coolTimes)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("coolTimes")
    INPUT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(9, 9803)

/*-----
* OUTPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),128(45,110),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z8_requestRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z235_myID, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->
      z236_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead,
      ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z8_requestRead), "requestRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 9823)

/*-----
* NEXTSTATE ForcedWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),125(60,130),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedWait, z231_ForcedWait, "ForcedWait")

/*-----
* INPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),122(45,150),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedWait_approveRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveRead")
    yAssF_SDL_Integer(yVarP->z234_stuffRead, ((yPDef_z9_approveRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(11, 9845)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),119(40,170),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z233_theseTimes), yVarP->
      z233_theseTimes, coolTimes, ySigN_z232_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(12, 9857)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),116(60,195),1,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z230_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),134(60,70),1,1)
******/
static XCONST xInputAction yStaH_z230_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z230_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z230_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z230_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z23_Consumer3, "SiDLing" XCOMMON_EXTRAS,
  z230_SiDLing, yStaH_z230_SiDLing, yStaI_z230_SiDLing, 0, 0, 0
  xCoverage(yStaC_z230_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),134(60,70),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),125(60,130),1,1)
******/
static XCONST xInputAction yStaH_z231_ForcedWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z231_ForcedWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z231_ForcedWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z231_ForcedWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z23_Consumer3, "ForcedWait" XCOMMON_EXTRAS,
  z231_ForcedWait, yStaH_z231_ForcedWait, yStaI_z231_ForcedWait, 0, 0, 0
  xCoverage(yStaC_z231_ForcedWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),125(60,130),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z232_coolTimes = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z23_Consumer3, "coolTimes" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer3.spr(1),143(140,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes,
  yVDef_z23_Consumer3) XSIG_EXTRAS};

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z233_theseTimes = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z23_Consumer3, "theseTimes" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z23_Consumer3, z233_theseTimes), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z234_stuffRead = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z23_Consumer3, "stuffRead" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z23_Consumer3, z234_stuffRead), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z235_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z23_Consumer3, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z23_Consumer3, z235_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer3>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer3.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z236_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z23_Consumer3, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z23_Consumer3, z236_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* PROCESS Consumer4
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z24_Consumer4[ySym_z24_Consumer4+1];
#endif
XCONST XSIGTYPE yPrsS_z24_Consumer4[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z242_coolTimes),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z24_Consumer4[] = {&xStartStateIdRec,
  &yStaR_z240_SiDLing, &yStaR_z241_ForcedWait};
static XPRSNODE yPrsA_z24_Consumer4 = (XPRSNODE)0;
static XPRSNODE yPrsB_z24_Consumer4 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z24_Consumer4 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer4" XCOMMON_EXTRAS,
  yPrsT_z24_Consumer4, yPrsS_z24_Consumer4 xService(0) xOptChan(
  yPrsO_z24_Consumer4), -1 xNrInst(1) xNrInst(1), &yPrsB_z24_Consumer4,
  (xptrint)sizeof(yVDef_z24_Consumer4) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z24_Consumer4 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z24_Consumer4)
  xBreakB(ySym_z24_Consumer4) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z24_Consumer4) xCoverage(0) xCoverage(0), yPAD_z24_Consumer4,
  yFree_z24_Consumer4, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z24_Consumer4)};
static xSignalNode ySigA_z24_Consumer4 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z24_Consumer4 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z24_Consumer4), &ySigA_z24_Consumer4, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Consumer4,"Consumer4",z24_Consumer4,yPAD_z24_Consumer4,
  yVDef_z24_Consumer4)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z24_Consumer4[] = {(xIdNode)&yChaR_z2E_ConsumerLine4,
  (xIdNode)0};
#endif
void yFree_z24_Consumer4(void *yVarP)
{
}

/*+++++
* GR ref function for process Consumer4
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z24_Consumer4 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),140(55,15),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),131(55,90),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),122(40,150),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),137(35,35),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),137(35,35),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),137(35,35),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),137(35,35),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),137(35,35),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),134(55,70),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),128(40,110),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),125(55,130),1,1)";
    case 11: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),119(35,170),1,1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),116(55,195),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Consumer4
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z24_Consumer4)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z24_Consumer4)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Consumer4")

  BEGIN_PAD(yVDef_z24_Consumer4)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),140(55,15),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z24_Consumer4)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z246_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(3, 10073)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),137(35,35),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_PId(yVarP->z246_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z246_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z246_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(4, 10091)

/*-----
* ASSIGNMENT stuffRead := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),137(35,35),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z244_stuffRead, SDL_INTEGER_LIT(0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("stuffRead := ", &(yVarP->z244_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z244_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 10110)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),137(35,35),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Integer(yVarP->z245_myID, SDL_INTEGER_LIT(4), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z245_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z245_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(6, 10128)

/*-----
* ASSIGNMENT theseTimes := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),137(35,35),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_Duration(yVarP->z243_theseTimes,
      SDL_DURATION_LIT(1566.0, 1566, 0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("theseTimes := ", &(yVarP->z243_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z243_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(7, 10147)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),137(35,35),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z243_theseTimes), yVarP->
      z243_theseTimes, coolTimes, ySigN_z242_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(8, 10159)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),134(55,70),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z240_SiDLing, "SiDLing")

/*-----
* INPUT coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),131(55,90),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_coolTimes)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("coolTimes")
    INPUT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(9, 10180)

/*-----
* OUTPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),128(40,110),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z8_requestRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z245_myID, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->
      z246_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead,
      ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z8_requestRead), "requestRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 10200)

/*-----
* NEXTSTATE ForcedWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),125(55,130),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedWait, z241_ForcedWait, "ForcedWait")

/*-----
* INPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),122(40,150),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedWait_approveRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveRead")
    yAssF_SDL_Integer(yVarP->z244_stuffRead, ((yPDef_z9_approveRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(11, 10222)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),119(35,170),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z243_theseTimes), yVarP->
      z243_theseTimes, coolTimes, ySigN_z242_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(12, 10234)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),116(55,195),1,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z240_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),134(55,70),1,1)
******/
static XCONST xInputAction yStaH_z240_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z240_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z240_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z240_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z24_Consumer4, "SiDLing" XCOMMON_EXTRAS,
  z240_SiDLing, yStaH_z240_SiDLing, yStaI_z240_SiDLing, 0, 0, 0
  xCoverage(yStaC_z240_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),134(55,70),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),125(55,130),1,1)
******/
static XCONST xInputAction yStaH_z241_ForcedWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z241_ForcedWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z241_ForcedWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z241_ForcedWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z24_Consumer4, "ForcedWait" XCOMMON_EXTRAS,
  z241_ForcedWait, yStaH_z241_ForcedWait, yStaI_z241_ForcedWait, 0, 0, 0
  xCoverage(yStaC_z241_ForcedWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),125(55,130),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z242_coolTimes = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z24_Consumer4, "coolTimes" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer4.spr(1),143(135,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes,
  yVDef_z24_Consumer4) XSIG_EXTRAS};

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z243_theseTimes = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z24_Consumer4, "theseTimes" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z24_Consumer4, z243_theseTimes), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z244_stuffRead = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z24_Consumer4, "stuffRead" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z24_Consumer4, z244_stuffRead), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z245_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z24_Consumer4, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z24_Consumer4, z245_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer4>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer4.spr(1),143(135,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z246_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z24_Consumer4, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z24_Consumer4, z246_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* PROCESS Consumer5
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z25_Consumer5[ySym_z25_Consumer5+1];
#endif
XCONST XSIGTYPE yPrsS_z25_Consumer5[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z252_coolTimes),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z25_Consumer5[] = {&xStartStateIdRec,
  &yStaR_z250_SiDLing, &yStaR_z251_ForcedWait};
static XPRSNODE yPrsA_z25_Consumer5 = (XPRSNODE)0;
static XPRSNODE yPrsB_z25_Consumer5 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z25_Consumer5 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer5" XCOMMON_EXTRAS,
  yPrsT_z25_Consumer5, yPrsS_z25_Consumer5 xService(0) xOptChan(
  yPrsO_z25_Consumer5), -1 xNrInst(1) xNrInst(1), &yPrsB_z25_Consumer5,
  (xptrint)sizeof(yVDef_z25_Consumer5) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z25_Consumer5 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z25_Consumer5)
  xBreakB(ySym_z25_Consumer5) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z25_Consumer5) xCoverage(0) xCoverage(0), yPAD_z25_Consumer5,
  yFree_z25_Consumer5, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z25_Consumer5)};
static xSignalNode ySigA_z25_Consumer5 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z25_Consumer5 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z25_Consumer5), &ySigA_z25_Consumer5, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Consumer5,"Consumer5",z25_Consumer5,yPAD_z25_Consumer5,
  yVDef_z25_Consumer5)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z25_Consumer5[] = {(xIdNode)&yChaR_z2F_ConsumerLine5,
  (xIdNode)0};
#endif
void yFree_z25_Consumer5(void *yVarP)
{
}

/*+++++
* GR ref function for process Consumer5
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z25_Consumer5 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),140(60,15),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),131(60,90),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),122(45,150),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),137(40,35),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),137(40,35),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),137(40,35),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),137(40,35),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),137(40,35),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),134(60,70),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),128(45,110),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),125(60,130),1,1)";
    case 11: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),119(40,170),1,1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),116(60,195),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Consumer5
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z25_Consumer5)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z25_Consumer5)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Consumer5")

  BEGIN_PAD(yVDef_z25_Consumer5)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),140(60,15),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z25_Consumer5)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z256_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(3, 10450)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),137(40,35),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_PId(yVarP->z256_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z256_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z256_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(4, 10468)

/*-----
* ASSIGNMENT stuffRead := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),137(40,35),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z254_stuffRead, SDL_INTEGER_LIT(0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("stuffRead := ", &(yVarP->z254_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z254_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 10487)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),137(40,35),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Integer(yVarP->z255_myID, SDL_INTEGER_LIT(5), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z255_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z255_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(6, 10505)

/*-----
* ASSIGNMENT theseTimes := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),137(40,35),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_Duration(yVarP->z253_theseTimes,
      SDL_DURATION_LIT(1025.0, 1025, 0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("theseTimes := ", &(yVarP->z253_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z253_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(7, 10524)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),137(40,35),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z253_theseTimes), yVarP->
      z253_theseTimes, coolTimes, ySigN_z252_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(8, 10536)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),134(60,70),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z250_SiDLing, "SiDLing")

/*-----
* INPUT coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),131(60,90),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_coolTimes)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("coolTimes")
    INPUT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(9, 10557)

/*-----
* OUTPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),128(45,110),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z8_requestRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z255_myID, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->
      z256_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead,
      ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z8_requestRead), "requestRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 10577)

/*-----
* NEXTSTATE ForcedWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),125(60,130),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedWait, z251_ForcedWait, "ForcedWait")

/*-----
* INPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),122(45,150),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedWait_approveRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveRead")
    yAssF_SDL_Integer(yVarP->z254_stuffRead, ((yPDef_z9_approveRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(11, 10599)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),119(40,170),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z253_theseTimes), yVarP->
      z253_theseTimes, coolTimes, ySigN_z252_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(12, 10611)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),116(60,195),1,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z250_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),134(60,70),1,1)
******/
static XCONST xInputAction yStaH_z250_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z250_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z250_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z250_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z25_Consumer5, "SiDLing" XCOMMON_EXTRAS,
  z250_SiDLing, yStaH_z250_SiDLing, yStaI_z250_SiDLing, 0, 0, 0
  xCoverage(yStaC_z250_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),134(60,70),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),125(60,130),1,1)
******/
static XCONST xInputAction yStaH_z251_ForcedWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z251_ForcedWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z251_ForcedWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z251_ForcedWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z25_Consumer5, "ForcedWait" XCOMMON_EXTRAS,
  z251_ForcedWait, yStaH_z251_ForcedWait, yStaI_z251_ForcedWait, 0, 0, 0
  xCoverage(yStaC_z251_ForcedWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),125(60,130),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z252_coolTimes = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z25_Consumer5, "coolTimes" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer5.spr(1),143(140,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes,
  yVDef_z25_Consumer5) XSIG_EXTRAS};

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z253_theseTimes = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z25_Consumer5, "theseTimes" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z25_Consumer5, z253_theseTimes), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z254_stuffRead = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z25_Consumer5, "stuffRead" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z25_Consumer5, z254_stuffRead), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z255_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z25_Consumer5, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z25_Consumer5, z255_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer5>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer5.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z256_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z25_Consumer5, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z25_Consumer5, z256_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* PROCESS Consumer6
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z26_Consumer6[ySym_z26_Consumer6+1];
#endif
XCONST XSIGTYPE yPrsS_z26_Consumer6[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z262_coolTimes),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z26_Consumer6[] = {&xStartStateIdRec,
  &yStaR_z260_SiDLing, &yStaR_z261_ForcedWait};
static XPRSNODE yPrsA_z26_Consumer6 = (XPRSNODE)0;
static XPRSNODE yPrsB_z26_Consumer6 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z26_Consumer6 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer6" XCOMMON_EXTRAS,
  yPrsT_z26_Consumer6, yPrsS_z26_Consumer6 xService(0) xOptChan(
  yPrsO_z26_Consumer6), -1 xNrInst(1) xNrInst(1), &yPrsB_z26_Consumer6,
  (xptrint)sizeof(yVDef_z26_Consumer6) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z26_Consumer6 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z26_Consumer6)
  xBreakB(ySym_z26_Consumer6) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z26_Consumer6) xCoverage(0) xCoverage(0), yPAD_z26_Consumer6,
  yFree_z26_Consumer6, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z26_Consumer6)};
static xSignalNode ySigA_z26_Consumer6 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z26_Consumer6 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z26_Consumer6), &ySigA_z26_Consumer6, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Consumer6,"Consumer6",z26_Consumer6,yPAD_z26_Consumer6,
  yVDef_z26_Consumer6)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z26_Consumer6[] = {(xIdNode)&yChaR_z2G_ConsumerLine6,
  (xIdNode)0};
#endif
void yFree_z26_Consumer6(void *yVarP)
{
}

/*+++++
* GR ref function for process Consumer6
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z26_Consumer6 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),140(60,15),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),131(60,90),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),122(45,150),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),137(40,35),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),137(40,35),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),137(40,35),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),137(40,35),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),137(40,35),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),134(60,70),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),128(45,110),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),125(60,130),1,1)";
    case 11: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),119(40,170),1,1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),116(60,195),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Consumer6
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z26_Consumer6)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z26_Consumer6)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Consumer6")

  BEGIN_PAD(yVDef_z26_Consumer6)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),140(60,15),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z26_Consumer6)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z266_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(3, 10827)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),137(40,35),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_PId(yVarP->z266_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z266_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z266_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(4, 10845)

/*-----
* ASSIGNMENT stuffRead := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),137(40,35),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z264_stuffRead, SDL_INTEGER_LIT(0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("stuffRead := ", &(yVarP->z264_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z264_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 10864)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),137(40,35),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Integer(yVarP->z265_myID, SDL_INTEGER_LIT(6), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z265_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z265_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(6, 10882)

/*-----
* ASSIGNMENT theseTimes := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),137(40,35),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_Duration(yVarP->z263_theseTimes,
      SDL_DURATION_LIT(1911.0, 1911, 0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("theseTimes := ", &(yVarP->z263_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z263_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(7, 10901)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),137(40,35),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z263_theseTimes), yVarP->
      z263_theseTimes, coolTimes, ySigN_z262_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(8, 10913)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),134(60,70),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z260_SiDLing, "SiDLing")

/*-----
* INPUT coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),131(60,90),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_coolTimes)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("coolTimes")
    INPUT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(9, 10934)

/*-----
* OUTPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),128(45,110),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z8_requestRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z265_myID, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->
      z266_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead,
      ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z8_requestRead), "requestRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 10954)

/*-----
* NEXTSTATE ForcedWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),125(60,130),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedWait, z261_ForcedWait, "ForcedWait")

/*-----
* INPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),122(45,150),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedWait_approveRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveRead")
    yAssF_SDL_Integer(yVarP->z264_stuffRead, ((yPDef_z9_approveRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(11, 10976)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),119(40,170),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z263_theseTimes), yVarP->
      z263_theseTimes, coolTimes, ySigN_z262_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(12, 10988)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),116(60,195),1,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z260_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),134(60,70),1,1)
******/
static XCONST xInputAction yStaH_z260_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z260_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z260_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z260_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z26_Consumer6, "SiDLing" XCOMMON_EXTRAS,
  z260_SiDLing, yStaH_z260_SiDLing, yStaI_z260_SiDLing, 0, 0, 0
  xCoverage(yStaC_z260_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),134(60,70),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),125(60,130),1,1)
******/
static XCONST xInputAction yStaH_z261_ForcedWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z261_ForcedWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z261_ForcedWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z261_ForcedWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z26_Consumer6, "ForcedWait" XCOMMON_EXTRAS,
  z261_ForcedWait, yStaH_z261_ForcedWait, yStaI_z261_ForcedWait, 0, 0, 0
  xCoverage(yStaC_z261_ForcedWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),125(60,130),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z262_coolTimes = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z26_Consumer6, "coolTimes" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer6.spr(1),143(140,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes,
  yVDef_z26_Consumer6) XSIG_EXTRAS};

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z263_theseTimes = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z26_Consumer6, "theseTimes" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z26_Consumer6, z263_theseTimes), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z264_stuffRead = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z26_Consumer6, "stuffRead" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z26_Consumer6, z264_stuffRead), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z265_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z26_Consumer6, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z26_Consumer6, z265_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer6>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer6.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z266_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z26_Consumer6, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z26_Consumer6, z266_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* PROCESS Consumer7
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z27_Consumer7[ySym_z27_Consumer7+1];
#endif
XCONST XSIGTYPE yPrsS_z27_Consumer7[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z272_coolTimes),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z27_Consumer7[] = {&xStartStateIdRec,
  &yStaR_z270_SiDLing, &yStaR_z271_ForcedWait};
static XPRSNODE yPrsA_z27_Consumer7 = (XPRSNODE)0;
static XPRSNODE yPrsB_z27_Consumer7 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z27_Consumer7 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer7" XCOMMON_EXTRAS,
  yPrsT_z27_Consumer7, yPrsS_z27_Consumer7 xService(0) xOptChan(
  yPrsO_z27_Consumer7), -1 xNrInst(1) xNrInst(1), &yPrsB_z27_Consumer7,
  (xptrint)sizeof(yVDef_z27_Consumer7) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z27_Consumer7 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z27_Consumer7)
  xBreakB(ySym_z27_Consumer7) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z27_Consumer7) xCoverage(0) xCoverage(0), yPAD_z27_Consumer7,
  yFree_z27_Consumer7, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z27_Consumer7)};
static xSignalNode ySigA_z27_Consumer7 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z27_Consumer7 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z27_Consumer7), &ySigA_z27_Consumer7, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Consumer7,"Consumer7",z27_Consumer7,yPAD_z27_Consumer7,
  yVDef_z27_Consumer7)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z27_Consumer7[] = {(xIdNode)&yChaR_z2H_ConsumerLine7,
  (xIdNode)0};
#endif
void yFree_z27_Consumer7(void *yVarP)
{
}

/*+++++
* GR ref function for process Consumer7
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z27_Consumer7 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),140(60,15),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),131(60,90),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),122(45,150),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),137(40,35),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),137(40,35),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),137(40,35),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),137(40,35),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),137(40,35),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),134(60,70),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),128(45,110),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),125(60,130),1,1)";
    case 11: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),119(40,170),1,1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),116(60,195),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Consumer7
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z27_Consumer7)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z27_Consumer7)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Consumer7")

  BEGIN_PAD(yVDef_z27_Consumer7)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),140(60,15),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z27_Consumer7)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z276_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(3, 11204)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),137(40,35),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_PId(yVarP->z276_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z276_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z276_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(4, 11222)

/*-----
* ASSIGNMENT stuffRead := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),137(40,35),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z274_stuffRead, SDL_INTEGER_LIT(0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("stuffRead := ", &(yVarP->z274_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z274_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 11241)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),137(40,35),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Integer(yVarP->z275_myID, SDL_INTEGER_LIT(7), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z275_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z275_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(6, 11259)

/*-----
* ASSIGNMENT theseTimes := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),137(40,35),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_Duration(yVarP->z273_theseTimes,
      SDL_DURATION_LIT(1403.0, 1403, 0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("theseTimes := ", &(yVarP->z273_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z273_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(7, 11278)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),137(40,35),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z273_theseTimes), yVarP->
      z273_theseTimes, coolTimes, ySigN_z272_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(8, 11290)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),134(60,70),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z270_SiDLing, "SiDLing")

/*-----
* INPUT coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),131(60,90),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_coolTimes)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("coolTimes")
    INPUT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(9, 11311)

/*-----
* OUTPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),128(45,110),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z8_requestRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z275_myID, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->
      z276_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead,
      ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z8_requestRead), "requestRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 11331)

/*-----
* NEXTSTATE ForcedWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),125(60,130),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedWait, z271_ForcedWait, "ForcedWait")

/*-----
* INPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),122(45,150),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedWait_approveRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveRead")
    yAssF_SDL_Integer(yVarP->z274_stuffRead, ((yPDef_z9_approveRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(11, 11353)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),119(40,170),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z273_theseTimes), yVarP->
      z273_theseTimes, coolTimes, ySigN_z272_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(12, 11365)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),116(60,195),1,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z270_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),134(60,70),1,1)
******/
static XCONST xInputAction yStaH_z270_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z270_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z270_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z270_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z27_Consumer7, "SiDLing" XCOMMON_EXTRAS,
  z270_SiDLing, yStaH_z270_SiDLing, yStaI_z270_SiDLing, 0, 0, 0
  xCoverage(yStaC_z270_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),134(60,70),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),125(60,130),1,1)
******/
static XCONST xInputAction yStaH_z271_ForcedWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z271_ForcedWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z271_ForcedWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z271_ForcedWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z27_Consumer7, "ForcedWait" XCOMMON_EXTRAS,
  z271_ForcedWait, yStaH_z271_ForcedWait, yStaI_z271_ForcedWait, 0, 0, 0
  xCoverage(yStaC_z271_ForcedWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),125(60,130),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z272_coolTimes = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z27_Consumer7, "coolTimes" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer7.spr(1),143(140,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes,
  yVDef_z27_Consumer7) XSIG_EXTRAS};

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z273_theseTimes = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z27_Consumer7, "theseTimes" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z27_Consumer7, z273_theseTimes), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z274_stuffRead = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z27_Consumer7, "stuffRead" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z27_Consumer7, z274_stuffRead), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z275_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z27_Consumer7, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z27_Consumer7, z275_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer7>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer7.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z276_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z27_Consumer7, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z27_Consumer7, z276_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* PROCESS Consumer8
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z28_Consumer8[ySym_z28_Consumer8+1];
#endif
XCONST XSIGTYPE yPrsS_z28_Consumer8[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z282_coolTimes),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z28_Consumer8[] = {&xStartStateIdRec,
  &yStaR_z280_SiDLing, &yStaR_z281_ForcedWait};
static XPRSNODE yPrsA_z28_Consumer8 = (XPRSNODE)0;
static XPRSNODE yPrsB_z28_Consumer8 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z28_Consumer8 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer8" XCOMMON_EXTRAS,
  yPrsT_z28_Consumer8, yPrsS_z28_Consumer8 xService(0) xOptChan(
  yPrsO_z28_Consumer8), -1 xNrInst(1) xNrInst(1), &yPrsB_z28_Consumer8,
  (xptrint)sizeof(yVDef_z28_Consumer8) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z28_Consumer8 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z28_Consumer8)
  xBreakB(ySym_z28_Consumer8) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z28_Consumer8) xCoverage(0) xCoverage(0), yPAD_z28_Consumer8,
  yFree_z28_Consumer8, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z28_Consumer8)};
static xSignalNode ySigA_z28_Consumer8 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z28_Consumer8 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z28_Consumer8), &ySigA_z28_Consumer8, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Consumer8,"Consumer8",z28_Consumer8,yPAD_z28_Consumer8,
  yVDef_z28_Consumer8)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z28_Consumer8[] = {(xIdNode)&yChaR_z2I_ConsumerLine8,
  (xIdNode)0};
#endif
void yFree_z28_Consumer8(void *yVarP)
{
}

/*+++++
* GR ref function for process Consumer8
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z28_Consumer8 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),140(60,15),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),131(60,90),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),122(45,150),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),137(40,35),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),137(40,35),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),137(40,35),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),137(40,35),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),137(40,35),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),134(60,70),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),128(45,110),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),125(60,130),1,1)";
    case 11: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),119(40,170),1,1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),116(60,195),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Consumer8
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z28_Consumer8)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z28_Consumer8)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Consumer8")

  BEGIN_PAD(yVDef_z28_Consumer8)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),140(60,15),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z28_Consumer8)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z286_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(3, 11581)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),137(40,35),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_PId(yVarP->z286_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z286_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z286_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(4, 11599)

/*-----
* ASSIGNMENT stuffRead := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),137(40,35),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z284_stuffRead, SDL_INTEGER_LIT(0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("stuffRead := ", &(yVarP->z284_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z284_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 11618)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),137(40,35),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Integer(yVarP->z285_myID, SDL_INTEGER_LIT(8), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z285_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z285_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(6, 11636)

/*-----
* ASSIGNMENT theseTimes := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),137(40,35),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_Duration(yVarP->z283_theseTimes,
      SDL_DURATION_LIT(1721.0, 1721, 0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("theseTimes := ", &(yVarP->z283_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z283_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(7, 11655)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),137(40,35),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z283_theseTimes), yVarP->
      z283_theseTimes, coolTimes, ySigN_z282_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(8, 11667)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),134(60,70),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z280_SiDLing, "SiDLing")

/*-----
* INPUT coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),131(60,90),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_coolTimes)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("coolTimes")
    INPUT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(9, 11688)

/*-----
* OUTPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),128(45,110),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z8_requestRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z285_myID, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->
      z286_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead,
      ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z8_requestRead), "requestRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 11708)

/*-----
* NEXTSTATE ForcedWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),125(60,130),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedWait, z281_ForcedWait, "ForcedWait")

/*-----
* INPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),122(45,150),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedWait_approveRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveRead")
    yAssF_SDL_Integer(yVarP->z284_stuffRead, ((yPDef_z9_approveRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(11, 11730)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),119(40,170),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z283_theseTimes), yVarP->
      z283_theseTimes, coolTimes, ySigN_z282_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(12, 11742)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),116(60,195),1,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z280_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),134(60,70),1,1)
******/
static XCONST xInputAction yStaH_z280_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z280_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z280_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z280_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z28_Consumer8, "SiDLing" XCOMMON_EXTRAS,
  z280_SiDLing, yStaH_z280_SiDLing, yStaI_z280_SiDLing, 0, 0, 0
  xCoverage(yStaC_z280_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),134(60,70),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),125(60,130),1,1)
******/
static XCONST xInputAction yStaH_z281_ForcedWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z281_ForcedWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z281_ForcedWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z281_ForcedWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z28_Consumer8, "ForcedWait" XCOMMON_EXTRAS,
  z281_ForcedWait, yStaH_z281_ForcedWait, yStaI_z281_ForcedWait, 0, 0, 0
  xCoverage(yStaC_z281_ForcedWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),125(60,130),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z282_coolTimes = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z28_Consumer8, "coolTimes" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer8.spr(1),143(140,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes,
  yVDef_z28_Consumer8) XSIG_EXTRAS};

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z283_theseTimes = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z28_Consumer8, "theseTimes" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z28_Consumer8, z283_theseTimes), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z284_stuffRead = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z28_Consumer8, "stuffRead" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z28_Consumer8, z284_stuffRead), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z285_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z28_Consumer8, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z28_Consumer8, z285_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer8>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer8.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z286_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z28_Consumer8, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z28_Consumer8, z286_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* PROCESS Consumer9
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z29_Consumer9[ySym_z29_Consumer9+1];
#endif
XCONST XSIGTYPE yPrsS_z29_Consumer9[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z292_coolTimes),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z29_Consumer9[] = {&xStartStateIdRec,
  &yStaR_z290_SiDLing, &yStaR_z291_ForcedWait};
static XPRSNODE yPrsA_z29_Consumer9 = (XPRSNODE)0;
static XPRSNODE yPrsB_z29_Consumer9 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z29_Consumer9 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer9" XCOMMON_EXTRAS,
  yPrsT_z29_Consumer9, yPrsS_z29_Consumer9 xService(0) xOptChan(
  yPrsO_z29_Consumer9), -1 xNrInst(1) xNrInst(1), &yPrsB_z29_Consumer9,
  (xptrint)sizeof(yVDef_z29_Consumer9) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z29_Consumer9 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z29_Consumer9)
  xBreakB(ySym_z29_Consumer9) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z29_Consumer9) xCoverage(0) xCoverage(0), yPAD_z29_Consumer9,
  yFree_z29_Consumer9, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z29_Consumer9)};
static xSignalNode ySigA_z29_Consumer9 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z29_Consumer9 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z29_Consumer9), &ySigA_z29_Consumer9, 0
  xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Consumer9,"Consumer9",z29_Consumer9,yPAD_z29_Consumer9,
  yVDef_z29_Consumer9)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z29_Consumer9[] = {(xIdNode)&yChaR_z2J_ConsumerLine9,
  (xIdNode)0};
#endif
void yFree_z29_Consumer9(void *yVarP)
{
}

/*+++++
* GR ref function for process Consumer9
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr,4,1,18)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z29_Consumer9 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),140(60,15),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),131(60,90),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),122(45,150),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),137(40,35),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),137(40,35),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),137(40,35),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),137(40,35),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),137(40,35),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),134(60,70),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),128(45,110),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),125(60,130),1,1)";
    case 11: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),119(40,170),1,1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),116(60,195),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Consumer9
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr,4,1,18)
++++++*/
YPAD_FUNCTION(yPAD_z29_Consumer9)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z29_Consumer9)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Consumer9")

  BEGIN_PAD(yVDef_z29_Consumer9)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),140(60,15),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z29_Consumer9)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z296_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(3, 11958)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),137(40,35),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_PId(yVarP->z296_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z296_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z296_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(4, 11976)

/*-----
* ASSIGNMENT stuffRead := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),137(40,35),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z294_stuffRead, SDL_INTEGER_LIT(0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("stuffRead := ", &(yVarP->z294_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z294_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 11995)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),137(40,35),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Integer(yVarP->z295_myID, SDL_INTEGER_LIT(9), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z295_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z295_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(6, 12013)

/*-----
* ASSIGNMENT theseTimes := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),137(40,35),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_Duration(yVarP->z293_theseTimes,
      SDL_DURATION_LIT(1520.0, 1520, 0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("theseTimes := ", &(yVarP->z293_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z293_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(7, 12032)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),137(40,35),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z293_theseTimes), yVarP->
      z293_theseTimes, coolTimes, ySigN_z292_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(8, 12044)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),134(60,70),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z290_SiDLing, "SiDLing")

/*-----
* INPUT coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),131(60,90),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_coolTimes)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("coolTimes")
    INPUT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(9, 12065)

/*-----
* OUTPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),128(45,110),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z8_requestRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z295_myID, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->
      z296_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead,
      ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z8_requestRead), "requestRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 12085)

/*-----
* NEXTSTATE ForcedWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),125(60,130),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedWait, z291_ForcedWait, "ForcedWait")

/*-----
* INPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),122(45,150),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedWait_approveRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveRead")
    yAssF_SDL_Integer(yVarP->z294_stuffRead, ((yPDef_z9_approveRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(11, 12107)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),119(40,170),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z293_theseTimes), yVarP->
      z293_theseTimes, coolTimes, ySigN_z292_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(12, 12119)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),116(60,195),1,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z290_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),134(60,70),1,1)
******/
static XCONST xInputAction yStaH_z290_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z290_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z290_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z290_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z29_Consumer9, "SiDLing" XCOMMON_EXTRAS,
  z290_SiDLing, yStaH_z290_SiDLing, yStaI_z290_SiDLing, 0, 0, 0
  xCoverage(yStaC_z290_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),134(60,70),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),125(60,130),1,1)
******/
static XCONST xInputAction yStaH_z291_ForcedWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z291_ForcedWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z291_ForcedWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z291_ForcedWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z29_Consumer9, "ForcedWait" XCOMMON_EXTRAS,
  z291_ForcedWait, yStaH_z291_ForcedWait, yStaI_z291_ForcedWait, 0, 0, 0
  xCoverage(yStaC_z291_ForcedWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),125(60,130),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z292_coolTimes = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z29_Consumer9, "coolTimes" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer9.spr(1),143(140,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes,
  yVDef_z29_Consumer9) XSIG_EXTRAS};

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z293_theseTimes = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z29_Consumer9, "theseTimes" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z29_Consumer9, z293_theseTimes), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z294_stuffRead = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z29_Consumer9, "stuffRead" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z29_Consumer9, z294_stuffRead), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z295_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z29_Consumer9, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z29_Consumer9, z295_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer9>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer9.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z296_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z29_Consumer9, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z29_Consumer9, z296_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* PROCESS Consumer10
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr,4,1,9)
******/
#ifdef XCOVERAGE
long int yPrsC_z2A_Consumer10[ySym_z2A_Consumer10+1];
#endif
XCONST XSIGTYPE yPrsS_z2A_Consumer10[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), SIGNAL_NAME(coolTimes, &ySigR_z2A2_coolTimes),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z2A_Consumer10[] = {&xStartStateIdRec,
  &yStaR_z2A0_SiDLing, &yStaR_z2A1_ForcedWait};
static XPRSNODE yPrsA_z2A_Consumer10 = (XPRSNODE)0;
static XPRSNODE yPrsB_z2A_Consumer10 = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z2A_Consumer10 = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "Consumer10" XCOMMON_EXTRAS,
  yPrsT_z2A_Consumer10, yPrsS_z2A_Consumer10 xService(0) xOptChan(
  yPrsO_z2A_Consumer10), -1 xNrInst(1) xNrInst(1), &yPrsB_z2A_Consumer10,
  (xptrint)sizeof(yVDef_z2A_Consumer10) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z2A_Consumer10 xTrace(-1) xGRTrace(-1) xBreakB(yRef_z2A_Consumer10)
  xBreakB(ySym_z2A_Consumer10) xBreakB(2) xMSCETrace(-1)
  xCoverage(yPrsC_z2A_Consumer10) xCoverage(0) xCoverage(0),
  yPAD_z2A_Consumer10, yFree_z2A_Consumer10, (xPrsIdNode)0, (xPrdIdNode *)0,
  (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr,4,1,9)")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z2A_Consumer10)};
static xSignalNode ySigA_z2A_Consumer10 = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z2A_Consumer10 = {xStartUpSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers xIdNames("-")
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_z2A_Consumer10), &ySigA_z2A_Consumer10,
  0 xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr,4,1,9)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
XPROCESSDEF_C(Consumer10,"Consumer10",z2A_Consumer10,yPAD_z2A_Consumer10,
  yVDef_z2A_Consumer10)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z2A_Consumer10[] = {(xIdNode)&yChaR_z2K_ConsumerLine10,
  (xIdNode)0};
#endif
void yFree_z2A_Consumer10(void *yVarP)
{
}

/*+++++
* GR ref function for process Consumer10
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr,4,1,19)
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z2A_Consumer10 (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),140(60,15),1,1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),131(60,90),1,1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),122(45,150),1,1)";
    case 3: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),137(40,35),1,1)";
    case 4: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),137(40,35),2,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),137(40,35),3,1)";
    case 6: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),137(40,35),4,1)";
    case 7: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),137(40,35),5,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),134(60,70),1,1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),128(45,110),1,1)";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),125(60,130),1,1)";
    case 11: *SymbolType = xsSet;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),119(40,170),1,1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),116(60,195),1,1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Consumer10
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr,4,1,19)
++++++*/
YPAD_FUNCTION(yPAD_z2A_Consumer10)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z2A_Consumer10)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Consumer10")

  BEGIN_PAD(yVDef_z2A_Consumer10)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),140(60,15),1,1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z2A_Consumer10)
    XAT_FIRST_SYMBOL(0)
    yAssF_SDL_PId(yVarP->z2A6_mahPID, SDL_NULL, XASS_MR_ASS_NF);
    INIT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(3, 12336)

/*-----
* ASSIGNMENT mahPID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),137(40,35),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    yAssF_SDL_PId(yVarP->z2A6_mahPID, SDL_SELF, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("mahPID := ", &(yVarP->z2A6_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "mahPID := ", &(yVarP->z2A6_mahPID),
      (tSDLTypeInfo *)&ySDL_SDL_PId);
#endif
    XBETWEEN_STMTS(4, 12354)

/*-----
* ASSIGNMENT stuffRead := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),137(40,35),2,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    yAssF_SDL_Integer(yVarP->z2A4_stuffRead, SDL_INTEGER_LIT(0),
      XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("stuffRead := ", &(yVarP->z2A4_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "stuffRead := ", &(yVarP->z2A4_stuffRead),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(5, 12373)

/*-----
* ASSIGNMENT myID := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),137(40,35),3,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_Integer(yVarP->z2A5_myID, SDL_INTEGER_LIT(10), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("myID := ", &(yVarP->z2A5_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "myID := ", &(yVarP->z2A5_myID),
      (tSDLTypeInfo *)&ySDL_SDL_Integer);
#endif
    XBETWEEN_STMTS(6, 12391)

/*-----
* ASSIGNMENT theseTimes := ...
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),137(40,35),4,1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    yAssF_SDL_Duration(yVarP->z2A3_theseTimes,
      SDL_DURATION_LIT(2000.0, 2000, 0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("theseTimes := ", &(yVarP->z2A3_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
#ifdef XMSCE
    xMSCEAssign(VarP, "theseTimes := ", &(yVarP->z2A3_theseTimes),
      (tSDLTypeInfo *)&ySDL_SDL_Duration);
#endif
    XBETWEEN_STMTS(7, 12410)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),137(40,35),5,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z2A3_theseTimes), yVarP->
      z2A3_theseTimes, coolTimes, ySigN_z2A2_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(8, 12422)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),134(60,70),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z2A0_SiDLing, "SiDLing")

/*-----
* INPUT coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),131(60,90),1,1)
------*/
  case 1:
    XDEBUG_LABEL(SiDLing_coolTimes)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("coolTimes")
    INPUT_TIMER_VAR(yVarP->yTim_coolTimes)
    XBETWEEN_SYMBOLS(9, 12443)

/*-----
* OUTPUT requestRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),128(45,110),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL_PAR(requestRead, ySigN_z8_requestRead, TO_PROCESS(Io,
      yPrsN_z13_Io), yPDef_z8_requestRead)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param1,
      yVarP->z2A5_myID, XASS_MR_ASS_NF);
    yAssF_SDL_PId(((yPDef_z8_requestRead *)OUTSIGNAL_DATA_PTR)->Param2, yVarP->
      z2A6_mahPID, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, requestRead,
      ySigN_z8_requestRead, TO_PROCESS(Io, yPrsN_z13_Io),
      sizeof(yPDef_z8_requestRead), "requestRead")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 12463)

/*-----
* NEXTSTATE ForcedWait
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),125(60,130),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(ForcedWait, z2A1_ForcedWait, "ForcedWait")

/*-----
* INPUT approveRead
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),122(45,150),1,1)
------*/
  case 2:
    XDEBUG_LABEL(ForcedWait_approveRead)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("approveRead")
    yAssF_SDL_Integer(yVarP->z2A4_stuffRead, ((yPDef_z9_approveRead *)ySVarP)->
      Param1, XASS_AR_ASS_FR);
    XBETWEEN_SYMBOLS(11, 12485)

/*-----
* SET coolTimes
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),119(40,170),1,1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, yVarP->z2A3_theseTimes), yVarP->
      z2A3_theseTimes, coolTimes, ySigN_z2A2_coolTimes, yVarP->yTim_coolTimes,
      "coolTimes")
    XBETWEEN_SYMBOLS(12, 12497)

/*-----
* NEXTSTATE SiDLing
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),116(60,195),1,1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(SiDLing, z2A0_SiDLing, "SiDLing")
  }
}

/*****
* STATE SiDLing
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),134(60,70),1,1)
******/
static XCONST xInputAction yStaH_z2A0_SiDLing[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z2A0_SiDLing[] = {0, 1, 0};
#ifdef XCOVERAGE
static long int yStaC_z2A0_SiDLing[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z2A0_SiDLing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z2A_Consumer10, "SiDLing" XCOMMON_EXTRAS,
  z2A0_SiDLing, yStaH_z2A0_SiDLing, yStaI_z2A0_SiDLing, 0, 0, 0
  xCoverage(yStaC_z2A0_SiDLing), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),134(60,70),1,1)")
  XSTA_EXTRAS};

/*****
* STATE ForcedWait
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),125(60,130),1,1)
******/
static XCONST xInputAction yStaH_z2A1_ForcedWait[] = {xInput, xDiscard,
  xDiscard};
static XCONST XINPUTREFTYPE yStaI_z2A1_ForcedWait[] = {2, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z2A1_ForcedWait[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z2A1_ForcedWait = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z2A_Consumer10, "ForcedWait" XCOMMON_EXTRAS,
  z2A1_ForcedWait, yStaH_z2A1_ForcedWait, yStaI_z2A1_ForcedWait, 0, 0, 0
  xCoverage(yStaC_z2A1_ForcedWait), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),125(60,130),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER coolTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z2A2_coolTimes = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z2A_Consumer10, "coolTimes" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(coolTimes)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Consumer10.spr(1),143(140,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) OFFSET_TIMER_VAR(yTim_coolTimes,
  yVDef_z2A_Consumer10) XSIG_EXTRAS};

/*****
* DCL theseTimes
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),3,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z2A3_theseTimes = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z2A_Consumer10, "theseTimes" XCOMMON_EXTRAS,
  &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration,
  xOffsetOf(yVDef_z2A_Consumer10, z2A3_theseTimes), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL stuffRead
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),4,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z2A4_stuffRead = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z2A_Consumer10, "stuffRead" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z2A_Consumer10, z2A4_stuffRead), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL myID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),5,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z2A5_myID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z2A_Consumer10, "myID" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yVDef_z2A_Consumer10, z2A5_myID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* DCL mahPID
* <<SYSTEM Concuro/BLOCK Consumers/PROCESS Consumer10>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumer10.spr(1),143(140,10),6,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z2A6_mahPID = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z2A_Consumer10, "mahPID" XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yVDef_z2A_Consumer10, z2A6_mahPID), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumerLine1
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),119(48,30),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2B_ConsumerLine1[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2B_ConsumerLine1[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z2B_ConsumerLine1[] = {(xIdNode)&yChaR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z2B_ConsumerLine1[] = {(xIdNode)&yPrsR_z21_Consumer,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z2B_ConsumerLine1 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine1"
  XCOMMON_EXTRAS, yChaS_z2B_ConsumerLine1, yChaO_z2B_ConsumerLine1,
  &yChaRR_z2B_ConsumerLine1 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2B_ConsumerLine1 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine1"
  XCOMMON_EXTRAS, yChaSR_z2B_ConsumerLine1, yChaOR_z2B_ConsumerLine1,
  &yChaR_z2B_ConsumerLine1 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumerLine2
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),158(70,47),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2C_ConsumerLine2[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2C_ConsumerLine2[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z2C_ConsumerLine2[] = {(xIdNode)&yChaR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z2C_ConsumerLine2[] = {(xIdNode)&yPrsR_z22_Consumer2,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z2C_ConsumerLine2 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine2"
  XCOMMON_EXTRAS, yChaS_z2C_ConsumerLine2, yChaO_z2C_ConsumerLine2,
  &yChaRR_z2C_ConsumerLine2 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2C_ConsumerLine2 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine2"
  XCOMMON_EXTRAS, yChaSR_z2C_ConsumerLine2, yChaOR_z2C_ConsumerLine2,
  &yChaR_z2C_ConsumerLine2 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumerLine3
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),167(70,62),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2D_ConsumerLine3[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2D_ConsumerLine3[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z2D_ConsumerLine3[] = {(xIdNode)&yChaR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z2D_ConsumerLine3[] = {(xIdNode)&yPrsR_z23_Consumer3,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z2D_ConsumerLine3 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine3"
  XCOMMON_EXTRAS, yChaS_z2D_ConsumerLine3, yChaO_z2D_ConsumerLine3,
  &yChaRR_z2D_ConsumerLine3 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2D_ConsumerLine3 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine3"
  XCOMMON_EXTRAS, yChaSR_z2D_ConsumerLine3, yChaOR_z2D_ConsumerLine3,
  &yChaR_z2D_ConsumerLine3 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumerLine4
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),176(70,77),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2E_ConsumerLine4[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2E_ConsumerLine4[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z2E_ConsumerLine4[] = {(xIdNode)&yChaR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z2E_ConsumerLine4[] = {(xIdNode)&yPrsR_z24_Consumer4,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z2E_ConsumerLine4 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine4"
  XCOMMON_EXTRAS, yChaS_z2E_ConsumerLine4, yChaO_z2E_ConsumerLine4,
  &yChaRR_z2E_ConsumerLine4 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2E_ConsumerLine4 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine4"
  XCOMMON_EXTRAS, yChaSR_z2E_ConsumerLine4, yChaOR_z2E_ConsumerLine4,
  &yChaR_z2E_ConsumerLine4 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumerLine5
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),185(70,92),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2F_ConsumerLine5[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2F_ConsumerLine5[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z2F_ConsumerLine5[] = {(xIdNode)&yChaR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z2F_ConsumerLine5[] = {(xIdNode)&yPrsR_z25_Consumer5,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z2F_ConsumerLine5 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine5"
  XCOMMON_EXTRAS, yChaS_z2F_ConsumerLine5, yChaO_z2F_ConsumerLine5,
  &yChaRR_z2F_ConsumerLine5 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2F_ConsumerLine5 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine5"
  XCOMMON_EXTRAS, yChaSR_z2F_ConsumerLine5, yChaOR_z2F_ConsumerLine5,
  &yChaR_z2F_ConsumerLine5 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumerLine6
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),194(70,107),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2G_ConsumerLine6[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2G_ConsumerLine6[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z2G_ConsumerLine6[] = {(xIdNode)&yChaR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z2G_ConsumerLine6[] = {(xIdNode)&yPrsR_z26_Consumer6,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z2G_ConsumerLine6 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine6"
  XCOMMON_EXTRAS, yChaS_z2G_ConsumerLine6, yChaO_z2G_ConsumerLine6,
  &yChaRR_z2G_ConsumerLine6 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2G_ConsumerLine6 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine6"
  XCOMMON_EXTRAS, yChaSR_z2G_ConsumerLine6, yChaOR_z2G_ConsumerLine6,
  &yChaR_z2G_ConsumerLine6 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumerLine7
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),212(70,122),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2H_ConsumerLine7[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2H_ConsumerLine7[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z2H_ConsumerLine7[] = {(xIdNode)&yChaR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z2H_ConsumerLine7[] = {(xIdNode)&yPrsR_z27_Consumer7,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z2H_ConsumerLine7 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine7"
  XCOMMON_EXTRAS, yChaS_z2H_ConsumerLine7, yChaO_z2H_ConsumerLine7,
  &yChaRR_z2H_ConsumerLine7 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2H_ConsumerLine7 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine7"
  XCOMMON_EXTRAS, yChaSR_z2H_ConsumerLine7, yChaOR_z2H_ConsumerLine7,
  &yChaR_z2H_ConsumerLine7 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumerLine8
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),221(70,137),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2I_ConsumerLine8[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2I_ConsumerLine8[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z2I_ConsumerLine8[] = {(xIdNode)&yChaR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z2I_ConsumerLine8[] = {(xIdNode)&yPrsR_z28_Consumer8,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z2I_ConsumerLine8 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine8"
  XCOMMON_EXTRAS, yChaS_z2I_ConsumerLine8, yChaO_z2I_ConsumerLine8,
  &yChaRR_z2I_ConsumerLine8 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2I_ConsumerLine8 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine8"
  XCOMMON_EXTRAS, yChaSR_z2I_ConsumerLine8, yChaOR_z2I_ConsumerLine8,
  &yChaR_z2I_ConsumerLine8 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumerLine9
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),230(70,152),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2J_ConsumerLine9[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2J_ConsumerLine9[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z2J_ConsumerLine9[] = {(xIdNode)&yChaR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z2J_ConsumerLine9[] = {(xIdNode)&yPrsR_z29_Consumer9,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z2J_ConsumerLine9 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine9"
  XCOMMON_EXTRAS, yChaS_z2J_ConsumerLine9, yChaO_z2J_ConsumerLine9,
  &yChaRR_z2J_ConsumerLine9 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2J_ConsumerLine9 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine9"
  XCOMMON_EXTRAS, yChaSR_z2J_ConsumerLine9, yChaOR_z2J_ConsumerLine9,
  &yChaR_z2J_ConsumerLine9 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE ConsumerLine10
* <<SYSTEM Concuro/BLOCK Consumers>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk(1),239(70,167),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2K_ConsumerLine10[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2K_ConsumerLine10[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST xIdNode yChaO_z2K_ConsumerLine10[] = {(xIdNode)&yChaR_z5_ConsumerDongle,
  (xIdNode)0};
XCONST xIdNode yChaOR_z2K_ConsumerLine10[] = {(xIdNode)&yPrsR_z2A_Consumer10,
  (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z2K_ConsumerLine10 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine10"
  XCOMMON_EXTRAS, yChaS_z2K_ConsumerLine10, yChaO_z2K_ConsumerLine10,
  &yChaRR_z2K_ConsumerLine10 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2K_ConsumerLine10 = {xSignalrouteEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z2_Consumers, "ConsumerLine10"
  XCOMMON_EXTRAS, yChaSR_z2K_ConsumerLine10, yChaOR_z2K_ConsumerLine10,
  &yChaR_z2K_ConsumerLine10 XCHA_EXTRAS};
#endif

/*****
* CHANNEL ProducerDongle
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),140(130,72),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z3_ProducerDongle[] = {SIGNAL_NAME(requestWrite,
  &ySigR_z6_requestWrite), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z3_ProducerDongle[] = {SIGNAL_NAME(approveWrite,
  &ySigR_z7_approveWrite), (XSIGTYPE)0};
XCONST struct xChannelIdStruct yChaR_z3_ProducerDongle = {xChannelEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ProducerDongle"
  XCOMMON_EXTRAS, yChaS_z3_ProducerDongle, yChaO_z3_ProducerDongle,
  &yChaRR_z3_ProducerDongle XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z3_ProducerDongle = {xChannelEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ProducerDongle"
  XCOMMON_EXTRAS, yChaSR_z3_ProducerDongle, yChaOR_z3_ProducerDongle,
  &yChaR_z3_ProducerDongle XCHA_EXTRAS};
#endif

/*****
* CHANNEL ThisWayOrTheHighway
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),122(45,102),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z4_ThisWayOrTheHighway[] =
  {SIGNAL_NAME(consumerXReadItemY, &ySigR_zA_consumerXReadItemY),
  SIGNAL_NAME(producerXWroteItemY, &ySigR_zB_producerXWroteItemY), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z4_ThisWayOrTheHighway[] = {(XSIGTYPE)0};
#ifndef XMULTIPLESYSTEMS
XCONST xIdNode yChaO_z4_ThisWayOrTheHighway[] = {(xIdNode)&yEnvR_env,
  (xIdNode)0};
#else
XCONST xIdNode yChaO_z4_ThisWayOrTheHighway[] =
  {(xIdNode)&yGateOut_Concuro_ThisWayOrTheHighway, (xIdNode)0};
#endif
XCONST struct xChannelIdStruct yChaR_z4_ThisWayOrTheHighway = {xChannelEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ThisWayOrTheHighway"
  XCOMMON_EXTRAS, yChaS_z4_ThisWayOrTheHighway, yChaO_z4_ThisWayOrTheHighway,
  &yChaRR_z4_ThisWayOrTheHighway XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z4_ThisWayOrTheHighway = {xChannelEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ThisWayOrTheHighway"
  XCOMMON_EXTRAS, yChaSR_z4_ThisWayOrTheHighway, yChaOR_z4_ThisWayOrTheHighway,
  &yChaR_z4_ThisWayOrTheHighway XCHA_EXTRAS};
#ifdef XMULTIPLESYSTEMS
XCONST xIdNode yConnIn_Concuro_ThisWayOrTheHighway[] =
  {(xIdNode)&yChaRR_z4_ThisWayOrTheHighway, (xIdNode)0};
XCONST struct xChannelIdStruct yGateIn_Concuro_ThisWayOrTheHighway= {xGateEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro
  xIdNames("Concuro_ThisWayOrTheHighway") XCOMMON_EXTRAS,
  yChaSR_z4_ThisWayOrTheHighway, yConnIn_Concuro_ThisWayOrTheHighway,
  &yGateOut_Concuro_ThisWayOrTheHighway XCHA_EXTRAS};
XCONST struct xChannelIdStruct yGateOut_Concuro_ThisWayOrTheHighway= {xGateEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro
  xIdNames("Concuro_ThisWayOrTheHighway") XCOMMON_EXTRAS,
  yChaS_z4_ThisWayOrTheHighway, yConnOut_Concuro_ThisWayOrTheHighway,
  &yGateIn_Concuro_ThisWayOrTheHighway XCHA_EXTRAS};
#endif
#endif

/*****
* CHANNEL ConsumerDongle
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),149(132,152),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z5_ConsumerDongle[] = {SIGNAL_NAME(requestRead,
  &ySigR_z8_requestRead), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z5_ConsumerDongle[] = {SIGNAL_NAME(approveRead,
  &ySigR_z9_approveRead), (XSIGTYPE)0};
XCONST struct xChannelIdStruct yChaR_z5_ConsumerDongle = {xChannelEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ConsumerDongle"
  XCOMMON_EXTRAS, yChaS_z5_ConsumerDongle, yChaO_z5_ConsumerDongle,
  &yChaRR_z5_ConsumerDongle XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z5_ConsumerDongle = {xChannelEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "ConsumerDongle"
  XCOMMON_EXTRAS, yChaSR_z5_ConsumerDongle, yChaOR_z5_ConsumerDongle,
  &yChaR_z5_ConsumerDongle XCHA_EXTRAS};
#endif

/*****
* SIGNAL requestWrite
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),2,1)
******/
static xSignalNode ySigA_z6_requestWrite = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z6_requestWrite = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "requestWrite" XCOMMON_EXTRAS,
  (xptrint)sizeof(yPDef_z6_requestWrite), &ySigA_z6_requestWrite, 0 xFreS(0)
  SIGCODE(requestWrite)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),2,1)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
#ifndef XOPTSIGPARA
XCONST struct xVarIdStruct ySPaR1_z6_requestWrite = {xSignalParEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySigR_z6_requestWrite xIdNames(" ") XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yPDef_z6_requestWrite, Param1), (xptrint)0, (xbool)0 XSPA_EXTRAS};
XCONST struct xVarIdStruct ySPaR2_z6_requestWrite = {xSignalParEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySigR_z6_requestWrite xIdNames(" ") XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yPDef_z6_requestWrite, Param2), (xptrint)0, (xbool)0 XSPA_EXTRAS};
XCONST struct xVarIdStruct ySPaR3_z6_requestWrite = {xSignalParEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySigR_z6_requestWrite xIdNames(" ") XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yPDef_z6_requestWrite, Param3), (xptrint)0, (xbool)0 XSPA_EXTRAS};
#endif

/*****
* SIGNAL approveWrite
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),3,1)
******/
XCONST struct xSignalIdStruct ySigR_z7_approveWrite = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "approveWrite" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(approveWrite)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),3,1)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};

/*****
* SIGNAL requestRead
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),4,1)
******/
static xSignalNode ySigA_z8_requestRead = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z8_requestRead = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "requestRead" XCOMMON_EXTRAS,
  (xptrint)sizeof(yPDef_z8_requestRead), &ySigA_z8_requestRead, 0 xFreS(0)
  SIGCODE(requestRead)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),4,1)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
#ifndef XOPTSIGPARA
XCONST struct xVarIdStruct ySPaR1_z8_requestRead = {xSignalParEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySigR_z8_requestRead xIdNames(" ") XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yPDef_z8_requestRead, Param1), (xptrint)0, (xbool)0 XSPA_EXTRAS};
XCONST struct xVarIdStruct ySPaR2_z8_requestRead = {xSignalParEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySigR_z8_requestRead xIdNames(" ") XCOMMON_EXTRAS,
  &xSrtR_SDL_PId, (tSDLTypeInfo *)&ySDL_SDL_PId,
  xOffsetOf(yPDef_z8_requestRead, Param2), (xptrint)0, (xbool)0 XSPA_EXTRAS};
#endif

/*****
* SIGNAL approveRead
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),5,1)
******/
static xSignalNode ySigA_z9_approveRead = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z9_approveRead = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "approveRead" XCOMMON_EXTRAS,
  (xptrint)sizeof(yPDef_z9_approveRead), &ySigA_z9_approveRead, 0 xFreS(0)
  SIGCODE(approveRead)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),5,1)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
#ifndef XOPTSIGPARA
XCONST struct xVarIdStruct ySPaR1_z9_approveRead = {xSignalParEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySigR_z9_approveRead xIdNames(" ") XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yPDef_z9_approveRead, Param1), (xptrint)0, (xbool)0 XSPA_EXTRAS};
#endif

/*****
* SIGNAL consumerXReadItemY
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),6,1)
******/
static xSignalNode ySigA_zA_consumerXReadItemY = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_zA_consumerXReadItemY = {xSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "consumerXReadItemY"
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_zA_consumerXReadItemY),
  &ySigA_zA_consumerXReadItemY, 0 xFreS(0) SIGCODE(consumerXReadItemY)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),6,1)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
#ifndef XOPTSIGPARA
XCONST struct xVarIdStruct ySPaR1_zA_consumerXReadItemY = {xSignalParEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_zA_consumerXReadItemY xIdNames(" ")
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yPDef_zA_consumerXReadItemY, Param1), (xptrint)0, (xbool)0
  XSPA_EXTRAS};
XCONST struct xVarIdStruct ySPaR2_zA_consumerXReadItemY = {xSignalParEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_zA_consumerXReadItemY xIdNames(" ")
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yPDef_zA_consumerXReadItemY, Param2), (xptrint)0, (xbool)0
  XSPA_EXTRAS};
#endif

/*****
* SIGNAL producerXWroteItemY
* <<SYSTEM Concuro>>
* #SDTREF(SDL,C:\temp\LAB8Concurency3\Concuro.ssy(1),179(20,175),7,1)
******/
static xSignalNode ySigA_zB_producerXWroteItemY = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_zB_producerXWroteItemY = {xSignalEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_Concuro, "producerXWroteItemY"
  XCOMMON_EXTRAS, (xptrint)sizeof(yPDef_zB_producerXWroteItemY),
  &ySigA_zB_producerXWroteItemY, 0 xFreS(0) SIGCODE(producerXWroteItemY)
  xBreakB("#SDTREF(SDL,C:\\temp\\LAB8Concurency3\\Concuro.ssy(1),179(20,175),7,1)")
  xSigPrioPar(xDefaultPrioSignal) ZERO_OFFSET XSIG_EXTRAS};
#ifndef XOPTSIGPARA
XCONST struct xVarIdStruct ySPaR1_zB_producerXWroteItemY = {xSignalParEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_zB_producerXWroteItemY xIdNames(" ")
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yPDef_zB_producerXWroteItemY, Param1), (xptrint)0, (xbool)0
  XSPA_EXTRAS};
XCONST struct xVarIdStruct ySPaR2_zB_producerXWroteItemY = {xSignalParEC ,
  (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_zB_producerXWroteItemY xIdNames(" ")
  XCOMMON_EXTRAS, &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer,
  xOffsetOf(yPDef_zB_producerXWroteItemY, Param2), (xptrint)0, (xbool)0
  XSPA_EXTRAS};
#endif

/*************************************************************************
**                       SECTION Initialization                         **
*************************************************************************/
#ifndef XMULTIPLESYSTEMS
extern void yInit (void)
{
#else
extern void yInit_Concuro (void)
{
#endif
  int  Temp;
  YINIT_TEMP_VARS
  BEGIN_YINIT

#ifdef XMONITOR
  xTranslatorVersion =
    "Program generated by Cbasic 6.0.0 ";
#endif
  xInsertIdNode((xIdNode)&ySysR_z_Concuro);
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_RandomControl);
#endif
  xInsertIdNode((xIdNode)&yBloR_z0_Producers);
  xInsertIdNode((xIdNode)&yPrsR_z01_Producer);
  xInsertIdNode((xIdNode)&ySigR_z01_Producer);
  INIT_PROCESS_TYPE(Producer,z01_Producer,yPrsN_z01_Producer,"z01_Producer",-1,
    1,yVDef_z01_Producer,xDefaultPrioProcess,yPAD_z01_Producer)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Producer,z01_Producer,yPrsN_z01_Producer,"Producer",
    ySigN_z01_Producer,yPDef_z01_Producer,yVDef_z01_Producer,
    xDefaultPrioProcess,yPAD_z01_Producer,1)
#endif
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_z010_iLikeToWrite);
#endif
  xInsertIdNode((xIdNode)&yStaR_z011_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z012_ForcedToWait);
  xInsertIdNode((xIdNode)&ySigR_z013_walkingTime);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z014_someTime);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z015_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z016_numberToWrite);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z017_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z02_Producer2);
  xInsertIdNode((xIdNode)&ySigR_z02_Producer2);
  INIT_PROCESS_TYPE(Producer2,z02_Producer2,yPrsN_z02_Producer2,"z02_Producer2",
    -1,1,yVDef_z02_Producer2,xDefaultPrioProcess,yPAD_z02_Producer2)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Producer2,z02_Producer2,yPrsN_z02_Producer2,"Producer2",
    ySigN_z02_Producer2,yPDef_z02_Producer2,yVDef_z02_Producer2,
    xDefaultPrioProcess,yPAD_z02_Producer2,1)
#endif
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_z020_iLikeToWrite);
#endif
  xInsertIdNode((xIdNode)&yStaR_z021_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z022_ForcedToWait);
  xInsertIdNode((xIdNode)&ySigR_z023_walkingTime);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z024_someTime);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z025_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z026_numberToWrite);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z027_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z03_Producer3);
  xInsertIdNode((xIdNode)&ySigR_z03_Producer3);
  INIT_PROCESS_TYPE(Producer3,z03_Producer3,yPrsN_z03_Producer3,"z03_Producer3",
    -1,1,yVDef_z03_Producer3,xDefaultPrioProcess,yPAD_z03_Producer3)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Producer3,z03_Producer3,yPrsN_z03_Producer3,"Producer3",
    ySigN_z03_Producer3,yPDef_z03_Producer3,yVDef_z03_Producer3,
    xDefaultPrioProcess,yPAD_z03_Producer3,1)
#endif
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_z030_iLikeToWrite);
#endif
  xInsertIdNode((xIdNode)&yStaR_z031_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z032_ForcedToWait);
  xInsertIdNode((xIdNode)&ySigR_z033_walkingTime);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z034_someTime);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z035_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z036_numberToWrite);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z037_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z04_Producer4);
  xInsertIdNode((xIdNode)&ySigR_z04_Producer4);
  INIT_PROCESS_TYPE(Producer4,z04_Producer4,yPrsN_z04_Producer4,"z04_Producer4",
    -1,1,yVDef_z04_Producer4,xDefaultPrioProcess,yPAD_z04_Producer4)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Producer4,z04_Producer4,yPrsN_z04_Producer4,"Producer4",
    ySigN_z04_Producer4,yPDef_z04_Producer4,yVDef_z04_Producer4,
    xDefaultPrioProcess,yPAD_z04_Producer4,1)
#endif
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_z040_iLikeToWrite);
#endif
  xInsertIdNode((xIdNode)&yStaR_z041_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z042_ForcedToWait);
  xInsertIdNode((xIdNode)&ySigR_z043_walkingTime);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z044_someTime);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z045_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z046_numberToWrite);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z047_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z05_Producer5);
  xInsertIdNode((xIdNode)&ySigR_z05_Producer5);
  INIT_PROCESS_TYPE(Producer5,z05_Producer5,yPrsN_z05_Producer5,"z05_Producer5",
    -1,1,yVDef_z05_Producer5,xDefaultPrioProcess,yPAD_z05_Producer5)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Producer5,z05_Producer5,yPrsN_z05_Producer5,"Producer5",
    ySigN_z05_Producer5,yPDef_z05_Producer5,yVDef_z05_Producer5,
    xDefaultPrioProcess,yPAD_z05_Producer5,1)
#endif
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_z050_iLikeToWrite);
#endif
  xInsertIdNode((xIdNode)&yStaR_z051_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z052_ForcedToWait);
  xInsertIdNode((xIdNode)&ySigR_z053_walkingTime);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z054_someTime);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z055_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z056_numberToWrite);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z057_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z06_Producer6);
  xInsertIdNode((xIdNode)&ySigR_z06_Producer6);
  INIT_PROCESS_TYPE(Producer6,z06_Producer6,yPrsN_z06_Producer6,"z06_Producer6",
    -1,1,yVDef_z06_Producer6,xDefaultPrioProcess,yPAD_z06_Producer6)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Producer6,z06_Producer6,yPrsN_z06_Producer6,"Producer6",
    ySigN_z06_Producer6,yPDef_z06_Producer6,yVDef_z06_Producer6,
    xDefaultPrioProcess,yPAD_z06_Producer6,1)
#endif
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_z060_iLikeToWrite);
#endif
  xInsertIdNode((xIdNode)&yStaR_z061_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z062_ForcedToWait);
  xInsertIdNode((xIdNode)&ySigR_z063_walkingTime);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z064_someTime);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z065_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z066_numberToWrite);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z067_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z07_Producer7);
  xInsertIdNode((xIdNode)&ySigR_z07_Producer7);
  INIT_PROCESS_TYPE(Producer7,z07_Producer7,yPrsN_z07_Producer7,"z07_Producer7",
    -1,1,yVDef_z07_Producer7,xDefaultPrioProcess,yPAD_z07_Producer7)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Producer7,z07_Producer7,yPrsN_z07_Producer7,"Producer7",
    ySigN_z07_Producer7,yPDef_z07_Producer7,yVDef_z07_Producer7,
    xDefaultPrioProcess,yPAD_z07_Producer7,1)
#endif
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_z070_iLikeToWrite);
#endif
  xInsertIdNode((xIdNode)&yStaR_z071_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z072_ForcedToWait);
  xInsertIdNode((xIdNode)&ySigR_z073_walkingTime);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z074_someTime);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z075_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z076_numberToWrite);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z077_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z08_Producer8);
  xInsertIdNode((xIdNode)&ySigR_z08_Producer8);
  INIT_PROCESS_TYPE(Producer8,z08_Producer8,yPrsN_z08_Producer8,"z08_Producer8",
    -1,1,yVDef_z08_Producer8,xDefaultPrioProcess,yPAD_z08_Producer8)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Producer8,z08_Producer8,yPrsN_z08_Producer8,"Producer8",
    ySigN_z08_Producer8,yPDef_z08_Producer8,yVDef_z08_Producer8,
    xDefaultPrioProcess,yPAD_z08_Producer8,1)
#endif
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_z080_iLikeToWrite);
#endif
  xInsertIdNode((xIdNode)&yStaR_z081_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z082_ForcedToWait);
  xInsertIdNode((xIdNode)&ySigR_z083_walkingTime);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z084_someTime);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z085_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z086_numberToWrite);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z087_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z09_Producer9);
  xInsertIdNode((xIdNode)&ySigR_z09_Producer9);
  INIT_PROCESS_TYPE(Producer9,z09_Producer9,yPrsN_z09_Producer9,"z09_Producer9",
    -1,1,yVDef_z09_Producer9,xDefaultPrioProcess,yPAD_z09_Producer9)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Producer9,z09_Producer9,yPrsN_z09_Producer9,"Producer9",
    ySigN_z09_Producer9,yPDef_z09_Producer9,yVDef_z09_Producer9,
    xDefaultPrioProcess,yPAD_z09_Producer9,1)
#endif
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_z090_iLikeToWrite);
#endif
  xInsertIdNode((xIdNode)&yStaR_z091_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z092_ForcedToWait);
  xInsertIdNode((xIdNode)&ySigR_z093_walkingTime);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z094_someTime);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z095_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z096_numberToWrite);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z097_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z0A_Producer10);
  xInsertIdNode((xIdNode)&ySigR_z0A_Producer10);
  INIT_PROCESS_TYPE(Producer10,z0A_Producer10,yPrsN_z0A_Producer10,
    "z0A_Producer10",-1,1,yVDef_z0A_Producer10,xDefaultPrioProcess,
    yPAD_z0A_Producer10)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Producer10,z0A_Producer10,yPrsN_z0A_Producer10,"Producer10",
    ySigN_z0A_Producer10,yPDef_z0A_Producer10,yVDef_z0A_Producer10,
    xDefaultPrioProcess,yPAD_z0A_Producer10,1)
#endif
#ifndef XOPTSORT
  xInsertIdNode((xIdNode)&ySrtR_z0A0_iLikeToWrite);
#endif
  xInsertIdNode((xIdNode)&yStaR_z0A1_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z0A2_ForcedToWait);
  xInsertIdNode((xIdNode)&ySigR_z0A3_walkingTime);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z0A4_someTime);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z0A5_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z0A6_numberToWrite);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z0A7_mahPID);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0B_ProducerLine1);
  xInsertIdNode((xIdNode)&yChaRR_z0B_ProducerLine1);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0C_ProducerLine2);
  xInsertIdNode((xIdNode)&yChaRR_z0C_ProducerLine2);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0D_ProducerLine3);
  xInsertIdNode((xIdNode)&yChaRR_z0D_ProducerLine3);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0E_ProducerLine4);
  xInsertIdNode((xIdNode)&yChaRR_z0E_ProducerLine4);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0F_ProducerLine5);
  xInsertIdNode((xIdNode)&yChaRR_z0F_ProducerLine5);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0G_ProducerLine6);
  xInsertIdNode((xIdNode)&yChaRR_z0G_ProducerLine6);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0H_ProducerLine7);
  xInsertIdNode((xIdNode)&yChaRR_z0H_ProducerLine7);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0I_ProducerLine8);
  xInsertIdNode((xIdNode)&yChaRR_z0I_ProducerLine8);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0J_ProducerLine9);
  xInsertIdNode((xIdNode)&yChaRR_z0J_ProducerLine9);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0K_ProducerLine10);
  xInsertIdNode((xIdNode)&yChaRR_z0K_ProducerLine10);
#endif
  xInsertIdNode((xIdNode)&yBloR_z1_ConcuroBlock);
  xInsertIdNode((xIdNode)&yPrsR_z13_Io);
  xInsertIdNode((xIdNode)&ySigR_z13_Io);
  INIT_PROCESS_TYPE(Io,z13_Io,yPrsN_z13_Io,"z13_Io",-1,1,yVDef_z13_Io,
    xDefaultPrioProcess,yPAD_z13_Io)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Io,z13_Io,yPrsN_z13_Io,"Io",ySigN_z13_Io,yPDef_z13_Io,
    yVDef_z13_Io,xDefaultPrioProcess,yPAD_z13_Io,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z130_Phase1);
  xInsertIdNode((xIdNode)&yStaR_z131_Phase2);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z132_numberWritten);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z133_writeID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z134_writePID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z135_readID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z136_readPID);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z14_ProduceMe);
  xInsertIdNode((xIdNode)&yChaRR_z14_ProduceMe);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z15_LineOut);
  xInsertIdNode((xIdNode)&yChaRR_z15_LineOut);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z16_ConsumeMe);
  xInsertIdNode((xIdNode)&yChaRR_z16_ConsumeMe);
#endif
  xInsertIdNode((xIdNode)&yBloR_z2_Consumers);
  xInsertIdNode((xIdNode)&yPrsR_z21_Consumer);
  xInsertIdNode((xIdNode)&ySigR_z21_Consumer);
  INIT_PROCESS_TYPE(Consumer,z21_Consumer,yPrsN_z21_Consumer,"z21_Consumer",-1,
    1,yVDef_z21_Consumer,xDefaultPrioProcess,yPAD_z21_Consumer)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Consumer,z21_Consumer,yPrsN_z21_Consumer,"Consumer",
    ySigN_z21_Consumer,yPDef_z21_Consumer,yVDef_z21_Consumer,
    xDefaultPrioProcess,yPAD_z21_Consumer,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z210_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z211_ForcedWait);
  xInsertIdNode((xIdNode)&ySigR_z212_coolTimes);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z213_theseTimes);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z214_stuffRead);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z215_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z216_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z22_Consumer2);
  xInsertIdNode((xIdNode)&ySigR_z22_Consumer2);
  INIT_PROCESS_TYPE(Consumer2,z22_Consumer2,yPrsN_z22_Consumer2,"z22_Consumer2",
    -1,1,yVDef_z22_Consumer2,xDefaultPrioProcess,yPAD_z22_Consumer2)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Consumer2,z22_Consumer2,yPrsN_z22_Consumer2,"Consumer2",
    ySigN_z22_Consumer2,yPDef_z22_Consumer2,yVDef_z22_Consumer2,
    xDefaultPrioProcess,yPAD_z22_Consumer2,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z220_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z221_ForcedWait);
  xInsertIdNode((xIdNode)&ySigR_z222_coolTimes);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z223_theseTimes);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z224_stuffRead);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z225_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z226_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z23_Consumer3);
  xInsertIdNode((xIdNode)&ySigR_z23_Consumer3);
  INIT_PROCESS_TYPE(Consumer3,z23_Consumer3,yPrsN_z23_Consumer3,"z23_Consumer3",
    -1,1,yVDef_z23_Consumer3,xDefaultPrioProcess,yPAD_z23_Consumer3)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Consumer3,z23_Consumer3,yPrsN_z23_Consumer3,"Consumer3",
    ySigN_z23_Consumer3,yPDef_z23_Consumer3,yVDef_z23_Consumer3,
    xDefaultPrioProcess,yPAD_z23_Consumer3,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z230_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z231_ForcedWait);
  xInsertIdNode((xIdNode)&ySigR_z232_coolTimes);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z233_theseTimes);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z234_stuffRead);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z235_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z236_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z24_Consumer4);
  xInsertIdNode((xIdNode)&ySigR_z24_Consumer4);
  INIT_PROCESS_TYPE(Consumer4,z24_Consumer4,yPrsN_z24_Consumer4,"z24_Consumer4",
    -1,1,yVDef_z24_Consumer4,xDefaultPrioProcess,yPAD_z24_Consumer4)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Consumer4,z24_Consumer4,yPrsN_z24_Consumer4,"Consumer4",
    ySigN_z24_Consumer4,yPDef_z24_Consumer4,yVDef_z24_Consumer4,
    xDefaultPrioProcess,yPAD_z24_Consumer4,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z240_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z241_ForcedWait);
  xInsertIdNode((xIdNode)&ySigR_z242_coolTimes);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z243_theseTimes);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z244_stuffRead);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z245_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z246_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z25_Consumer5);
  xInsertIdNode((xIdNode)&ySigR_z25_Consumer5);
  INIT_PROCESS_TYPE(Consumer5,z25_Consumer5,yPrsN_z25_Consumer5,"z25_Consumer5",
    -1,1,yVDef_z25_Consumer5,xDefaultPrioProcess,yPAD_z25_Consumer5)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Consumer5,z25_Consumer5,yPrsN_z25_Consumer5,"Consumer5",
    ySigN_z25_Consumer5,yPDef_z25_Consumer5,yVDef_z25_Consumer5,
    xDefaultPrioProcess,yPAD_z25_Consumer5,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z250_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z251_ForcedWait);
  xInsertIdNode((xIdNode)&ySigR_z252_coolTimes);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z253_theseTimes);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z254_stuffRead);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z255_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z256_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z26_Consumer6);
  xInsertIdNode((xIdNode)&ySigR_z26_Consumer6);
  INIT_PROCESS_TYPE(Consumer6,z26_Consumer6,yPrsN_z26_Consumer6,"z26_Consumer6",
    -1,1,yVDef_z26_Consumer6,xDefaultPrioProcess,yPAD_z26_Consumer6)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Consumer6,z26_Consumer6,yPrsN_z26_Consumer6,"Consumer6",
    ySigN_z26_Consumer6,yPDef_z26_Consumer6,yVDef_z26_Consumer6,
    xDefaultPrioProcess,yPAD_z26_Consumer6,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z260_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z261_ForcedWait);
  xInsertIdNode((xIdNode)&ySigR_z262_coolTimes);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z263_theseTimes);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z264_stuffRead);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z265_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z266_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z27_Consumer7);
  xInsertIdNode((xIdNode)&ySigR_z27_Consumer7);
  INIT_PROCESS_TYPE(Consumer7,z27_Consumer7,yPrsN_z27_Consumer7,"z27_Consumer7",
    -1,1,yVDef_z27_Consumer7,xDefaultPrioProcess,yPAD_z27_Consumer7)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Consumer7,z27_Consumer7,yPrsN_z27_Consumer7,"Consumer7",
    ySigN_z27_Consumer7,yPDef_z27_Consumer7,yVDef_z27_Consumer7,
    xDefaultPrioProcess,yPAD_z27_Consumer7,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z270_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z271_ForcedWait);
  xInsertIdNode((xIdNode)&ySigR_z272_coolTimes);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z273_theseTimes);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z274_stuffRead);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z275_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z276_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z28_Consumer8);
  xInsertIdNode((xIdNode)&ySigR_z28_Consumer8);
  INIT_PROCESS_TYPE(Consumer8,z28_Consumer8,yPrsN_z28_Consumer8,"z28_Consumer8",
    -1,1,yVDef_z28_Consumer8,xDefaultPrioProcess,yPAD_z28_Consumer8)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Consumer8,z28_Consumer8,yPrsN_z28_Consumer8,"Consumer8",
    ySigN_z28_Consumer8,yPDef_z28_Consumer8,yVDef_z28_Consumer8,
    xDefaultPrioProcess,yPAD_z28_Consumer8,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z280_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z281_ForcedWait);
  xInsertIdNode((xIdNode)&ySigR_z282_coolTimes);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z283_theseTimes);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z284_stuffRead);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z285_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z286_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z29_Consumer9);
  xInsertIdNode((xIdNode)&ySigR_z29_Consumer9);
  INIT_PROCESS_TYPE(Consumer9,z29_Consumer9,yPrsN_z29_Consumer9,"z29_Consumer9",
    -1,1,yVDef_z29_Consumer9,xDefaultPrioProcess,yPAD_z29_Consumer9)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Consumer9,z29_Consumer9,yPrsN_z29_Consumer9,"Consumer9",
    ySigN_z29_Consumer9,yPDef_z29_Consumer9,yVDef_z29_Consumer9,
    xDefaultPrioProcess,yPAD_z29_Consumer9,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z290_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z291_ForcedWait);
  xInsertIdNode((xIdNode)&ySigR_z292_coolTimes);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z293_theseTimes);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z294_stuffRead);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z295_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z296_mahPID);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z2A_Consumer10);
  xInsertIdNode((xIdNode)&ySigR_z2A_Consumer10);
  INIT_PROCESS_TYPE(Consumer10,z2A_Consumer10,yPrsN_z2A_Consumer10,
    "z2A_Consumer10",-1,1,yVDef_z2A_Consumer10,xDefaultPrioProcess,
    yPAD_z2A_Consumer10)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Consumer10,z2A_Consumer10,yPrsN_z2A_Consumer10,"Consumer10",
    ySigN_z2A_Consumer10,yPDef_z2A_Consumer10,yVDef_z2A_Consumer10,
    xDefaultPrioProcess,yPAD_z2A_Consumer10,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z2A0_SiDLing);
  xInsertIdNode((xIdNode)&yStaR_z2A1_ForcedWait);
  xInsertIdNode((xIdNode)&ySigR_z2A2_coolTimes);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z2A3_theseTimes);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z2A4_stuffRead);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z2A5_myID);
#endif
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z2A6_mahPID);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2B_ConsumerLine1);
  xInsertIdNode((xIdNode)&yChaRR_z2B_ConsumerLine1);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2C_ConsumerLine2);
  xInsertIdNode((xIdNode)&yChaRR_z2C_ConsumerLine2);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2D_ConsumerLine3);
  xInsertIdNode((xIdNode)&yChaRR_z2D_ConsumerLine3);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2E_ConsumerLine4);
  xInsertIdNode((xIdNode)&yChaRR_z2E_ConsumerLine4);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2F_ConsumerLine5);
  xInsertIdNode((xIdNode)&yChaRR_z2F_ConsumerLine5);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2G_ConsumerLine6);
  xInsertIdNode((xIdNode)&yChaRR_z2G_ConsumerLine6);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2H_ConsumerLine7);
  xInsertIdNode((xIdNode)&yChaRR_z2H_ConsumerLine7);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2I_ConsumerLine8);
  xInsertIdNode((xIdNode)&yChaRR_z2I_ConsumerLine8);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2J_ConsumerLine9);
  xInsertIdNode((xIdNode)&yChaRR_z2J_ConsumerLine9);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2K_ConsumerLine10);
  xInsertIdNode((xIdNode)&yChaRR_z2K_ConsumerLine10);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z3_ProducerDongle);
  xInsertIdNode((xIdNode)&yChaRR_z3_ProducerDongle);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z4_ThisWayOrTheHighway);
  xInsertIdNode((xIdNode)&yChaRR_z4_ThisWayOrTheHighway);
#endif
#ifdef XMULTIPLESYSTEMS
  xInsertIdNode((xIdNode)&yGateIn_Concuro_ThisWayOrTheHighway);
  xInsertIdNode((xIdNode)&yGateOut_Concuro_ThisWayOrTheHighway);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z5_ConsumerDongle);
  xInsertIdNode((xIdNode)&yChaRR_z5_ConsumerDongle);
#endif
  xInsertIdNode((xIdNode)&ySigR_z6_requestWrite);
#ifndef XOPTSIGPARA
  xInsertIdNode((xIdNode)&ySPaR1_z6_requestWrite);
  xInsertIdNode((xIdNode)&ySPaR2_z6_requestWrite);
  xInsertIdNode((xIdNode)&ySPaR3_z6_requestWrite);
#endif
  xInsertIdNode((xIdNode)&ySigR_z7_approveWrite);
  xInsertIdNode((xIdNode)&ySigR_z8_requestRead);
#ifndef XOPTSIGPARA
  xInsertIdNode((xIdNode)&ySPaR1_z8_requestRead);
  xInsertIdNode((xIdNode)&ySPaR2_z8_requestRead);
#endif
  xInsertIdNode((xIdNode)&ySigR_z9_approveRead);
#ifndef XOPTSIGPARA
  xInsertIdNode((xIdNode)&ySPaR1_z9_approveRead);
#endif
  xInsertIdNode((xIdNode)&ySigR_zA_consumerXReadItemY);
#ifndef XOPTSIGPARA
  xInsertIdNode((xIdNode)&ySPaR1_zA_consumerXReadItemY);
  xInsertIdNode((xIdNode)&ySPaR2_zA_consumerXReadItemY);
#endif
  xInsertIdNode((xIdNode)&ySigR_zB_producerXWroteItemY);
#ifndef XOPTSIGPARA
  xInsertIdNode((xIdNode)&ySPaR1_zB_producerXWroteItemY);
  xInsertIdNode((xIdNode)&ySPaR2_zB_producerXWroteItemY);
#endif
}
