/* 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) * <> * #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) * <> * #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 #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 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Producers.sbk,4,1,7) ******/ extern XCONST struct xBlockIdStruct yBloR_z0_Producers; /***** * SYNTYPE iLikeToWrite (TYPE section) * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\ConcuroBlock.sbk,4,1,7) ******/ extern XCONST struct xBlockIdStruct yBloR_z1_ConcuroBlock; /***** * PROCESS Io * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #SDTREF(SDL,C:\temp\LAB8Concurency3\Consumers.sbk,4,1,7) ******/ extern XCONST struct xBlockIdStruct yBloR_z2_Consumers; /***** * PROCESS Consumer * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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 * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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) * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 * <> * #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 }