Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --ompython_omhome=/usr PNlib_PNlib.Examples.DisTest.OutputConflictPrio.conf.json loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo", uses=false) loadFile("/home/hudson/saved_omc/libraries/.openmodelica/libraries/PNlib 3.0.0-master/package.mo", uses=false) Using package PNlib with version 3.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/PNlib 3.0.0-master/package.mo) Using package Modelica with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo) Using package Complex with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo) Using package ModelicaServices with version 4.0.0 (/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo) Running command: translateModel(PNlib.Examples.DisTest.OutputConflictPrio,tolerance=1e-06,outputFormat="mat",numberOfIntervals=5000,variableFilter="P1.t|P2.t|P3.t|T1.active|T1.fire|T2.active|T2.fire|T3.active|T3.fire|time",fileNamePrefix="PNlib_PNlib.Examples.DisTest.OutputConflictPrio") translateModel(PNlib.Examples.DisTest.OutputConflictPrio,tolerance=1e-06,outputFormat="mat",numberOfIntervals=5000,variableFilter="P1.t|P2.t|P3.t|T1.active|T1.fire|T2.active|T2.fire|T3.active|T3.fire|time",fileNamePrefix="PNlib_PNlib.Examples.DisTest.OutputConflictPrio") Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001252/0.001252, allocations: 107.7 kB / 16.37 MB, free: 6.367 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Complex 4.0.0+maint.om/package.mo): time 0.001107/0.001107, allocations: 190.8 kB / 17.31 MB, free: 5.91 MB / 14.72 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/Modelica 4.0.0+maint.om/package.mo): time 1.28/1.28, allocations: 222.9 MB / 241 MB, free: 15.17 MB / 206.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/PNlib 3.0.0-master/package.mo): time 0.06996/0.06996, allocations: 16.73 MB / 307.9 MB, free: 14.25 MB / 254.1 MB Notification: Performance of FrontEnd - Absyn->SCode: time 2.096e-05/2.106e-05, allocations: 2.281 kB / 373 MB, free: 48.61 MB / 302.1 MB Notification: Performance of NFInst.instantiate(PNlib.Examples.DisTest.OutputConflictPrio): time 0.003921/0.003957, allocations: 3.787 MB / 376.8 MB, free: 47.54 MB / 302.1 MB Notification: Performance of NFInst.instExpressions: time 0.005151/0.009124, allocations: 3.413 MB / 380.2 MB, free: 47.05 MB / 302.1 MB Notification: Performance of NFInst.updateImplicitVariability: time 0.0006627/0.009803, allocations: 22.5 kB / 380.2 MB, free: 47.05 MB / 302.1 MB Notification: Performance of NFTyping.typeComponents: time 0.0006497/0.0105, allocations: 324.8 kB / 380.5 MB, free: 47.02 MB / 302.1 MB Notification: Performance of NFTyping.typeBindings: time 0.0006571/0.01117, allocations: 348.9 kB / 380.9 MB, free: 46.85 MB / 302.1 MB Notification: Performance of NFTyping.typeClassSections: time 0.002899/0.01408, allocations: 1.746 MB / 382.6 MB, free: 46.71 MB / 302.1 MB Notification: Performance of NFFlatten.flatten: time 0.004754/0.01884, allocations: 4.822 MB / 387.4 MB, free: 44.8 MB / 302.1 MB Notification: Performance of NFFlatten.resolveConnections: time 0.0008726/0.01974, allocations: 0.7244 MB / 388.1 MB, free: 44.54 MB / 302.1 MB Notification: Performance of NFEvalConstants.evaluate: time 0.002034/0.02178, allocations: 1.775 MB / 389.9 MB, free: 43.73 MB / 302.1 MB Notification: Performance of NFSimplifyModel.simplify: time 0.00143/0.02322, allocations: 1.301 MB / 391.2 MB, free: 43.11 MB / 302.1 MB Notification: Performance of NFPackage.collectConstants: time 0.0004559/0.02368, allocations: 300.2 kB / 391.5 MB, free: 43.11 MB / 302.1 MB Notification: Performance of NFFlatten.collectFunctions: time 0.001529/0.02522, allocations: 0.9755 MB / 392.5 MB, free: 42.88 MB / 302.1 MB Notification: Performance of combineBinaries: time 0.002977/0.02821, allocations: 3.406 MB / 395.9 MB, free: 40.57 MB / 302.1 MB Notification: Performance of replaceArrayConstructors: time 0.001364/0.02958, allocations: 1.916 MB / 397.8 MB, free: 39.16 MB / 302.1 MB Notification: Performance of NFVerifyModel.verify: time 0.00121/0.0308, allocations: 485.2 kB / 398.3 MB, free: 38.96 MB / 302.1 MB Notification: Performance of FrontEnd: time 0.0004395/0.03125, allocations: 200.3 kB / 398.5 MB, free: 38.86 MB / 302.1 MB Notification: Model statistics after passing the front-end and creating the data structures used by the back-end: * Number of equations: 620 (464) * Number of variables: 620 (550) Notification: Performance of Bindings: time 0.008273/0.03953, allocations: 11.1 MB / 409.6 MB, free: 28 MB / 302.1 MB Notification: Performance of FunctionAlias: time 0.002465/0.04201, allocations: 2.105 MB / 411.7 MB, free: 25.93 MB / 302.1 MB Notification: Performance of Early Inline: time 0.008649/0.05067, allocations: 11.72 MB / 423.4 MB, free: 14.14 MB / 302.1 MB Notification: Performance of simplify1: time 0.00037/0.05107, allocations: 367.4 kB / 423.8 MB, free: 13.78 MB / 302.1 MB Notification: Performance of Alias: time 0.006816/0.05789, allocations: 7.771 MB / 431.5 MB, free: 5.422 MB / 302.1 MB Notification: Performance of simplify2: time 0.0003805/0.05829, allocations: 327.4 kB / 431.9 MB, free: 5.102 MB / 302.1 MB Notification: Performance of Events: time 0.002876/0.06118, allocations: 3.212 MB / 435.1 MB, free: 2 MB / 302.1 MB Notification: Performance of Detect States: time 0.003764/0.06496, allocations: 4.235 MB / 439.3 MB, free: 13.71 MB / 318.1 MB Notification: Performance of Partitioning: time 0.005108/0.07008, allocations: 3.987 MB / 443.3 MB, free: 9.391 MB / 318.1 MB Error: Internal error NBSlice.fillDependencyArray failed because number of flattened indices 1 for dependency $SEV_151 could not be devided by the body size 3 without rest. Error: Internal error NBAdjacency.Matrix.createPseudo failed for: [ARRY] (3) T3.color = if $SEV_151 then {255.0, 255.0, 0.0} else {0.0, 0.0, 0.0} ($RES_SIM_37) Error: Internal error NBAdjacency.Matrix.create failed to create adjacency matrix for system: System Variables (507/581) **************************** (1) [DISC] (1) Boolean[1] T2.outPlaces.fire = {T2.fire} (2) [DISC] (1) Boolean[1] P2.inTransition.disTransition = {P2.disTransitionIn[1]} (3) [ALGB] (1) protected Real[1] P3.enableIn.enablingProb = P3.enablingProbIn (4) [DISC] (1) protected discrete Real[1] P1.enableIn.cumEnablingProb (fixed = {true for $i1 in 1:1}, start = {0.0 for $i1 in 1:1}) (5) [DISC] (2) protected Boolean[2] P1.activeConOut.vec = pre(P1.activeOut) and not P1.disTransitionOut (fixed = {true for $i1 in 1:2}, start = {false for $i1 in 1:2}) (6) [ALGB] (1) protected Real[1] T1.tOut (7) [DISS] (1) protected Real T1.firingTime (8) [DISC] (2) Boolean[2] P1.outTransition.fire = {P1.fireOut[$outTransition1] for $outTransition1 in 1:2} (9) [ALGB] (1) Real[1] T1.outPlaces.arcWeight = {T1.arcWeightOut[1]} (10) [ALGB] (3) Real[3] P1.color (11) [DISC] (1) protected Integer[1] T2.testValueInt (12) [ALGB] (1) Real[1] T3.outPlaces.maxTokens = {T3.maxTokens[1]} (13) [DISC] (1) protected Boolean P2.tokeninout (fixed = true, start = false) (14) [DISC] (1) Boolean[1] P2.inTransition.disPlace = {true for $i1 in 1:1} (15) [ALGB] (2) protected Real[2] P1.enableOut.enablingBene = P1.enablingBeneOut (16) [DISC] (1) Integer[1] T2.inPlaces.minTokensint = {T2.minTokensInt[1]} (17) [DISC] (1) protected Integer P3.enableIn.arcWeightSum (18) [DISS] (1) protected Boolean T1.ani (19) [DISC] (1) protected Integer P3.delayPassedIn.numtrue (20) [DISC] (1) protected Integer[1] T2.arcWeightIntIn (21) [DISC] (1) protected Boolean[1] T2.activation.disPlaceOut = T2.disPlaceOut (22) [DISC] (1) Boolean[1] T2.outPlaces.disTransition = {true for $i1 in 1:1} (23) [DISC] (1) Integer[1] T1.inPlaces.tint = {T1.tIntIn[1]} (24) [DISC] (1) protected Boolean[1] P1.enableIn.active = P1.activeIn (25) [DISC] (1) protected Boolean[1] P2.fireIn (26) [DISC] (1) protected Boolean[1] P1.delayPassedIn.vec = P1.activeIn and P1.disTransitionIn (27) [DISC] (1) Boolean[1] T2.outPlaces.enable = {T2.enableOut[1]} (28) [DISS] (1) Integer P3.t (fixed = true, start = P3.startTokens) (29) [ALGB] (1) protected Real[1] T1.activation.arcWeightIn = T1.arcWeightIn (30) [DISC] (1) Integer[1] T3.outPlaces.tint = {T3.tIntOut[1]} (31) [DISC] (1) protected Integer P1.firingSumOut.firingSum (32) [DISC] (1) Boolean[1] P1.inTransition.fire = {P1.fireIn[1]} (33) [DISC] (1) Boolean[1] $SEV_168[$i1] (34) [DISC] (1) protected discrete Real P1.enableOut.randNum (35) [DISC] (1) protected discrete Real P1.enableIn.sumEnablingProbTAin (36) [DISC] (1) protected Integer P1.enableIn.k (37) [DISC] (1) Boolean[1] P3.inTransition.enable = {P3.enableIn.TEin_[1]} (38) [ALGB] (1) Real[1] T2.outPlaces.maxTokens = {T2.maxTokens[1]} (39) [ALGB] (1) protected Real[1] T2.tOut (40) [DISC] (1) Boolean T1.active (41) [DISC] (1) Integer[1] T2.outPlaces.maxTokensint = {T2.maxTokensInt[1]} (42) [ALGB] (1) protected Real T2.delay_ = if 1.0 < 1e-6 then 1e-6 else 1.0 (43) [DISC] (1) Boolean[1] T2.outPlaces.disPlace = {T2.disPlaceOut[1]} (44) [DISC] (1) Integer[1] P3.inTransition.maxTokensint = {P3.maxTokens} (45) [ALGB] (1) Real[1] T2.outPlaces.t = {T2.tOut[1]} (46) [DISC] (1) protected Integer[1] P2.arcWeightIn (47) [DISC] (1) Boolean[1] T1.outPlaces.enable = {T1.enableOut[1]} (48) [ALGB] (1) protected Real[1] T2.maxTokens (49) [ALGB] (2) protected Real[2] P1.enableOut.enablingProb = P1.enablingProbOut (50) [DISC] (1) protected Boolean[1] T1.normalArc (51) [DISC] (1) protected Boolean[1] T2.disPlaceOut (52) [DISC] (1) protected Boolean[1] P3.enableIn.active = P3.activeIn (53) [DISC] (4) protected Integer[4] P1.enableIn.state128 (54) [DISC] (1) protected Boolean[1] T2.enableOut (55) [DISC] (1) protected Integer[1] T3.activation.arcWeightIntOut = T3.arcWeightIntOut (56) [DISC] (1) protected Boolean[1] P2.activeIn (57) [DISC] (1) protected Boolean P3.tokeninout (fixed = true, start = false) (58) [DISC] (1) Boolean[1] $SEV_170[$i1] (59) [ALGB] (1) Real P3.levelCon (60) [DISC] (1) protected Integer[1] P1.enableIn.enablingPrio = P1.enablingPrioIn (61) [DISC] (4) protected Integer[4] P1.enableOut.state128 (62) [DISS] (1) Integer P2.t (fixed = true, start = P2.startTokens) (63) [DISC] (1) Integer[1] P3.inTransition.tint = {P3.pret} (64) [DISC] (1) Boolean[1] $SEV_169[$i1] (65) [DISC] (1) Boolean[1] T2.inPlaces.disPlace = {T2.disPlaceIn[1]} (66) [DISC] (1) protected Integer P1.enableOut.arcWeightSum (67) [ALGB] (1) Real[1] P2.inTransition.maxTokens = {P2.maxTokens} (68) [ALGB] (1) Real[1] T1.inPlaces.minTokens = {T1.minTokens[1]} (69) [DISC] (1) protected Boolean[1] P1.fireIn (70) [ALGB] (1) protected Real[1] T3.tOut (71) [DISC] (1) protected Boolean[1] P2.firingSumIn.fire = P2.fireIn and P2.disTransitionIn (72) [ALGB] (1) Real[1] T3.arcWeightOut = {1.0 for $i1 in 1:1} (73) [ALGB] (1) protected Real[1] T2.activation.arcWeightOut = T2.arcWeightOut (74) [DISC] (2) Integer[2] P1.outTransition.arcWeightint = {P1.arcWeightOut[$outTransition1] for $outTransition1 in 1:2} (75) [DISC] (1) protected discrete Real P1.enableIn.benefitMax (76) [DISC] (1) protected Integer P2.enableIn.k (77) [DISC] (1) protected Boolean P1.enableOut.delayPassed = P1.enableOut.delayPassed (78) [DISC] (1) protected discrete Real P2.enableIn.benefitMax (79) [DISS] (1) protected Real T2.fireTime (80) [DISC] (1) protected Integer P2.enableIn.arcWeightSum (81) [DISC] (1) protected Integer[1] P3.enableIn.arcWeight = P3.arcWeightIn (82) [DISC] (1) Integer[1] T1.inPlaces.minTokensint = {T1.minTokensInt[1]} (83) [DISC] (1) Integer[1] P2.inTransition.tint = {P2.pret} (84) [ALGB] (1) protected Real T1.delay_ = if 1.0 < 1e-6 then 1e-6 else 1.0 (85) [DISC] (1) protected Boolean P1.enableIn.valid (86) [DISC] (1) Boolean[1] T1.outPlaces.disPlace = {T1.disPlaceOut[1]} (87) [DISC] (1) Boolean[1] $SEV_171[$i1] (88) [DISC] (1) protected Integer P3.enableOut.t = P3.enableOut.t (89) [DISC] (4) protected Integer[4] P2.enableIn.state128 (90) [ALGB] (1) protected Real[1] T1.testValue (91) [DISS] (1) Integer P1.t (fixed = true, start = P1.startTokens) (92) [DISC] (1) Boolean $TEV_9 (93) [ALGB] (1) Real[1] P3.inTransition.arcWeight (94) [DISC] (1) Boolean $TEV_8 (95) [DISC] (1) Boolean $TEV_7 (96) [DISC] (2) Boolean[2] P1.outTransition.normalArc = {false for $i1 in 1:2} (97) [DISC] (1) protected Boolean[1] P2.enableIn.disTransition = P2.disTransitionIn (98) [DISC] (1) Boolean $TEV_6 (99) [DISC] (1) Boolean $TEV_5 (100) [DISC] (1) Boolean $TEV_4 (101) [DISC] (1) protected Boolean[1] P1.enableIn.TAein = P1.enabledByInPlaces and P1.activeIn (102) [DISC] (1) protected Integer P1.enableIn.Index (103) [DISC] (1) Boolean $TEV_3 (104) [ALGB] (3) protected Real[3] T2.color (105) [ALGB] (1) protected Real[1] P2.enableIn.enablingProb = P2.enablingProbIn (106) [DISC] (1) Boolean $TEV_2 (107) [ALGB] (1) protected Real[1] T2.activation.minTokens = T2.minTokens (108) [ALGB] (2) Real[2] P1.outTransition.arcWeight (109) [DISC] (1) protected Integer[1] T3.activation.tIntOut = T3.tIntOut (110) [DISC] (1) Integer[1] T1.outPlaces.arcWeightint = {T1.arcWeightIntOut[1]} (111) [DISC] (1) Boolean[1] T3.outPlaces.enable = {T3.enableOut[1]} (112) [ALGB] (1) protected Real[1] T1.activation.maxTokens = T1.maxTokens (113) [DISC] (1) protected discrete Real P3.enableIn.benefitMax (114) [DISC] (1) Integer[1] P2.inTransition.arcWeightint = {P2.arcWeightIn[1]} (115) [DISC] (1) protected Integer[1] T2.arcWeightIntOut (116) [DISC] (1) protected Boolean[1] P1.enableIn.TEin (117) [DISC] (1) protected Integer[1] T1.activation.arcWeightIntIn = T1.arcWeightIntIn (118) [DISC] (1) protected Integer[1] P1.enableIn.arcWeight = P1.arcWeightIn (119) [DISC] (2) protected Integer[2] P1.arcWeightOut (120) [DISC] (1) Boolean[1] T2.inPlaces.fire = {T2.fire} (121) [DISC] (1) protected Integer[1] T1.arcWeightIntIn (122) [DISC] (1) protected Boolean[1] P2.delayPassedIn.vec = P2.activeIn and P2.disTransitionIn (123) [DISC] (1) Boolean[1] T2.inPlaces.enable = {T2.enableIn[1]} (124) [DISC] (1) protected Boolean[1] T1.enableIn (125) [DISC] (1) Integer[1] T2.inPlaces.testValueint = {T2.testValueInt[1]} (126) [DISC] (1) protected Boolean[1] T2.disPlaceIn (127) [DISC] (1) protected discrete Real P1.enableIn.benefitLimit (128) [DISC] (2) protected Integer[2] P1.enableOut.remTAout (fixed = {true for $i1 in 1:2}, start = {0 for $i1 in 1:2}) (129) [ALGB] (1) Real[1] T1.arcWeightIn = {1.0 for $i1 in 1:1} (130) [DISC] (1) protected Integer[1] P1.arcWeightIn (131) [DISC] (1) protected Integer P2.firingSumIn.firingSum (132) [DISC] (1) protected Integer[1] T1.activation.tIntIn = T1.tIntIn (133) [DISC] (1) protected Integer P3.enableIn.k (134) [DISC] (2) enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[2] P1.outTransition.arcType = {PNlib.Types.ArcType.NormalArc for $i1 in 1:2} (135) [DISC] (1) protected Integer P1.enableOut.posTE (136) [DISC] (1) protected Integer P2.delayPassedIn.numtrue (137) [DISC] (1) protected Integer[1] T1.activation.minTokensInt = T1.minTokensInt (138) [ALGB] (1) protected Real[1] T2.minTokens (139) [ALGB] (1) protected Real[1] T2.activation.tOut = T2.tOut (140) [ALGB] (1) protected Real[1] T2.activation.tIn = T2.tIn (141) [DISC] (1) protected Integer[1] P2.enableIn.remTAin (fixed = {true for $i1 in 1:1}, start = {0 for $i1 in 1:1}) (142) [DISC] (1) protected Boolean[1] P1.disTransitionIn (143) [ALGB] (1) protected Real[1] T1.activation.tIn = T1.tIn (144) [DISC] (1) protected Integer[1] T3.maxTokensInt (145) [ALGB] (1) Real[1] T2.inPlaces.testValue = {T2.testValue[1]} (146) [DISC] (1) protected Integer[1] P3.enableIn.enablingPrio = P3.enablingPrioIn (147) [DISC] (1) protected Integer[1] T2.activation.maxTokensInt = T2.maxTokensInt (148) [DISC] (1) protected Boolean[1] P3.enableIn.TAein = P3.enabledByInPlaces and P3.activeIn (149) [DISC] (1) protected Integer P3.enableIn.Index (150) [DISC] (1) protected Boolean[1] P2.enableIn.TAein = P2.enabledByInPlaces and P2.activeIn (151) [ALGB] (1) protected Real[1] P2.enableIn.enablingBene = P2.enablingBeneIn (152) [DISC] (1) protected Integer P2.enableIn.Index (153) [ALGB] (1) Real[1] T1.arcWeightOut = {1.0 for $i1 in 1:1} (154) [DISC] (1) protected Integer P3.firingSumOut.firingSum (155) [ALGB] (2) Real[2] P1.outTransition.testValue = {-1.0 for $i1 in 1:2} (156) [DISC] (1) Boolean[1] T3.outPlaces.enabledByInPlaces = {T3.enabledByInPlaces} (157) [DISC] (1) protected Integer P1.delayPassedIn.numtrue (158) [ALGB] (1) Real[1] P3.inTransition.t = {P3.pret} (159) [DISC] (1) protected Integer[1] T2.minTokensInt (160) [DISC] (1) protected Boolean[1] P3.enabledByInPlaces (161) [DISC] (1) Boolean[1] P1.inTransition.enable = {P1.enableIn.TEin_[1]} (162) [DISC] (1) protected Boolean P3.enableIn.valid (163) [ALGB] (1) protected Real[1] T3.activation.maxTokens = T3.maxTokens (164) [DISC] (1) protected Boolean P2.enableIn.valid (165) [DISC] (2) protected Boolean[2] P1.enableOut.TEout (166) [DISC] (1) protected Boolean T2.activation.active (167) [DISC] (1) protected Integer[1] T1.activation.arcWeightIntOut = T1.arcWeightIntOut (168) [DISC] (1) protected Boolean[1] T1.activation.disPlaceOut = T1.disPlaceOut (169) [DISC] (1) protected Integer[1] P2.enableIn.arcWeight = P2.arcWeightIn (170) [DISC] (1) protected Boolean[1] P1.enabledByInPlaces (171) [DISC] (1) protected Boolean[1] P2.enableIn.TEin (172) [DISC] (1) Integer[1] T2.inPlaces.arcWeightint = {T2.arcWeightIntIn[1]} (173) [DISC] (1) protected Boolean[1] T1.disPlaceIn (174) [DISC] (1) protected Integer[1] T1.activation.tIntOut = T1.tIntOut (175) [DISC] (1) protected discrete Real P2.enableIn.sumEnablingProbTAin (176) [ALGB] (1) protected Real[1] T2.tIn (177) [DISC] (1) protected Integer[1] T1.arcWeightIntOut (178) [ALGB] (1) protected Real[1] T1.activation.tOut = T1.tOut (179) [DISC] (1) protected Boolean P2.enableIn.endWhile (180) [DISC] (1) protected Integer P2.enableOut.t = P2.enableOut.t (181) [DISC] (1) protected Integer[1] T2.activation.testValueInt = T2.testValueInt (182) [DISC] (1) Integer[1] T1.outPlaces.tint = {T1.tIntOut[1]} (183) [DISC] (1) Boolean[1] T1.inPlaces.enable = {T1.enableIn[1]} (184) [DISC] (2) protected Boolean[2] P1.delayPassedOut.vec = P1.activeOut and P1.disTransitionOut (185) [DISC] (2) Boolean[2] P1.outTransition.active = {P1.activeOut[$outTransition1] for $outTransition1 in 1:2} (186) [DISC] (1) Boolean $SEV_199 (187) [DISC] (1) Boolean $SEV_198 (188) [DISC] (1) Boolean $SEV_197 (189) [ALGB] (1) Real[1] T1.outPlaces.maxTokens = {T1.maxTokens[1]} (190) [DISC] (1) Boolean $SEV_196 (191) [DISC] (1) Boolean[1] P2.inTransition.enable = {P2.enableIn.TEin_[1]} (192) [ALGB] (1) Real[1] T3.outPlaces.arcWeight = {T3.arcWeightOut[1]} (193) [DISC] (1) Boolean $SEV_195 (194) [DISC] (1) Boolean[1] T2.inPlaces.tokenInOut (195) [DISC] (1) Integer[1] T1.outPlaces.maxTokensint = {T1.maxTokensInt[1]} (196) [ALGB] (1) Real[1] T2.inPlaces.arcWeight = {T2.arcWeightIn[1]} (197) [DISC] (1) Boolean $SEV_194 (198) [DISC] (1) Boolean $SEV_193 (199) [DISC] (1) protected Boolean[1] P1.activeIn (200) [DISC] (1) Boolean[1] T3.outPlaces.disPlace = {T3.disPlaceOut[1]} (201) [DISC] (1) Boolean $SEV_192 (202) [DISC] (1) Boolean $SEV_191 (203) [DISC] (1) Boolean $SEV_190 (204) [DISC] (2) Integer[2] P1.outTransition.testValueint = {-1 for $i1 in 1:2} (205) [ALGB] (1) protected Real[1] T2.activation.maxTokens = T2.maxTokens (206) [DISC] (1) Integer[1] P2.inTransition.maxTokensint = {P2.maxTokens} (207) [ALGB] (1) Real[1] T2.arcWeightIn = {1.0 for $i1 in 1:1} (208) [DISC] (1) Boolean[1] T2.inPlaces.normalArc = {T2.normalArc[1]} (209) [ALGB] (3) Real[3] P3.color (210) [DISC] (2) Integer[2] P1.outTransition.tint = {P1.pret for $outTransition1 in 1:2} (211) [ALGB] (1) Real P2.levelCon (212) [DISC] (1) protected Integer[1] T3.arcWeightIntOut (213) [ALGB] (1) protected Real[1] T3.activation.tOut = T3.tOut (214) [DISC] (1) protected discrete Real P2.enableIn.randNum (215) [ALGB] (1) protected Real[1] T1.activation.minTokens = T1.minTokens (216) [DISC] (2) protected Integer[2] P1.enableOut.enablingPrio = P1.enablingPrioOut (217) [DISC] (2) protected Boolean[2] P1.enableOut.TAout = P1.activeOut (218) [DISC] (1) protected discrete Real P1.enableOut.benefitMax (219) [DISC] (1) protected Integer[1] T2.tIntIn (220) [DISC] (1) protected Boolean[1] P3.enableIn.TEin (221) [DISC] (1) enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T1.inPlaces.arcType = {T1.arcType[1]} (222) [DISC] (1) Boolean[1] T2.inPlaces.disTransition = {true for $i1 in 1:1} (223) [DISC] (1) protected discrete Real P3.enableIn.benefitLimit (224) [DISC] (1) protected Integer P2.enableIn.nremTAin (225) [DISC] (1) Boolean[1] P1.inTransition.enabledByInPlaces = {P1.enabledByInPlaces[1]} (226) [DISC] (1) Boolean $SEV_189 (227) [DISC] (1) protected enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T1.activation.arcType = T1.arcType (228) [ALGB] (1) Real $FUN_56 (229) [DISC] (1) Boolean $SEV_188 (230) [DISC] (1) Boolean $FUN_55 (231) [DISC] (1) Boolean $SEV_187 (232) [ALGB] (1) Real $FUN_54 (233) [DISC] (1) Integer $FUN_53 (234) [DISC] (1) Integer[1] P1.inTransition.arcWeightint = {P1.arcWeightIn[1]} (235) [DISC] (1) protected Integer P1.enableOut.nTAout (236) [ALGB] (1) Real[1] T2.inPlaces.t = {T2.tIn[1]} (237) [DISC] (1) Boolean[1] $FUN_52 (238) [DISC] (1) Boolean[1] T3.outPlaces.disTransition = {true for $i1 in 1:1} (239) [ALGB] (1) Real $FUN_51 (240) [DISC] (1) Boolean[1] $FUN_50 (241) [ALGB] (1) Real[1] T2.outPlaces.arcWeight = {T2.arcWeightOut[1]} (242) [DISC] (1) Boolean $SEV_181 (243) [DISC] (1) protected Integer[1] T1.maxTokensInt (244) [DISC] (1) Boolean[1] T1.inPlaces.tokenInOut (245) [DISC] (1) Boolean $SEV_180 (246) [ALGB] (1) Real[1] P1.inTransition.maxTokens = {P1.maxTokens} (247) [DISS] (1) protected Real T1.fireTime (248) [DISC] (1) protected Boolean[1] P3.enableIn.disTransition = P3.disTransitionIn (249) [ALGB] (3) protected Real[3] T1.color (250) [DISC] (1) Integer[1] T2.outPlaces.tint = {T2.tIntOut[1]} (251) [DISC] (1) protected Integer[1] P3.enableIn.remTAin (fixed = {true for $i1 in 1:1}, start = {0 for $i1 in 1:1}) (252) [DISC] (1) Boolean[1] $SEV_175[$i1] (253) [DISC] (1) Integer[1] T3.outPlaces.arcWeightint = {T3.arcWeightIntOut[1]} (254) [DISS] (1) protected Boolean T3.ani (255) [DISC] (1) Boolean T1.fire (256) [DISC] (1) protected Boolean[1] T1.activation.disPlaceIn = T1.disPlaceIn (257) [DISC] (1) Boolean[1] $FUN_49 (258) [DISC] (1) Integer[1] $FUN_48 (259) [DISC] (2) protected Boolean[2] P1.disTransitionOut (260) [DISC] (2) protected discrete Real[2] P1.enableOut.cumEnablingProb (fixed = {true for $i1 in 1:2}, start = {0.0 for $i1 in 1:2}) (261) [DISC] (1) Boolean[1] P3.inTransition.active = {P3.activeIn[1]} (262) [DISC] (4) Integer[4] $FUN_47 (263) [DISC] (1) Boolean $SEV_179 (264) [ALGB] (1) protected Real[1] T1.maxTokens (265) [ALGB] (1) Real $FUN_46 (266) [DISC] (1) Integer[1] T1.inPlaces.testValueint = {T1.testValueInt[1]} (267) [ALGB] (1) Real $FUN_45 (268) [DISC] (1) protected Integer[1] P2.firingSumIn.arcWeight = P2.arcWeightIn (269) [DISC] (1) Integer $FUN_44 (270) [DISC] (1) Integer $FUN_43 (271) [ALGB] (1) Real $FUN_42 (272) [DISC] (1) Boolean $SEV_174 (273) [DISC] (1) Boolean $FUN_41 (274) [DISC] (1) Boolean $SEV_173 (275) [DISC] (1) Boolean[1] T2.outPlaces.active = {T2.delayPassed} (276) [ALGB] (1) Real $FUN_40 (277) [DISC] (1) Boolean $SEV_172 (278) [DISC] (1) protected Boolean[1] T1.enableOut (279) [DISC] (1) protected Integer P1.firingSumIn.firingSum (280) [DISC] (1) protected Boolean[1] P3.firingSumIn.fire = P3.fireIn and P3.disTransitionIn (281) [DISC] (2) protected Boolean[2] P1.enableOut.TEout_ (282) [DISC] (1) Boolean[1] T1.outPlaces.active = {T1.delayPassed} (283) [ALGB] (1) Real[1] P1.inTransition.t = {P1.pret} (284) [DISC] (1) Boolean[1] T1.inPlaces.fire = {T1.fire} (285) [ALGB] (1) Real[1] P2.inTransition.t = {P2.pret} (286) [DISC] (1) protected Integer[1] T1.tIntIn (287) [ALGB] (1) Real[1] P2.inTransition.arcWeight (288) [DISC] (1) protected Boolean[1] P1.enableIn.disTransition = P1.disTransitionIn (289) [DISC] (1) protected Integer[1] T1.testValueInt (290) [DISC] (1) protected Integer P1.enableOut.k (291) [DISC] (1) Boolean[1] T3.outPlaces.fire = {T3.fire} (292) [DISC] (1) protected Boolean T1.enabledByInPlaces = PNlib.Functions.OddsAndEnds.allTrue(T1.enableIn) (293) [DISC] (1) Integer[1] P1.inTransition.tint = {P1.pret} (294) [ALGB] (2) Real[2] P1.outTransition.t = {P1.pret for $outTransition1 in 1:2} (295) [DISC] (1) protected discrete Real P1.enableOut.benefitLimit (296) [DISC] (1) protected Integer P1.enableOut.t = P1.enableOut.t (297) [DISC] (1) Integer $FUN_39 (298) [ALGB] (1) Real[1] T1.inPlaces.t = {T1.tIn[1]} (299) [DISC] (1) Boolean[1] $FUN_38 (300) [ALGB] (1) Real $FUN_37 (301) [DISC] (1) Boolean[1] $FUN_36 (302) [DISC] (1) Boolean[1] $FUN_35 (303) [DISC] (1) Boolean $SEV_167 (304) [DISC] (1) Integer[1] $FUN_34 (305) [DISC] (1) Boolean[1] $SEV_176[$i1] (306) [DISC] (1) Boolean $SEV_166 (307) [DISC] (4) Integer[4] $FUN_33 (308) [DISC] (1) Boolean $SEV_165 (309) [ALGB] (1) Real $FUN_32 (310) [DISC] (1) Boolean $SEV_164 (311) [DISC] (1) Boolean T2.fire (312) [DISC] (1) protected Boolean[1] T1.disPlaceOut (313) [ALGB] (1) Real $FUN_31 (314) [DISC] (4) protected Integer[4] P3.enableIn.state128 (315) [DISC] (1) Integer $FUN_30 (316) [DISC] (1) Boolean $SEV_160 (317) [ALGB] (1) protected Real[1] T1.tIn (318) [DISC] (1) Boolean[1] P3.inTransition.enabledByInPlaces = {P3.enabledByInPlaces[1]} (319) [DISC] (1) Boolean[1] P3.inTransition.disPlace = {true for $i1 in 1:1} (320) [DISC] (1) protected discrete Real P3.enableIn.sumEnablingProbTAin (321) [ALGB] (1) Real[1] T1.outPlaces.t = {T1.tOut[1]} (322) [ALGB] (1) protected Real[1] T3.maxTokens (323) [DISC] (1) Boolean[1] P2.inTransition.fire = {P2.fireIn[1]} (324) [DISC] (1) protected Boolean[1] T2.normalArc (325) [DISC] (1) protected Boolean P1.enableOut.activeCon = P1.enableOut.activeCon (326) [DISC] (1) protected Integer[1] P3.firingSumIn.arcWeight = P3.arcWeightIn (327) [DISC] (1) protected discrete Real P3.enableIn.randNum (328) [DISC] (1) protected Boolean[1] T3.enableOut (329) [DISC] (2) protected Boolean[2] P1.fireOut (330) [DISC] (1) protected Boolean[1] T2.activation.disPlaceIn = T2.disPlaceIn (331) [DISC] (1) enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T2.inPlaces.arcType = {T2.arcType[1]} (332) [DISC] (1) Integer $FUN_29 (333) [DISC] (1) protected Boolean[1] T3.activation.disPlaceOut = T3.disPlaceOut (334) [ALGB] (1) Real $FUN_9 (335) [ALGB] (1) Real $FUN_28 (336) [DISC] (2) protected Boolean[2] P1.enableOut.disTransition = P1.disTransitionOut (337) [DISC] (2) Boolean[2] $FUN_8 (338) [DISC] (1) Boolean $FUN_27 (339) [DISC] (1) Boolean $SEV_159 (340) [DISC] (1) Boolean[1] $SEV_150[$i1] (341) [DISC] (1) Boolean[1] P1.inTransition.disTransition = {P1.disTransitionIn[1]} (342) [DISC] (1) Integer[1] P1.inTransition.maxTokensint = {P1.maxTokens} (343) [ALGB] (1) Real $FUN_26 (344) [DISC] (2) Boolean[2] $FUN_7 (345) [DISC] (1) Boolean $SEV_158 (346) [DISC] (1) protected Boolean[1] P1.enableIn.TEin_ (347) [ALGB] (1) protected Real P1.tokenscale (348) [DISC] (2) Integer[2] $FUN_6 (349) [DISC] (1) Integer $FUN_25 (350) [DISC] (1) Boolean $SEV_157 (351) [ALGB] (1) Real[1] T1.inPlaces.testValue = {T1.testValue[1]} (352) [DISC] (4) Integer[4] $FUN_5 (353) [DISC] (1) Boolean[1] $FUN_24 (354) [DISC] (1) protected discrete Real P1.enableIn.randNum (355) [DISC] (1) protected Integer P1.enableIn.nTAin (356) [ALGB] (1) Real $FUN_4 (357) [ALGB] (1) Real $FUN_23 (358) [ALGB] (1) protected Real[1] P1.enableIn.enablingBene = P1.enablingBeneIn (359) [DISC] (1) Boolean[1] P3.inTransition.fire = {P3.fireIn[1]} (360) [ALGB] (1) Real $FUN_3 (361) [DISC] (1) Boolean[1] $FUN_22 (362) [DISC] (1) protected Boolean[1] P3.disTransitionIn (363) [DISC] (1) Integer $FUN_2 (364) [DISC] (1) Boolean[1] $FUN_21 (365) [DISC] (1) Boolean $SEV_153 (366) [DISC] (1) Boolean[1] P3.inTransition.disTransition = {P3.disTransitionIn[1]} (367) [DISC] (1) Integer $FUN_1 (368) [DISC] (1) Integer[1] $FUN_20 (369) [DISC] (1) Boolean $SEV_152 (370) [ALGB] (1) protected Real[1] T2.activation.arcWeightIn = T2.arcWeightIn (371) [DISC] (1) Boolean $SEV_151 (372) [ALGB] (1) protected Real[1] T1.activation.arcWeightOut = T1.arcWeightOut (373) [DISC] (1) protected Integer P2.firingSumOut.firingSum (374) [DISC] (1) protected Boolean T3.delayPassed (fixed = true, start = false) (375) [DISC] (1) Boolean[1] $SEV_149[$i1] (376) [DISC] (1) Boolean[1] $SEV_177[$i1] (377) [DISC] (1) Boolean T3.fire (378) [DISC] (2) Boolean[2] P1.outTransition.tokenInOut = {pre(P1.tokeninout) for $outTransition1 in 1:2} (379) [ALGB] (3) Real[3] P2.color (380) [DISC] (1) Integer[1] T3.outPlaces.maxTokensint = {T3.maxTokensInt[1]} (381) [DISC] (1) protected Integer P1.enableIn.posTE (382) [DISC] (1) protected Integer[1] T1.tIntOut (383) [DISC] (1) Boolean[1] P1.inTransition.disPlace = {true for $i1 in 1:1} (384) [DISC] (1) Boolean[1] T1.outPlaces.disTransition = {true for $i1 in 1:1} (385) [DISC] (1) protected discrete Real P2.enableIn.benefitLimit (386) [DISC] (4) Integer[4] $FUN_19 (387) [DISC] (1) protected Integer[1] T2.tIntOut (388) [ALGB] (1) Real $FUN_18 (389) [ALGB] (1) Real $FUN_17 (390) [DISC] (1) Integer $FUN_16 (391) [DISC] (1) Integer $FUN_15 (392) [ALGB] (1) Real $FUN_14 (393) [ALGB] (1) Real[1] T2.arcWeightOut = {1.0 for $i1 in 1:1} (394) [DISC] (1) protected discrete Real[1] P3.enableIn.cumEnablingProb (fixed = {true for $i1 in 1:1}, start = {0.0 for $i1 in 1:1}) (395) [DISC] (1) protected Integer[1] T3.tIntOut (396) [DISC] (1) Boolean $FUN_13 (397) [ALGB] (1) Real $FUN_12 (398) [DISC] (1) Integer $FUN_11 (399) [DISC] (2) Boolean[2] $FUN_10 (400) [ALGB] (1) protected Real[1] T1.minTokens (401) [DISS] (1) protected Real T3.firingTime (402) [ALGB] (1) Real P1.levelCon (403) [DISC] (1) Boolean[1] T3.outPlaces.active = {T3.delayPassed} (404) [DISC] (1) protected Integer[1] T2.activation.minTokensInt = T2.minTokensInt (405) [ALGB] (1) protected Real[1] T2.activation.testValue = T2.testValue (406) [DISC] (1) protected Integer[1] T3.activation.maxTokensInt = T3.maxTokensInt (407) [ALGB] (1) protected Real[1] T2.testValue (408) [ALGB] (1) protected Real[1] P1.enableIn.enablingProb = P1.enablingProbIn (409) [DISS] (1) protected Boolean T2.ani (410) [DISC] (1) Boolean[1] $SEV_178[$i1] (411) [DISC] (2) protected Integer[2] P1.firingSumOut.arcWeight = P1.arcWeightOut (412) [DISC] (1) protected Boolean T1.activation.active (413) [ALGB] (1) Real[1] T1.inPlaces.arcWeight = {T1.arcWeightIn[1]} (414) [DISC] (1) protected Integer P1.enableOut.Index (415) [DISC] (1) Boolean[1] T1.outPlaces.enabledByInPlaces = {T1.enabledByInPlaces} (416) [DISC] (1) Boolean[1] T2.inPlaces.active = {T2.delayPassed} (417) [ALGB] (1) protected Real P2.tokenscale (418) [ALGB] (1) Real[1] P3.inTransition.maxTokens = {P3.maxTokens} (419) [ALGB] (1) Real[1] T2.inPlaces.minTokens = {T2.minTokens[1]} (420) [DISC] (1) protected enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T2.activation.arcType = T2.arcType (421) [DISC] (2) Integer[2] P1.outTransition.minTokensint = {P1.minTokens for $outTransition1 in 1:2} (422) [DISC] (1) protected Boolean P3.enableIn.delayPassed = P3.enableIn.delayPassed (423) [DISC] (1) Boolean[1] T1.inPlaces.normalArc = {T1.normalArc[1]} (424) [DISC] (2) protected Boolean[2] P1.firingSumOut.fire = P1.fireOut and P1.disTransitionOut (425) [DISC] (1) protected Boolean[1] P3.activeIn (426) [DISC] (1) protected Boolean[1] T1.activation.normalArc = T1.normalArc (427) [DISC] (1) protected Boolean P3.enableIn.endWhile (428) [DISC] (1) protected Integer[1] P1.enableIn.remTAin (fixed = {true for $i1 in 1:1}, start = {0 for $i1 in 1:1}) (429) [DISC] (1) Integer[1] T2.inPlaces.tint = {T2.tIntIn[1]} (430) [DISC] (1) Integer[1] T1.inPlaces.arcWeightint = {T1.arcWeightIntIn[1]} (431) [DISC] (1) protected Boolean P1.enableOut.valid (432) [DISC] (1) protected enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T1.arcType (433) [DISC] (1) Boolean[1] T1.inPlaces.disTransition = {true for $i1 in 1:1} (434) [DISC] (1) protected Integer P1.enableIn.arcWeightSum (435) [DISC] (1) protected Integer P1.delayPassedOut.numtrue (436) [DISC] (1) protected Boolean[1] P2.disTransitionIn (437) [DISC] (1) protected enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T2.arcType (438) [DISC] (1) Boolean T3.active (439) [DISC] (1) protected Integer[1] P1.firingSumIn.arcWeight = P1.arcWeightIn (440) [DISC] (1) protected Integer[1] T2.activation.arcWeightIntOut = T2.arcWeightIntOut (441) [DISC] (1) protected Boolean T2.enabledByInPlaces = PNlib.Functions.OddsAndEnds.allTrue(T2.enableIn) (442) [DISC] (1) protected Boolean T1.delayPassed (fixed = true, start = false) (443) [DISC] (1) protected Integer P3.enableIn.posTE (444) [DISC] (1) protected Integer P2.enableIn.posTE (445) [DISC] (2) Boolean[2] P1.outTransition.disPlace = {true for $i1 in 1:2} (446) [DISC] (1) protected discrete Real[1] P2.enableIn.cumEnablingProb (fixed = {true for $i1 in 1:1}, start = {0.0 for $i1 in 1:1}) (447) [DISC] (1) protected discrete Real P1.enableOut.sumEnablingProbTAout (448) [DISC] (1) protected Integer P1.enableIn.nremTAin (449) [DISC] (1) protected Integer[1] T1.activation.maxTokensInt = T1.maxTokensInt (450) [DISC] (1) protected Boolean[1] P3.delayPassedIn.vec = P3.activeIn and P3.disTransitionIn (451) [DISS] (1) protected Real T3.fireTime (452) [DISC] (1) Boolean[1] P1.inTransition.active = {P1.activeIn[1]} (453) [DISS] (1) protected Real T2.firingTime (454) [ALGB] (2) Real[2] P1.outTransition.minTokens = {P1.minTokens for $outTransition1 in 1:2} (455) [DISC] (1) protected Boolean P1.enableIn.delayPassed = P1.enableIn.delayPassed (456) [ALGB] (1) protected Real[1] P3.enableIn.enablingBene = P3.enablingBeneIn (457) [DISC] (1) protected Integer P3.enableIn.nremTAin (458) [DISC] (1) protected Integer P3.enableIn.nTAin (459) [DISC] (1) protected Integer[1] P2.enableIn.enablingPrio = P2.enablingPrioIn (460) [DISC] (1) protected Integer P2.enableIn.nTAin (461) [DISC] (1) protected Boolean[1] P3.enableIn.TEin_ (462) [DISC] (2) protected Boolean[2] P1.activeOut (fixed = {true for $i1 in 1:2}, start = {false for $i1 in 1:2}) (463) [DISC] (1) protected Boolean[1] P2.enableIn.TEin_ (464) [ALGB] (1) Real[1] T3.outPlaces.t = {T3.tOut[1]} (465) [DISC] (1) protected Integer[1] T2.activation.tIntIn = T2.tIntIn (466) [DISC] (1) protected Boolean P1.tokeninout (fixed = true, start = false) (467) [DISC] (1) protected Boolean[1] T2.activation.normalArc = T2.normalArc (468) [DISC] (1) Boolean[1] P2.inTransition.enabledByInPlaces = {P2.enabledByInPlaces[1]} (469) [DISC] (1) protected Integer[1] P3.arcWeightIn (470) [DISC] (1) protected Boolean[1] P2.enableIn.active = P2.activeIn (471) [DISC] (1) protected Integer[1] T2.activation.tIntOut = T2.tIntOut (472) [DISC] (1) Integer[1] T2.outPlaces.arcWeightint = {T2.arcWeightIntOut[1]} (473) [DISC] (1) protected Boolean T2.delayPassed (fixed = true, start = false) (474) [DISC] (1) protected Integer[1] T2.activation.arcWeightIntIn = T2.arcWeightIntIn (475) [DISC] (1) protected Integer P1.enableOut.nremTAout (476) [DISC] (2) protected Integer[2] P1.enableOut.arcWeight = P1.arcWeightOut (477) [DISC] (1) Integer[1] P3.inTransition.arcWeightint = {P3.arcWeightIn[1]} (478) [DISC] (1) protected Boolean[1] T3.disPlaceOut (479) [ALGB] (1) protected Real P3.tokenscale (480) [DISC] (1) protected Integer[1] T2.maxTokensInt (481) [DISC] (1) Boolean[1] T1.inPlaces.disPlace = {T1.disPlaceIn[1]} (482) [DISC] (1) protected Boolean[1] P3.fireIn (483) [DISC] (1) Boolean $SEV_202 (484) [DISC] (1) Boolean $SEV_201 (485) [DISC] (1) protected Integer P3.firingSumIn.firingSum (486) [DISC] (1) Boolean $SEV_200 (487) [DISC] (2) Boolean[2] P1.outTransition.disTransition = {P1.disTransitionOut[$outTransition1] for $outTransition1 in 1:2} (488) [ALGB] (1) protected Real[1] T1.activation.testValue = T1.testValue (489) [DISC] (1) protected Boolean P2.enableIn.delayPassed = P2.enableIn.delayPassed (490) [DISC] (1) Boolean[1] T2.outPlaces.enabledByInPlaces = {T2.enabledByInPlaces} (491) [DISC] (1) protected Boolean P1.enableIn.endWhile (492) [DISC] (1) Boolean[1] T1.inPlaces.active = {T1.delayPassed} (493) [ALGB] (1) Real[1] P1.inTransition.arcWeight (494) [ALGB] (1) protected Real[1] T3.activation.arcWeightOut = T3.arcWeightOut (495) [DISC] (2) Boolean[2] P1.outTransition.enable = {P1.enableOut.TEout_[$outTransition1] for $outTransition1 in 1:2} (496) [DISC] (1) protected Integer[1] T1.minTokensInt (497) [DISC] (1) protected Integer[1] T1.activation.testValueInt = T1.testValueInt (498) [DISC] (1) protected Boolean P1.enableOut.endWhile (499) [DISC] (1) Boolean[1] P2.inTransition.active = {P2.activeIn[1]} (500) [DISC] (1) protected Boolean[1] P2.enabledByInPlaces (501) [DISC] (1) Boolean T2.active (502) [DISC] (1) protected Boolean[1] P1.firingSumIn.fire = P1.fireIn and P1.disTransitionIn (503) [DISC] (1) protected Boolean T3.activation.active (504) [DISC] (1) protected Boolean[1] T2.enableIn (505) [ALGB] (1) protected Real T3.delay_ = if 1.0 < 1e-6 then 1e-6 else 1.0 (506) [DISC] (1) Boolean[1] T1.outPlaces.fire = {T1.fire} (507) [ALGB] (3) protected Real[3] T3.color System Equations (424/581) **************************** (1) [ARRY] (1) T2.inPlaces.t = {T2.tIn[1]} ($RES_BND_380) (2) [SCAL] (1) T2.outPlaces[1].disTransition = true ($RES_BND_384) (3) [ARRY] (1) T2.outPlaces.enabledByInPlaces = {T2.enabledByInPlaces} ($RES_BND_385) (4) [ARRY] (1) T2.outPlaces.arcWeightint = {T2.arcWeightIntOut[1]} ($RES_BND_386) (5) [ARRY] (1) T2.outPlaces.arcWeight = {T2.arcWeightOut[1]} ($RES_BND_387) (6) [ARRY] (1) T2.outPlaces.fire = {T2.fire} ($RES_BND_388) (7) [ARRY] (1) T2.outPlaces.active = {T2.delayPassed} ($RES_BND_389) (8) [ARRY] (1) P3.inTransition.t = {P3.enableOut.t} ($RES_BND_470) (9) [SCAL] (1) T1.outPlaces[1].arcWeightint = P2.inTransition[1].arcWeightint ($RES_SIM_170) (10) [ARRY] (1) P3.inTransition.disTransition = {P3.disTransitionIn[1]} ($RES_BND_471) (11) [SCAL] (1) T1.outPlaces[1].arcWeight = P2.inTransition[1].arcWeight ($RES_SIM_171) (12) [ARRY] (1) P3.inTransition.enabledByInPlaces = {P3.enabledByInPlaces[1]} ($RES_BND_472) (13) [SCAL] (1) T1.outPlaces[1].active = P2.inTransition[1].active ($RES_SIM_172) (14) [ARRY] (1) P3.inTransition.arcWeightint = {P3.arcWeightIn[1]} ($RES_BND_473) (15) [SCAL] (1) P1.outTransition[1].tokenInOut = T1.inPlaces[1].tokenInOut ($RES_SIM_173) (16) [ARRY] (1) P3.inTransition.fire = {P3.fireIn[1]} ($RES_BND_474) (17) [SCAL] (1) P1.outTransition[1].tint = T1.inPlaces[1].tint ($RES_SIM_174) (18) [ARRY] (1) P3.inTransition.active = {P3.activeIn[1]} ($RES_BND_475) (19) [SCAL] (1) P1.outTransition[1].testValueint = T1.inPlaces[1].testValueint ($RES_SIM_175) (20) [SCAL] (1) P1.outTransition[1].testValue = T1.inPlaces[1].testValue ($RES_SIM_176) (21) [ARRY] (1) P3.delayPassedIn.vec = $SEV_193 ($RES_BND_477) (22) [SCAL] (1) P1.outTransition[1].t = T1.inPlaces[1].t ($RES_SIM_177) (23) [ARRY] (1) P3.firingSumIn.fire = $SEV_192 ($RES_BND_478) (24) [ARRY] (1) P3.firingSumIn.arcWeight = P3.arcWeightIn ($RES_BND_479) (25) [ARRY] (1) T2.outPlaces.disPlace = {T2.disPlaceOut[1]} ($RES_BND_390) (26) [ARRY] (1) T2.outPlaces.enable = {T2.enableOut[1]} ($RES_BND_391) (27) [ARRY] (1) T2.outPlaces.maxTokensint = {T2.maxTokensInt[1]} ($RES_BND_392) (28) [ARRY] (1) T2.outPlaces.maxTokens = {T2.maxTokens[1]} ($RES_BND_393) (29) [ARRY] (1) T2.outPlaces.tint = {T2.tIntOut[1]} ($RES_BND_394) (30) [ARRY] (1) T2.outPlaces.t = {T2.tOut[1]} ($RES_BND_395) (31) [SCAL] (1) T2.delay_ = 1.0 ($RES_BND_398) (32) [ARRY] (1) T2.activation.tIn = T2.tIn ($RES_BND_399) (33) [SCAL] (1) P1.outTransition[1].normalArc = T1.inPlaces[1].normalArc ($RES_SIM_180) (34) [SCAL] (1) P1.outTransition[1].minTokensint = T1.inPlaces[1].minTokensint ($RES_SIM_181) (35) [SCAL] (1) P1.outTransition[1].minTokens = T1.inPlaces[1].minTokens ($RES_SIM_182) (36) [SCAL] (1) P1.outTransition[1].fire = T1.inPlaces[1].fire ($RES_SIM_185) (37) [ARRY] (1) P3.enableIn.arcWeight = P3.arcWeightIn ($RES_BND_486) (38) [SCAL] (1) P1.outTransition[1].enable = T1.inPlaces[1].enable ($RES_SIM_187) (39) [SCAL] (1) P1.outTransition[1].disTransition = T1.inPlaces[1].disTransition ($RES_SIM_188) (40) [ARRY] (1) P3.enableIn.TAein = $SEV_191 ($RES_BND_489) (41) [SCAL] (1) P1.outTransition[1].disPlace = T1.inPlaces[1].disPlace ($RES_SIM_189) (42) [SCAL] (1) $TEV_2 = $PRE.P3.t ($RES_EVT_578) (43) [SCAL] (1) $TEV_3 = $PRE.P2.t ($RES_EVT_579) (44) [ARRY] (1) P3.enableIn.enablingPrio = P3.enablingPrioIn ($RES_BND_491) (45) [SCAL] (1) P1.outTransition[1].arcWeightint = T1.inPlaces[1].arcWeightint ($RES_SIM_191) (46) [ARRY] (1) P3.enableIn.enablingProb = P3.enablingProbIn ($RES_BND_492) (47) [SCAL] (1) P1.outTransition[1].arcWeight = T1.inPlaces[1].arcWeight ($RES_SIM_192) (48) [ARRY] (1) P3.enableIn.enablingBene = P3.enablingBeneIn ($RES_BND_493) (49) [SCAL] (1) P1.outTransition[1].arcType = T1.inPlaces[1].arcType ($RES_SIM_193) (50) [SCAL] (1) P1.outTransition[1].active = T1.inPlaces[1].active ($RES_SIM_194) (51) [ARRY] (1) P3.enableIn.disTransition = P3.disTransitionIn ($RES_BND_495) (52) [SCAL] (1) T3.outPlaces[1].tint = P1.inTransition[1].tint ($RES_SIM_195) (53) [SCAL] (1) T3.outPlaces[1].t = P1.inTransition[1].t ($RES_SIM_196) (54) [ARRY] (1) P3.enableIn.active = P3.activeIn ($RES_BND_497) (55) [SCAL] (1) T3.outPlaces[1].maxTokensint = P1.inTransition[1].maxTokensint ($RES_SIM_199) (56) [SCAL] (1) T3.arcWeightOut[1] = 1.0 ($RES_BND_499) (57) [SCAL] (1) $TEV_4 = $PRE.P1.t ($RES_EVT_580) (58) [SCAL] (1) $TEV_5 = $PRE.P1.tokeninout ($RES_EVT_581) (59) [SCAL] (1) $TEV_6 = $PRE.P1.enableOut.state128 ($RES_EVT_582) (60) [SCAL] (1) $TEV_7 = $PRE.P1.enableIn.state128 ($RES_EVT_583) (61) [SCAL] (1) $TEV_8 = $PRE.P2.enableIn.state128 ($RES_EVT_584) (62) [SCAL] (1) $TEV_9 = $PRE.P3.enableIn.state128 ($RES_EVT_585) (63) [SCAL] (1) $SEV_149[1] = T3.disPlaceOut[1] and T3.arcWeightOut[1] - T3.arcWeightIntOut[1] <= 0.0 or not T3.disPlaceOut[1] ($RES_EVT_586) (64) [SCAL] (1) $SEV_150[1] = T3.arcWeightOut[1] >= 0.0 ($RES_EVT_587) (65) [ALGO] (1) ($RES_SIM_9) (65) [----] P3.firingSumOut.firingSum := 0; (66) [SCAL] (1) $SEV_151 = (T3.fireTime + settings.timeFire >= time and settings.animateTransition) and T3.ani ($RES_EVT_588) (67) [SCAL] (1) $SEV_152 = T3.active and time >= T3.firingTime ($RES_EVT_589) (68) [ALGO] (20) ($RES_SIM_7) (68) [----] P3.enableIn.TEin := fill(false, 1); (68) [----] P3.enableIn.arcWeightSum := 0; (68) [----] when P3.enableIn.delayPassed then (68) [----] P3.enableIn.arcWeightSum := $FUN_43; (68) [----] if P3.enableOut.t + P3.enableIn.arcWeightSum <= P3.maxTokens then (68) [----] P3.enableIn.TEin := P3.enableIn.TAein; (68) [----] elseif true then (68) [----] if P3.enablingType == PNlib.Types.EnablingType.Priority then (68) [----] P3.enableIn.arcWeightSum := 0; (68) [----] for i in 1:1 loop (68) [----] P3.enableIn.Index := $FUN_44; (68) [----] if ((P3.enableIn.Index > 0 and P3.enableIn.TAein[P3.enableIn.Index]) and P3.enableIn.disTransition[P3.enableIn.Index]) and P3.enableOut.t + P3.enableIn.arcWeight[P3.enableIn.Index] + P3.enableIn.arcWeightSum <= P3.maxTokens then (68) [----] P3.enableIn.TEin[P3.enableIn.Index] := true; (68) [----] P3.enableIn.arcWeightSum := P3.enableIn.arcWeightSum + P3.enableIn.arcWeight[P3.enableIn.Index]; (68) [----] end if; (68) [----] end for; (68) [----] for i in 1:1 loop (68) [----] P3.enableIn.Index := $FUN_44; (68) [----] if (P3.enableIn.TAein[P3.enableIn.Index] and not P3.enableIn.disTransition[P3.enableIn.Index]) and P3.enableOut.t + P3.enableIn.arcWeight[P3.enableIn.Index] + P3.enableIn.arcWeightSum <= P3.maxTokens then (68) [----] P3.enableIn.TEin[P3.enableIn.Index] := true; (68) [----] P3.enableIn.arcWeightSum := P3.enableIn.arcWeightSum + P3.enableIn.arcWeight[P3.enableIn.Index]; (68) [----] end if; (68) [----] end for; (68) [----] elseif P3.enablingType == PNlib.Types.EnablingType.Probability then (68) [----] P3.enableIn.arcWeightSum := 0; (68) [----] P3.enableIn.remTAin := fill(0, 1); (68) [----] P3.enableIn.nremTAin := 0; (68) [----] for i in 1:1 loop (68) [----] if P3.enableIn.TAein[i] and P3.enableIn.disTransition[i] then (68) [----] P3.enableIn.nremTAin := P3.enableIn.nremTAin + 1; (68) [----] P3.enableIn.remTAin[P3.enableIn.nremTAin] := i; (68) [----] end if; (68) [----] end for; (68) [----] P3.enableIn.nTAin := P3.enableIn.nremTAin; (68) [----] P3.enableIn.sumEnablingProbTAin := $FUN_45; (68) [----] P3.enableIn.cumEnablingProb := fill(0.0, 1); (68) [----] P3.enableIn.cumEnablingProb[1] := P3.enableIn.enablingProb[P3.enableIn.remTAin[1]] / P3.enableIn.sumEnablingProbTAin; (68) [----] for j in 2:P3.enableIn.nremTAin loop (68) [----] P3.enableIn.cumEnablingProb[j] := P3.enableIn.cumEnablingProb[j - 1] + P3.enableIn.enablingProb[P3.enableIn.remTAin[j]] / P3.enableIn.sumEnablingProbTAin; (68) [----] end for; (68) [----] for i in 1:P3.enableIn.nTAin loop (68) [----] (P3.enableIn.randNum, P3.enableIn.state128) := ($FUN_46, $FUN_47); (68) [----] P3.enableIn.endWhile := false; (68) [----] P3.enableIn.k := 1; (68) [----] while P3.enableIn.k <= P3.enableIn.nremTAin and not P3.enableIn.endWhile then (68) [----] if P3.enableIn.randNum <= P3.enableIn.cumEnablingProb[P3.enableIn.k] then (68) [----] P3.enableIn.posTE := P3.enableIn.remTAin[P3.enableIn.k]; (68) [----] P3.enableIn.endWhile := true; (68) [----] elseif true then (68) [----] P3.enableIn.k := P3.enableIn.k + 1; (68) [----] end if; (68) [----] end while; (68) [----] if P3.enableIn.arcWeightSum + P3.enableOut.t + P3.enableIn.arcWeight[P3.enableIn.posTE] <= P3.maxTokens then (68) [----] P3.enableIn.arcWeightSum := P3.enableIn.arcWeightSum + P3.enableIn.arcWeight[P3.enableIn.posTE]; (68) [----] P3.enableIn.TEin[P3.enableIn.posTE] := true; (68) [----] end if; (68) [----] P3.enableIn.nremTAin := P3.enableIn.nremTAin - 1; (68) [----] if P3.enableIn.nremTAin > 0 then (68) [----] P3.enableIn.remTAin := $FUN_48; (68) [----] P3.enableIn.cumEnablingProb := fill(0.0, 1); (68) [----] P3.enableIn.sumEnablingProbTAin := $FUN_45; (68) [----] if P3.enableIn.sumEnablingProbTAin > 0.0 then (68) [----] P3.enableIn.cumEnablingProb[1] := P3.enableIn.enablingProb[P3.enableIn.remTAin[1]] / P3.enableIn.sumEnablingProbTAin; (68) [----] for j in 2:P3.enableIn.nremTAin loop (68) [----] P3.enableIn.cumEnablingProb[j] := P3.enableIn.cumEnablingProb[j - 1] + P3.enableIn.enablingProb[P3.enableIn.remTAin[j]] / P3.enableIn.sumEnablingProbTAin; (68) [----] end for; (68) [----] elseif true then (68) [----] P3.enableIn.cumEnablingProb[1:P3.enableIn.nremTAin] := fill(1.0 / P3.enableIn.nremTAin, P3.enableIn.nremTAin); (68) [----] end if; (68) [----] end if; (68) [----] end for; (68) [----] elseif true then (68) [----] if P3.benefitType == PNlib.Types.BenefitType.Greedy then (68) [----] P3.enableIn.TEin := $FUN_49; (68) [----] elseif P3.benefitType == PNlib.Types.BenefitType.BenefitQuotient then (68) [----] P3.enableIn.TEin := $FUN_50; (68) [----] elseif true then (68) [----] P3.enableIn.arcWeightSum := 0; (68) [----] P3.enableIn.benefitMax := $FUN_51; (68) [----] P3.enableIn.benefitLimit := 0.0; (68) [----] (P3.enableIn.TEin, P3.enableIn.arcWeightSum, P3.enableIn.benefitMax, P3.enableIn.valid, P3.enableIn.benefitLimit) := ($FUN_52, $FUN_53, $FUN_54, $FUN_55, $FUN_56); (68) [----] end if; (68) [----] end if; (68) [----] end if; (68) [----] end when; (68) [----] for i in 1:1 loop (68) [----] P3.enableIn.TEin_[i] := P3.enableIn.TEin[i] and P3.enableIn.active[i]; (68) [----] end for; (69) [ALGO] (1) ($RES_SIM_6) (69) [----] T3.activation.active := true; (69) [----] for i in 1:1 loop (69) [----] if T3.activation.disPlaceOut[i] then (69) [----] if not T3.activation.tIntOut[i] + T3.activation.arcWeightIntOut[i] <= T3.activation.maxTokensInt[i] then (69) [----] T3.activation.active := false; (69) [----] end if; (69) [----] elseif true then (69) [----] if not (T3.activation.arcWeightOut[i] + T3.activation.tOut[i]) - T3.activation.maxTokens[i] <= 1e-9 then (69) [----] T3.activation.active := false; (69) [----] end if; (69) [----] end if; (69) [----] end for; (69) [----] T3.activation.active := T3.activation.active and true; (70) [SCAL] (1) $SEV_153 = T3.activation.active and not $PRE.T3.delayPassed ($RES_EVT_590) (71) [SCAL] (1) $SEV_157 = P3.tokenscale < 100.0 ($RES_EVT_594) (72) [SCAL] (1) $SEV_158 = $PRE.P3.firingSumIn.firingSum > 0 ($RES_EVT_595) (73) [SCAL] (1) $SEV_159 = $PRE.P3.firingSumOut.firingSum > 0 ($RES_EVT_596) (74) [SCAL] (1) $SEV_160 = $PRE.P3.firingSumIn.firingSum > 0 or $PRE.P3.firingSumOut.firingSum > 0 ($RES_EVT_597) (75) [ALGO] (1) ($RES_SIM_10) (75) [----] P3.firingSumIn.firingSum := 0; (75) [----] for i in 1:1 loop (75) [----] if P3.firingSumIn.fire[i] then (75) [----] P3.firingSumIn.firingSum := P3.firingSumIn.firingSum + P3.firingSumIn.arcWeight[i]; (75) [----] end if; (75) [----] end for; (76) [ALGO] (2) ($RES_SIM_11) (76) [----] P3.enableIn.delayPassed := false; (76) [----] P3.delayPassedIn.numtrue := 0; (76) [----] for i in 1:1 loop (76) [----] P3.enableIn.delayPassed := P3.enableIn.delayPassed or P3.delayPassedIn.vec[i]; (76) [----] if P3.delayPassedIn.vec[i] then (76) [----] P3.delayPassedIn.numtrue := P3.delayPassedIn.numtrue + 1; (76) [----] end if; (76) [----] end for; (77) [ALGO] (20) ($RES_SIM_14) (77) [----] P2.enableIn.TEin := fill(false, 1); (77) [----] P2.enableIn.arcWeightSum := 0; (77) [----] when P2.enableIn.delayPassed then (77) [----] P2.enableIn.arcWeightSum := $FUN_29; (77) [----] if P2.enableOut.t + P2.enableIn.arcWeightSum <= P2.maxTokens then (77) [----] P2.enableIn.TEin := P2.enableIn.TAein; (77) [----] elseif true then (77) [----] if P2.enablingType == PNlib.Types.EnablingType.Priority then (77) [----] P2.enableIn.arcWeightSum := 0; (77) [----] for i in 1:1 loop (77) [----] P2.enableIn.Index := $FUN_30; (77) [----] if ((P2.enableIn.Index > 0 and P2.enableIn.TAein[P2.enableIn.Index]) and P2.enableIn.disTransition[P2.enableIn.Index]) and P2.enableOut.t + P2.enableIn.arcWeight[P2.enableIn.Index] + P2.enableIn.arcWeightSum <= P2.maxTokens then (77) [----] P2.enableIn.TEin[P2.enableIn.Index] := true; (77) [----] P2.enableIn.arcWeightSum := P2.enableIn.arcWeightSum + P2.enableIn.arcWeight[P2.enableIn.Index]; (77) [----] end if; (77) [----] end for; (77) [----] for i in 1:1 loop (77) [----] P2.enableIn.Index := $FUN_30; (77) [----] if (P2.enableIn.TAein[P2.enableIn.Index] and not P2.enableIn.disTransition[P2.enableIn.Index]) and P2.enableOut.t + P2.enableIn.arcWeight[P2.enableIn.Index] + P2.enableIn.arcWeightSum <= P2.maxTokens then (77) [----] P2.enableIn.TEin[P2.enableIn.Index] := true; (77) [----] P2.enableIn.arcWeightSum := P2.enableIn.arcWeightSum + P2.enableIn.arcWeight[P2.enableIn.Index]; (77) [----] end if; (77) [----] end for; (77) [----] elseif P2.enablingType == PNlib.Types.EnablingType.Probability then (77) [----] P2.enableIn.arcWeightSum := 0; (77) [----] P2.enableIn.remTAin := fill(0, 1); (77) [----] P2.enableIn.nremTAin := 0; (77) [----] for i in 1:1 loop (77) [----] if P2.enableIn.TAein[i] and P2.enableIn.disTransition[i] then (77) [----] P2.enableIn.nremTAin := P2.enableIn.nremTAin + 1; (77) [----] P2.enableIn.remTAin[P2.enableIn.nremTAin] := i; (77) [----] end if; (77) [----] end for; (77) [----] P2.enableIn.nTAin := P2.enableIn.nremTAin; (77) [----] P2.enableIn.sumEnablingProbTAin := $FUN_31; (77) [----] P2.enableIn.cumEnablingProb := fill(0.0, 1); (77) [----] P2.enableIn.cumEnablingProb[1] := P2.enableIn.enablingProb[P2.enableIn.remTAin[1]] / P2.enableIn.sumEnablingProbTAin; (77) [----] for j in 2:P2.enableIn.nremTAin loop (77) [----] P2.enableIn.cumEnablingProb[j] := P2.enableIn.cumEnablingProb[j - 1] + P2.enableIn.enablingProb[P2.enableIn.remTAin[j]] / P2.enableIn.sumEnablingProbTAin; (77) [----] end for; (77) [----] for i in 1:P2.enableIn.nTAin loop (77) [----] (P2.enableIn.randNum, P2.enableIn.state128) := ($FUN_32, $FUN_33); (77) [----] P2.enableIn.endWhile := false; (77) [----] P2.enableIn.k := 1; (77) [----] while P2.enableIn.k <= P2.enableIn.nremTAin and not P2.enableIn.endWhile then (77) [----] if P2.enableIn.randNum <= P2.enableIn.cumEnablingProb[P2.enableIn.k] then (77) [----] P2.enableIn.posTE := P2.enableIn.remTAin[P2.enableIn.k]; (77) [----] P2.enableIn.endWhile := true; (77) [----] elseif true then (77) [----] P2.enableIn.k := P2.enableIn.k + 1; (77) [----] end if; (77) [----] end while; (77) [----] if P2.enableIn.arcWeightSum + P2.enableOut.t + P2.enableIn.arcWeight[P2.enableIn.posTE] <= P2.maxTokens then (77) [----] P2.enableIn.arcWeightSum := P2.enableIn.arcWeightSum + P2.enableIn.arcWeight[P2.enableIn.posTE]; (77) [----] P2.enableIn.TEin[P2.enableIn.posTE] := true; (77) [----] end if; (77) [----] P2.enableIn.nremTAin := P2.enableIn.nremTAin - 1; (77) [----] if P2.enableIn.nremTAin > 0 then (77) [----] P2.enableIn.remTAin := $FUN_34; (77) [----] P2.enableIn.cumEnablingProb := fill(0.0, 1); (77) [----] P2.enableIn.sumEnablingProbTAin := $FUN_31; (77) [----] if P2.enableIn.sumEnablingProbTAin > 0.0 then (77) [----] P2.enableIn.cumEnablingProb[1] := P2.enableIn.enablingProb[P2.enableIn.remTAin[1]] / P2.enableIn.sumEnablingProbTAin; (77) [----] for j in 2:P2.enableIn.nremTAin loop (77) [----] P2.enableIn.cumEnablingProb[j] := P2.enableIn.cumEnablingProb[j - 1] + P2.enableIn.enablingProb[P2.enableIn.remTAin[j]] / P2.enableIn.sumEnablingProbTAin; (77) [----] end for; (77) [----] elseif true then (77) [----] P2.enableIn.cumEnablingProb[1:P2.enableIn.nremTAin] := fill(1.0 / P2.enableIn.nremTAin, P2.enableIn.nremTAin); (77) [----] end if; (77) [----] end if; (77) [----] end for; (77) [----] elseif true then (77) [----] if P2.benefitType == PNlib.Types.BenefitType.Greedy then (77) [----] P2.enableIn.TEin := $FUN_35; (77) [----] elseif P2.benefitType == PNlib.Types.BenefitType.BenefitQuotient then (77) [----] P2.enableIn.TEin := $FUN_36; (77) [----] elseif true then (77) [----] P2.enableIn.arcWeightSum := 0; (77) [----] P2.enableIn.benefitMax := $FUN_37; (77) [----] P2.enableIn.benefitLimit := 0.0; (77) [----] (P2.enableIn.TEin, P2.enableIn.arcWeightSum, P2.enableIn.benefitMax, P2.enableIn.valid, P2.enableIn.benefitLimit) := ($FUN_38, $FUN_39, $FUN_40, $FUN_41, $FUN_42); (77) [----] end if; (77) [----] end if; (77) [----] end if; (77) [----] end when; (77) [----] for i in 1:1 loop (77) [----] P2.enableIn.TEin_[i] := P2.enableIn.TEin[i] and P2.enableIn.active[i]; (77) [----] end for; (78) [ALGO] (1) ($RES_SIM_16) (78) [----] P2.firingSumOut.firingSum := 0; (79) [ALGO] (1) ($RES_SIM_17) (79) [----] P2.firingSumIn.firingSum := 0; (79) [----] for i in 1:1 loop (79) [----] if P2.firingSumIn.fire[i] then (79) [----] P2.firingSumIn.firingSum := P2.firingSumIn.firingSum + P2.firingSumIn.arcWeight[i]; (79) [----] end if; (79) [----] end for; (80) [ALGO] (2) ($RES_SIM_18) (80) [----] P2.enableIn.delayPassed := false; (80) [----] P2.delayPassedIn.numtrue := 0; (80) [----] for i in 1:1 loop (80) [----] P2.enableIn.delayPassed := P2.enableIn.delayPassed or P2.delayPassedIn.vec[i]; (80) [----] if P2.delayPassedIn.vec[i] then (80) [----] P2.delayPassedIn.numtrue := P2.delayPassedIn.numtrue + 1; (80) [----] end if; (80) [----] end for; (81) [ALGO] (1) ($RES_SIM_21) (81) [----] T2.activation.active := true; (81) [----] for i in 1:1 loop (81) [----] if T2.activation.disPlaceIn[i] then (81) [----] if (T2.activation.arcType[i] == PNlib.Types.ArcType.NormalArc or not T2.activation.normalArc[i]) and not T2.activation.tIntIn[i] - T2.activation.arcWeightIntIn[i] >= T2.activation.minTokensInt[i] then (81) [----] T2.activation.active := false; (81) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.RealTestArc and not T2.activation.tIntIn[i] > T2.activation.testValueInt[i] then (81) [----] T2.activation.active := false; (81) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.TestArc and not T2.activation.tIntIn[i] >= T2.activation.testValueInt[i] then (81) [----] T2.activation.active := false; (81) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.RealInhibitorArc and not T2.activation.tIntIn[i] < T2.activation.testValueInt[i] then (81) [----] T2.activation.active := false; (81) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.InhibitorArc and not T2.activation.tIntIn[i] <= T2.activation.testValueInt[i] then (81) [----] T2.activation.active := false; (81) [----] end if; (81) [----] elseif true then (81) [----] if (T2.activation.arcType[i] == PNlib.Types.ArcType.NormalArc or not T2.activation.normalArc[i]) and not T2.activation.tIn[i] - (T2.activation.minTokens[i] + T2.activation.arcWeightIn[i]) >= (-1e-9) then (81) [----] T2.activation.active := false; (81) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.RealTestArc and not T2.activation.tIn[i] > T2.activation.testValue[i] then (81) [----] T2.activation.active := false; (81) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.TestArc and not T2.activation.tIn[i] >= T2.activation.testValue[i] then (81) [----] T2.activation.active := false; (81) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.RealInhibitorArc and not T2.activation.tIn[i] < T2.activation.testValue[i] then (81) [----] T2.activation.active := false; (81) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.InhibitorArc and not T2.activation.tIn[i] <= T2.activation.testValue[i] then (81) [----] T2.activation.active := false; (81) [----] end if; (81) [----] end if; (81) [----] end for; (81) [----] for i in 1:1 loop (81) [----] if T2.activation.disPlaceOut[i] then (81) [----] if not T2.activation.tIntOut[i] + T2.activation.arcWeightIntOut[i] <= T2.activation.maxTokensInt[i] then (81) [----] T2.activation.active := false; (81) [----] end if; (81) [----] elseif true then (81) [----] if not (T2.activation.arcWeightOut[i] + T2.activation.tOut[i]) - T2.activation.maxTokens[i] <= 1e-9 then (81) [----] T2.activation.active := false; (81) [----] end if; (81) [----] end if; (81) [----] end for; (81) [----] T2.activation.active := T2.activation.active and true; (82) [ALGO] (1) ($RES_SIM_22) (82) [----] T1.activation.active := true; (82) [----] for i in 1:1 loop (82) [----] if T1.activation.disPlaceIn[i] then (82) [----] if (T1.activation.arcType[i] == PNlib.Types.ArcType.NormalArc or not T1.activation.normalArc[i]) and not T1.activation.tIntIn[i] - T1.activation.arcWeightIntIn[i] >= T1.activation.minTokensInt[i] then (82) [----] T1.activation.active := false; (82) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.RealTestArc and not T1.activation.tIntIn[i] > T1.activation.testValueInt[i] then (82) [----] T1.activation.active := false; (82) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.TestArc and not T1.activation.tIntIn[i] >= T1.activation.testValueInt[i] then (82) [----] T1.activation.active := false; (82) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.RealInhibitorArc and not T1.activation.tIntIn[i] < T1.activation.testValueInt[i] then (82) [----] T1.activation.active := false; (82) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.InhibitorArc and not T1.activation.tIntIn[i] <= T1.activation.testValueInt[i] then (82) [----] T1.activation.active := false; (82) [----] end if; (82) [----] elseif true then (82) [----] if (T1.activation.arcType[i] == PNlib.Types.ArcType.NormalArc or not T1.activation.normalArc[i]) and not T1.activation.tIn[i] - (T1.activation.minTokens[i] + T1.activation.arcWeightIn[i]) >= (-1e-9) then (82) [----] T1.activation.active := false; (82) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.RealTestArc and not T1.activation.tIn[i] > T1.activation.testValue[i] then (82) [----] T1.activation.active := false; (82) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.TestArc and not T1.activation.tIn[i] >= T1.activation.testValue[i] then (82) [----] T1.activation.active := false; (82) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.RealInhibitorArc and not T1.activation.tIn[i] < T1.activation.testValue[i] then (82) [----] T1.activation.active := false; (82) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.InhibitorArc and not T1.activation.tIn[i] <= T1.activation.testValue[i] then (82) [----] T1.activation.active := false; (82) [----] end if; (82) [----] end if; (82) [----] end for; (82) [----] for i in 1:1 loop (82) [----] if T1.activation.disPlaceOut[i] then (82) [----] if not T1.activation.tIntOut[i] + T1.activation.arcWeightIntOut[i] <= T1.activation.maxTokensInt[i] then (82) [----] T1.activation.active := false; (82) [----] end if; (82) [----] elseif true then (82) [----] if not (T1.activation.arcWeightOut[i] + T1.activation.tOut[i]) - T1.activation.maxTokens[i] <= 1e-9 then (82) [----] T1.activation.active := false; (82) [----] end if; (82) [----] end if; (82) [----] end for; (82) [----] T1.activation.active := T1.activation.active and true; (83) [ALGO] (20) ($RES_SIM_23) (83) [----] P1.enableIn.TEin := fill(false, 1); (83) [----] P1.enableIn.arcWeightSum := 0; (83) [----] when P1.enableIn.delayPassed then (83) [----] P1.enableIn.arcWeightSum := $FUN_15; (83) [----] if P1.enableOut.t + P1.enableIn.arcWeightSum <= P1.maxTokens then (83) [----] P1.enableIn.TEin := P1.enableIn.TAein; (83) [----] elseif true then (83) [----] if P1.enablingType == PNlib.Types.EnablingType.Priority then (83) [----] P1.enableIn.arcWeightSum := 0; (83) [----] for i in 1:1 loop (83) [----] P1.enableIn.Index := $FUN_16; (83) [----] if ((P1.enableIn.Index > 0 and P1.enableIn.TAein[P1.enableIn.Index]) and P1.enableIn.disTransition[P1.enableIn.Index]) and P1.enableOut.t + P1.enableIn.arcWeight[P1.enableIn.Index] + P1.enableIn.arcWeightSum <= P1.maxTokens then (83) [----] P1.enableIn.TEin[P1.enableIn.Index] := true; (83) [----] P1.enableIn.arcWeightSum := P1.enableIn.arcWeightSum + P1.enableIn.arcWeight[P1.enableIn.Index]; (83) [----] end if; (83) [----] end for; (83) [----] for i in 1:1 loop (83) [----] P1.enableIn.Index := $FUN_16; (83) [----] if (P1.enableIn.TAein[P1.enableIn.Index] and not P1.enableIn.disTransition[P1.enableIn.Index]) and P1.enableOut.t + P1.enableIn.arcWeight[P1.enableIn.Index] + P1.enableIn.arcWeightSum <= P1.maxTokens then (83) [----] P1.enableIn.TEin[P1.enableIn.Index] := true; (83) [----] P1.enableIn.arcWeightSum := P1.enableIn.arcWeightSum + P1.enableIn.arcWeight[P1.enableIn.Index]; (83) [----] end if; (83) [----] end for; (83) [----] elseif P1.enablingType == PNlib.Types.EnablingType.Probability then (83) [----] P1.enableIn.arcWeightSum := 0; (83) [----] P1.enableIn.remTAin := fill(0, 1); (83) [----] P1.enableIn.nremTAin := 0; (83) [----] for i in 1:1 loop (83) [----] if P1.enableIn.TAein[i] and P1.enableIn.disTransition[i] then (83) [----] P1.enableIn.nremTAin := P1.enableIn.nremTAin + 1; (83) [----] P1.enableIn.remTAin[P1.enableIn.nremTAin] := i; (83) [----] end if; (83) [----] end for; (83) [----] P1.enableIn.nTAin := P1.enableIn.nremTAin; (83) [----] P1.enableIn.sumEnablingProbTAin := $FUN_17; (83) [----] P1.enableIn.cumEnablingProb := fill(0.0, 1); (83) [----] P1.enableIn.cumEnablingProb[1] := P1.enableIn.enablingProb[P1.enableIn.remTAin[1]] / P1.enableIn.sumEnablingProbTAin; (83) [----] for j in 2:P1.enableIn.nremTAin loop (83) [----] P1.enableIn.cumEnablingProb[j] := P1.enableIn.cumEnablingProb[j - 1] + P1.enableIn.enablingProb[P1.enableIn.remTAin[j]] / P1.enableIn.sumEnablingProbTAin; (83) [----] end for; (83) [----] for i in 1:P1.enableIn.nTAin loop (83) [----] (P1.enableIn.randNum, P1.enableIn.state128) := ($FUN_18, $FUN_19); (83) [----] P1.enableIn.endWhile := false; (83) [----] P1.enableIn.k := 1; (83) [----] while P1.enableIn.k <= P1.enableIn.nremTAin and not P1.enableIn.endWhile then (83) [----] if P1.enableIn.randNum <= P1.enableIn.cumEnablingProb[P1.enableIn.k] then (83) [----] P1.enableIn.posTE := P1.enableIn.remTAin[P1.enableIn.k]; (83) [----] P1.enableIn.endWhile := true; (83) [----] elseif true then (83) [----] P1.enableIn.k := P1.enableIn.k + 1; (83) [----] end if; (83) [----] end while; (83) [----] if P1.enableIn.arcWeightSum + P1.enableOut.t + P1.enableIn.arcWeight[P1.enableIn.posTE] <= P1.maxTokens then (83) [----] P1.enableIn.arcWeightSum := P1.enableIn.arcWeightSum + P1.enableIn.arcWeight[P1.enableIn.posTE]; (83) [----] P1.enableIn.TEin[P1.enableIn.posTE] := true; (83) [----] end if; (83) [----] P1.enableIn.nremTAin := P1.enableIn.nremTAin - 1; (83) [----] if P1.enableIn.nremTAin > 0 then (83) [----] P1.enableIn.remTAin := $FUN_20; (83) [----] P1.enableIn.cumEnablingProb := fill(0.0, 1); (83) [----] P1.enableIn.sumEnablingProbTAin := $FUN_17; (83) [----] if P1.enableIn.sumEnablingProbTAin > 0.0 then (83) [----] P1.enableIn.cumEnablingProb[1] := P1.enableIn.enablingProb[P1.enableIn.remTAin[1]] / P1.enableIn.sumEnablingProbTAin; (83) [----] for j in 2:P1.enableIn.nremTAin loop (83) [----] P1.enableIn.cumEnablingProb[j] := P1.enableIn.cumEnablingProb[j - 1] + P1.enableIn.enablingProb[P1.enableIn.remTAin[j]] / P1.enableIn.sumEnablingProbTAin; (83) [----] end for; (83) [----] elseif true then (83) [----] P1.enableIn.cumEnablingProb[1:P1.enableIn.nremTAin] := fill(1.0 / P1.enableIn.nremTAin, P1.enableIn.nremTAin); (83) [----] end if; (83) [----] end if; (83) [----] end for; (83) [----] elseif true then (83) [----] if P1.benefitType == PNlib.Types.BenefitType.Greedy then (83) [----] P1.enableIn.TEin := $FUN_21; (83) [----] elseif P1.benefitType == PNlib.Types.BenefitType.BenefitQuotient then (83) [----] P1.enableIn.TEin := $FUN_22; (83) [----] elseif true then (83) [----] P1.enableIn.arcWeightSum := 0; (83) [----] P1.enableIn.benefitMax := $FUN_23; (83) [----] P1.enableIn.benefitLimit := 0.0; (83) [----] (P1.enableIn.TEin, P1.enableIn.arcWeightSum, P1.enableIn.benefitMax, P1.enableIn.valid, P1.enableIn.benefitLimit) := ($FUN_24, $FUN_25, $FUN_26, $FUN_27, $FUN_28); (83) [----] end if; (83) [----] end if; (83) [----] end if; (83) [----] end when; (83) [----] for i in 1:1 loop (83) [----] P1.enableIn.TEin_[i] := P1.enableIn.TEin[i] and P1.enableIn.active[i]; (83) [----] end for; (84) [ALGO] (24) ($RES_SIM_24) (84) [----] P1.enableOut.TEout := fill(false, 2); (84) [----] P1.enableOut.arcWeightSum := 0; (84) [----] for i in 1:2 loop (84) [----] if (P1.enableOut.TAout[i] and not P1.enableOut.disTransition[i]) and P1.enableOut.t - (P1.enableOut.arcWeight[i] + P1.enableOut.arcWeightSum) >= P1.minTokens then (84) [----] P1.enableOut.TEout[i] := true; (84) [----] P1.enableOut.arcWeightSum := P1.enableOut.arcWeightSum + P1.enableOut.arcWeight[i]; (84) [----] end if; (84) [----] end for; (84) [----] when P1.enableOut.delayPassed or P1.enableOut.activeCon then (84) [----] P1.enableOut.arcWeightSum := $FUN_1; (84) [----] if P1.enableOut.t - P1.enableOut.arcWeightSum >= P1.minTokens then (84) [----] P1.enableOut.TEout := P1.enableOut.TAout; (84) [----] elseif true then (84) [----] if P1.enablingType == PNlib.Types.EnablingType.Priority then (84) [----] P1.enableOut.arcWeightSum := 0; (84) [----] for i in 1:2 loop (84) [----] P1.enableOut.Index := $FUN_2; (84) [----] if ((P1.enableOut.Index > 0 and P1.enableOut.TAout[P1.enableOut.Index]) and P1.enableOut.disTransition[P1.enableOut.Index]) and P1.enableOut.t - (P1.enableOut.arcWeight[P1.enableOut.Index] + P1.enableOut.arcWeightSum) >= P1.minTokens then (84) [----] P1.enableOut.TEout[P1.enableOut.Index] := true; (84) [----] P1.enableOut.arcWeightSum := P1.enableOut.arcWeightSum + P1.enableOut.arcWeight[P1.enableOut.Index]; (84) [----] end if; (84) [----] end for; (84) [----] for i in 1:2 loop (84) [----] P1.enableOut.Index := $FUN_2; (84) [----] if (P1.enableOut.TAout[P1.enableOut.Index] and not P1.enableOut.disTransition[P1.enableOut.Index]) and P1.enableOut.t - (P1.enableOut.arcWeight[P1.enableOut.Index] + P1.enableOut.arcWeightSum) >= P1.minTokens then (84) [----] P1.enableOut.TEout[P1.enableOut.Index] := true; (84) [----] P1.enableOut.arcWeightSum := P1.enableOut.arcWeightSum + P1.enableOut.arcWeight[P1.enableOut.Index]; (84) [----] end if; (84) [----] end for; (84) [----] elseif P1.enablingType == PNlib.Types.EnablingType.Probability then (84) [----] P1.enableOut.remTAout := fill(0, 2); (84) [----] P1.enableOut.nremTAout := 0; (84) [----] P1.enableOut.arcWeightSum := 0; (84) [----] for i in 1:2 loop (84) [----] if P1.enableOut.TAout[i] and P1.enableOut.disTransition[i] then (84) [----] P1.enableOut.nremTAout := P1.enableOut.nremTAout + 1; (84) [----] P1.enableOut.remTAout[P1.enableOut.nremTAout] := i; (84) [----] end if; (84) [----] end for; (84) [----] P1.enableOut.nTAout := P1.enableOut.nremTAout; (84) [----] if P1.enableOut.nTAout > 0 then (84) [----] P1.enableOut.sumEnablingProbTAout := $FUN_3; (84) [----] P1.enableOut.cumEnablingProb := fill(0.0, 2); (84) [----] P1.enableOut.cumEnablingProb[1] := P1.enableOut.enablingProb[P1.enableOut.remTAout[1]] / P1.enableOut.sumEnablingProbTAout; (84) [----] for j in 2:P1.enableOut.nremTAout loop (84) [----] P1.enableOut.cumEnablingProb[j] := P1.enableOut.cumEnablingProb[j - 1] + P1.enableOut.enablingProb[P1.enableOut.remTAout[j]] / P1.enableOut.sumEnablingProbTAout; (84) [----] end for; (84) [----] for i in 1:P1.enableOut.nTAout loop (84) [----] (P1.enableOut.randNum, P1.enableOut.state128) := ($FUN_4, $FUN_5); (84) [----] P1.enableOut.endWhile := false; (84) [----] P1.enableOut.k := 1; (84) [----] while P1.enableOut.k <= P1.enableOut.nremTAout and not P1.enableOut.endWhile then (84) [----] if P1.enableOut.randNum <= P1.enableOut.cumEnablingProb[P1.enableOut.k] then (84) [----] P1.enableOut.posTE := P1.enableOut.remTAout[P1.enableOut.k]; (84) [----] P1.enableOut.endWhile := true; (84) [----] elseif true then (84) [----] P1.enableOut.k := P1.enableOut.k + 1; (84) [----] end if; (84) [----] end while; (84) [----] if P1.enableOut.t - (P1.enableOut.arcWeight[P1.enableOut.posTE] + P1.enableOut.arcWeightSum) >= P1.minTokens then (84) [----] P1.enableOut.arcWeightSum := P1.enableOut.arcWeightSum + P1.enableOut.arcWeight[P1.enableOut.posTE]; (84) [----] P1.enableOut.TEout[P1.enableOut.posTE] := true; (84) [----] end if; (84) [----] P1.enableOut.nremTAout := P1.enableOut.nremTAout - 1; (84) [----] if P1.enableOut.nremTAout > 0 then (84) [----] P1.enableOut.remTAout := $FUN_6; (84) [----] P1.enableOut.cumEnablingProb := fill(0.0, 2); (84) [----] P1.enableOut.sumEnablingProbTAout := $FUN_3; (84) [----] if P1.enableOut.sumEnablingProbTAout > 0.0 then (84) [----] P1.enableOut.cumEnablingProb[1] := P1.enableOut.enablingProb[P1.enableOut.remTAout[1]] / P1.enableOut.sumEnablingProbTAout; (84) [----] for j in 2:P1.enableOut.nremTAout loop (84) [----] P1.enableOut.cumEnablingProb[j] := P1.enableOut.cumEnablingProb[j - 1] + P1.enableOut.enablingProb[P1.enableOut.remTAout[j]] / P1.enableOut.sumEnablingProbTAout; (84) [----] end for; (84) [----] elseif true then (84) [----] P1.enableOut.cumEnablingProb[1:P1.enableOut.nremTAout] := fill(1.0 / P1.enableOut.nremTAout, P1.enableOut.nremTAout); (84) [----] end if; (84) [----] end if; (84) [----] end for; (84) [----] end if; (84) [----] for i in 1:2 loop (84) [----] if (P1.enableOut.TAout[i] and not P1.enableOut.disTransition[i]) and P1.enableOut.t - (P1.enableOut.arcWeight[i] + P1.enableOut.arcWeightSum) >= P1.minTokens then (84) [----] P1.enableOut.TEout[i] := true; (84) [----] P1.enableOut.arcWeightSum := P1.enableOut.arcWeightSum + P1.enableOut.arcWeight[i]; (84) [----] end if; (84) [----] end for; (84) [----] elseif true then (84) [----] if P1.benefitType == PNlib.Types.BenefitType.Greedy then (84) [----] P1.enableOut.TEout := $FUN_7; (84) [----] elseif P1.benefitType == PNlib.Types.BenefitType.BenefitQuotient then (84) [----] P1.enableOut.TEout := $FUN_8; (84) [----] elseif true then (84) [----] P1.enableOut.arcWeightSum := 0; (84) [----] P1.enableOut.benefitMax := $FUN_9; (84) [----] P1.enableOut.benefitLimit := 0.0; (84) [----] (P1.enableOut.TEout, P1.enableOut.arcWeightSum, P1.enableOut.benefitMax, P1.enableOut.valid, P1.enableOut.benefitLimit) := ($FUN_10, $FUN_11, $FUN_12, $FUN_13, $FUN_14); (84) [----] end if; (84) [----] end if; (84) [----] end if; (84) [----] end when; (84) [----] for i in 1:2 loop (84) [----] P1.enableOut.TEout_[i] := P1.enableOut.TEout[i] and P1.enableOut.TAout[i]; (84) [----] end for; (85) [ALGO] (1) ($RES_SIM_25) (85) [----] P1.firingSumOut.firingSum := 0; (85) [----] for i in 1:2 loop (85) [----] if P1.firingSumOut.fire[i] then (85) [----] P1.firingSumOut.firingSum := P1.firingSumOut.firingSum + P1.firingSumOut.arcWeight[i]; (85) [----] end if; (85) [----] end for; (86) [ALGO] (1) ($RES_SIM_26) (86) [----] P1.firingSumIn.firingSum := 0; (86) [----] for i in 1:1 loop (86) [----] if P1.firingSumIn.fire[i] then (86) [----] P1.firingSumIn.firingSum := P1.firingSumIn.firingSum + P1.firingSumIn.arcWeight[i]; (86) [----] end if; (86) [----] end for; (87) [ALGO] (2) ($RES_SIM_27) (87) [----] P1.enableIn.delayPassed := false; (87) [----] P1.delayPassedIn.numtrue := 0; (87) [----] for i in 1:1 loop (87) [----] P1.enableIn.delayPassed := P1.enableIn.delayPassed or P1.delayPassedIn.vec[i]; (87) [----] if P1.delayPassedIn.vec[i] then (87) [----] P1.delayPassedIn.numtrue := P1.delayPassedIn.numtrue + 1; (87) [----] end if; (87) [----] end for; (88) [ALGO] (2) ($RES_SIM_28) (88) [----] P1.enableOut.delayPassed := false; (88) [----] P1.delayPassedOut.numtrue := 0; (88) [----] for i in 1:2 loop (88) [----] P1.enableOut.delayPassed := P1.enableOut.delayPassed or P1.delayPassedOut.vec[i]; (88) [----] if P1.delayPassedOut.vec[i] then (88) [----] P1.delayPassedOut.numtrue := P1.delayPassedOut.numtrue + 1; (88) [----] end if; (88) [----] end for; (89) [ALGO] (1) ($RES_SIM_29) (89) [----] P1.enableOut.activeCon := false; (89) [----] for i in 1:2 loop (89) [----] P1.enableOut.activeCon := P1.enableOut.activeCon or change(P1.activeConOut.vec[i]); (89) [----] end for; (90) [-IF-] (1)if T3.disPlaceOut[1] then (90) [----] [SCAL] (1) T3.arcWeightIntOut[1] = integer(T3.arcWeightOut[1]) ($RES_SIM_31) (90) [----] else (90) [----] [SCAL] (1) T3.arcWeightIntOut[1] = 1 ($RES_SIM_32) (90) [----] end if; (91) [ARRY] (3) T3.color = if $SEV_151 then {255.0, 255.0, 0.0} else {0.0, 0.0, 0.0} ($RES_SIM_37) (92) [WHEN] (1)when T3.fire then (92) [----] T3.fireTime := time (92) [----] end when; (93) [WHEN] (1)when T3.fire then (93) [----] T3.ani := true (93) [----] end when; (94) [SCAL] (1) T3.delayPassed = $SEV_152 ($RES_SIM_41) (95) [SCAL] (1) P1.inTransition[1].disPlace = true ($RES_BND_218) (96) [WHEN] (1)when T3.active then (96) [----] T3.firingTime := time + T3.delay_ (96) [----] end when; (97) [SCAL] (1) T3.active = $SEV_153 ($RES_SIM_43) (98) [SCAL] (1) T1.arcWeightOut[1] = 1.0 ($RES_BND_300) (99) [ARRY] (3) P3.color = if settings.animatePlace then if $SEV_157 then {255.0, 255.0 - 2.55 * P3.tokenscale, 255.0 - 2.55 * P3.tokenscale} else {255.0, 0.0, 0.0} else {255.0, 255.0, 255.0} ($RES_SIM_47) (100) [SCAL] (1) P3.tokenscale = P3.t * settings.scale ($RES_SIM_48) (101) [SCAL] (1) P3.levelCon = (settings.M * P3.t) / P3.N ($RES_SIM_49) (102) [SCAL] (1) T1.inPlaces[1].disTransition = true ($RES_BND_305) (103) [ARRY] (1) T1.inPlaces.arcWeightint = {T1.arcWeightIntIn[1]} ($RES_BND_306) (104) [ARRY] (1) T1.inPlaces.arcWeight = {T1.arcWeightIn[1]} ($RES_BND_307) (105) [ARRY] (1) T1.inPlaces.fire = {T1.fire} ($RES_BND_308) (106) [ARRY] (1) T1.inPlaces.active = {T1.delayPassed} ($RES_BND_309) (107) [ARRY] (1) P1.inTransition.enable = {P1.enableIn.TEin_[1]} ($RES_BND_220) (108) [ARRY] (1) P1.inTransition.maxTokensint = {P1.maxTokens} ($RES_BND_221) (109) [ARRY] (1) P1.inTransition.maxTokens = {P1.maxTokens} ($RES_BND_222) (110) [ARRY] (1) P1.inTransition.tint = {P1.enableOut.t} ($RES_BND_223) (111) [ARRY] (1) P1.inTransition.t = {P1.enableOut.t} ($RES_BND_224) (112) [ARRY] (1) P1.inTransition.disTransition = {P1.disTransitionIn[1]} ($RES_BND_225) (113) [ARRY] (1) P1.inTransition.enabledByInPlaces = {P1.enabledByInPlaces[1]} ($RES_BND_226) (114) [WHEN] (1)when {$SEV_158, $SEV_159} then (114) [----] P3.t := ($PRE.P3.firingSumIn.firingSum + P3.enableOut.t) - $PRE.P3.firingSumOut.firingSum (114) [----] else when pre(false) then (114) [----] P3.t := P3.reStartTokens (114) [----] end when; (115) [ARRY] (1) P1.inTransition.arcWeightint = {P1.arcWeightIn[1]} ($RES_BND_227) (116) [SCAL] (1) P3.tokeninout = $SEV_160 ($RES_SIM_51) (117) [ARRY] (1) P1.inTransition.fire = {P1.fireIn[1]} ($RES_BND_228) (118) [SCAL] (1) P3.enableOut.t = $TEV_2 ($RES_SIM_52) (119) [ARRY] (1) P1.inTransition.active = {P1.activeIn[1]} ($RES_BND_229) (120) [ARRY] (3) P2.color = if settings.animatePlace then if $SEV_164 then {255.0, 255.0 - 2.55 * P2.tokenscale, 255.0 - 2.55 * P2.tokenscale} else {255.0, 0.0, 0.0} else {255.0, 255.0, 255.0} ($RES_SIM_56) (121) [SCAL] (1) P2.tokenscale = P2.t * settings.scale ($RES_SIM_57) (122) [ARRY] (1) T1.inPlaces.normalArc = {T1.normalArc[1]} ($RES_BND_310) (123) [SCAL] (1) P2.levelCon = (settings.M * P2.t) / P2.N ($RES_SIM_58) (124) [ARRY] (1) T1.inPlaces.testValueint = {T1.testValueInt[1]} ($RES_BND_311) (125) [ARRY] (1) T1.inPlaces.testValue = {T1.testValue[1]} ($RES_BND_312) (126) [WHEN] (1)when {$SEV_165, $SEV_166} then (126) [----] P2.t := ($PRE.P2.firingSumIn.firingSum + P2.enableOut.t) - $PRE.P2.firingSumOut.firingSum (126) [----] else when pre(false) then (126) [----] P2.t := P2.reStartTokens (126) [----] end when; (127) [ARRY] (1) T1.inPlaces.arcType = {T1.arcType[1]} ($RES_BND_313) (128) [ARRY] (1) T1.inPlaces.disPlace = {T1.disPlaceIn[1]} ($RES_BND_314) (129) [ARRY] (1) T1.inPlaces.enable = {T1.enableIn[1]} ($RES_BND_315) (130) [ARRY] (1) T1.inPlaces.minTokensint = {T1.minTokensInt[1]} ($RES_BND_316) (131) [ARRY] (1) T1.inPlaces.minTokens = {T1.minTokens[1]} ($RES_BND_317) (132) [ARRY] (1) T1.inPlaces.tint = {T1.tIntIn[1]} ($RES_BND_318) (133) [ARRY] (1) T1.inPlaces.t = {T1.tIn[1]} ($RES_BND_319) (134) [ARRY] (1) T2.activation.tOut = T2.tOut ($RES_BND_400) (135) [ARRY] (1) T2.activation.tIntIn = T2.tIntIn ($RES_BND_401) (136) [SCAL] (1) T1.delayPassed = $SEV_180 ($RES_SIM_101) (137) [ARRY] (1) T2.activation.tIntOut = T2.tIntOut ($RES_BND_402) (138) [WHEN] (1)when T1.active then (138) [----] T1.firingTime := time + T1.delay_ (138) [----] end when; (139) [ARRY] (1) T2.activation.arcType = T2.arcType ($RES_BND_403) (140) [SCAL] (1) T1.active = $SEV_181 ($RES_SIM_103) (141) [ARRY] (1) T2.activation.arcWeightIn = T2.arcWeightIn ($RES_BND_404) (142) [ARRY] (1) T2.activation.arcWeightIntIn = T2.arcWeightIntIn ($RES_BND_405) (143) [FOR-] (2) ($RES_BND_230) (143) [----] for $i1 in 1:2 loop (143) [----] [SCAL] (1) P1.outTransition[$i1].normalArc = false ($RES_BND_231) (143) [----] end for; (144) [ARRY] (1) T2.activation.arcWeightOut = T2.arcWeightOut ($RES_BND_406) (145) [ARRY] (1) T2.activation.arcWeightIntOut = T2.arcWeightIntOut ($RES_BND_407) (146) [FOR-] (2) ($RES_BND_232) (146) [----] for $i1 in 1:2 loop (146) [----] [SCAL] (1) P1.outTransition[$i1].testValueint = -1 ($RES_BND_233) (146) [----] end for; (147) [ARRY] (1) T2.activation.minTokens = T2.minTokens ($RES_BND_408) (148) [ARRY] (1) T2.activation.minTokensInt = T2.minTokensInt ($RES_BND_409) (149) [ARRY] (3) P1.color = if settings.animatePlace then if $SEV_187 then {255.0, 255.0 - 2.55 * P1.tokenscale, 255.0 - 2.55 * P1.tokenscale} else {255.0, 0.0, 0.0} else {255.0, 255.0, 255.0} ($RES_SIM_109) (150) [FOR-] (2) ($RES_BND_234) (150) [----] for $i1 in 1:2 loop (150) [----] [SCAL] (1) P1.outTransition[$i1].testValue = -1.0 ($RES_BND_235) (150) [----] end for; (151) [FOR-] (2) ($RES_BND_236) (151) [----] for $i1 in 1:2 loop (151) [----] [SCAL] (1) P1.outTransition[$i1].tokenInOut = $TEV_5 ($RES_BND_237) (151) [----] end for; (152) [SCAL] (1) P2.tokeninout = $SEV_167 ($RES_SIM_60) (153) [SCAL] (1) P2.enableOut.t = $TEV_3 ($RES_SIM_61) (154) [-IF-] (1)if T2.disPlaceOut[1] then (154) [----] [SCAL] (1) T2.arcWeightIntOut[1] = integer(T2.arcWeightOut[1]) ($RES_SIM_63) (154) [----] else (154) [----] [SCAL] (1) T2.arcWeightIntOut[1] = 1 ($RES_SIM_64) (154) [----] end if; (155) [-IF-] (1)if T2.disPlaceIn[1] then (155) [----] [SCAL] (1) T2.arcWeightIntIn[1] = integer(T2.arcWeightIn[1]) ($RES_SIM_70) (155) [----] else (155) [----] [SCAL] (1) T2.arcWeightIntIn[1] = 1 ($RES_SIM_71) (155) [----] end if; (156) [SCAL] (1) T1.outPlaces[1].disTransition = true ($RES_BND_323) (157) [ARRY] (1) T1.outPlaces.enabledByInPlaces = {T1.enabledByInPlaces} ($RES_BND_324) (158) [ARRY] (1) T1.outPlaces.arcWeightint = {T1.arcWeightIntOut[1]} ($RES_BND_325) (159) [ARRY] (1) T1.outPlaces.arcWeight = {T1.arcWeightOut[1]} ($RES_BND_326) (160) [ARRY] (1) T1.outPlaces.fire = {T1.fire} ($RES_BND_327) (161) [ARRY] (1) T1.outPlaces.active = {T1.delayPassed} ($RES_BND_328) (162) [ARRY] (1) T1.outPlaces.disPlace = {T1.disPlaceOut[1]} ($RES_BND_329) (163) [ARRY] (1) T2.activation.maxTokens = T2.maxTokens ($RES_BND_410) (164) [SCAL] (1) P1.tokenscale = P1.t * settings.scale ($RES_SIM_110) (165) [ARRY] (1) T2.activation.maxTokensInt = T2.maxTokensInt ($RES_BND_411) (166) [SCAL] (1) P1.levelCon = (settings.M * P1.t) / P1.N ($RES_SIM_111) (167) [WHEN] (1)when {$SEV_188, $SEV_189} then (167) [----] P1.t := ($PRE.P1.firingSumIn.firingSum + P1.enableOut.t) - $PRE.P1.firingSumOut.firingSum (167) [----] else when pre(false) then (167) [----] P1.t := P1.reStartTokens (167) [----] end when; (168) [ARRY] (1) T2.activation.disPlaceIn = T2.disPlaceIn ($RES_BND_413) (169) [SCAL] (1) P1.tokeninout = $SEV_190 ($RES_SIM_113) (170) [ARRY] (1) T2.activation.disPlaceOut = T2.disPlaceOut ($RES_BND_414) (171) [SCAL] (1) P1.enableOut.t = $TEV_4 ($RES_SIM_114) (172) [ARRY] (1) T2.activation.normalArc = T2.normalArc ($RES_BND_415) (173) [SCAL] (1) T2.outPlaces[1].tint = P3.inTransition[1].tint ($RES_SIM_115) (174) [ARRY] (1) T2.activation.testValue = T2.testValue ($RES_BND_416) (175) [SCAL] (1) T2.outPlaces[1].t = P3.inTransition[1].t ($RES_SIM_116) (176) [ARRY] (1) T2.activation.testValueInt = T2.testValueInt ($RES_BND_417) (177) [FOR-] (2) ($RES_BND_242) (177) [----] for $i1 in 1:2 loop (177) [----] [SCAL] (1) P1.outTransition[$i1].arcType = PNlib.Types.ArcType.NormalArc ($RES_BND_243) (177) [----] end for; (178) [SCAL] (1) T2.outPlaces[1].maxTokensint = P3.inTransition[1].maxTokensint ($RES_SIM_119) (179) [FOR-] (2) ($RES_BND_244) (179) [----] for $i1 in 1:2 loop (179) [----] [SCAL] (1) P1.outTransition[$i1].disPlace = true ($RES_BND_245) (179) [----] end for; (180) [FOR-] (2) ($RES_BND_248) (180) [----] for $i1 in 1:2 loop (180) [----] [SCAL] (1) P1.outTransition[$i1].enable = P1.enableOut.TEout_[$i1] ($RES_BND_249) (180) [----] end for; (181) [SCAL] (1) T3.outPlaces[1].maxTokens = P1.inTransition[1].maxTokens ($RES_SIM_200) (182) [SCAL] (1) T3.outPlaces[1].fire = P1.inTransition[1].fire ($RES_SIM_203) (183) [ARRY] (3) T2.color = if $SEV_172 then {255.0, 255.0, 0.0} else {0.0, 0.0, 0.0} ($RES_SIM_76) (184) [SCAL] (1) T3.outPlaces[1].disTransition = true ($RES_BND_504) (185) [SCAL] (1) T3.outPlaces[1].enabledByInPlaces = P1.inTransition[1].enabledByInPlaces ($RES_SIM_204) (186) [WHEN] (1)when T2.fire then (186) [----] T2.fireTime := time (186) [----] end when; (187) [ARRY] (1) T3.outPlaces.enabledByInPlaces = {true} ($RES_BND_505) (188) [SCAL] (1) T3.outPlaces[1].enable = P1.inTransition[1].enable ($RES_SIM_205) (189) [ARRY] (1) T1.outPlaces.enable = {T1.enableOut[1]} ($RES_BND_330) (190) [WHEN] (1)when T2.fire then (190) [----] T2.ani := true (190) [----] end when; (191) [ARRY] (1) T3.outPlaces.arcWeightint = {T3.arcWeightIntOut[1]} ($RES_BND_506) (192) [ARRY] (1) T1.outPlaces.maxTokensint = {T1.maxTokensInt[1]} ($RES_BND_331) (193) [ARRY] (1) T1.outPlaces.maxTokens = {T1.maxTokens[1]} ($RES_BND_332) (194) [ARRY] (1) T3.outPlaces.arcWeight = {T3.arcWeightOut[1]} ($RES_BND_507) (195) [SCAL] (1) T3.outPlaces[1].disTransition = P1.inTransition[1].disTransition ($RES_SIM_207) (196) [ARRY] (1) T3.outPlaces.fire = {T3.fire} ($RES_BND_508) (197) [SCAL] (1) T3.outPlaces[1].disPlace = P1.inTransition[1].disPlace ($RES_SIM_208) (198) [ARRY] (1) T1.outPlaces.tint = {T1.tIntOut[1]} ($RES_BND_333) (199) [ARRY] (1) T1.outPlaces.t = {T1.tOut[1]} ($RES_BND_334) (200) [ARRY] (1) T3.outPlaces.active = {T3.delayPassed} ($RES_BND_509) (201) [SCAL] (1) T1.delay_ = 1.0 ($RES_BND_337) (202) [ARRY] (1) T1.activation.tIn = T1.tIn ($RES_BND_338) (203) [ARRY] (1) T1.activation.tOut = T1.tOut ($RES_BND_339) (204) [SCAL] (1) $FUN_1 = PNlib.Functions.OddsAndEnds.conditionalSumInt(P1.enableOut.arcWeight, P1.enableOut.TAout) ($RES_$AUX_569) (205) [SCAL] (1) $FUN_2 = Modelica.Math.Vectors.find(i, P1.enableOut.enablingPrio, 0.0) ($RES_$AUX_568) (206) [SCAL] (1) $FUN_3 = sum(P1.enableOut.enablingProb[P1.enableOut.remTAout[1:P1.enableOut.nremTAout]]) ($RES_$AUX_567) (207) [TUPL] (5) ($FUN_4, $FUN_5) = Modelica.Math.Random.Generators.Xorshift128plus.random($TEV_6) ($RES_$AUX_566) (208) [SCAL] (1) T2.outPlaces[1].maxTokens = P3.inTransition[1].maxTokens ($RES_SIM_120) (209) [ARRY] (2) $FUN_6 = PNlib.Functions.OddsAndEnds.deleteElementInt(P1.enableOut.remTAout, P1.enableOut.k) ($RES_$AUX_565) (210) [ARRY] (2) $FUN_7 = PNlib.Functions.Enabling.benefitGreedyDisOut(2, P1.enableOut.arcWeight, P1.enableOut.t, P1.minTokens, P1.enableOut.TAout, P1.enableOut.enablingBene, P1.enableOut.disTransition) ($RES_$AUX_564) (211) [ARRY] (2) $FUN_8 = PNlib.Functions.Enabling.benefitQuotientDisOut(2, P1.enableOut.arcWeight, P1.enableOut.t, P1.minTokens, P1.enableOut.TAout, P1.enableOut.enablingBene, P1.enableOut.disTransition) ($RES_$AUX_563) (212) [SCAL] (1) T2.outPlaces[1].fire = P3.inTransition[1].fire ($RES_SIM_123) (213) [SCAL] (1) $FUN_9 = sum(P1.enableOut.enablingBene) ($RES_$AUX_562) (214) [SCAL] (1) T2.outPlaces[1].enabledByInPlaces = P3.inTransition[1].enabledByInPlaces ($RES_SIM_124) (215) [TUPL] (6) ($FUN_10, $FUN_11, $FUN_12, $FUN_13, $FUN_14) = PNlib.Functions.Enabling.benefitBaBDisOut(1, 2, P1.enableOut.enablingBene, P1.enableOut.arcWeight, P1.enableOut.enablingBene / P1.enableOut.arcWeight, P1.enableOut.t, P1.enableOut.benefitMax, P1.minTokens, P1.enableOut.TEout, 0, P1.enableOut.benefitLimit, P1.enableOut.TAout, P1.enableOut.disTransition) ($RES_$AUX_561) (216) [SCAL] (1) P2.inTransition[1].disPlace = true ($RES_BND_425) (217) [SCAL] (1) T2.outPlaces[1].enable = P3.inTransition[1].enable ($RES_SIM_125) (218) [FOR-] (2) ($RES_BND_250) (218) [----] for $i1 in 1:2 loop (218) [----] [SCAL] (1) P1.outTransition[$i1].minTokensint = P1.minTokens ($RES_BND_251) (218) [----] end for; (219) [SCAL] (1) $FUN_15 = PNlib.Functions.OddsAndEnds.conditionalSumInt(P1.enableIn.arcWeight, P1.enableIn.TAein) ($RES_$AUX_560) (220) [FOR-] (2) ($RES_BND_252) (220) [----] for $i1 in 1:2 loop (220) [----] [SCAL] (1) P1.outTransition[$i1].minTokens = P1.minTokens ($RES_BND_253) (220) [----] end for; (221) [ARRY] (1) P2.inTransition.enable = {P2.enableIn.TEin_[1]} ($RES_BND_427) (222) [SCAL] (1) T2.outPlaces[1].disTransition = P3.inTransition[1].disTransition ($RES_SIM_127) (223) [ARRY] (1) P2.inTransition.maxTokensint = {P2.maxTokens} ($RES_BND_428) (224) [SCAL] (1) T2.outPlaces[1].disPlace = P3.inTransition[1].disPlace ($RES_SIM_128) (225) [ARRY] (1) P2.inTransition.maxTokens = {P2.maxTokens} ($RES_BND_429) (226) [FOR-] (2) ($RES_BND_254) (226) [----] for $i1 in 1:2 loop (226) [----] [SCAL] (1) P1.outTransition[$i1].tint = P1.enableOut.t ($RES_BND_255) (226) [----] end for; (227) [FOR-] (2) ($RES_BND_256) (227) [----] for $i1 in 1:2 loop (227) [----] [SCAL] (1) P1.outTransition[$i1].t = P1.enableOut.t ($RES_BND_257) (227) [----] end for; (228) [SCAL] (1) T2.delayPassed = $SEV_173 ($RES_SIM_80) (229) [WHEN] (1)when T2.active then (229) [----] T2.firingTime := time + T2.delay_ (229) [----] end when; (230) [FOR-] (2) ($RES_BND_258) (230) [----] for $i1 in 1:2 loop (230) [----] [SCAL] (1) P1.outTransition[$i1].disTransition = P1.disTransitionOut[$i1] ($RES_BND_259) (230) [----] end for; (231) [ARRY] (1) T3.outPlaces.disPlace = {T3.disPlaceOut[1]} ($RES_BND_510) (232) [SCAL] (1) T3.outPlaces[1].arcWeightint = P1.inTransition[1].arcWeightint ($RES_SIM_210) (233) [SCAL] (1) T2.active = $SEV_174 ($RES_SIM_82) (234) [ARRY] (1) T3.outPlaces.enable = {T3.enableOut[1]} ($RES_BND_511) (235) [SCAL] (1) T3.outPlaces[1].arcWeight = P1.inTransition[1].arcWeight ($RES_SIM_211) (236) [-IF-] (1)if T1.disPlaceOut[1] then (236) [----] [SCAL] (1) T1.arcWeightIntOut[1] = integer(T1.arcWeightOut[1]) ($RES_SIM_84) (236) [----] else (236) [----] [SCAL] (1) T1.arcWeightIntOut[1] = 1 ($RES_SIM_85) (236) [----] end if; (237) [ARRY] (1) T3.outPlaces.maxTokensint = {T3.maxTokensInt[1]} ($RES_BND_512) (238) [SCAL] (1) T3.outPlaces[1].active = P1.inTransition[1].active ($RES_SIM_212) (239) [ARRY] (1) T3.outPlaces.maxTokens = {T3.maxTokens[1]} ($RES_BND_513) (240) [ARRY] (1) T3.outPlaces.tint = {T3.tIntOut[1]} ($RES_BND_514) (241) [ARRY] (1) T3.outPlaces.t = {T3.tOut[1]} ($RES_BND_515) (242) [ARRY] (1) T1.activation.tIntIn = T1.tIntIn ($RES_BND_340) (243) [ARRY] (1) T1.activation.tIntOut = T1.tIntOut ($RES_BND_341) (244) [ARRY] (1) T1.activation.arcType = T1.arcType ($RES_BND_342) (245) [SCAL] (1) T3.delay_ = 1.0 ($RES_BND_518) (246) [ARRY] (1) T1.activation.arcWeightIn = T1.arcWeightIn ($RES_BND_343) (247) [ARRY] (1) T3.activation.tOut = T3.tOut ($RES_BND_519) (248) [ARRY] (1) T1.activation.arcWeightIntIn = T1.arcWeightIntIn ($RES_BND_344) (249) [ARRY] (1) T1.activation.arcWeightOut = T1.arcWeightOut ($RES_BND_345) (250) [ARRY] (1) T1.activation.arcWeightIntOut = T1.arcWeightIntOut ($RES_BND_346) (251) [ARRY] (1) T1.activation.minTokens = T1.minTokens ($RES_BND_347) (252) [ARRY] (1) T1.activation.minTokensInt = T1.minTokensInt ($RES_BND_348) (253) [ARRY] (1) T1.activation.maxTokens = T1.maxTokens ($RES_BND_349) (254) [SCAL] (1) $FUN_16 = Modelica.Math.Vectors.find(i, P1.enableIn.enablingPrio, 0.0) ($RES_$AUX_559) (255) [SCAL] (1) $FUN_17 = sum(P1.enableIn.enablingProb[P1.enableIn.remTAin[1:P1.enableIn.nremTAin]]) ($RES_$AUX_558) (256) [TUPL] (5) ($FUN_18, $FUN_19) = Modelica.Math.Random.Generators.Xorshift128plus.random($TEV_7) ($RES_$AUX_557) (257) [ARRY] (1) $FUN_20 = PNlib.Functions.OddsAndEnds.deleteElementInt(P1.enableIn.remTAin, P1.enableIn.k) ($RES_$AUX_556) (258) [ARRY] (1) P2.inTransition.tint = {P2.enableOut.t} ($RES_BND_430) (259) [SCAL] (1) T2.outPlaces[1].arcWeightint = P3.inTransition[1].arcWeightint ($RES_SIM_130) (260) [ARRY] (1) $FUN_21 = PNlib.Functions.Enabling.benefitGreedyDisIn(1, P1.enableIn.arcWeight, P1.enableOut.t, P1.maxTokens, P1.enableIn.TAein, P1.enableIn.enablingBene, P1.enableIn.disTransition) ($RES_$AUX_555) (261) [SCAL] (1) $SEV_164 = P2.tokenscale < 100.0 ($RES_EVT_601) (262) [ARRY] (1) P2.inTransition.t = {P2.enableOut.t} ($RES_BND_431) (263) [SCAL] (1) T2.outPlaces[1].arcWeight = P3.inTransition[1].arcWeight ($RES_SIM_131) (264) [ARRY] (1) $FUN_22 = PNlib.Functions.Enabling.benefitQuotientDisIn(1, P1.enableIn.arcWeight, P1.enableOut.t, P1.maxTokens, P1.enableIn.TAein, P1.enableIn.enablingBene, P1.enableIn.disTransition) ($RES_$AUX_554) (265) [SCAL] (1) $SEV_165 = $PRE.P2.firingSumIn.firingSum > 0 ($RES_EVT_602) (266) [ARRY] (1) P2.inTransition.disTransition = {P2.disTransitionIn[1]} ($RES_BND_432) (267) [SCAL] (1) T2.outPlaces[1].active = P3.inTransition[1].active ($RES_SIM_132) (268) [SCAL] (1) $FUN_23 = sum(P1.enableIn.enablingBene) ($RES_$AUX_553) (269) [SCAL] (1) $SEV_166 = $PRE.P2.firingSumOut.firingSum > 0 ($RES_EVT_603) (270) [ARRY] (1) P2.inTransition.enabledByInPlaces = {P2.enabledByInPlaces[1]} ($RES_BND_433) (271) [SCAL] (1) T2.inPlaces[1].tokenInOut = P1.outTransition[2].tokenInOut ($RES_SIM_133) (272) [TUPL] (5) ($FUN_24, $FUN_25, $FUN_26, $FUN_27, $FUN_28) = PNlib.Functions.Enabling.benefitBaBDisIn(1, 1, P1.enableIn.enablingBene, P1.enableIn.arcWeight, P1.enableIn.enablingBene / P1.enableIn.arcWeight, P1.enableOut.t, P1.enableIn.benefitMax, P1.maxTokens, P1.enableIn.TEin, 0, P1.enableIn.benefitLimit, P1.enableIn.TAein, P1.enableIn.disTransition) ($RES_$AUX_552) (273) [SCAL] (1) $SEV_167 = $PRE.P2.firingSumIn.firingSum > 0 or $PRE.P2.firingSumOut.firingSum > 0 ($RES_EVT_604) (274) [ARRY] (1) P2.inTransition.arcWeightint = {P2.arcWeightIn[1]} ($RES_BND_434) (275) [SCAL] (1) T2.inPlaces[1].tint = P1.outTransition[2].tint ($RES_SIM_134) (276) [SCAL] (1) $FUN_29 = PNlib.Functions.OddsAndEnds.conditionalSumInt(P2.enableIn.arcWeight, P2.enableIn.TAein) ($RES_$AUX_551) (277) [SCAL] (1) $SEV_168[1] = T2.disPlaceOut[1] and T2.arcWeightOut[1] - T2.arcWeightIntOut[1] <= 0.0 or not T2.disPlaceOut[1] ($RES_EVT_605) (278) [ARRY] (1) P2.inTransition.fire = {P2.fireIn[1]} ($RES_BND_435) (279) [SCAL] (1) T2.inPlaces[1].testValueint = P1.outTransition[2].testValueint ($RES_SIM_135) (280) [FOR-] (2) ($RES_BND_260) (280) [----] for $i1 in 1:2 loop (280) [----] [SCAL] (1) P1.outTransition[$i1].arcWeightint = P1.arcWeightOut[$i1] ($RES_BND_261) (280) [----] end for; (281) [SCAL] (1) $FUN_30 = Modelica.Math.Vectors.find(i, P2.enableIn.enablingPrio, 0.0) ($RES_$AUX_550) (282) [SCAL] (1) $SEV_169[1] = T2.arcWeightOut[1] >= 0.0 ($RES_EVT_606) (283) [ARRY] (1) P2.inTransition.active = {P2.activeIn[1]} ($RES_BND_436) (284) [SCAL] (1) T2.inPlaces[1].testValue = P1.outTransition[2].testValue ($RES_SIM_136) (285) [SCAL] (1) $SEV_170[1] = T2.disPlaceIn[1] and T2.arcWeightIn[1] - T2.arcWeightIntIn[1] <= 0.0 or not T2.disPlaceIn[1] ($RES_EVT_607) (286) [SCAL] (1) T2.inPlaces[1].t = P1.outTransition[2].t ($RES_SIM_137) (287) [FOR-] (2) ($RES_BND_262) (287) [----] for $i1 in 1:2 loop (287) [----] [SCAL] (1) P1.outTransition[$i1].fire = P1.fireOut[$i1] ($RES_BND_263) (287) [----] end for; (288) [SCAL] (1) $SEV_171[1] = T2.arcWeightIn[1] >= 0.0 ($RES_EVT_608) (289) [ARRY] (1) P2.delayPassedIn.vec = $SEV_196 ($RES_BND_438) (290) [SCAL] (1) $SEV_172 = (T2.fireTime + settings.timeFire >= time and settings.animateTransition) and T2.ani ($RES_EVT_609) (291) [ARRY] (1) P2.firingSumIn.fire = $SEV_195 ($RES_BND_439) (292) [FOR-] (2) ($RES_BND_264) (292) [----] for $i1 in 1:2 loop (292) [----] [SCAL] (1) P1.outTransition[$i1].active = P1.activeOut[$i1] ($RES_BND_265) (292) [----] end for; (293) [-IF-] (1)if T1.disPlaceIn[1] then (293) [----] [SCAL] (1) T1.arcWeightIntIn[1] = integer(T1.arcWeightIn[1]) ($RES_SIM_91) (293) [----] else (293) [----] [SCAL] (1) T1.arcWeightIntIn[1] = 1 ($RES_SIM_92) (293) [----] end if; (294) [ARRY] (2) P1.activeConOut.vec = $SEV_202 ($RES_BND_267) (295) [ARRY] (2) P1.delayPassedOut.vec = $SEV_201 ($RES_BND_268) (296) [ARRY] (1) T3.activation.tIntOut = T3.tIntOut ($RES_BND_520) (297) [ARRY] (1) P1.delayPassedIn.vec = $SEV_200 ($RES_BND_269) (298) [ARRY] (1) T3.activation.arcWeightOut = T3.arcWeightOut ($RES_BND_521) (299) [ARRY] (1) T3.activation.arcWeightIntOut = T3.arcWeightIntOut ($RES_BND_522) (300) [ARRY] (1) T3.activation.maxTokens = T3.maxTokens ($RES_BND_523) (301) [ARRY] (1) T3.activation.maxTokensInt = T3.maxTokensInt ($RES_BND_524) (302) [ARRY] (3) T1.color = if $SEV_179 then {255.0, 255.0, 0.0} else {0.0, 0.0, 0.0} ($RES_SIM_97) (303) [ARRY] (1) T1.activation.maxTokensInt = T1.maxTokensInt ($RES_BND_350) (304) [ARRY] (1) T3.activation.disPlaceOut = T3.disPlaceOut ($RES_BND_526) (305) [WHEN] (1)when T1.fire then (305) [----] T1.ani := true (305) [----] end when; (306) [WHEN] (1)when T1.fire then (306) [----] T1.fireTime := time (306) [----] end when; (307) [ARRY] (1) T1.activation.disPlaceIn = T1.disPlaceIn ($RES_BND_352) (308) [ARRY] (1) T1.activation.disPlaceOut = T1.disPlaceOut ($RES_BND_353) (309) [ARRY] (1) T1.activation.normalArc = T1.normalArc ($RES_BND_354) (310) [ARRY] (1) T1.activation.testValue = T1.testValue ($RES_BND_355) (311) [ARRY] (1) T1.activation.testValueInt = T1.testValueInt ($RES_BND_356) (312) [SCAL] (1) $FUN_31 = sum(P2.enableIn.enablingProb[P2.enableIn.remTAin[1:P2.enableIn.nremTAin]]) ($RES_$AUX_549) (313) [TUPL] (5) ($FUN_32, $FUN_33) = Modelica.Math.Random.Generators.Xorshift128plus.random($TEV_8) ($RES_$AUX_548) (314) [ARRY] (1) $FUN_34 = PNlib.Functions.OddsAndEnds.deleteElementInt(P2.enableIn.remTAin, P2.enableIn.k) ($RES_$AUX_547) (315) [ARRY] (1) $FUN_35 = PNlib.Functions.Enabling.benefitGreedyDisIn(1, P2.enableIn.arcWeight, P2.enableOut.t, P2.maxTokens, P2.enableIn.TAein, P2.enableIn.enablingBene, P2.enableIn.disTransition) ($RES_$AUX_546) (316) [SCAL] (1) $SEV_173 = T2.active and time >= T2.firingTime ($RES_EVT_610) (317) [ARRY] (1) P2.firingSumIn.arcWeight = P2.arcWeightIn ($RES_BND_440) (318) [SCAL] (1) T2.inPlaces[1].normalArc = P1.outTransition[2].normalArc ($RES_SIM_140) (319) [ARRY] (1) $FUN_36 = PNlib.Functions.Enabling.benefitQuotientDisIn(1, P2.enableIn.arcWeight, P2.enableOut.t, P2.maxTokens, P2.enableIn.TAein, P2.enableIn.enablingBene, P2.enableIn.disTransition) ($RES_$AUX_545) (320) [SCAL] (1) $SEV_174 = T2.activation.active and not $PRE.T2.delayPassed ($RES_EVT_611) (321) [SCAL] (1) T2.inPlaces[1].minTokensint = P1.outTransition[2].minTokensint ($RES_SIM_141) (322) [SCAL] (1) $FUN_37 = sum(P2.enableIn.enablingBene) ($RES_$AUX_544) (323) [SCAL] (1) $SEV_175[1] = T1.disPlaceOut[1] and T1.arcWeightOut[1] - T1.arcWeightIntOut[1] <= 0.0 or not T1.disPlaceOut[1] ($RES_EVT_612) (324) [SCAL] (1) T2.inPlaces[1].minTokens = P1.outTransition[2].minTokens ($RES_SIM_142) (325) [TUPL] (5) ($FUN_38, $FUN_39, $FUN_40, $FUN_41, $FUN_42) = PNlib.Functions.Enabling.benefitBaBDisIn(1, 1, P2.enableIn.enablingBene, P2.enableIn.arcWeight, P2.enableIn.enablingBene / P2.enableIn.arcWeight, P2.enableOut.t, P2.enableIn.benefitMax, P2.maxTokens, P2.enableIn.TEin, 0, P2.enableIn.benefitLimit, P2.enableIn.TAein, P2.enableIn.disTransition) ($RES_$AUX_543) (326) [SCAL] (1) $SEV_176[1] = T1.arcWeightOut[1] >= 0.0 ($RES_EVT_613) (327) [SCAL] (1) $FUN_43 = PNlib.Functions.OddsAndEnds.conditionalSumInt(P3.enableIn.arcWeight, P3.enableIn.TAein) ($RES_$AUX_542) (328) [SCAL] (1) $SEV_177[1] = T1.disPlaceIn[1] and T1.arcWeightIn[1] - T1.arcWeightIntIn[1] <= 0.0 or not T1.disPlaceIn[1] ($RES_EVT_614) (329) [SCAL] (1) $FUN_44 = Modelica.Math.Vectors.find(i, P3.enableIn.enablingPrio, 0.0) ($RES_$AUX_541) (330) [SCAL] (1) $SEV_178[1] = T1.arcWeightIn[1] >= 0.0 ($RES_EVT_615) (331) [SCAL] (1) T2.inPlaces[1].fire = P1.outTransition[2].fire ($RES_SIM_145) (332) [ARRY] (1) P1.firingSumIn.fire = $SEV_199 ($RES_BND_270) (333) [SCAL] (1) $FUN_45 = sum(P3.enableIn.enablingProb[P3.enableIn.remTAin[1:P3.enableIn.nremTAin]]) ($RES_$AUX_540) (334) [SCAL] (1) $SEV_179 = (T1.fireTime + settings.timeFire >= time and settings.animateTransition) and T1.ani ($RES_EVT_616) (335) [ARRY] (1) P1.firingSumIn.arcWeight = P1.arcWeightIn ($RES_BND_271) (336) [SCAL] (1) $SEV_180 = T1.active and time >= T1.firingTime ($RES_EVT_617) (337) [ARRY] (1) P2.enableIn.arcWeight = P2.arcWeightIn ($RES_BND_447) (338) [SCAL] (1) T2.inPlaces[1].enable = P1.outTransition[2].enable ($RES_SIM_147) (339) [ARRY] (2) P1.firingSumOut.fire = $SEV_198 ($RES_BND_272) (340) [SCAL] (1) $SEV_181 = T1.activation.active and not $PRE.T1.delayPassed ($RES_EVT_618) (341) [SCAL] (1) T2.inPlaces[1].disTransition = P1.outTransition[2].disTransition ($RES_SIM_148) (342) [ARRY] (2) P1.firingSumOut.arcWeight = P1.arcWeightOut ($RES_BND_273) (343) [SCAL] (1) T2.inPlaces[1].disPlace = P1.outTransition[2].disPlace ($RES_SIM_149) (344) [ARRY] (2) P1.enableOut.arcWeight = P1.arcWeightOut ($RES_BND_274) (345) [ARRY] (2) P1.enableOut.TAout = P1.activeOut ($RES_BND_277) (346) [ARRY] (2) P1.enableOut.enablingPrio = P1.enablingPrioOut ($RES_BND_279) (347) [SCAL] (1) T2.arcWeightIn[1] = 1.0 ($RES_BND_360) (348) [SCAL] (1) T2.arcWeightOut[1] = 1.0 ($RES_BND_361) (349) [SCAL] (1) T2.inPlaces[1].disTransition = true ($RES_BND_366) (350) [ARRY] (1) T2.inPlaces.arcWeightint = {T2.arcWeightIntIn[1]} ($RES_BND_367) (351) [ARRY] (1) T2.inPlaces.arcWeight = {T2.arcWeightIn[1]} ($RES_BND_368) (352) [ARRY] (1) T2.inPlaces.fire = {T2.fire} ($RES_BND_369) (353) [TUPL] (5) ($FUN_46, $FUN_47) = Modelica.Math.Random.Generators.Xorshift128plus.random($TEV_9) ($RES_$AUX_539) (354) [ARRY] (1) $FUN_48 = PNlib.Functions.OddsAndEnds.deleteElementInt(P3.enableIn.remTAin, P3.enableIn.k) ($RES_$AUX_538) (355) [ARRY] (1) $FUN_49 = PNlib.Functions.Enabling.benefitGreedyDisIn(1, P3.enableIn.arcWeight, P3.enableOut.t, P3.maxTokens, P3.enableIn.TAein, P3.enableIn.enablingBene, P3.enableIn.disTransition) ($RES_$AUX_537) (356) [ARRY] (1) $FUN_50 = PNlib.Functions.Enabling.benefitQuotientDisIn(1, P3.enableIn.arcWeight, P3.enableOut.t, P3.maxTokens, P3.enableIn.TAein, P3.enableIn.enablingBene, P3.enableIn.disTransition) ($RES_$AUX_536) (357) [ARRY] (1) P2.enableIn.TAein = $SEV_194 ($RES_BND_450) (358) [SCAL] (1) $FUN_51 = sum(P3.enableIn.enablingBene) ($RES_$AUX_535) (359) [SCAL] (1) T2.inPlaces[1].arcWeightint = P1.outTransition[2].arcWeightint ($RES_SIM_151) (360) [TUPL] (5) ($FUN_52, $FUN_53, $FUN_54, $FUN_55, $FUN_56) = PNlib.Functions.Enabling.benefitBaBDisIn(1, 1, P3.enableIn.enablingBene, P3.enableIn.arcWeight, P3.enableIn.enablingBene / P3.enableIn.arcWeight, P3.enableOut.t, P3.enableIn.benefitMax, P3.maxTokens, P3.enableIn.TEin, 0, P3.enableIn.benefitLimit, P3.enableIn.TAein, P3.enableIn.disTransition) ($RES_$AUX_534) (361) [ARRY] (1) P2.enableIn.enablingPrio = P2.enablingPrioIn ($RES_BND_452) (362) [SCAL] (1) T2.inPlaces[1].arcWeight = P1.outTransition[2].arcWeight ($RES_SIM_152) (363) [SCAL] (1) T3.fire = PNlib.Functions.OddsAndEnds.allTrue(T3.enableOut) ($RES_$AUX_533) (364) [ARRY] (1) P2.enableIn.enablingProb = P2.enablingProbIn ($RES_BND_453) (365) [SCAL] (1) T2.inPlaces[1].arcType = P1.outTransition[2].arcType ($RES_SIM_153) (366) [SCAL] (1) T2.fire = PNlib.Functions.OddsAndEnds.allTrue(T2.enableOut) ($RES_$AUX_532) (367) [SCAL] (1) $SEV_187 = P1.tokenscale < 100.0 ($RES_EVT_624) (368) [ARRY] (1) P2.enableIn.enablingBene = P2.enablingBeneIn ($RES_BND_454) (369) [SCAL] (1) T2.inPlaces[1].active = P1.outTransition[2].active ($RES_SIM_154) (370) [SCAL] (1) T2.enabledByInPlaces = PNlib.Functions.OddsAndEnds.allTrue(T2.enableIn) ($RES_$AUX_531) (371) [SCAL] (1) $SEV_188 = $PRE.P1.firingSumIn.firingSum > 0 ($RES_EVT_625) (372) [SCAL] (1) T1.outPlaces[1].tint = P2.inTransition[1].tint ($RES_SIM_155) (373) [ARRY] (2) P1.enableOut.enablingProb = P1.enablingProbOut ($RES_BND_280) (374) [SCAL] (1) T1.fire = PNlib.Functions.OddsAndEnds.allTrue(T1.enableOut) ($RES_$AUX_530) (375) [SCAL] (1) $SEV_189 = $PRE.P1.firingSumOut.firingSum > 0 ($RES_EVT_626) (376) [ARRY] (1) P2.enableIn.disTransition = P2.disTransitionIn ($RES_BND_456) (377) [SCAL] (1) T1.outPlaces[1].t = P2.inTransition[1].t ($RES_SIM_156) (378) [ARRY] (2) P1.enableOut.enablingBene = P1.enablingBeneOut ($RES_BND_281) (379) [SCAL] (1) $SEV_190 = $PRE.P1.firingSumIn.firingSum > 0 or $PRE.P1.firingSumOut.firingSum > 0 ($RES_EVT_627) (380) [SCAL] (1) $SEV_191 = P3.enabledByInPlaces and P3.activeIn ($RES_EVT_628) (381) [ARRY] (1) P2.enableIn.active = P2.activeIn ($RES_BND_458) (382) [ARRY] (2) P1.enableOut.disTransition = P1.disTransitionOut ($RES_BND_283) (383) [SCAL] (1) $SEV_192 = P3.fireIn and P3.disTransitionIn ($RES_EVT_629) (384) [SCAL] (1) T1.outPlaces[1].maxTokensint = P2.inTransition[1].maxTokensint ($RES_SIM_159) (385) [ARRY] (1) P1.enableIn.arcWeight = P1.arcWeightIn ($RES_BND_286) (386) [ARRY] (1) P1.enableIn.TAein = $SEV_197 ($RES_BND_289) (387) [ARRY] (1) T2.inPlaces.active = {T2.delayPassed} ($RES_BND_370) (388) [ARRY] (1) T2.inPlaces.normalArc = {T2.normalArc[1]} ($RES_BND_371) (389) [ARRY] (1) T2.inPlaces.testValueint = {T2.testValueInt[1]} ($RES_BND_372) (390) [ARRY] (1) T2.inPlaces.testValue = {T2.testValue[1]} ($RES_BND_373) (391) [ARRY] (1) T2.inPlaces.arcType = {T2.arcType[1]} ($RES_BND_374) (392) [ARRY] (1) T2.inPlaces.disPlace = {T2.disPlaceIn[1]} ($RES_BND_375) (393) [ARRY] (1) T2.inPlaces.enable = {T2.enableIn[1]} ($RES_BND_376) (394) [ARRY] (1) T2.inPlaces.minTokensint = {T2.minTokensInt[1]} ($RES_BND_377) (395) [ARRY] (1) T2.inPlaces.minTokens = {T2.minTokens[1]} ($RES_BND_378) (396) [ARRY] (1) T2.inPlaces.tint = {T2.tIntIn[1]} ($RES_BND_379) (397) [SCAL] (1) T1.enabledByInPlaces = PNlib.Functions.OddsAndEnds.allTrue(T1.enableIn) ($RES_$AUX_529) (398) [SCAL] (1) $SEV_193 = P3.activeIn and P3.disTransitionIn ($RES_EVT_630) (399) [SCAL] (1) T1.outPlaces[1].maxTokens = P2.inTransition[1].maxTokens ($RES_SIM_160) (400) [SCAL] (1) $SEV_194 = P2.enabledByInPlaces and P2.activeIn ($RES_EVT_631) (401) [SCAL] (1) $SEV_195 = P2.fireIn and P2.disTransitionIn ($RES_EVT_632) (402) [SCAL] (1) $SEV_196 = P2.activeIn and P2.disTransitionIn ($RES_EVT_633) (403) [SCAL] (1) T1.outPlaces[1].fire = P2.inTransition[1].fire ($RES_SIM_163) (404) [SCAL] (1) $SEV_197 = P1.enabledByInPlaces and P1.activeIn ($RES_EVT_634) (405) [SCAL] (1) P3.inTransition[1].disPlace = true ($RES_BND_464) (406) [SCAL] (1) T1.outPlaces[1].enabledByInPlaces = P2.inTransition[1].enabledByInPlaces ($RES_SIM_164) (407) [SCAL] (1) $SEV_198 = P1.fireOut and P1.disTransitionOut ($RES_EVT_635) (408) [SCAL] (1) T1.outPlaces[1].enable = P2.inTransition[1].enable ($RES_SIM_165) (409) [SCAL] (1) $SEV_199 = P1.fireIn and P1.disTransitionIn ($RES_EVT_636) (410) [ARRY] (1) P3.inTransition.enable = {P3.enableIn.TEin_[1]} ($RES_BND_466) (411) [ARRY] (1) P1.enableIn.enablingPrio = P1.enablingPrioIn ($RES_BND_291) (412) [SCAL] (1) $SEV_200 = P1.activeIn and P1.disTransitionIn ($RES_EVT_637) (413) [ARRY] (1) P3.inTransition.maxTokensint = {P3.maxTokens} ($RES_BND_467) (414) [SCAL] (1) T1.outPlaces[1].disTransition = P2.inTransition[1].disTransition ($RES_SIM_167) (415) [ARRY] (1) P1.enableIn.enablingProb = P1.enablingProbIn ($RES_BND_292) (416) [SCAL] (1) $SEV_201 = P1.activeOut and P1.disTransitionOut ($RES_EVT_638) (417) [ARRY] (1) P3.inTransition.maxTokens = {P3.maxTokens} ($RES_BND_468) (418) [SCAL] (1) T1.outPlaces[1].disPlace = P2.inTransition[1].disPlace ($RES_SIM_168) (419) [ARRY] (1) P1.enableIn.enablingBene = P1.enablingBeneIn ($RES_BND_293) (420) [SCAL] (1) $SEV_202 = $PRE.P1.activeOut and not P1.disTransitionOut ($RES_EVT_639) (421) [ARRY] (1) P3.inTransition.tint = {P3.enableOut.t} ($RES_BND_469) (422) [ARRY] (1) P1.enableIn.disTransition = P1.disTransitionIn ($RES_BND_295) (423) [ARRY] (1) P1.enableIn.active = P1.activeIn ($RES_BND_297) (424) [SCAL] (1) T1.arcWeightIn[1] = 1.0 ($RES_BND_299)