Running: ./testmodel.py --libraries=/home/hudson/saved_omc/libraries/.openmodelica/libraries/ --ompython_omhome=/usr PNlib_PNlib.Examples.DisTest.TTcircle.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.TTcircle,tolerance=1e-06,outputFormat="mat",numberOfIntervals=5000,variableFilter="P1.t|P2.t|T1.active|T1.fire|T2.active|T2.fire|time",fileNamePrefix="PNlib_PNlib.Examples.DisTest.TTcircle") translateModel(PNlib.Examples.DisTest.TTcircle,tolerance=1e-06,outputFormat="mat",numberOfIntervals=5000,variableFilter="P1.t|P2.t|T1.active|T1.fire|T2.active|T2.fire|time",fileNamePrefix="PNlib_PNlib.Examples.DisTest.TTcircle") Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/ModelicaServices 4.0.0+maint.om/package.mo): time 0.001216/0.001216, allocations: 105.1 kB / 16.38 MB, free: 6.445 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.00121/0.00121, allocations: 190.5 kB / 17.32 MB, free: 5.785 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.232/1.232, allocations: 222.9 MB / 241 MB, free: 15.2 MB / 206.1 MB Notification: Performance of loadFile(/home/hudson/saved_omc/libraries/.openmodelica/libraries/PNlib 3.0.0-master/package.mo): time 0.0704/0.0704, allocations: 16.73 MB / 307.9 MB, free: 14.27 MB / 254.1 MB Notification: Performance of FrontEnd - Absyn->SCode: time 2.522e-05/2.524e-05, allocations: 3.672 kB / 373 MB, free: 48.56 MB / 302.1 MB Notification: Performance of NFInst.instantiate(PNlib.Examples.DisTest.TTcircle): time 0.003043/0.003084, allocations: 2.832 MB / 375.8 MB, free: 47.95 MB / 302.1 MB Notification: Performance of NFInst.instExpressions: time 0.00358/0.006677, allocations: 2.697 MB / 378.5 MB, free: 47.48 MB / 302.1 MB Notification: Performance of NFInst.updateImplicitVariability: time 0.0002817/0.006971, allocations: 17.62 kB / 378.5 MB, free: 47.48 MB / 302.1 MB Notification: Performance of NFTyping.typeComponents: time 0.000417/0.007395, allocations: 231.1 kB / 378.8 MB, free: 47.48 MB / 302.1 MB Notification: Performance of NFTyping.typeBindings: time 0.0004494/0.007867, allocations: 265.7 kB / 379 MB, free: 47.46 MB / 302.1 MB Notification: Performance of NFTyping.typeClassSections: time 0.001736/0.009611, allocations: 1.337 MB / 380.3 MB, free: 47.39 MB / 302.1 MB Notification: Performance of NFFlatten.flatten: time 0.002368/0.01199, allocations: 3.319 MB / 383.7 MB, free: 47.02 MB / 302.1 MB Notification: Performance of NFFlatten.resolveConnections: time 0.0006521/0.01265, allocations: 0.6182 MB / 384.3 MB, free: 46.79 MB / 302.1 MB Notification: Performance of NFEvalConstants.evaluate: time 0.00109/0.01375, allocations: 1.252 MB / 385.5 MB, free: 46.22 MB / 302.1 MB Notification: Performance of NFSimplifyModel.simplify: time 0.0008644/0.01463, allocations: 1.092 MB / 386.6 MB, free: 45.72 MB / 302.1 MB Notification: Performance of NFPackage.collectConstants: time 0.0003304/0.01497, allocations: 265.3 kB / 386.9 MB, free: 45.72 MB / 302.1 MB Notification: Performance of NFFlatten.collectFunctions: time 0.001281/0.01626, allocations: 0.9293 MB / 387.8 MB, free: 45.5 MB / 302.1 MB Notification: Performance of combineBinaries: time 0.001492/0.01776, allocations: 2.867 MB / 390.7 MB, free: 43.59 MB / 302.1 MB Notification: Performance of replaceArrayConstructors: time 0.0005584/0.01833, allocations: 1.571 MB / 392.3 MB, free: 42.44 MB / 302.1 MB Notification: Performance of NFVerifyModel.verify: time 0.0005304/0.01886, allocations: 418.5 kB / 392.7 MB, free: 42.29 MB / 302.1 MB Notification: Performance of FrontEnd: time 0.0002097/0.01908, allocations: 177.2 kB / 392.8 MB, free: 42.19 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: 466 (378) * Number of variables: 466 (446) Notification: Performance of Bindings: time 0.006562/0.02565, allocations: 9.297 MB / 402.1 MB, free: 35.07 MB / 302.1 MB Notification: Performance of FunctionAlias: time 0.001613/0.02727, allocations: 2.002 MB / 404.1 MB, free: 33.28 MB / 302.1 MB Notification: Performance of Early Inline: time 0.006876/0.03416, allocations: 10.49 MB / 414.6 MB, free: 23.04 MB / 302.1 MB Notification: Performance of simplify1: time 0.0002375/0.03442, allocations: 323.4 kB / 414.9 MB, free: 22.73 MB / 302.1 MB Notification: Performance of Alias: time 0.004643/0.03907, allocations: 6.435 MB / 421.4 MB, free: 15.9 MB / 302.1 MB Notification: Performance of simplify2: time 0.0002027/0.03928, allocations: 299.5 kB / 421.7 MB, free: 15.61 MB / 302.1 MB Notification: Performance of Events: time 0.002277/0.04157, allocations: 3.009 MB / 424.7 MB, free: 12.72 MB / 302.1 MB Notification: Performance of Detect States: time 0.002451/0.04403, allocations: 3.719 MB / 428.4 MB, free: 8.926 MB / 302.1 MB Notification: Performance of Partitioning: time 0.002556/0.0466, allocations: 3.525 MB / 431.9 MB, free: 5.094 MB / 302.1 MB Error: Internal error NBAdjacency.Matrix.createPseudo failed for: [SCAL] (1) $FUN_47 = sum(P2.enableIn.enablingProb[P2.enableIn.remTAin[1:P2.enableIn.nremTAin]]) ($RES_$AUX_426) Error: Internal error NBAdjacency.Matrix.create failed to create adjacency matrix for system: System Variables (456/488) **************************** (1) [DISC] (1) Boolean[1] P2.inTransition.disTransition = {P2.disTransitionIn[1]} (2) [DISC] (1) Boolean[1] T2.outPlaces.fire = {T2.fire} (3) [DISC] (1) protected discrete Real[1] P1.enableIn.cumEnablingProb (fixed = {true for $i1 in 1:1}, start = {0.0 for $i1 in 1:1}) (4) [DISC] (1) protected Boolean[1] P1.activeConOut.vec = pre(P1.activeOut) and not P1.disTransitionOut (fixed = {true for $i1 in 1:1}, start = {false for $i1 in 1:1}) (5) [ALGB] (1) protected Real[1] T1.tOut (6) [DISS] (1) protected Real T1.firingTime (7) [DISC] (1) Boolean[1] P1.outTransition.fire = {P1.fireOut[1]} (8) [ALGB] (1) Real[1] T1.outPlaces.arcWeight = {T1.arcWeightOut[1]} (9) [ALGB] (3) Real[3] P1.color (10) [DISC] (1) protected Integer[1] T2.testValueInt (11) [DISC] (1) protected Boolean P2.tokeninout (fixed = true, start = false) (12) [DISC] (1) Boolean[1] P2.inTransition.disPlace = {true for $i1 in 1:1} (13) [ALGB] (1) protected Real[1] P1.enableOut.enablingBene = P1.enablingBeneOut (14) [DISC] (1) Integer[1] T2.inPlaces.minTokensint = {T2.minTokensInt[1]} (15) [DISC] (1) enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] P2.outTransition.arcType = {PNlib.Types.ArcType.NormalArc for $i1 in 1:1} (16) [DISS] (1) protected Boolean T1.ani (17) [DISC] (1) protected Integer[1] T2.arcWeightIntIn (18) [DISC] (1) Integer[1] T1.inPlaces.tint = {T1.tIntIn[1]} (19) [DISC] (1) Boolean[1] T2.outPlaces.disTransition = {true for $i1 in 1:1} (20) [DISC] (1) protected Boolean[1] T2.activation.disPlaceOut = T2.disPlaceOut (21) [DISC] (1) protected Boolean[1] P1.enableIn.active = P1.activeIn (22) [DISC] (1) protected Boolean[1] P2.fireIn (23) [DISC] (1) protected Boolean[1] P1.delayPassedIn.vec = P1.activeIn and P1.disTransitionIn (24) [DISC] (1) Boolean[1] T2.outPlaces.enable = {T2.enableOut[1]} (25) [ALGB] (1) protected Real[1] T1.activation.arcWeightIn = T1.arcWeightIn (26) [DISC] (1) protected Integer P1.firingSumOut.firingSum (27) [DISC] (1) Boolean[1] P1.inTransition.fire = {P1.fireIn[1]} (28) [DISC] (1) protected discrete Real P1.enableOut.randNum (29) [DISC] (1) protected discrete Real P1.enableIn.sumEnablingProbTAin (30) [DISC] (1) protected Integer P1.enableIn.k (31) [ALGB] (1) Real[1] T2.outPlaces.maxTokens = {T2.maxTokens[1]} (32) [DISC] (1) Boolean T1.active (33) [ALGB] (1) protected Real[1] T2.tOut (34) [DISC] (1) protected Integer[1] P2.arcWeightOut (35) [DISC] (1) Integer[1] T2.outPlaces.maxTokensint = {T2.maxTokensInt[1]} (36) [DISC] (1) Boolean[1] T2.outPlaces.disPlace = {T2.disPlaceOut[1]} (37) [DISC] (1) protected Boolean[1] P2.enableOut.disTransition = P2.disTransitionOut (38) [ALGB] (1) Real[1] T2.outPlaces.t = {T2.tOut[1]} (39) [DISC] (1) protected Integer[1] P2.arcWeightIn (40) [DISC] (1) protected Boolean P2.enableOut.activeCon = P2.enableOut.activeCon (41) [DISC] (1) Boolean[1] T1.outPlaces.enable = {T1.enableOut[1]} (42) [ALGB] (1) protected Real[1] T2.maxTokens (43) [DISC] (1) protected Integer[1] P2.enableOut.enablingPrio = P2.enablingPrioOut (44) [ALGB] (1) protected Real[1] P1.enableOut.enablingProb = P1.enablingProbOut (45) [DISC] (1) protected Boolean[1] T1.normalArc (46) [DISC] (1) Boolean[1] P2.outTransition.tokenInOut = {pre(P2.tokeninout)} (47) [DISC] (1) protected Boolean[1] T2.disPlaceOut (48) [DISC] (4) protected Integer[4] P1.enableIn.state128 (49) [DISC] (1) protected Boolean[1] T2.enableOut (50) [DISC] (1) protected Boolean[1] P2.activeIn (51) [DISC] (1) protected Integer[1] P1.enableIn.enablingPrio = P1.enablingPrioIn (52) [DISC] (4) protected Integer[4] P1.enableOut.state128 (53) [DISS] (1) Integer P2.t (fixed = true, start = P2.startTokens) (54) [DISC] (1) Boolean[1] T2.inPlaces.disPlace = {T2.disPlaceIn[1]} (55) [DISC] (1) protected Integer P1.enableOut.arcWeightSum (56) [ALGB] (1) Real[1] P2.inTransition.maxTokens = {P2.maxTokens} (57) [ALGB] (1) Real[1] T1.inPlaces.minTokens = {T1.minTokens[1]} (58) [DISC] (1) protected Boolean[1] P1.fireIn (59) [DISC] (1) protected Boolean[1] P2.activeConOut.vec = pre(P2.activeOut) and not P2.disTransitionOut (fixed = {true for $i1 in 1:1}, start = {false for $i1 in 1:1}) (60) [DISC] (1) protected Integer P2.enableOut.posTE (61) [DISC] (1) protected Boolean[1] P2.delayPassedOut.vec = P2.activeOut and P2.disTransitionOut (62) [DISC] (1) protected Boolean[1] P2.firingSumIn.fire = P2.fireIn and P2.disTransitionIn (63) [ALGB] (1) protected Real[1] T2.activation.arcWeightOut = T2.arcWeightOut (64) [DISC] (1) Integer[1] P1.outTransition.arcWeightint = {P1.arcWeightOut[1]} (65) [DISC] (1) protected discrete Real P1.enableIn.benefitMax (66) [DISC] (1) protected Integer P2.enableIn.k (67) [DISC] (1) protected Boolean P1.enableOut.delayPassed = P1.enableOut.delayPassed (68) [DISC] (1) protected discrete Real P2.enableIn.benefitMax (69) [DISS] (1) protected Real T2.fireTime (70) [DISC] (1) protected Integer P2.enableIn.arcWeightSum (71) [DISC] (1) Integer[1] T1.inPlaces.minTokensint = {T1.minTokensInt[1]} (72) [DISC] (1) Integer[1] P2.inTransition.tint = {P2.pret} (73) [DISC] (1) protected Boolean P1.enableIn.valid (74) [DISC] (1) Boolean[1] T1.outPlaces.disPlace = {T1.disPlaceOut[1]} (75) [DISC] (1) Integer[1] P2.outTransition.testValueint = {-1 for $i1 in 1:1} (76) [DISC] (4) protected Integer[4] P2.enableIn.state128 (77) [ALGB] (1) protected Real[1] T1.testValue (78) [DISS] (1) Integer P1.t (fixed = true, start = P1.startTokens) (79) [DISC] (1) Boolean $TEV_9 (80) [DISC] (1) Boolean[1] P2.outTransition.enable = {P2.enableOut.TEout_[1]} (81) [DISC] (1) protected Boolean[1] P2.enableOut.TEout (82) [DISC] (1) Boolean $TEV_8 (83) [DISC] (1) Boolean $TEV_7 (84) [DISC] (1) Boolean[1] P1.outTransition.normalArc = {false for $i1 in 1:1} (85) [DISC] (1) protected Boolean[1] P2.enableIn.disTransition = P2.disTransitionIn (86) [DISC] (1) Boolean $TEV_6 (87) [DISC] (1) Boolean $TEV_5 (88) [DISC] (1) Boolean $TEV_4 (89) [DISC] (1) protected Boolean[1] P1.enableIn.TAein = P1.enabledByInPlaces and P1.activeIn (90) [DISC] (1) protected Integer P1.enableIn.Index (91) [DISC] (1) Boolean $TEV_3 (92) [ALGB] (1) protected Real[1] P2.enableIn.enablingProb = P2.enablingProbIn (93) [ALGB] (3) protected Real[3] T2.color (94) [DISC] (1) Boolean $TEV_2 (95) [ALGB] (1) protected Real[1] T2.activation.minTokens = T2.minTokens (96) [DISC] (1) Boolean $TEV_1 (97) [DISC] (1) Boolean $TEV_0 (98) [ALGB] (1) Real[1] P1.outTransition.arcWeight (99) [DISC] (1) Integer[1] T1.outPlaces.arcWeightint = {T1.arcWeightIntOut[1]} (100) [ALGB] (1) protected Real[1] T1.activation.maxTokens = T1.maxTokens (101) [DISC] (1) protected discrete Real P2.enableOut.benefitLimit (102) [DISC] (1) Integer[1] P2.inTransition.arcWeightint = {P2.arcWeightIn[1]} (103) [DISC] (1) protected discrete Real P2.enableOut.sumEnablingProbTAout (104) [DISC] (1) protected Boolean[1] P1.enableIn.TEin (105) [DISC] (1) protected Integer[1] T2.arcWeightIntOut (106) [DISC] (1) protected Integer[1] T1.activation.arcWeightIntIn = T1.arcWeightIntIn (107) [DISC] (1) protected Integer[1] P1.enableIn.arcWeight = P1.arcWeightIn (108) [DISC] (1) protected Integer[1] P1.arcWeightOut (109) [DISC] (1) protected Boolean[1] P2.delayPassedIn.vec = P2.activeIn and P2.disTransitionIn (110) [DISC] (1) protected Integer[1] T1.arcWeightIntIn (111) [DISC] (1) Boolean[1] T2.inPlaces.fire = {T2.fire} (112) [DISC] (1) protected discrete Real P2.enableOut.randNum (113) [DISC] (1) protected Boolean[1] T1.enableIn (114) [DISC] (1) Integer[1] T2.inPlaces.testValueint = {T2.testValueInt[1]} (115) [DISC] (1) Boolean[1] T2.inPlaces.enable = {T2.enableIn[1]} (116) [DISC] (1) protected Boolean[1] T2.disPlaceIn (117) [DISC] (1) protected discrete Real P1.enableIn.benefitLimit (118) [DISC] (1) protected Integer[1] P1.enableOut.remTAout (fixed = {true for $i1 in 1:1}, start = {0 for $i1 in 1:1}) (119) [ALGB] (1) Real[1] T1.arcWeightIn = {1.0 for $i1 in 1:1} (120) [DISC] (1) protected Integer[1] P1.arcWeightIn (121) [DISC] (1) protected Integer P2.firingSumIn.firingSum (122) [DISC] (1) protected Boolean T2.tactPassed (fixed = true, start = false) (123) [DISC] (1) protected Integer[1] T1.activation.tIntIn = T1.tIntIn (124) [DISC] (1) enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] P1.outTransition.arcType = {PNlib.Types.ArcType.NormalArc for $i1 in 1:1} (125) [DISC] (1) protected Integer P2.delayPassedIn.numtrue (126) [DISC] (1) protected Integer P1.enableOut.posTE (127) [DISC] (1) protected Integer[1] T1.activation.minTokensInt = T1.minTokensInt (128) [ALGB] (1) protected Real[1] T2.minTokens (129) [ALGB] (1) protected Real[1] T2.activation.tOut = T2.tOut (130) [DISC] (1) protected Boolean[1] P2.enableOut.TAout = P2.activeOut (131) [DISC] (1) protected Integer[1] P2.enableIn.remTAin (fixed = {true for $i1 in 1:1}, start = {0 for $i1 in 1:1}) (132) [ALGB] (1) protected Real[1] T2.activation.tIn = T2.tIn (133) [DISC] (1) protected Boolean[1] P1.disTransitionIn (134) [ALGB] (1) protected Real[1] T1.activation.tIn = T1.tIn (135) [ALGB] (1) Real[1] T2.inPlaces.testValue = {T2.testValue[1]} (136) [DISC] (1) protected Integer[1] T2.activation.maxTokensInt = T2.maxTokensInt (137) [DISC] (1) protected Boolean[1] P2.enableIn.TAein = P2.enabledByInPlaces and P2.activeIn (138) [ALGB] (1) protected Real[1] P2.enableIn.enablingBene = P2.enablingBeneIn (139) [DISC] (1) protected Integer P2.enableIn.Index (140) [DISC] (1) protected Integer P2.enableOut.nremTAout (141) [DISC] (1) protected Integer[1] P2.enableOut.arcWeight = P2.arcWeightOut (142) [ALGB] (1) Real[1] T1.arcWeightOut = {1.0 for $i1 in 1:1} (143) [DISC] (1) protected discrete Real P2.enableOut.benefitMax (144) [DISC] (1) protected Boolean[1] P2.disTransitionOut (145) [ALGB] (1) Real[1] P1.outTransition.testValue = {-1.0 for $i1 in 1:1} (146) [DISC] (1) Boolean[1] P2.outTransition.fire = {P2.fireOut[1]} (147) [DISC] (1) protected Integer P1.delayPassedIn.numtrue (148) [DISC] (1) protected Integer[1] T2.minTokensInt (149) [DISC] (1) Boolean[1] P1.inTransition.enable = {P1.enableIn.TEin_[1]} (150) [DISC] (1) protected Integer[1] P2.enableOut.remTAout (fixed = {true for $i1 in 1:1}, start = {0 for $i1 in 1:1}) (151) [DISC] (1) protected Boolean P2.enableIn.valid (152) [DISC] (1) protected Boolean[1] P1.enableOut.TEout (153) [DISC] (1) protected Integer[1] T1.activation.arcWeightIntOut = T1.arcWeightIntOut (154) [DISC] (1) protected Integer[1] P2.enableIn.arcWeight = P2.arcWeightIn (155) [DISC] (1) protected Boolean[1] T1.activation.disPlaceOut = T1.disPlaceOut (156) [DISC] (1) protected Boolean[1] P1.enabledByInPlaces (157) [DISC] (1) protected Boolean[1] P2.enableIn.TEin (158) [DISC] (1) Integer[1] T2.inPlaces.arcWeightint = {T2.arcWeightIntIn[1]} (159) [DISC] (1) protected Boolean[1] T1.disPlaceIn (160) [DISC] (1) protected Integer P2.enableOut.k (161) [DISC] (1) protected Integer[1] T1.activation.tIntOut = T1.tIntOut (162) [DISC] (1) protected discrete Real P2.enableIn.sumEnablingProbTAin (163) [ALGB] (1) protected Real[1] T2.tIn (164) [DISC] (1) protected Integer[1] T1.arcWeightIntOut (165) [ALGB] (1) protected Real[1] T1.activation.tOut = T1.tOut (166) [DISC] (1) protected Boolean T1.tactPassed (fixed = true, start = false) (167) [DISC] (1) protected Boolean P2.enableIn.endWhile (168) [DISC] (1) protected Integer P2.enableOut.t = P2.enableOut.t (169) [ALGB] (1) Real[1] P2.outTransition.testValue = {-1.0 for $i1 in 1:1} (170) [DISC] (1) protected Integer[1] T2.activation.testValueInt = T2.testValueInt (171) [DISC] (1) Integer[1] T1.outPlaces.tint = {T1.tIntOut[1]} (172) [DISC] (1) Boolean[1] T1.inPlaces.enable = {T1.enableIn[1]} (173) [DISC] (1) protected Boolean[1] P1.delayPassedOut.vec = P1.activeOut and P1.disTransitionOut (174) [DISC] (1) Boolean[1] P1.outTransition.active = {P1.activeOut[1]} (175) [ALGB] (1) Real[1] T1.outPlaces.maxTokens = {T1.maxTokens[1]} (176) [DISC] (1) protected Integer[1] P2.firingSumOut.arcWeight = P2.arcWeightOut (177) [DISC] (1) Boolean[1] P2.inTransition.enable = {P2.enableIn.TEin_[1]} (178) [DISC] (1) Integer[1] T1.outPlaces.maxTokensint = {T1.maxTokensInt[1]} (179) [ALGB] (1) Real[1] T2.inPlaces.arcWeight = {T2.arcWeightIn[1]} (180) [DISC] (1) Boolean[1] T2.inPlaces.tokenInOut (181) [DISC] (1) protected Boolean[1] P2.activeOut (fixed = {true for $i1 in 1:1}, start = {false for $i1 in 1:1}) (182) [DISC] (1) protected Boolean[1] P1.activeIn (183) [DISC] (1) Integer[1] P1.outTransition.testValueint = {-1 for $i1 in 1:1} (184) [DISC] (1) Integer[1] P2.inTransition.maxTokensint = {P2.maxTokens} (185) [ALGB] (1) protected Real[1] T2.activation.maxTokens = T2.maxTokens (186) [ALGB] (1) Real[1] T2.arcWeightIn = {1.0 for $i1 in 1:1} (187) [DISC] (1) Boolean[1] T2.inPlaces.normalArc = {T2.normalArc[1]} (188) [DISC] (1) Integer[1] P1.outTransition.tint = {P1.pret} (189) [ALGB] (1) Real P2.levelCon (190) [DISC] (1) Boolean[1] $SEV_146[$i1] (191) [DISC] (1) protected discrete Real P2.enableIn.randNum (192) [ALGB] (1) protected Real[1] T1.activation.minTokens = T1.minTokens (193) [DISC] (1) protected Integer[1] P1.enableOut.enablingPrio = P1.enablingPrioOut (194) [DISC] (1) protected Boolean[1] P1.enableOut.TAout = P1.activeOut (195) [DISC] (1) protected discrete Real P1.enableOut.benefitMax (196) [DISC] (1) protected Integer[1] T2.tIntIn (197) [DISC] (1) enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T1.inPlaces.arcType = {T1.arcType[1]} (198) [DISC] (1) Boolean[1] T2.inPlaces.disTransition = {true for $i1 in 1:1} (199) [DISC] (1) protected Boolean P2.enableOut.delayPassed = P2.enableOut.delayPassed (200) [DISC] (1) Integer[1] P2.outTransition.arcWeightint = {P2.arcWeightOut[1]} (201) [DISC] (1) protected Integer P2.enableIn.nremTAin (202) [DISC] (1) Boolean[1] $SEV_161[$i1] (203) [ALGB] (1) Real $FUN_58 (204) [DISC] (1) Boolean[1] P1.inTransition.enabledByInPlaces = {P1.enabledByInPlaces[1]} (205) [DISC] (1) Boolean $FUN_57 (206) [DISC] (1) protected enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T1.activation.arcType = T1.arcType (207) [ALGB] (1) Real $FUN_56 (208) [DISC] (1) Integer $FUN_55 (209) [DISC] (1) Boolean $SEV_187 (210) [DISC] (1) Boolean[1] $FUN_54 (211) [DISC] (1) Boolean $SEV_186 (212) [ALGB] (1) Real $FUN_53 (213) [DISC] (1) Boolean $SEV_185 (214) [DISC] (1) Integer[1] P1.inTransition.arcWeightint = {P1.arcWeightIn[1]} (215) [DISC] (1) Boolean[1] P2.outTransition.disPlace = {true for $i1 in 1:1} (216) [DISC] (1) protected Integer P1.enableOut.nTAout (217) [ALGB] (1) Real[1] T2.inPlaces.t = {T2.tIn[1]} (218) [DISC] (1) Boolean[1] $FUN_52 (219) [DISC] (1) Boolean $SEV_184 (220) [DISC] (1) Boolean[1] $FUN_51 (221) [DISC] (1) Boolean $SEV_183 (222) [DISC] (1) Boolean[1] P2.outTransition.disTransition = {P2.disTransitionOut[1]} (223) [DISC] (1) Integer[1] $FUN_50 (224) [DISC] (1) Boolean $SEV_182 (225) [ALGB] (1) Real[1] T2.outPlaces.arcWeight = {T2.arcWeightOut[1]} (226) [DISC] (1) Boolean $SEV_181 (227) [DISC] (1) protected Integer[1] T1.maxTokensInt (228) [DISC] (1) Boolean[1] T1.inPlaces.tokenInOut (229) [DISC] (1) Boolean $SEV_180 (230) [ALGB] (1) Real[1] P1.inTransition.maxTokens = {P1.maxTokens} (231) [DISS] (1) protected Real T1.fireTime (232) [ALGB] (3) protected Real[3] T1.color (233) [DISC] (4) protected Integer[4] P2.enableOut.state128 (234) [ALGB] (1) Real[1] P2.outTransition.arcWeight (235) [DISC] (1) Integer[1] T2.outPlaces.tint = {T2.tIntOut[1]} (236) [DISC] (1) Boolean[1] $SEV_147[$i1] (237) [DISC] (1) Boolean[1] P2.outTransition.normalArc = {false for $i1 in 1:1} (238) [DISC] (1) Boolean T1.fire (239) [DISC] (1) protected Boolean[1] T1.activation.disPlaceIn = T1.disPlaceIn (240) [DISC] (1) protected Integer P2.delayPassedOut.numtrue (241) [DISC] (4) Integer[4] $FUN_49 (242) [ALGB] (1) Real[1] P2.outTransition.t = {P2.pret} (243) [ALGB] (1) Real $FUN_48 (244) [DISC] (1) protected Boolean[1] P1.disTransitionOut (245) [DISC] (1) protected discrete Real[1] P1.enableOut.cumEnablingProb (fixed = {true for $i1 in 1:1}, start = {0.0 for $i1 in 1:1}) (246) [ALGB] (1) Real $FUN_47 (247) [DISC] (1) Boolean $SEV_179 (248) [ALGB] (1) protected Real[1] T1.maxTokens (249) [DISC] (1) Integer $FUN_46 (250) [DISC] (1) Boolean $SEV_178 (251) [DISC] (1) Integer[1] T1.inPlaces.testValueint = {T1.testValueInt[1]} (252) [DISC] (1) Integer $FUN_45 (253) [DISC] (1) Boolean $SEV_177 (254) [DISC] (1) protected Integer[1] P2.firingSumIn.arcWeight = P2.arcWeightIn (255) [ALGB] (1) Real $FUN_44 (256) [DISC] (1) Boolean $SEV_176 (257) [DISC] (1) Boolean $FUN_43 (258) [DISC] (1) Boolean $SEV_175 (259) [ALGB] (1) Real $FUN_42 (260) [DISC] (1) Boolean $SEV_174 (261) [DISC] (1) Integer $FUN_41 (262) [DISC] (1) Boolean $SEV_173 (263) [DISC] (1) Boolean[1] T2.outPlaces.active = {T2.tactPassed} (264) [DISC] (1) Boolean[1] $FUN_40 (265) [DISC] (1) Boolean $SEV_172 (266) [DISC] (1) Boolean[1] $SEV_162[$i1] (267) [DISC] (1) protected Boolean[1] T1.enableOut (268) [DISC] (1) protected Boolean[1] P2.enableOut.TEout_ (269) [DISC] (1) protected Integer P1.firingSumIn.firingSum (270) [DISC] (1) protected Boolean[1] P1.enableOut.TEout_ (271) [DISC] (1) protected Boolean[1] P2.firingSumOut.fire = P2.fireOut and P2.disTransitionOut (272) [DISC] (1) Boolean[1] T1.outPlaces.active = {T1.tactPassed} (273) [ALGB] (1) Real[1] P1.inTransition.t = {P1.pret} (274) [ALGB] (1) Real[1] P2.inTransition.t = {P2.pret} (275) [DISC] (1) Boolean[1] T1.inPlaces.fire = {T1.fire} (276) [DISC] (1) protected Integer[1] T1.tIntIn (277) [ALGB] (1) Real[1] P2.inTransition.arcWeight (278) [DISC] (1) protected Boolean[1] P1.enableIn.disTransition = P1.disTransitionIn (279) [DISC] (1) protected Integer[1] T1.testValueInt (280) [DISC] (1) protected Integer P1.enableOut.k (281) [DISC] (1) protected Boolean T1.enabledByInPlaces = PNlib.Functions.OddsAndEnds.allTrue(T1.enableIn) (282) [DISC] (1) Integer[1] P1.inTransition.tint = {P1.pret} (283) [ALGB] (1) Real[1] P1.outTransition.t = {P1.pret} (284) [DISC] (1) protected discrete Real P1.enableOut.benefitLimit (285) [DISC] (1) protected Integer P1.enableOut.t = P1.enableOut.t (286) [ALGB] (1) Real $FUN_39 (287) [ALGB] (1) Real[1] T1.inPlaces.t = {T1.tIn[1]} (288) [DISC] (1) Boolean[1] $FUN_38 (289) [DISC] (1) Boolean[1] $FUN_37 (290) [DISC] (1) Boolean[1] $SEV_148[$i1] (291) [DISC] (1) Integer[1] $FUN_36 (292) [DISC] (4) Integer[4] $FUN_35 (293) [ALGB] (1) Real $FUN_34 (294) [DISC] (1) Boolean $SEV_166 (295) [ALGB] (1) Real $FUN_33 (296) [DISC] (1) Boolean $SEV_165 (297) [DISC] (1) Integer $FUN_32 (298) [DISC] (1) protected Boolean[1] T1.disPlaceOut (299) [DISC] (1) Boolean T2.fire (300) [DISC] (1) Integer $FUN_31 (301) [ALGB] (1) Real $FUN_30 (302) [DISC] (1) Boolean $SEV_160 (303) [ALGB] (1) protected Real[1] T1.tIn (304) [DISC] (1) protected Integer P2.enableOut.nTAout (305) [DISC] (1) protected Integer P2.enableOut.Index (306) [ALGB] (1) Real[1] T1.outPlaces.t = {T1.tOut[1]} (307) [DISC] (1) Boolean[1] $SEV_163[$i1] (308) [DISC] (1) Boolean[1] P2.inTransition.fire = {P2.fireIn[1]} (309) [DISC] (1) protected Boolean P1.enableOut.activeCon = P1.enableOut.activeCon (310) [DISC] (1) protected Boolean[1] T2.normalArc (311) [ALGB] (1) protected Real[1] P2.enableOut.enablingBene = P2.enablingBeneOut (312) [DISC] (1) protected Boolean[1] P1.fireOut (313) [DISC] (1) protected Boolean[1] T2.activation.disPlaceIn = T2.disPlaceIn (314) [DISC] (1) enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T2.inPlaces.arcType = {T2.arcType[1]} (315) [DISC] (1) Boolean $FUN_29 (316) [ALGB] (1) Real $FUN_28 (317) [DISC] (1) Boolean[1] $FUN_9 (318) [DISC] (1) protected Boolean[1] P2.fireOut (319) [DISC] (1) protected Boolean[1] P1.enableOut.disTransition = P1.disTransitionOut (320) [DISC] (1) Integer[1] $FUN_8 (321) [DISC] (1) Integer $FUN_27 (322) [DISC] (1) Boolean $SEV_159 (323) [DISC] (1) Boolean[1] P1.inTransition.disTransition = {P1.disTransitionIn[1]} (324) [DISC] (1) protected Boolean P2.enableOut.valid (325) [DISC] (1) Integer[1] P1.inTransition.maxTokensint = {P1.maxTokens} (326) [DISC] (4) Integer[4] $FUN_7 (327) [DISC] (1) Boolean[1] $FUN_26 (328) [DISC] (1) Boolean $SEV_158 (329) [DISC] (1) protected Boolean[1] P1.enableIn.TEin_ (330) [ALGB] (1) protected Real P1.tokenscale (331) [ALGB] (1) Real $FUN_6 (332) [ALGB] (1) Real $FUN_25 (333) [DISC] (1) Boolean $SEV_157 (334) [ALGB] (1) Real[1] T1.inPlaces.testValue = {T1.testValue[1]} (335) [ALGB] (1) Real $FUN_5 (336) [DISC] (1) Boolean[1] $FUN_24 (337) [DISC] (1) protected discrete Real P1.enableIn.randNum (338) [DISC] (1) protected Integer P1.enableIn.nTAin (339) [DISC] (1) Integer $FUN_4 (340) [DISC] (1) Boolean[1] $FUN_23 (341) [ALGB] (1) protected Real[1] P1.enableIn.enablingBene = P1.enablingBeneIn (342) [DISC] (1) Integer $FUN_3 (343) [DISC] (1) Integer[1] $FUN_22 (344) [ALGB] (1) Real $FUN_2 (345) [DISC] (4) Integer[4] $FUN_21 (346) [ALGB] (1) Real $FUN_1 (347) [ALGB] (1) Real $FUN_20 (348) [ALGB] (1) protected Real[1] T2.activation.arcWeightIn = T2.arcWeightIn (349) [DISC] (1) Boolean $SEV_151 (350) [ALGB] (1) protected Real[1] T1.activation.arcWeightOut = T1.arcWeightOut (351) [DISC] (1) Boolean $SEV_150 (352) [DISC] (1) protected Integer P2.firingSumOut.firingSum (353) [DISC] (1) Boolean[1] $SEV_149[$i1] (354) [DISC] (1) protected Boolean P2.enableOut.endWhile (355) [ALGB] (3) Real[3] P2.color (356) [DISC] (1) Boolean[1] P1.outTransition.tokenInOut = {pre(P1.tokeninout)} (357) [DISC] (1) protected Integer P1.enableIn.posTE (358) [DISC] (1) protected Integer[1] T1.tIntOut (359) [DISC] (1) Boolean[1] $SEV_164[$i1] (360) [DISC] (1) Boolean[1] P1.inTransition.disPlace = {true for $i1 in 1:1} (361) [DISC] (1) Boolean[1] T1.outPlaces.disTransition = {true for $i1 in 1:1} (362) [DISC] (1) protected discrete Real P2.enableIn.benefitLimit (363) [ALGB] (1) Real $FUN_19 (364) [DISC] (1) protected Integer[1] T2.tIntOut (365) [DISC] (1) Integer $FUN_18 (366) [DISC] (1) Integer $FUN_17 (367) [ALGB] (1) Real $FUN_16 (368) [DISC] (1) Boolean $FUN_15 (369) [DISC] (1) Boolean[1] P2.outTransition.active = {P2.activeOut[1]} (370) [ALGB] (1) Real $FUN_14 (371) [ALGB] (1) Real[1] T2.arcWeightOut = {1.0 for $i1 in 1:1} (372) [DISC] (1) Integer $FUN_13 (373) [ALGB] (1) protected Real[1] P2.enableOut.enablingProb = P2.enablingProbOut (374) [DISC] (1) Boolean[1] $FUN_12 (375) [ALGB] (1) Real $FUN_11 (376) [DISC] (1) Boolean[1] $FUN_10 (377) [ALGB] (1) protected Real[1] T1.minTokens (378) [ALGB] (1) Real P1.levelCon (379) [DISC] (1) protected Integer[1] T2.activation.minTokensInt = T2.minTokensInt (380) [ALGB] (1) protected Real[1] T2.activation.testValue = T2.testValue (381) [ALGB] (1) protected Real[1] T2.testValue (382) [ALGB] (1) protected Real[1] P1.enableIn.enablingProb = P1.enablingProbIn (383) [DISS] (1) protected Boolean T2.ani (384) [DISC] (1) protected discrete Real[1] P2.enableOut.cumEnablingProb (fixed = {true for $i1 in 1:1}, start = {0.0 for $i1 in 1:1}) (385) [DISC] (1) protected Integer[1] P1.firingSumOut.arcWeight = P1.arcWeightOut (386) [ALGB] (1) Real[1] T1.inPlaces.arcWeight = {T1.arcWeightIn[1]} (387) [DISC] (1) protected Integer P1.enableOut.Index (388) [DISC] (1) Boolean[1] T1.outPlaces.enabledByInPlaces = {T1.enabledByInPlaces} (389) [DISC] (1) Boolean[1] T2.inPlaces.active = {T2.tactPassed} (390) [ALGB] (1) protected Real P2.tokenscale (391) [DISC] (1) protected Integer P2.enableOut.arcWeightSum (392) [ALGB] (1) Real[1] T2.inPlaces.minTokens = {T2.minTokens[1]} (393) [DISC] (1) Integer[1] P1.outTransition.minTokensint = {P1.minTokens} (394) [DISC] (1) protected enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T2.activation.arcType = T2.arcType (395) [DISC] (1) Boolean[1] T1.inPlaces.normalArc = {T1.normalArc[1]} (396) [DISC] (1) Integer[1] P2.outTransition.tint = {P2.pret} (397) [DISC] (1) protected Boolean[1] P1.firingSumOut.fire = P1.fireOut and P1.disTransitionOut (398) [DISC] (1) protected Boolean[1] T1.activation.normalArc = T1.normalArc (399) [DISC] (1) protected Integer[1] P1.enableIn.remTAin (fixed = {true for $i1 in 1:1}, start = {0 for $i1 in 1:1}) (400) [DISC] (1) Integer[1] T1.inPlaces.arcWeightint = {T1.arcWeightIntIn[1]} (401) [DISC] (1) protected Boolean P1.enableOut.valid (402) [DISC] (1) Integer[1] T2.inPlaces.tint = {T2.tIntIn[1]} (403) [DISC] (1) protected enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T1.arcType (404) [DISC] (1) Boolean[1] T1.inPlaces.disTransition = {true for $i1 in 1:1} (405) [DISC] (1) protected Integer P1.enableIn.arcWeightSum (406) [DISC] (1) protected Integer P1.delayPassedOut.numtrue (407) [DISC] (1) protected Boolean[1] P2.disTransitionIn (408) [DISC] (1) protected enumeration PNlib.Types.ArcType(NormalArc, RealTestArc, TestArc, RealInhibitorArc, InhibitorArc)[1] T2.arcType (409) [DISC] (1) protected Integer[1] P1.firingSumIn.arcWeight = P1.arcWeightIn (410) [DISC] (1) protected Integer[1] T2.activation.arcWeightIntOut = T2.arcWeightIntOut (411) [DISC] (1) protected Boolean T2.enabledByInPlaces = PNlib.Functions.OddsAndEnds.allTrue(T2.enableIn) (412) [DISC] (1) protected Integer P2.enableIn.posTE (413) [DISC] (1) Boolean[1] P1.outTransition.disPlace = {true for $i1 in 1:1} (414) [DISC] (1) Integer[1] P2.outTransition.minTokensint = {P2.minTokens} (415) [DISC] (1) protected discrete Real[1] P2.enableIn.cumEnablingProb (fixed = {true for $i1 in 1:1}, start = {0.0 for $i1 in 1:1}) (416) [DISC] (1) protected discrete Real P1.enableOut.sumEnablingProbTAout (417) [DISC] (1) protected Integer P1.enableIn.nremTAin (418) [DISC] (1) protected Integer[1] T1.activation.maxTokensInt = T1.maxTokensInt (419) [DISC] (1) Boolean[1] P1.inTransition.active = {P1.activeIn[1]} (420) [DISS] (1) protected Real T2.firingTime (421) [ALGB] (1) Real[1] P1.outTransition.minTokens = {P1.minTokens} (422) [DISC] (1) protected Boolean P1.enableIn.delayPassed = P1.enableIn.delayPassed (423) [ALGB] (1) Real[1] P2.outTransition.minTokens = {P2.minTokens} (424) [DISC] (1) protected Integer[1] P2.enableIn.enablingPrio = P2.enablingPrioIn (425) [DISC] (1) protected Integer P2.enableIn.nTAin (426) [DISC] (1) protected Boolean[1] P1.activeOut (fixed = {true for $i1 in 1:1}, start = {false for $i1 in 1:1}) (427) [DISC] (1) protected Boolean[1] P2.enableIn.TEin_ (428) [DISC] (1) protected Boolean P1.tokeninout (fixed = true, start = false) (429) [DISC] (1) Boolean[1] P2.inTransition.enabledByInPlaces = {P2.enabledByInPlaces[1]} (430) [DISC] (1) protected Integer[1] T2.activation.tIntIn = T2.tIntIn (431) [DISC] (1) protected Boolean[1] T2.activation.normalArc = T2.normalArc (432) [DISC] (1) protected Boolean[1] P2.enableIn.active = P2.activeIn (433) [DISC] (1) protected Integer[1] T2.activation.tIntOut = T2.tIntOut (434) [DISC] (1) Integer[1] T2.outPlaces.arcWeightint = {T2.arcWeightIntOut[1]} (435) [DISC] (1) protected Integer P1.enableOut.nremTAout (436) [DISC] (1) protected Integer[1] P1.enableOut.arcWeight = P1.arcWeightOut (437) [DISC] (1) protected Integer[1] T2.activation.arcWeightIntIn = T2.arcWeightIntIn (438) [DISC] (1) Boolean[1] T1.inPlaces.disPlace = {T1.disPlaceIn[1]} (439) [DISC] (1) protected Integer[1] T2.maxTokensInt (440) [DISC] (1) Boolean[1] P1.outTransition.disTransition = {P1.disTransitionOut[1]} (441) [ALGB] (1) protected Real[1] T1.activation.testValue = T1.testValue (442) [DISC] (1) protected Boolean P2.enableIn.delayPassed = P2.enableIn.delayPassed (443) [DISC] (1) Boolean[1] T2.outPlaces.enabledByInPlaces = {T2.enabledByInPlaces} (444) [DISC] (1) protected Boolean P1.enableIn.endWhile (445) [DISC] (1) Boolean[1] T1.inPlaces.active = {T1.tactPassed} (446) [ALGB] (1) Real[1] P1.inTransition.arcWeight (447) [DISC] (1) Boolean[1] P1.outTransition.enable = {P1.enableOut.TEout_[1]} (448) [DISC] (1) protected Integer[1] T1.minTokensInt (449) [DISC] (1) protected Integer[1] T1.activation.testValueInt = T1.testValueInt (450) [DISC] (1) protected Boolean P1.enableOut.endWhile (451) [DISC] (1) Boolean[1] P2.inTransition.active = {P2.activeIn[1]} (452) [DISC] (1) protected Boolean[1] P2.enabledByInPlaces (453) [DISC] (1) protected Boolean[1] P1.firingSumIn.fire = P1.fireIn and P1.disTransitionIn (454) [DISC] (1) Boolean T2.active (455) [DISC] (1) protected Boolean[1] T2.enableIn (456) [DISC] (1) Boolean[1] T1.outPlaces.fire = {T1.fire} System Equations (368/488) **************************** (1) [ARRY] (1) $FUN_38 = PNlib.Functions.Enabling.benefitQuotientDisOut(1, P2.enableOut.arcWeight, P2.enableOut.t, P2.minTokens, P2.enableOut.TAout, P2.enableOut.enablingBene, P2.enableOut.disTransition) ($RES_$AUX_431) (2) [SCAL] (1) $FUN_39 = sum(P2.enableOut.enablingBene) ($RES_$AUX_430) (3) [SCAL] (1) T2.outPlaces[1].disTransition = true ($RES_BND_381) (4) [ARRY] (1) T2.outPlaces.enabledByInPlaces = {T2.enabledByInPlaces} ($RES_BND_382) (5) [ARRY] (1) T2.outPlaces.arcWeightint = {T2.arcWeightIntOut[1]} ($RES_BND_383) (6) [ARRY] (1) T2.outPlaces.arcWeight = {T2.arcWeightOut[1]} ($RES_BND_384) (7) [ARRY] (1) T2.outPlaces.fire = {T2.fire} ($RES_BND_385) (8) [ARRY] (1) T2.outPlaces.active = {T2.tactPassed} ($RES_BND_386) (9) [ARRY] (1) T2.outPlaces.disPlace = {T2.disPlaceOut[1]} ($RES_BND_387) (10) [ARRY] (1) T2.outPlaces.enable = {T2.enableOut[1]} ($RES_BND_388) (11) [ARRY] (1) T2.outPlaces.maxTokensint = {T2.maxTokensInt[1]} ($RES_BND_389) (12) [SCAL] (1) $TEV_8 = $PRE.P2.enableOut.state128 ($RES_EVT_470) (13) [SCAL] (1) $TEV_9 = $PRE.P2.enableIn.state128 ($RES_EVT_471) (14) [SCAL] (1) $SEV_146[1] = T2.disPlaceOut[1] and T2.arcWeightOut[1] - T2.arcWeightIntOut[1] <= 0.0 or not T2.disPlaceOut[1] ($RES_EVT_472) (15) [SCAL] (1) $SEV_147[1] = T2.arcWeightOut[1] >= 0.0 ($RES_EVT_473) (16) [SCAL] (1) $SEV_148[1] = T2.disPlaceIn[1] and T2.arcWeightIn[1] - T2.arcWeightIntIn[1] <= 0.0 or not T2.disPlaceIn[1] ($RES_EVT_474) (17) [SCAL] (1) $SEV_149[1] = T2.arcWeightIn[1] >= 0.0 ($RES_EVT_475) (18) [TUPL] (5) ($FUN_40, $FUN_41, $FUN_42, $FUN_43, $FUN_44) = PNlib.Functions.Enabling.benefitBaBDisOut(1, 1, P2.enableOut.enablingBene, P2.enableOut.arcWeight, P2.enableOut.enablingBene / P2.enableOut.arcWeight, P2.enableOut.t, P2.enableOut.benefitMax, P2.minTokens, P2.enableOut.TEout, 0, P2.enableOut.benefitLimit, P2.enableOut.TAout, P2.enableOut.disTransition) ($RES_$AUX_429) (19) [SCAL] (1) $SEV_150 = (T2.fireTime + settings.timeFire >= time and settings.animateTransition) and T2.ani ($RES_EVT_476) (20) [SCAL] (1) $FUN_45 = PNlib.Functions.OddsAndEnds.conditionalSumInt(P2.enableIn.arcWeight, P2.enableIn.TAein) ($RES_$AUX_428) (21) [SCAL] (1) $SEV_151 = T2.active and $FUN_2 <= 1e-9 ($RES_EVT_477) (22) [SCAL] (1) $FUN_46 = Modelica.Math.Vectors.find(i, P2.enableIn.enablingPrio, 0.0) ($RES_$AUX_427) (23) [SCAL] (1) $FUN_47 = sum(P2.enableIn.enablingProb[P2.enableIn.remTAin[1:P2.enableIn.nremTAin]]) ($RES_$AUX_426) (24) [TUPL] (5) ($FUN_48, $FUN_49) = Modelica.Math.Random.Generators.Xorshift128plus.random($TEV_9) ($RES_$AUX_425) (25) [ARRY] (1) $FUN_50 = PNlib.Functions.OddsAndEnds.deleteElementInt(P2.enableIn.remTAin, P2.enableIn.k) ($RES_$AUX_424) (26) [ARRY] (1) $FUN_51 = PNlib.Functions.Enabling.benefitGreedyDisIn(1, P2.enableIn.arcWeight, P2.enableOut.t, P2.maxTokens, P2.enableIn.TAein, P2.enableIn.enablingBene, P2.enableIn.disTransition) ($RES_$AUX_423) (27) [ARRY] (1) $FUN_52 = PNlib.Functions.Enabling.benefitQuotientDisIn(1, P2.enableIn.arcWeight, P2.enableOut.t, P2.maxTokens, P2.enableIn.TAein, P2.enableIn.enablingBene, P2.enableIn.disTransition) ($RES_$AUX_422) (28) [SCAL] (1) $FUN_53 = sum(P2.enableIn.enablingBene) ($RES_$AUX_421) (29) [ARRY] (1) T2.outPlaces.maxTokens = {T2.maxTokens[1]} ($RES_BND_390) (30) [TUPL] (5) ($FUN_54, $FUN_55, $FUN_56, $FUN_57, $FUN_58) = 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_420) (31) [ARRY] (1) T2.outPlaces.tint = {T2.tIntOut[1]} ($RES_BND_391) (32) [ARRY] (1) T2.outPlaces.t = {T2.tOut[1]} ($RES_BND_392) (33) [ARRY] (1) T2.activation.tIn = T2.tIn ($RES_BND_395) (34) [ARRY] (1) T2.activation.tOut = T2.tOut ($RES_BND_396) (35) [ARRY] (1) T2.activation.tIntIn = T2.tIntIn ($RES_BND_397) (36) [ARRY] (1) T2.activation.tIntOut = T2.tIntOut ($RES_BND_398) (37) [ARRY] (1) T2.activation.arcType = T2.arcType ($RES_BND_399) (38) [SCAL] (1) $SEV_157 = P2.tokenscale < 100.0 ($RES_EVT_483) (39) [SCAL] (1) $SEV_158 = $PRE.P2.firingSumIn.firingSum > 0 ($RES_EVT_484) (40) [SCAL] (1) $SEV_159 = $PRE.P2.firingSumOut.firingSum > 0 ($RES_EVT_485) (41) [SCAL] (1) T2.fire = PNlib.Functions.OddsAndEnds.allTrue(T2.enableOut) ($RES_$AUX_419) (42) [SCAL] (1) $SEV_160 = $PRE.P2.firingSumIn.firingSum > 0 or $PRE.P2.firingSumOut.firingSum > 0 ($RES_EVT_486) (43) [SCAL] (1) T2.enabledByInPlaces = PNlib.Functions.OddsAndEnds.allTrue(T2.enableIn) ($RES_$AUX_418) (44) [SCAL] (1) $SEV_161[1] = T1.disPlaceOut[1] and T1.arcWeightOut[1] - T1.arcWeightIntOut[1] <= 0.0 or not T1.disPlaceOut[1] ($RES_EVT_487) (45) [SCAL] (1) T1.fire = PNlib.Functions.OddsAndEnds.allTrue(T1.enableOut) ($RES_$AUX_417) (46) [SCAL] (1) $SEV_162[1] = T1.arcWeightOut[1] >= 0.0 ($RES_EVT_488) (47) [SCAL] (1) T1.enabledByInPlaces = PNlib.Functions.OddsAndEnds.allTrue(T1.enableIn) ($RES_$AUX_416) (48) [SCAL] (1) $SEV_163[1] = T1.disPlaceIn[1] and T1.arcWeightIn[1] - T1.arcWeightIntIn[1] <= 0.0 or not T1.disPlaceIn[1] ($RES_EVT_489) (49) [SCAL] (1) $SEV_164[1] = T1.arcWeightIn[1] >= 0.0 ($RES_EVT_490) (50) [SCAL] (1) $SEV_165 = (T1.fireTime + settings.timeFire >= time and settings.animateTransition) and T1.ani ($RES_EVT_491) (51) [SCAL] (1) $SEV_166 = T1.active and $FUN_1 <= 1e-9 ($RES_EVT_492) (52) [SCAL] (1) $SEV_172 = P1.tokenscale < 100.0 ($RES_EVT_498) (53) [SCAL] (1) $SEV_173 = $PRE.P1.firingSumIn.firingSum > 0 ($RES_EVT_499) (54) [ALGO] (2) ($RES_SIM_9) (54) [----] P2.enableIn.delayPassed := false; (54) [----] P2.delayPassedIn.numtrue := 0; (54) [----] for i in 1:1 loop (54) [----] P2.enableIn.delayPassed := P2.enableIn.delayPassed or P2.delayPassedIn.vec[i]; (54) [----] if P2.delayPassedIn.vec[i] then (54) [----] P2.delayPassedIn.numtrue := P2.delayPassedIn.numtrue + 1; (54) [----] end if; (54) [----] end for; (55) [ALGO] (1) ($RES_SIM_8) (55) [----] P2.firingSumIn.firingSum := 0; (55) [----] for i in 1:1 loop (55) [----] if P2.firingSumIn.fire[i] then (55) [----] P2.firingSumIn.firingSum := P2.firingSumIn.firingSum + P2.firingSumIn.arcWeight[i]; (55) [----] end if; (55) [----] end for; (56) [ALGO] (1) ($RES_SIM_7) (56) [----] P2.firingSumOut.firingSum := 0; (56) [----] for i in 1:1 loop (56) [----] if P2.firingSumOut.fire[i] then (56) [----] P2.firingSumOut.firingSum := P2.firingSumOut.firingSum + P2.firingSumOut.arcWeight[i]; (56) [----] end if; (56) [----] end for; (57) [ALGO] (20) ($RES_SIM_6) (57) [----] P2.enableOut.TEout := fill(false, 1); (57) [----] P2.enableOut.arcWeightSum := 0; (57) [----] for i in 1:1 loop (57) [----] if (P2.enableOut.TAout[i] and not P2.enableOut.disTransition[i]) and P2.enableOut.t - (P2.enableOut.arcWeight[i] + P2.enableOut.arcWeightSum) >= P2.minTokens then (57) [----] P2.enableOut.TEout[i] := true; (57) [----] P2.enableOut.arcWeightSum := P2.enableOut.arcWeightSum + P2.enableOut.arcWeight[i]; (57) [----] end if; (57) [----] end for; (57) [----] when P2.enableOut.delayPassed or P2.enableOut.activeCon then (57) [----] P2.enableOut.arcWeightSum := $FUN_31; (57) [----] if P2.enableOut.t - P2.enableOut.arcWeightSum >= P2.minTokens then (57) [----] P2.enableOut.TEout := P2.enableOut.TAout; (57) [----] elseif true then (57) [----] if P2.enablingType == PNlib.Types.EnablingType.Priority then (57) [----] P2.enableOut.arcWeightSum := 0; (57) [----] for i in 1:1 loop (57) [----] P2.enableOut.Index := $FUN_32; (57) [----] if ((P2.enableOut.Index > 0 and P2.enableOut.TAout[P2.enableOut.Index]) and P2.enableOut.disTransition[P2.enableOut.Index]) and P2.enableOut.t - (P2.enableOut.arcWeight[P2.enableOut.Index] + P2.enableOut.arcWeightSum) >= P2.minTokens then (57) [----] P2.enableOut.TEout[P2.enableOut.Index] := true; (57) [----] P2.enableOut.arcWeightSum := P2.enableOut.arcWeightSum + P2.enableOut.arcWeight[P2.enableOut.Index]; (57) [----] end if; (57) [----] end for; (57) [----] for i in 1:1 loop (57) [----] P2.enableOut.Index := $FUN_32; (57) [----] if (P2.enableOut.TAout[P2.enableOut.Index] and not P2.enableOut.disTransition[P2.enableOut.Index]) and P2.enableOut.t - (P2.enableOut.arcWeight[P2.enableOut.Index] + P2.enableOut.arcWeightSum) >= P2.minTokens then (57) [----] P2.enableOut.TEout[P2.enableOut.Index] := true; (57) [----] P2.enableOut.arcWeightSum := P2.enableOut.arcWeightSum + P2.enableOut.arcWeight[P2.enableOut.Index]; (57) [----] end if; (57) [----] end for; (57) [----] elseif P2.enablingType == PNlib.Types.EnablingType.Probability then (57) [----] P2.enableOut.remTAout := fill(0, 1); (57) [----] P2.enableOut.nremTAout := 0; (57) [----] P2.enableOut.arcWeightSum := 0; (57) [----] for i in 1:1 loop (57) [----] if P2.enableOut.TAout[i] and P2.enableOut.disTransition[i] then (57) [----] P2.enableOut.nremTAout := P2.enableOut.nremTAout + 1; (57) [----] P2.enableOut.remTAout[P2.enableOut.nremTAout] := i; (57) [----] end if; (57) [----] end for; (57) [----] P2.enableOut.nTAout := P2.enableOut.nremTAout; (57) [----] if P2.enableOut.nTAout > 0 then (57) [----] P2.enableOut.sumEnablingProbTAout := $FUN_33; (57) [----] P2.enableOut.cumEnablingProb := fill(0.0, 1); (57) [----] P2.enableOut.cumEnablingProb[1] := P2.enableOut.enablingProb[P2.enableOut.remTAout[1]] / P2.enableOut.sumEnablingProbTAout; (57) [----] for j in 2:P2.enableOut.nremTAout loop (57) [----] P2.enableOut.cumEnablingProb[j] := P2.enableOut.cumEnablingProb[j - 1] + P2.enableOut.enablingProb[P2.enableOut.remTAout[j]] / P2.enableOut.sumEnablingProbTAout; (57) [----] end for; (57) [----] for i in 1:P2.enableOut.nTAout loop (57) [----] (P2.enableOut.randNum, P2.enableOut.state128) := ($FUN_34, $FUN_35); (57) [----] P2.enableOut.endWhile := false; (57) [----] P2.enableOut.k := 1; (57) [----] while P2.enableOut.k <= P2.enableOut.nremTAout and not P2.enableOut.endWhile then (57) [----] if P2.enableOut.randNum <= P2.enableOut.cumEnablingProb[P2.enableOut.k] then (57) [----] P2.enableOut.posTE := P2.enableOut.remTAout[P2.enableOut.k]; (57) [----] P2.enableOut.endWhile := true; (57) [----] elseif true then (57) [----] P2.enableOut.k := P2.enableOut.k + 1; (57) [----] end if; (57) [----] end while; (57) [----] if P2.enableOut.t - (P2.enableOut.arcWeight[P2.enableOut.posTE] + P2.enableOut.arcWeightSum) >= P2.minTokens then (57) [----] P2.enableOut.arcWeightSum := P2.enableOut.arcWeightSum + P2.enableOut.arcWeight[P2.enableOut.posTE]; (57) [----] P2.enableOut.TEout[P2.enableOut.posTE] := true; (57) [----] end if; (57) [----] P2.enableOut.nremTAout := P2.enableOut.nremTAout - 1; (57) [----] if P2.enableOut.nremTAout > 0 then (57) [----] P2.enableOut.remTAout := $FUN_36; (57) [----] P2.enableOut.cumEnablingProb := fill(0.0, 1); (57) [----] P2.enableOut.sumEnablingProbTAout := $FUN_33; (57) [----] if P2.enableOut.sumEnablingProbTAout > 0.0 then (57) [----] P2.enableOut.cumEnablingProb[1] := P2.enableOut.enablingProb[P2.enableOut.remTAout[1]] / P2.enableOut.sumEnablingProbTAout; (57) [----] for j in 2:P2.enableOut.nremTAout loop (57) [----] P2.enableOut.cumEnablingProb[j] := P2.enableOut.cumEnablingProb[j - 1] + P2.enableOut.enablingProb[P2.enableOut.remTAout[j]] / P2.enableOut.sumEnablingProbTAout; (57) [----] end for; (57) [----] elseif true then (57) [----] P2.enableOut.cumEnablingProb[1:P2.enableOut.nremTAout] := fill(1.0 / P2.enableOut.nremTAout, P2.enableOut.nremTAout); (57) [----] end if; (57) [----] end if; (57) [----] end for; (57) [----] end if; (57) [----] for i in 1:1 loop (57) [----] if (P2.enableOut.TAout[i] and not P2.enableOut.disTransition[i]) and P2.enableOut.t - (P2.enableOut.arcWeight[i] + P2.enableOut.arcWeightSum) >= P2.minTokens then (57) [----] P2.enableOut.TEout[i] := true; (57) [----] P2.enableOut.arcWeightSum := P2.enableOut.arcWeightSum + P2.enableOut.arcWeight[i]; (57) [----] end if; (57) [----] end for; (57) [----] elseif true then (57) [----] if P2.benefitType == PNlib.Types.BenefitType.Greedy then (57) [----] P2.enableOut.TEout := $FUN_37; (57) [----] elseif P2.benefitType == PNlib.Types.BenefitType.BenefitQuotient then (57) [----] P2.enableOut.TEout := $FUN_38; (57) [----] elseif true then (57) [----] P2.enableOut.arcWeightSum := 0; (57) [----] P2.enableOut.benefitMax := $FUN_39; (57) [----] P2.enableOut.benefitLimit := 0.0; (57) [----] (P2.enableOut.TEout, P2.enableOut.arcWeightSum, P2.enableOut.benefitMax, P2.enableOut.valid, P2.enableOut.benefitLimit) := ($FUN_40, $FUN_41, $FUN_42, $FUN_43, $FUN_44); (57) [----] end if; (57) [----] end if; (57) [----] end if; (57) [----] end when; (57) [----] for i in 1:1 loop (57) [----] P2.enableOut.TEout_[i] := P2.enableOut.TEout[i] and P2.enableOut.TAout[i]; (57) [----] end for; (58) [ALGO] (20) ($RES_SIM_5) (58) [----] P2.enableIn.TEin := fill(false, 1); (58) [----] P2.enableIn.arcWeightSum := 0; (58) [----] when P2.enableIn.delayPassed then (58) [----] P2.enableIn.arcWeightSum := $FUN_45; (58) [----] if P2.enableOut.t + P2.enableIn.arcWeightSum <= P2.maxTokens then (58) [----] P2.enableIn.TEin := P2.enableIn.TAein; (58) [----] elseif true then (58) [----] if P2.enablingType == PNlib.Types.EnablingType.Priority then (58) [----] P2.enableIn.arcWeightSum := 0; (58) [----] for i in 1:1 loop (58) [----] P2.enableIn.Index := $FUN_46; (58) [----] 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 (58) [----] P2.enableIn.TEin[P2.enableIn.Index] := true; (58) [----] P2.enableIn.arcWeightSum := P2.enableIn.arcWeightSum + P2.enableIn.arcWeight[P2.enableIn.Index]; (58) [----] end if; (58) [----] end for; (58) [----] for i in 1:1 loop (58) [----] P2.enableIn.Index := $FUN_46; (58) [----] 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 (58) [----] P2.enableIn.TEin[P2.enableIn.Index] := true; (58) [----] P2.enableIn.arcWeightSum := P2.enableIn.arcWeightSum + P2.enableIn.arcWeight[P2.enableIn.Index]; (58) [----] end if; (58) [----] end for; (58) [----] elseif P2.enablingType == PNlib.Types.EnablingType.Probability then (58) [----] P2.enableIn.arcWeightSum := 0; (58) [----] P2.enableIn.remTAin := fill(0, 1); (58) [----] P2.enableIn.nremTAin := 0; (58) [----] for i in 1:1 loop (58) [----] if P2.enableIn.TAein[i] and P2.enableIn.disTransition[i] then (58) [----] P2.enableIn.nremTAin := P2.enableIn.nremTAin + 1; (58) [----] P2.enableIn.remTAin[P2.enableIn.nremTAin] := i; (58) [----] end if; (58) [----] end for; (58) [----] P2.enableIn.nTAin := P2.enableIn.nremTAin; (58) [----] P2.enableIn.sumEnablingProbTAin := $FUN_47; (58) [----] P2.enableIn.cumEnablingProb := fill(0.0, 1); (58) [----] P2.enableIn.cumEnablingProb[1] := P2.enableIn.enablingProb[P2.enableIn.remTAin[1]] / P2.enableIn.sumEnablingProbTAin; (58) [----] for j in 2:P2.enableIn.nremTAin loop (58) [----] P2.enableIn.cumEnablingProb[j] := P2.enableIn.cumEnablingProb[j - 1] + P2.enableIn.enablingProb[P2.enableIn.remTAin[j]] / P2.enableIn.sumEnablingProbTAin; (58) [----] end for; (58) [----] for i in 1:P2.enableIn.nTAin loop (58) [----] (P2.enableIn.randNum, P2.enableIn.state128) := ($FUN_48, $FUN_49); (58) [----] P2.enableIn.endWhile := false; (58) [----] P2.enableIn.k := 1; (58) [----] while P2.enableIn.k <= P2.enableIn.nremTAin and not P2.enableIn.endWhile then (58) [----] if P2.enableIn.randNum <= P2.enableIn.cumEnablingProb[P2.enableIn.k] then (58) [----] P2.enableIn.posTE := P2.enableIn.remTAin[P2.enableIn.k]; (58) [----] P2.enableIn.endWhile := true; (58) [----] elseif true then (58) [----] P2.enableIn.k := P2.enableIn.k + 1; (58) [----] end if; (58) [----] end while; (58) [----] if P2.enableIn.arcWeightSum + P2.enableOut.t + P2.enableIn.arcWeight[P2.enableIn.posTE] <= P2.maxTokens then (58) [----] P2.enableIn.arcWeightSum := P2.enableIn.arcWeightSum + P2.enableIn.arcWeight[P2.enableIn.posTE]; (58) [----] P2.enableIn.TEin[P2.enableIn.posTE] := true; (58) [----] end if; (58) [----] P2.enableIn.nremTAin := P2.enableIn.nremTAin - 1; (58) [----] if P2.enableIn.nremTAin > 0 then (58) [----] P2.enableIn.remTAin := $FUN_50; (58) [----] P2.enableIn.cumEnablingProb := fill(0.0, 1); (58) [----] P2.enableIn.sumEnablingProbTAin := $FUN_47; (58) [----] if P2.enableIn.sumEnablingProbTAin > 0.0 then (58) [----] P2.enableIn.cumEnablingProb[1] := P2.enableIn.enablingProb[P2.enableIn.remTAin[1]] / P2.enableIn.sumEnablingProbTAin; (58) [----] for j in 2:P2.enableIn.nremTAin loop (58) [----] P2.enableIn.cumEnablingProb[j] := P2.enableIn.cumEnablingProb[j - 1] + P2.enableIn.enablingProb[P2.enableIn.remTAin[j]] / P2.enableIn.sumEnablingProbTAin; (58) [----] end for; (58) [----] elseif true then (58) [----] P2.enableIn.cumEnablingProb[1:P2.enableIn.nremTAin] := fill(1.0 / P2.enableIn.nremTAin, P2.enableIn.nremTAin); (58) [----] end if; (58) [----] end if; (58) [----] end for; (58) [----] elseif true then (58) [----] if P2.benefitType == PNlib.Types.BenefitType.Greedy then (58) [----] P2.enableIn.TEin := $FUN_51; (58) [----] elseif P2.benefitType == PNlib.Types.BenefitType.BenefitQuotient then (58) [----] P2.enableIn.TEin := $FUN_52; (58) [----] elseif true then (58) [----] P2.enableIn.arcWeightSum := 0; (58) [----] P2.enableIn.benefitMax := $FUN_53; (58) [----] P2.enableIn.benefitLimit := 0.0; (58) [----] (P2.enableIn.TEin, P2.enableIn.arcWeightSum, P2.enableIn.benefitMax, P2.enableIn.valid, P2.enableIn.benefitLimit) := ($FUN_54, $FUN_55, $FUN_56, $FUN_57, $FUN_58); (58) [----] end if; (58) [----] end if; (58) [----] end if; (58) [----] end when; (58) [----] for i in 1:1 loop (58) [----] P2.enableIn.TEin_[i] := P2.enableIn.TEin[i] and P2.enableIn.active[i]; (58) [----] end for; (59) [ALGO] (1) ($RES_SIM_4) (59) [----] T2.active := true; (59) [----] for i in 1:1 loop (59) [----] if T2.activation.disPlaceIn[i] then (59) [----] 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 (59) [----] T2.active := false; (59) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.RealTestArc and not T2.activation.tIntIn[i] > T2.activation.testValueInt[i] then (59) [----] T2.active := false; (59) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.TestArc and not T2.activation.tIntIn[i] >= T2.activation.testValueInt[i] then (59) [----] T2.active := false; (59) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.RealInhibitorArc and not T2.activation.tIntIn[i] < T2.activation.testValueInt[i] then (59) [----] T2.active := false; (59) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.InhibitorArc and not T2.activation.tIntIn[i] <= T2.activation.testValueInt[i] then (59) [----] T2.active := false; (59) [----] end if; (59) [----] elseif true then (59) [----] 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 (59) [----] T2.active := false; (59) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.RealTestArc and not T2.activation.tIn[i] > T2.activation.testValue[i] then (59) [----] T2.active := false; (59) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.TestArc and not T2.activation.tIn[i] >= T2.activation.testValue[i] then (59) [----] T2.active := false; (59) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.RealInhibitorArc and not T2.activation.tIn[i] < T2.activation.testValue[i] then (59) [----] T2.active := false; (59) [----] elseif T2.activation.arcType[i] == PNlib.Types.ArcType.InhibitorArc and not T2.activation.tIn[i] <= T2.activation.testValue[i] then (59) [----] T2.active := false; (59) [----] end if; (59) [----] end if; (59) [----] end for; (59) [----] for i in 1:1 loop (59) [----] if T2.activation.disPlaceOut[i] then (59) [----] if not T2.activation.tIntOut[i] + T2.activation.arcWeightIntOut[i] <= T2.activation.maxTokensInt[i] then (59) [----] T2.active := false; (59) [----] end if; (59) [----] elseif true then (59) [----] if not (T2.activation.arcWeightOut[i] + T2.activation.tOut[i]) - T2.activation.maxTokens[i] <= 1e-9 then (59) [----] T2.active := false; (59) [----] end if; (59) [----] end if; (59) [----] end for; (59) [----] T2.active := T2.active and true; (60) [ALGO] (2) ($RES_SIM_10) (60) [----] P2.enableOut.delayPassed := false; (60) [----] P2.delayPassedOut.numtrue := 0; (60) [----] for i in 1:1 loop (60) [----] P2.enableOut.delayPassed := P2.enableOut.delayPassed or P2.delayPassedOut.vec[i]; (60) [----] if P2.delayPassedOut.vec[i] then (60) [----] P2.delayPassedOut.numtrue := P2.delayPassedOut.numtrue + 1; (60) [----] end if; (60) [----] end for; (61) [ALGO] (1) ($RES_SIM_11) (61) [----] P2.enableOut.activeCon := false; (61) [----] for i in 1:1 loop (61) [----] P2.enableOut.activeCon := P2.enableOut.activeCon or change(P2.activeConOut.vec[i]); (61) [----] end for; (62) [ALGO] (1) ($RES_SIM_12) (62) [----] T1.active := true; (62) [----] for i in 1:1 loop (62) [----] if T1.activation.disPlaceIn[i] then (62) [----] 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 (62) [----] T1.active := false; (62) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.RealTestArc and not T1.activation.tIntIn[i] > T1.activation.testValueInt[i] then (62) [----] T1.active := false; (62) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.TestArc and not T1.activation.tIntIn[i] >= T1.activation.testValueInt[i] then (62) [----] T1.active := false; (62) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.RealInhibitorArc and not T1.activation.tIntIn[i] < T1.activation.testValueInt[i] then (62) [----] T1.active := false; (62) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.InhibitorArc and not T1.activation.tIntIn[i] <= T1.activation.testValueInt[i] then (62) [----] T1.active := false; (62) [----] end if; (62) [----] elseif true then (62) [----] 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 (62) [----] T1.active := false; (62) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.RealTestArc and not T1.activation.tIn[i] > T1.activation.testValue[i] then (62) [----] T1.active := false; (62) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.TestArc and not T1.activation.tIn[i] >= T1.activation.testValue[i] then (62) [----] T1.active := false; (62) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.RealInhibitorArc and not T1.activation.tIn[i] < T1.activation.testValue[i] then (62) [----] T1.active := false; (62) [----] elseif T1.activation.arcType[i] == PNlib.Types.ArcType.InhibitorArc and not T1.activation.tIn[i] <= T1.activation.testValue[i] then (62) [----] T1.active := false; (62) [----] end if; (62) [----] end if; (62) [----] end for; (62) [----] for i in 1:1 loop (62) [----] if T1.activation.disPlaceOut[i] then (62) [----] if not T1.activation.tIntOut[i] + T1.activation.arcWeightIntOut[i] <= T1.activation.maxTokensInt[i] then (62) [----] T1.active := false; (62) [----] end if; (62) [----] elseif true then (62) [----] if not (T1.activation.arcWeightOut[i] + T1.activation.tOut[i]) - T1.activation.maxTokens[i] <= 1e-9 then (62) [----] T1.active := false; (62) [----] end if; (62) [----] end if; (62) [----] end for; (62) [----] T1.active := T1.active and true; (63) [ALGO] (20) ($RES_SIM_13) (63) [----] P1.enableIn.TEin := fill(false, 1); (63) [----] P1.enableIn.arcWeightSum := 0; (63) [----] when P1.enableIn.delayPassed then (63) [----] P1.enableIn.arcWeightSum := $FUN_17; (63) [----] if P1.enableOut.t + P1.enableIn.arcWeightSum <= P1.maxTokens then (63) [----] P1.enableIn.TEin := P1.enableIn.TAein; (63) [----] elseif true then (63) [----] if P1.enablingType == PNlib.Types.EnablingType.Priority then (63) [----] P1.enableIn.arcWeightSum := 0; (63) [----] for i in 1:1 loop (63) [----] P1.enableIn.Index := $FUN_18; (63) [----] 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 (63) [----] P1.enableIn.TEin[P1.enableIn.Index] := true; (63) [----] P1.enableIn.arcWeightSum := P1.enableIn.arcWeightSum + P1.enableIn.arcWeight[P1.enableIn.Index]; (63) [----] end if; (63) [----] end for; (63) [----] for i in 1:1 loop (63) [----] P1.enableIn.Index := $FUN_18; (63) [----] 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 (63) [----] P1.enableIn.TEin[P1.enableIn.Index] := true; (63) [----] P1.enableIn.arcWeightSum := P1.enableIn.arcWeightSum + P1.enableIn.arcWeight[P1.enableIn.Index]; (63) [----] end if; (63) [----] end for; (63) [----] elseif P1.enablingType == PNlib.Types.EnablingType.Probability then (63) [----] P1.enableIn.arcWeightSum := 0; (63) [----] P1.enableIn.remTAin := fill(0, 1); (63) [----] P1.enableIn.nremTAin := 0; (63) [----] for i in 1:1 loop (63) [----] if P1.enableIn.TAein[i] and P1.enableIn.disTransition[i] then (63) [----] P1.enableIn.nremTAin := P1.enableIn.nremTAin + 1; (63) [----] P1.enableIn.remTAin[P1.enableIn.nremTAin] := i; (63) [----] end if; (63) [----] end for; (63) [----] P1.enableIn.nTAin := P1.enableIn.nremTAin; (63) [----] P1.enableIn.sumEnablingProbTAin := $FUN_19; (63) [----] P1.enableIn.cumEnablingProb := fill(0.0, 1); (63) [----] P1.enableIn.cumEnablingProb[1] := P1.enableIn.enablingProb[P1.enableIn.remTAin[1]] / P1.enableIn.sumEnablingProbTAin; (63) [----] for j in 2:P1.enableIn.nremTAin loop (63) [----] P1.enableIn.cumEnablingProb[j] := P1.enableIn.cumEnablingProb[j - 1] + P1.enableIn.enablingProb[P1.enableIn.remTAin[j]] / P1.enableIn.sumEnablingProbTAin; (63) [----] end for; (63) [----] for i in 1:P1.enableIn.nTAin loop (63) [----] (P1.enableIn.randNum, P1.enableIn.state128) := ($FUN_20, $FUN_21); (63) [----] P1.enableIn.endWhile := false; (63) [----] P1.enableIn.k := 1; (63) [----] while P1.enableIn.k <= P1.enableIn.nremTAin and not P1.enableIn.endWhile then (63) [----] if P1.enableIn.randNum <= P1.enableIn.cumEnablingProb[P1.enableIn.k] then (63) [----] P1.enableIn.posTE := P1.enableIn.remTAin[P1.enableIn.k]; (63) [----] P1.enableIn.endWhile := true; (63) [----] elseif true then (63) [----] P1.enableIn.k := P1.enableIn.k + 1; (63) [----] end if; (63) [----] end while; (63) [----] if P1.enableIn.arcWeightSum + P1.enableOut.t + P1.enableIn.arcWeight[P1.enableIn.posTE] <= P1.maxTokens then (63) [----] P1.enableIn.arcWeightSum := P1.enableIn.arcWeightSum + P1.enableIn.arcWeight[P1.enableIn.posTE]; (63) [----] P1.enableIn.TEin[P1.enableIn.posTE] := true; (63) [----] end if; (63) [----] P1.enableIn.nremTAin := P1.enableIn.nremTAin - 1; (63) [----] if P1.enableIn.nremTAin > 0 then (63) [----] P1.enableIn.remTAin := $FUN_22; (63) [----] P1.enableIn.cumEnablingProb := fill(0.0, 1); (63) [----] P1.enableIn.sumEnablingProbTAin := $FUN_19; (63) [----] if P1.enableIn.sumEnablingProbTAin > 0.0 then (63) [----] P1.enableIn.cumEnablingProb[1] := P1.enableIn.enablingProb[P1.enableIn.remTAin[1]] / P1.enableIn.sumEnablingProbTAin; (63) [----] for j in 2:P1.enableIn.nremTAin loop (63) [----] P1.enableIn.cumEnablingProb[j] := P1.enableIn.cumEnablingProb[j - 1] + P1.enableIn.enablingProb[P1.enableIn.remTAin[j]] / P1.enableIn.sumEnablingProbTAin; (63) [----] end for; (63) [----] elseif true then (63) [----] P1.enableIn.cumEnablingProb[1:P1.enableIn.nremTAin] := fill(1.0 / P1.enableIn.nremTAin, P1.enableIn.nremTAin); (63) [----] end if; (63) [----] end if; (63) [----] end for; (63) [----] elseif true then (63) [----] if P1.benefitType == PNlib.Types.BenefitType.Greedy then (63) [----] P1.enableIn.TEin := $FUN_23; (63) [----] elseif P1.benefitType == PNlib.Types.BenefitType.BenefitQuotient then (63) [----] P1.enableIn.TEin := $FUN_24; (63) [----] elseif true then (63) [----] P1.enableIn.arcWeightSum := 0; (63) [----] P1.enableIn.benefitMax := $FUN_25; (63) [----] P1.enableIn.benefitLimit := 0.0; (63) [----] (P1.enableIn.TEin, P1.enableIn.arcWeightSum, P1.enableIn.benefitMax, P1.enableIn.valid, P1.enableIn.benefitLimit) := ($FUN_26, $FUN_27, $FUN_28, $FUN_29, $FUN_30); (63) [----] end if; (63) [----] end if; (63) [----] end if; (63) [----] end when; (63) [----] for i in 1:1 loop (63) [----] P1.enableIn.TEin_[i] := P1.enableIn.TEin[i] and P1.enableIn.active[i]; (63) [----] end for; (64) [ALGO] (20) ($RES_SIM_14) (64) [----] P1.enableOut.TEout := fill(false, 1); (64) [----] P1.enableOut.arcWeightSum := 0; (64) [----] for i in 1:1 loop (64) [----] 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 (64) [----] P1.enableOut.TEout[i] := true; (64) [----] P1.enableOut.arcWeightSum := P1.enableOut.arcWeightSum + P1.enableOut.arcWeight[i]; (64) [----] end if; (64) [----] end for; (64) [----] when P1.enableOut.delayPassed or P1.enableOut.activeCon then (64) [----] P1.enableOut.arcWeightSum := $FUN_3; (64) [----] if P1.enableOut.t - P1.enableOut.arcWeightSum >= P1.minTokens then (64) [----] P1.enableOut.TEout := P1.enableOut.TAout; (64) [----] elseif true then (64) [----] if P1.enablingType == PNlib.Types.EnablingType.Priority then (64) [----] P1.enableOut.arcWeightSum := 0; (64) [----] for i in 1:1 loop (64) [----] P1.enableOut.Index := $FUN_4; (64) [----] 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 (64) [----] P1.enableOut.TEout[P1.enableOut.Index] := true; (64) [----] P1.enableOut.arcWeightSum := P1.enableOut.arcWeightSum + P1.enableOut.arcWeight[P1.enableOut.Index]; (64) [----] end if; (64) [----] end for; (64) [----] for i in 1:1 loop (64) [----] P1.enableOut.Index := $FUN_4; (64) [----] 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 (64) [----] P1.enableOut.TEout[P1.enableOut.Index] := true; (64) [----] P1.enableOut.arcWeightSum := P1.enableOut.arcWeightSum + P1.enableOut.arcWeight[P1.enableOut.Index]; (64) [----] end if; (64) [----] end for; (64) [----] elseif P1.enablingType == PNlib.Types.EnablingType.Probability then (64) [----] P1.enableOut.remTAout := fill(0, 1); (64) [----] P1.enableOut.nremTAout := 0; (64) [----] P1.enableOut.arcWeightSum := 0; (64) [----] for i in 1:1 loop (64) [----] if P1.enableOut.TAout[i] and P1.enableOut.disTransition[i] then (64) [----] P1.enableOut.nremTAout := P1.enableOut.nremTAout + 1; (64) [----] P1.enableOut.remTAout[P1.enableOut.nremTAout] := i; (64) [----] end if; (64) [----] end for; (64) [----] P1.enableOut.nTAout := P1.enableOut.nremTAout; (64) [----] if P1.enableOut.nTAout > 0 then (64) [----] P1.enableOut.sumEnablingProbTAout := $FUN_5; (64) [----] P1.enableOut.cumEnablingProb := fill(0.0, 1); (64) [----] P1.enableOut.cumEnablingProb[1] := P1.enableOut.enablingProb[P1.enableOut.remTAout[1]] / P1.enableOut.sumEnablingProbTAout; (64) [----] for j in 2:P1.enableOut.nremTAout loop (64) [----] P1.enableOut.cumEnablingProb[j] := P1.enableOut.cumEnablingProb[j - 1] + P1.enableOut.enablingProb[P1.enableOut.remTAout[j]] / P1.enableOut.sumEnablingProbTAout; (64) [----] end for; (64) [----] for i in 1:P1.enableOut.nTAout loop (64) [----] (P1.enableOut.randNum, P1.enableOut.state128) := ($FUN_6, $FUN_7); (64) [----] P1.enableOut.endWhile := false; (64) [----] P1.enableOut.k := 1; (64) [----] while P1.enableOut.k <= P1.enableOut.nremTAout and not P1.enableOut.endWhile then (64) [----] if P1.enableOut.randNum <= P1.enableOut.cumEnablingProb[P1.enableOut.k] then (64) [----] P1.enableOut.posTE := P1.enableOut.remTAout[P1.enableOut.k]; (64) [----] P1.enableOut.endWhile := true; (64) [----] elseif true then (64) [----] P1.enableOut.k := P1.enableOut.k + 1; (64) [----] end if; (64) [----] end while; (64) [----] if P1.enableOut.t - (P1.enableOut.arcWeight[P1.enableOut.posTE] + P1.enableOut.arcWeightSum) >= P1.minTokens then (64) [----] P1.enableOut.arcWeightSum := P1.enableOut.arcWeightSum + P1.enableOut.arcWeight[P1.enableOut.posTE]; (64) [----] P1.enableOut.TEout[P1.enableOut.posTE] := true; (64) [----] end if; (64) [----] P1.enableOut.nremTAout := P1.enableOut.nremTAout - 1; (64) [----] if P1.enableOut.nremTAout > 0 then (64) [----] P1.enableOut.remTAout := $FUN_8; (64) [----] P1.enableOut.cumEnablingProb := fill(0.0, 1); (64) [----] P1.enableOut.sumEnablingProbTAout := $FUN_5; (64) [----] if P1.enableOut.sumEnablingProbTAout > 0.0 then (64) [----] P1.enableOut.cumEnablingProb[1] := P1.enableOut.enablingProb[P1.enableOut.remTAout[1]] / P1.enableOut.sumEnablingProbTAout; (64) [----] for j in 2:P1.enableOut.nremTAout loop (64) [----] P1.enableOut.cumEnablingProb[j] := P1.enableOut.cumEnablingProb[j - 1] + P1.enableOut.enablingProb[P1.enableOut.remTAout[j]] / P1.enableOut.sumEnablingProbTAout; (64) [----] end for; (64) [----] elseif true then (64) [----] P1.enableOut.cumEnablingProb[1:P1.enableOut.nremTAout] := fill(1.0 / P1.enableOut.nremTAout, P1.enableOut.nremTAout); (64) [----] end if; (64) [----] end if; (64) [----] end for; (64) [----] end if; (64) [----] for i in 1:1 loop (64) [----] 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 (64) [----] P1.enableOut.TEout[i] := true; (64) [----] P1.enableOut.arcWeightSum := P1.enableOut.arcWeightSum + P1.enableOut.arcWeight[i]; (64) [----] end if; (64) [----] end for; (64) [----] elseif true then (64) [----] if P1.benefitType == PNlib.Types.BenefitType.Greedy then (64) [----] P1.enableOut.TEout := $FUN_9; (64) [----] elseif P1.benefitType == PNlib.Types.BenefitType.BenefitQuotient then (64) [----] P1.enableOut.TEout := $FUN_10; (64) [----] elseif true then (64) [----] P1.enableOut.arcWeightSum := 0; (64) [----] P1.enableOut.benefitMax := $FUN_11; (64) [----] P1.enableOut.benefitLimit := 0.0; (64) [----] (P1.enableOut.TEout, P1.enableOut.arcWeightSum, P1.enableOut.benefitMax, P1.enableOut.valid, P1.enableOut.benefitLimit) := ($FUN_12, $FUN_13, $FUN_14, $FUN_15, $FUN_16); (64) [----] end if; (64) [----] end if; (64) [----] end if; (64) [----] end when; (64) [----] for i in 1:1 loop (64) [----] P1.enableOut.TEout_[i] := P1.enableOut.TEout[i] and P1.enableOut.TAout[i]; (64) [----] end for; (65) [ALGO] (1) ($RES_SIM_15) (65) [----] P1.firingSumOut.firingSum := 0; (65) [----] for i in 1:1 loop (65) [----] if P1.firingSumOut.fire[i] then (65) [----] P1.firingSumOut.firingSum := P1.firingSumOut.firingSum + P1.firingSumOut.arcWeight[i]; (65) [----] end if; (65) [----] end for; (66) [ALGO] (1) ($RES_SIM_16) (66) [----] P1.firingSumIn.firingSum := 0; (66) [----] for i in 1:1 loop (66) [----] if P1.firingSumIn.fire[i] then (66) [----] P1.firingSumIn.firingSum := P1.firingSumIn.firingSum + P1.firingSumIn.arcWeight[i]; (66) [----] end if; (66) [----] end for; (67) [ALGO] (2) ($RES_SIM_17) (67) [----] P1.enableIn.delayPassed := false; (67) [----] P1.delayPassedIn.numtrue := 0; (67) [----] for i in 1:1 loop (67) [----] P1.enableIn.delayPassed := P1.enableIn.delayPassed or P1.delayPassedIn.vec[i]; (67) [----] if P1.delayPassedIn.vec[i] then (67) [----] P1.delayPassedIn.numtrue := P1.delayPassedIn.numtrue + 1; (67) [----] end if; (67) [----] end for; (68) [ALGO] (2) ($RES_SIM_18) (68) [----] P1.enableOut.delayPassed := false; (68) [----] P1.delayPassedOut.numtrue := 0; (68) [----] for i in 1:1 loop (68) [----] P1.enableOut.delayPassed := P1.enableOut.delayPassed or P1.delayPassedOut.vec[i]; (68) [----] if P1.delayPassedOut.vec[i] then (68) [----] P1.delayPassedOut.numtrue := P1.delayPassedOut.numtrue + 1; (68) [----] end if; (68) [----] end for; (69) [ALGO] (1) ($RES_SIM_19) (69) [----] P1.enableOut.activeCon := false; (69) [----] for i in 1:1 loop (69) [----] P1.enableOut.activeCon := P1.enableOut.activeCon or change(P1.activeConOut.vec[i]); (69) [----] end for; (70) [-IF-] (1)if T2.disPlaceOut[1] then (70) [----] [SCAL] (1) T2.arcWeightIntOut[1] = integer(T2.arcWeightOut[1]) ($RES_SIM_21) (70) [----] else (70) [----] [SCAL] (1) T2.arcWeightIntOut[1] = 1 ($RES_SIM_22) (70) [----] end if; (71) [-IF-] (1)if T2.disPlaceIn[1] then (71) [----] [SCAL] (1) T2.arcWeightIntIn[1] = integer(T2.arcWeightIn[1]) ($RES_SIM_28) (71) [----] else (71) [----] [SCAL] (1) T2.arcWeightIntIn[1] = 1 ($RES_SIM_29) (71) [----] end if; (72) [ARRY] (1) P1.activeConOut.vec = $SEV_187 ($RES_BND_200) (73) [ARRY] (1) P1.delayPassedOut.vec = $SEV_186 ($RES_BND_201) (74) [ARRY] (1) P1.delayPassedIn.vec = $SEV_185 ($RES_BND_202) (75) [ARRY] (1) P1.firingSumIn.fire = $SEV_184 ($RES_BND_203) (76) [ARRY] (1) P1.firingSumIn.arcWeight = P1.arcWeightIn ($RES_BND_204) (77) [ARRY] (1) P1.firingSumOut.fire = $SEV_183 ($RES_BND_205) (78) [ARRY] (1) P1.firingSumOut.arcWeight = P1.arcWeightOut ($RES_BND_206) (79) [ARRY] (1) P1.enableOut.arcWeight = P1.arcWeightOut ($RES_BND_207) (80) [ARRY] (3) T2.color = if $SEV_150 then {255.0, 255.0, 0.0} else {0.0, 0.0, 0.0} ($RES_SIM_34) (81) [WHEN] (1)when T2.fire then (81) [----] T2.fireTime := time (81) [----] end when; (82) [WHEN] (1)when T2.fire then (82) [----] T2.ani := true (82) [----] end when; (83) [SCAL] (1) T2.tactPassed = $SEV_151 ($RES_SIM_38) (84) [WHEN] (1)when $TEV_0 then (84) [----] T2.firingTime := time (84) [----] end when; (85) [ARRY] (1) P1.enableOut.TAout = P1.activeOut ($RES_BND_210) (86) [ARRY] (1) P1.enableOut.enablingPrio = P1.enablingPrioOut ($RES_BND_212) (87) [ARRY] (1) P1.enableOut.enablingProb = P1.enablingProbOut ($RES_BND_213) (88) [ARRY] (1) P1.enableOut.enablingBene = P1.enablingBeneOut ($RES_BND_214) (89) [ARRY] (1) P1.enableOut.disTransition = P1.disTransitionOut ($RES_BND_216) (90) [ARRY] (1) P1.enableIn.arcWeight = P1.arcWeightIn ($RES_BND_219) (91) [ARRY] (3) P2.color = if settings.animatePlace then if $SEV_157 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_46) (92) [ARRY] (1) P2.inTransition.tint = {P2.enableOut.t} ($RES_BND_300) (93) [SCAL] (1) P2.tokenscale = P2.t * settings.scale ($RES_SIM_47) (94) [ARRY] (1) P2.inTransition.t = {P2.enableOut.t} ($RES_BND_301) (95) [SCAL] (1) P2.levelCon = (settings.M * P2.t) / P2.N ($RES_SIM_48) (96) [ARRY] (1) P2.inTransition.disTransition = {P2.disTransitionIn[1]} ($RES_BND_302) (97) [WHEN] (1)when {$SEV_158, $SEV_159} then (97) [----] P2.t := ($PRE.P2.firingSumIn.firingSum + P2.enableOut.t) - $PRE.P2.firingSumOut.firingSum (97) [----] else when pre(false) then (97) [----] P2.t := P2.reStartTokens (97) [----] end when; (98) [ARRY] (1) P2.inTransition.enabledByInPlaces = {P2.enabledByInPlaces[1]} ($RES_BND_303) (99) [ARRY] (1) P2.inTransition.arcWeightint = {P2.arcWeightIn[1]} ($RES_BND_304) (100) [ARRY] (1) P2.inTransition.fire = {P2.fireIn[1]} ($RES_BND_305) (101) [ARRY] (1) P2.inTransition.active = {P2.activeIn[1]} ($RES_BND_306) (102) [SCAL] (1) P2.outTransition[1].normalArc = false ($RES_BND_307) (103) [SCAL] (1) P2.outTransition[1].testValueint = -1 ($RES_BND_308) (104) [SCAL] (1) P2.outTransition[1].testValue = -1.0 ($RES_BND_309) (105) [ARRY] (1) P1.enableIn.TAein = $SEV_182 ($RES_BND_222) (106) [ARRY] (1) P1.enableIn.enablingPrio = P1.enablingPrioIn ($RES_BND_224) (107) [ARRY] (1) P1.enableIn.enablingProb = P1.enablingProbIn ($RES_BND_225) (108) [ARRY] (1) P1.enableIn.enablingBene = P1.enablingBeneIn ($RES_BND_226) (109) [SCAL] (1) P2.tokeninout = $SEV_160 ($RES_SIM_50) (110) [ARRY] (1) P1.enableIn.disTransition = P1.disTransitionIn ($RES_BND_228) (111) [SCAL] (1) P2.enableOut.t = $TEV_1 ($RES_SIM_51) (112) [-IF-] (1)if T1.disPlaceOut[1] then (112) [----] [SCAL] (1) T1.arcWeightIntOut[1] = integer(T1.arcWeightOut[1]) ($RES_SIM_53) (112) [----] else (112) [----] [SCAL] (1) T1.arcWeightIntOut[1] = 1 ($RES_SIM_54) (112) [----] end if; (113) [ARRY] (1) P2.outTransition.tokenInOut = {$TEV_4} ($RES_BND_310) (114) [-IF-] (1)if T1.disPlaceIn[1] then (114) [----] [SCAL] (1) T1.arcWeightIntIn[1] = integer(T1.arcWeightIn[1]) ($RES_SIM_60) (114) [----] else (114) [----] [SCAL] (1) T1.arcWeightIntIn[1] = 1 ($RES_SIM_61) (114) [----] end if; (115) [SCAL] (1) P2.outTransition[1].arcType = PNlib.Types.ArcType.NormalArc ($RES_BND_313) (116) [SCAL] (1) P2.outTransition[1].disPlace = true ($RES_BND_314) (117) [ARRY] (1) P2.outTransition.enable = {P2.enableOut.TEout_[1]} ($RES_BND_316) (118) [ARRY] (1) P2.outTransition.minTokensint = {P2.minTokens} ($RES_BND_317) (119) [ARRY] (1) P2.outTransition.minTokens = {P2.minTokens} ($RES_BND_318) (120) [ARRY] (1) P2.outTransition.tint = {P2.enableOut.t} ($RES_BND_319) (121) [ARRY] (1) T2.activation.arcWeightIn = T2.arcWeightIn ($RES_BND_400) (122) [SCAL] (1) T2.outPlaces[1].arcWeight = P1.inTransition[1].arcWeight ($RES_SIM_100) (123) [ARRY] (1) T2.activation.arcWeightIntIn = T2.arcWeightIntIn ($RES_BND_401) (124) [SCAL] (1) T2.outPlaces[1].active = P1.inTransition[1].active ($RES_SIM_101) (125) [ARRY] (1) T2.activation.arcWeightOut = T2.arcWeightOut ($RES_BND_402) (126) [SCAL] (1) P1.outTransition[1].tokenInOut = T1.inPlaces[1].tokenInOut ($RES_SIM_102) (127) [ARRY] (1) T2.activation.arcWeightIntOut = T2.arcWeightIntOut ($RES_BND_403) (128) [SCAL] (1) P1.outTransition[1].tint = T1.inPlaces[1].tint ($RES_SIM_103) (129) [ARRY] (1) T2.activation.minTokens = T2.minTokens ($RES_BND_404) (130) [SCAL] (1) P1.outTransition[1].testValueint = T1.inPlaces[1].testValueint ($RES_SIM_104) (131) [ARRY] (1) T2.activation.minTokensInt = T2.minTokensInt ($RES_BND_405) (132) [SCAL] (1) P1.outTransition[1].testValue = T1.inPlaces[1].testValue ($RES_SIM_105) (133) [ARRY] (1) P1.enableIn.active = P1.activeIn ($RES_BND_230) (134) [ARRY] (1) T2.activation.maxTokens = T2.maxTokens ($RES_BND_406) (135) [SCAL] (1) P1.outTransition[1].t = T1.inPlaces[1].t ($RES_SIM_106) (136) [SCAL] (1) T1.arcWeightIn[1] = 1.0 ($RES_BND_231) (137) [ARRY] (1) T2.activation.maxTokensInt = T2.maxTokensInt ($RES_BND_407) (138) [SCAL] (1) T1.arcWeightOut[1] = 1.0 ($RES_BND_232) (139) [ARRY] (1) T2.activation.disPlaceIn = T2.disPlaceIn ($RES_BND_409) (140) [SCAL] (1) P1.outTransition[1].normalArc = T1.inPlaces[1].normalArc ($RES_SIM_109) (141) [SCAL] (1) T1.inPlaces[1].disTransition = true ($RES_BND_237) (142) [ARRY] (1) T1.inPlaces.arcWeightint = {T1.arcWeightIntIn[1]} ($RES_BND_238) (143) [ARRY] (1) T1.inPlaces.arcWeight = {T1.arcWeightIn[1]} ($RES_BND_239) (144) [ARRY] (3) T1.color = if $SEV_165 then {255.0, 255.0, 0.0} else {0.0, 0.0, 0.0} ($RES_SIM_66) (145) [ARRY] (1) P2.outTransition.t = {P2.enableOut.t} ($RES_BND_320) (146) [WHEN] (1)when T1.fire then (146) [----] T1.ani := true (146) [----] end when; (147) [ARRY] (1) P2.outTransition.disTransition = {P2.disTransitionOut[1]} ($RES_BND_321) (148) [WHEN] (1)when T1.fire then (148) [----] T1.fireTime := time (148) [----] end when; (149) [ARRY] (1) P2.outTransition.arcWeightint = {P2.arcWeightOut[1]} ($RES_BND_322) (150) [ARRY] (1) P2.outTransition.fire = {P2.fireOut[1]} ($RES_BND_323) (151) [ARRY] (1) P2.outTransition.active = {P2.activeOut[1]} ($RES_BND_324) (152) [ARRY] (1) P2.activeConOut.vec = $SEV_181 ($RES_BND_326) (153) [ARRY] (1) P2.delayPassedOut.vec = $SEV_180 ($RES_BND_327) (154) [ARRY] (1) P2.delayPassedIn.vec = $SEV_179 ($RES_BND_328) (155) [ARRY] (1) P2.firingSumIn.fire = $SEV_178 ($RES_BND_329) (156) [ARRY] (1) T2.activation.disPlaceOut = T2.disPlaceOut ($RES_BND_410) (157) [SCAL] (1) P1.outTransition[1].minTokensint = T1.inPlaces[1].minTokensint ($RES_SIM_110) (158) [ARRY] (1) T2.activation.normalArc = T2.normalArc ($RES_BND_411) (159) [SCAL] (1) P1.outTransition[1].minTokens = T1.inPlaces[1].minTokens ($RES_SIM_111) (160) [ARRY] (1) T2.activation.testValue = T2.testValue ($RES_BND_412) (161) [ARRY] (1) T2.activation.testValueInt = T2.testValueInt ($RES_BND_413) (162) [SCAL] (1) P1.outTransition[1].fire = T1.inPlaces[1].fire ($RES_SIM_114) (163) [ARRY] (1) T1.inPlaces.fire = {T1.fire} ($RES_BND_240) (164) [SCAL] (1) P1.outTransition[1].enable = T1.inPlaces[1].enable ($RES_SIM_116) (165) [ARRY] (1) T1.inPlaces.active = {T1.tactPassed} ($RES_BND_241) (166) [SCAL] (1) P1.outTransition[1].disTransition = T1.inPlaces[1].disTransition ($RES_SIM_117) (167) [ARRY] (1) T1.inPlaces.normalArc = {T1.normalArc[1]} ($RES_BND_242) (168) [SCAL] (1) P1.outTransition[1].disPlace = T1.inPlaces[1].disPlace ($RES_SIM_118) (169) [ARRY] (1) T1.inPlaces.testValueint = {T1.testValueInt[1]} ($RES_BND_243) (170) [ARRY] (1) T1.inPlaces.testValue = {T1.testValue[1]} ($RES_BND_244) (171) [ARRY] (1) T1.inPlaces.arcType = {T1.arcType[1]} ($RES_BND_245) (172) [ARRY] (1) T1.inPlaces.disPlace = {T1.disPlaceIn[1]} ($RES_BND_246) (173) [ARRY] (1) T1.inPlaces.enable = {T1.enableIn[1]} ($RES_BND_247) (174) [SCAL] (1) T1.tactPassed = $SEV_166 ($RES_SIM_70) (175) [ARRY] (1) T1.inPlaces.minTokensint = {T1.minTokensInt[1]} ($RES_BND_248) (176) [WHEN] (1)when $TEV_2 then (176) [----] T1.firingTime := time (176) [----] end when; (177) [ARRY] (1) T1.inPlaces.minTokens = {T1.minTokens[1]} ($RES_BND_249) (178) [SCAL] (1) $SEV_174 = $PRE.P1.firingSumOut.firingSum > 0 ($RES_EVT_500) (179) [ARRY] (1) P2.firingSumIn.arcWeight = P2.arcWeightIn ($RES_BND_330) (180) [SCAL] (1) $SEV_175 = $PRE.P1.firingSumIn.firingSum > 0 or $PRE.P1.firingSumOut.firingSum > 0 ($RES_EVT_501) (181) [ARRY] (1) P2.firingSumOut.fire = $SEV_177 ($RES_BND_331) (182) [ARRY] (3) P1.color = if settings.animatePlace then if $SEV_172 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_78) (183) [SCAL] (1) $SEV_176 = P2.enabledByInPlaces and P2.activeIn ($RES_EVT_502) (184) [ARRY] (1) P2.firingSumOut.arcWeight = P2.arcWeightOut ($RES_BND_332) (185) [SCAL] (1) P1.tokenscale = P1.t * settings.scale ($RES_SIM_79) (186) [SCAL] (1) $SEV_177 = P2.fireOut and P2.disTransitionOut ($RES_EVT_503) (187) [ARRY] (1) P2.enableOut.arcWeight = P2.arcWeightOut ($RES_BND_333) (188) [SCAL] (1) $SEV_178 = P2.fireIn and P2.disTransitionIn ($RES_EVT_504) (189) [SCAL] (1) $SEV_179 = P2.activeIn and P2.disTransitionIn ($RES_EVT_505) (190) [SCAL] (1) $SEV_180 = P2.activeOut and P2.disTransitionOut ($RES_EVT_506) (191) [ARRY] (1) P2.enableOut.TAout = P2.activeOut ($RES_BND_336) (192) [SCAL] (1) $SEV_181 = $PRE.P2.activeOut and not P2.disTransitionOut ($RES_EVT_507) (193) [SCAL] (1) $SEV_182 = P1.enabledByInPlaces and P1.activeIn ($RES_EVT_508) (194) [ARRY] (1) P2.enableOut.enablingPrio = P2.enablingPrioOut ($RES_BND_338) (195) [SCAL] (1) $SEV_183 = P1.fireOut and P1.disTransitionOut ($RES_EVT_509) (196) [ARRY] (1) P2.enableOut.enablingProb = P2.enablingProbOut ($RES_BND_339) (197) [SCAL] (1) P1.outTransition[1].arcWeightint = T1.inPlaces[1].arcWeightint ($RES_SIM_120) (198) [SCAL] (1) P1.inTransition[1].disPlace = true ($RES_BND_169) (199) [SCAL] (1) P1.outTransition[1].arcWeight = T1.inPlaces[1].arcWeight ($RES_SIM_121) (200) [SCAL] (1) P1.outTransition[1].arcType = T1.inPlaces[1].arcType ($RES_SIM_122) (201) [SCAL] (1) P1.outTransition[1].active = T1.inPlaces[1].active ($RES_SIM_123) (202) [SCAL] (1) P2.outTransition[1].tokenInOut = T2.inPlaces[1].tokenInOut ($RES_SIM_124) (203) [ARRY] (1) T1.inPlaces.tint = {T1.tIntIn[1]} ($RES_BND_250) (204) [SCAL] (1) P2.outTransition[1].tint = T2.inPlaces[1].tint ($RES_SIM_125) (205) [ARRY] (1) T1.inPlaces.t = {T1.tIn[1]} ($RES_BND_251) (206) [SCAL] (1) P2.outTransition[1].testValueint = T2.inPlaces[1].testValueint ($RES_SIM_126) (207) [SCAL] (1) P2.outTransition[1].testValue = T2.inPlaces[1].testValue ($RES_SIM_127) (208) [SCAL] (1) P2.outTransition[1].t = T2.inPlaces[1].t ($RES_SIM_128) (209) [SCAL] (1) T1.outPlaces[1].disTransition = true ($RES_BND_255) (210) [ARRY] (1) T1.outPlaces.enabledByInPlaces = {T1.enabledByInPlaces} ($RES_BND_256) (211) [ARRY] (1) T1.outPlaces.arcWeightint = {T1.arcWeightIntOut[1]} ($RES_BND_257) (212) [SCAL] (1) P1.levelCon = (settings.M * P1.t) / P1.N ($RES_SIM_80) (213) [ARRY] (1) T1.outPlaces.arcWeight = {T1.arcWeightOut[1]} ($RES_BND_258) (214) [WHEN] (1)when {$SEV_173, $SEV_174} then (214) [----] P1.t := ($PRE.P1.firingSumIn.firingSum + P1.enableOut.t) - $PRE.P1.firingSumOut.firingSum (214) [----] else when pre(false) then (214) [----] P1.t := P1.reStartTokens (214) [----] end when; (215) [ARRY] (1) T1.outPlaces.fire = {T1.fire} ($RES_BND_259) (216) [SCAL] (1) P1.tokeninout = $SEV_175 ($RES_SIM_82) (217) [SCAL] (1) P1.enableOut.t = $TEV_3 ($RES_SIM_83) (218) [SCAL] (1) T2.outPlaces[1].tint = P1.inTransition[1].tint ($RES_SIM_84) (219) [SCAL] (1) T2.outPlaces[1].t = P1.inTransition[1].t ($RES_SIM_85) (220) [SCAL] (1) $SEV_184 = P1.fireIn and P1.disTransitionIn ($RES_EVT_510) (221) [ARRY] (1) P2.enableOut.enablingBene = P2.enablingBeneOut ($RES_BND_340) (222) [SCAL] (1) $SEV_185 = P1.activeIn and P1.disTransitionIn ($RES_EVT_511) (223) [SCAL] (1) T2.outPlaces[1].maxTokensint = P1.inTransition[1].maxTokensint ($RES_SIM_88) (224) [SCAL] (1) $SEV_186 = P1.activeOut and P1.disTransitionOut ($RES_EVT_512) (225) [ARRY] (1) P2.enableOut.disTransition = P2.disTransitionOut ($RES_BND_342) (226) [SCAL] (1) T2.outPlaces[1].maxTokens = P1.inTransition[1].maxTokens ($RES_SIM_89) (227) [SCAL] (1) $SEV_187 = $PRE.P1.activeOut and not P1.disTransitionOut ($RES_EVT_513) (228) [ARRY] (1) P2.enableIn.arcWeight = P2.arcWeightIn ($RES_BND_345) (229) [ARRY] (1) P1.inTransition.enable = {P1.enableIn.TEin_[1]} ($RES_BND_171) (230) [ARRY] (1) P1.inTransition.maxTokensint = {P1.maxTokens} ($RES_BND_172) (231) [ARRY] (1) P2.enableIn.TAein = $SEV_176 ($RES_BND_348) (232) [ARRY] (1) P1.inTransition.maxTokens = {P1.maxTokens} ($RES_BND_173) (233) [ARRY] (1) P1.inTransition.tint = {P1.enableOut.t} ($RES_BND_174) (234) [ARRY] (1) P1.inTransition.t = {P1.enableOut.t} ($RES_BND_175) (235) [ARRY] (1) P1.inTransition.disTransition = {P1.disTransitionIn[1]} ($RES_BND_176) (236) [ARRY] (1) P1.inTransition.enabledByInPlaces = {P1.enabledByInPlaces[1]} ($RES_BND_177) (237) [ARRY] (1) P1.inTransition.arcWeightint = {P1.arcWeightIn[1]} ($RES_BND_178) (238) [ARRY] (1) P1.inTransition.fire = {P1.fireIn[1]} ($RES_BND_179) (239) [SCAL] (1) P2.outTransition[1].normalArc = T2.inPlaces[1].normalArc ($RES_SIM_131) (240) [SCAL] (1) P2.outTransition[1].minTokensint = T2.inPlaces[1].minTokensint ($RES_SIM_132) (241) [SCAL] (1) P2.outTransition[1].minTokens = T2.inPlaces[1].minTokens ($RES_SIM_133) (242) [ARRY] (1) T1.outPlaces.active = {T1.tactPassed} ($RES_BND_260) (243) [SCAL] (1) P2.outTransition[1].fire = T2.inPlaces[1].fire ($RES_SIM_136) (244) [ARRY] (1) T1.outPlaces.disPlace = {T1.disPlaceOut[1]} ($RES_BND_261) (245) [ARRY] (1) T1.outPlaces.enable = {T1.enableOut[1]} ($RES_BND_262) (246) [SCAL] (1) P2.outTransition[1].enable = T2.inPlaces[1].enable ($RES_SIM_138) (247) [ARRY] (1) T1.outPlaces.maxTokensint = {T1.maxTokensInt[1]} ($RES_BND_263) (248) [SCAL] (1) P2.outTransition[1].disTransition = T2.inPlaces[1].disTransition ($RES_SIM_139) (249) [ARRY] (1) T1.outPlaces.maxTokens = {T1.maxTokens[1]} ($RES_BND_264) (250) [ARRY] (1) T1.outPlaces.tint = {T1.tIntOut[1]} ($RES_BND_265) (251) [ARRY] (1) T1.outPlaces.t = {T1.tOut[1]} ($RES_BND_266) (252) [ARRY] (1) T1.activation.tIn = T1.tIn ($RES_BND_269) (253) [SCAL] (1) T2.outPlaces[1].fire = P1.inTransition[1].fire ($RES_SIM_92) (254) [SCAL] (1) T2.outPlaces[1].enabledByInPlaces = P1.inTransition[1].enabledByInPlaces ($RES_SIM_93) (255) [SCAL] (1) T2.outPlaces[1].enable = P1.inTransition[1].enable ($RES_SIM_94) (256) [SCAL] (1) T2.outPlaces[1].disTransition = P1.inTransition[1].disTransition ($RES_SIM_96) (257) [ARRY] (1) P2.enableIn.enablingPrio = P2.enablingPrioIn ($RES_BND_350) (258) [SCAL] (1) T2.outPlaces[1].disPlace = P1.inTransition[1].disPlace ($RES_SIM_97) (259) [ARRY] (1) P2.enableIn.enablingProb = P2.enablingProbIn ($RES_BND_351) (260) [ARRY] (1) P2.enableIn.enablingBene = P2.enablingBeneIn ($RES_BND_352) (261) [SCAL] (1) T2.outPlaces[1].arcWeightint = P1.inTransition[1].arcWeightint ($RES_SIM_99) (262) [ARRY] (1) P2.enableIn.disTransition = P2.disTransitionIn ($RES_BND_354) (263) [ARRY] (1) P1.inTransition.active = {P1.activeIn[1]} ($RES_BND_180) (264) [ARRY] (1) P2.enableIn.active = P2.activeIn ($RES_BND_356) (265) [SCAL] (1) P1.outTransition[1].normalArc = false ($RES_BND_181) (266) [SCAL] (1) T2.arcWeightIn[1] = 1.0 ($RES_BND_357) (267) [SCAL] (1) P1.outTransition[1].testValueint = -1 ($RES_BND_182) (268) [SCAL] (1) T2.arcWeightOut[1] = 1.0 ($RES_BND_358) (269) [SCAL] (1) P1.outTransition[1].testValue = -1.0 ($RES_BND_183) (270) [ARRY] (1) P1.outTransition.tokenInOut = {$TEV_5} ($RES_BND_184) (271) [SCAL] (1) P1.outTransition[1].arcType = PNlib.Types.ArcType.NormalArc ($RES_BND_187) (272) [SCAL] (1) P1.outTransition[1].disPlace = true ($RES_BND_188) (273) [SCAL] (1) P2.outTransition[1].disPlace = T2.inPlaces[1].disPlace ($RES_SIM_140) (274) [SCAL] (1) P2.outTransition[1].arcWeightint = T2.inPlaces[1].arcWeightint ($RES_SIM_142) (275) [SCAL] (1) P2.outTransition[1].arcWeight = T2.inPlaces[1].arcWeight ($RES_SIM_143) (276) [SCAL] (1) P2.outTransition[1].arcType = T2.inPlaces[1].arcType ($RES_SIM_144) (277) [SCAL] (1) P2.outTransition[1].active = T2.inPlaces[1].active ($RES_SIM_145) (278) [ARRY] (1) T1.activation.tOut = T1.tOut ($RES_BND_270) (279) [SCAL] (1) T1.outPlaces[1].tint = P2.inTransition[1].tint ($RES_SIM_146) (280) [ARRY] (1) T1.activation.tIntIn = T1.tIntIn ($RES_BND_271) (281) [SCAL] (1) T1.outPlaces[1].t = P2.inTransition[1].t ($RES_SIM_147) (282) [ARRY] (1) T1.activation.tIntOut = T1.tIntOut ($RES_BND_272) (283) [ARRY] (1) T1.activation.arcType = T1.arcType ($RES_BND_273) (284) [ARRY] (1) T1.activation.arcWeightIn = T1.arcWeightIn ($RES_BND_274) (285) [ARRY] (1) T1.activation.arcWeightIntIn = T1.arcWeightIntIn ($RES_BND_275) (286) [ARRY] (1) T1.activation.arcWeightOut = T1.arcWeightOut ($RES_BND_276) (287) [ARRY] (1) T1.activation.arcWeightIntOut = T1.arcWeightIntOut ($RES_BND_277) (288) [SCAL] (1) $FUN_1 = abs(time - T1.firingTime) ($RES_$AUX_457) (289) [ARRY] (1) T1.activation.minTokens = T1.minTokens ($RES_BND_278) (290) [SCAL] (1) $FUN_2 = abs(time - T2.firingTime) ($RES_$AUX_456) (291) [ARRY] (1) T1.activation.minTokensInt = T1.minTokensInt ($RES_BND_279) (292) [SCAL] (1) $FUN_3 = PNlib.Functions.OddsAndEnds.conditionalSumInt(P1.enableOut.arcWeight, P1.enableOut.TAout) ($RES_$AUX_455) (293) [SCAL] (1) $FUN_4 = Modelica.Math.Vectors.find(i, P1.enableOut.enablingPrio, 0.0) ($RES_$AUX_454) (294) [SCAL] (1) $FUN_5 = sum(P1.enableOut.enablingProb[P1.enableOut.remTAout[1:P1.enableOut.nremTAout]]) ($RES_$AUX_453) (295) [TUPL] (5) ($FUN_6, $FUN_7) = Modelica.Math.Random.Generators.Xorshift128plus.random($TEV_6) ($RES_$AUX_452) (296) [ARRY] (1) $FUN_8 = PNlib.Functions.OddsAndEnds.deleteElementInt(P1.enableOut.remTAout, P1.enableOut.k) ($RES_$AUX_451) (297) [ARRY] (1) $FUN_9 = PNlib.Functions.Enabling.benefitGreedyDisOut(1, P1.enableOut.arcWeight, P1.enableOut.t, P1.minTokens, P1.enableOut.TAout, P1.enableOut.enablingBene, P1.enableOut.disTransition) ($RES_$AUX_450) (298) [SCAL] (1) T2.inPlaces[1].disTransition = true ($RES_BND_363) (299) [ARRY] (1) T2.inPlaces.arcWeightint = {T2.arcWeightIntIn[1]} ($RES_BND_364) (300) [ARRY] (1) T2.inPlaces.arcWeight = {T2.arcWeightIn[1]} ($RES_BND_365) (301) [ARRY] (1) P1.outTransition.enable = {P1.enableOut.TEout_[1]} ($RES_BND_190) (302) [ARRY] (1) T2.inPlaces.fire = {T2.fire} ($RES_BND_366) (303) [ARRY] (1) P1.outTransition.minTokensint = {P1.minTokens} ($RES_BND_191) (304) [ARRY] (1) T2.inPlaces.active = {T2.tactPassed} ($RES_BND_367) (305) [ARRY] (1) P1.outTransition.minTokens = {P1.minTokens} ($RES_BND_192) (306) [ARRY] (1) T2.inPlaces.normalArc = {T2.normalArc[1]} ($RES_BND_368) (307) [ARRY] (1) P1.outTransition.tint = {P1.enableOut.t} ($RES_BND_193) (308) [ARRY] (1) T2.inPlaces.testValueint = {T2.testValueInt[1]} ($RES_BND_369) (309) [ARRY] (1) P1.outTransition.t = {P1.enableOut.t} ($RES_BND_194) (310) [ARRY] (1) P1.outTransition.disTransition = {P1.disTransitionOut[1]} ($RES_BND_195) (311) [ARRY] (1) P1.outTransition.arcWeightint = {P1.arcWeightOut[1]} ($RES_BND_196) (312) [ARRY] (1) P1.outTransition.fire = {P1.fireOut[1]} ($RES_BND_197) (313) [ARRY] (1) P1.outTransition.active = {P1.activeOut[1]} ($RES_BND_198) (314) [SCAL] (1) T1.outPlaces[1].maxTokensint = P2.inTransition[1].maxTokensint ($RES_SIM_150) (315) [SCAL] (1) T1.outPlaces[1].maxTokens = P2.inTransition[1].maxTokens ($RES_SIM_151) (316) [SCAL] (1) T1.outPlaces[1].fire = P2.inTransition[1].fire ($RES_SIM_154) (317) [SCAL] (1) T1.outPlaces[1].enabledByInPlaces = P2.inTransition[1].enabledByInPlaces ($RES_SIM_155) (318) [ARRY] (1) T1.activation.maxTokens = T1.maxTokens ($RES_BND_280) (319) [SCAL] (1) T1.outPlaces[1].enable = P2.inTransition[1].enable ($RES_SIM_156) (320) [ARRY] (1) T1.activation.maxTokensInt = T1.maxTokensInt ($RES_BND_281) (321) [SCAL] (1) T1.outPlaces[1].disTransition = P2.inTransition[1].disTransition ($RES_SIM_158) (322) [ARRY] (1) T1.activation.disPlaceIn = T1.disPlaceIn ($RES_BND_283) (323) [SCAL] (1) T1.outPlaces[1].disPlace = P2.inTransition[1].disPlace ($RES_SIM_159) (324) [ARRY] (1) T1.activation.disPlaceOut = T1.disPlaceOut ($RES_BND_284) (325) [ARRY] (1) T1.activation.normalArc = T1.normalArc ($RES_BND_285) (326) [ARRY] (1) $FUN_10 = PNlib.Functions.Enabling.benefitQuotientDisOut(1, P1.enableOut.arcWeight, P1.enableOut.t, P1.minTokens, P1.enableOut.TAout, P1.enableOut.enablingBene, P1.enableOut.disTransition) ($RES_$AUX_449) (327) [ARRY] (1) T1.activation.testValue = T1.testValue ($RES_BND_286) (328) [SCAL] (1) $FUN_11 = sum(P1.enableOut.enablingBene) ($RES_$AUX_448) (329) [ARRY] (1) T1.activation.testValueInt = T1.testValueInt ($RES_BND_287) (330) [TUPL] (5) ($FUN_12, $FUN_13, $FUN_14, $FUN_15, $FUN_16) = PNlib.Functions.Enabling.benefitBaBDisOut(1, 1, 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_447) (331) [SCAL] (1) $FUN_17 = PNlib.Functions.OddsAndEnds.conditionalSumInt(P1.enableIn.arcWeight, P1.enableIn.TAein) ($RES_$AUX_446) (332) [SCAL] (1) $FUN_18 = Modelica.Math.Vectors.find(i, P1.enableIn.enablingPrio, 0.0) ($RES_$AUX_445) (333) [SCAL] (1) $FUN_19 = sum(P1.enableIn.enablingProb[P1.enableIn.remTAin[1:P1.enableIn.nremTAin]]) ($RES_$AUX_444) (334) [TUPL] (5) ($FUN_20, $FUN_21) = Modelica.Math.Random.Generators.Xorshift128plus.random($TEV_7) ($RES_$AUX_443) (335) [ARRY] (1) $FUN_22 = PNlib.Functions.OddsAndEnds.deleteElementInt(P1.enableIn.remTAin, P1.enableIn.k) ($RES_$AUX_442) (336) [ARRY] (1) $FUN_23 = PNlib.Functions.Enabling.benefitGreedyDisIn(1, P1.enableIn.arcWeight, P1.enableOut.t, P1.maxTokens, P1.enableIn.TAein, P1.enableIn.enablingBene, P1.enableIn.disTransition) ($RES_$AUX_441) (337) [ARRY] (1) T2.inPlaces.testValue = {T2.testValue[1]} ($RES_BND_370) (338) [ARRY] (1) $FUN_24 = PNlib.Functions.Enabling.benefitQuotientDisIn(1, P1.enableIn.arcWeight, P1.enableOut.t, P1.maxTokens, P1.enableIn.TAein, P1.enableIn.enablingBene, P1.enableIn.disTransition) ($RES_$AUX_440) (339) [ARRY] (1) T2.inPlaces.arcType = {T2.arcType[1]} ($RES_BND_371) (340) [ARRY] (1) T2.inPlaces.disPlace = {T2.disPlaceIn[1]} ($RES_BND_372) (341) [ARRY] (1) T2.inPlaces.enable = {T2.enableIn[1]} ($RES_BND_373) (342) [ARRY] (1) T2.inPlaces.minTokensint = {T2.minTokensInt[1]} ($RES_BND_374) (343) [ARRY] (1) T2.inPlaces.minTokens = {T2.minTokens[1]} ($RES_BND_375) (344) [ARRY] (1) T2.inPlaces.tint = {T2.tIntIn[1]} ($RES_BND_376) (345) [ARRY] (1) T2.inPlaces.t = {T2.tIn[1]} ($RES_BND_377) (346) [SCAL] (1) T1.outPlaces[1].arcWeightint = P2.inTransition[1].arcWeightint ($RES_SIM_161) (347) [SCAL] (1) T1.outPlaces[1].arcWeight = P2.inTransition[1].arcWeight ($RES_SIM_162) (348) [SCAL] (1) T1.outPlaces[1].active = P2.inTransition[1].active ($RES_SIM_163) (349) [SCAL] (1) $TEV_0 = T2.active and sample(1, max(T2.tactStart, 1e-8), max(T2.tactIntervall, 1e-6)) ($RES_EVT_462) (350) [SCAL] (1) $TEV_1 = $PRE.P2.t ($RES_EVT_463) (351) [SCAL] (1) $TEV_2 = T1.active and sample(2, max(T1.tactStart, 1e-8), max(T1.tactIntervall, 1e-6)) ($RES_EVT_464) (352) [SCAL] (1) $TEV_3 = $PRE.P1.t ($RES_EVT_465) (353) [SCAL] (1) P2.inTransition[1].disPlace = true ($RES_BND_295) (354) [SCAL] (1) $FUN_25 = sum(P1.enableIn.enablingBene) ($RES_$AUX_439) (355) [SCAL] (1) $TEV_4 = $PRE.P2.tokeninout ($RES_EVT_466) (356) [TUPL] (5) ($FUN_26, $FUN_27, $FUN_28, $FUN_29, $FUN_30) = 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_438) (357) [SCAL] (1) $TEV_5 = $PRE.P1.tokeninout ($RES_EVT_467) (358) [ARRY] (1) P2.inTransition.enable = {P2.enableIn.TEin_[1]} ($RES_BND_297) (359) [SCAL] (1) $FUN_31 = PNlib.Functions.OddsAndEnds.conditionalSumInt(P2.enableOut.arcWeight, P2.enableOut.TAout) ($RES_$AUX_437) (360) [SCAL] (1) $TEV_6 = $PRE.P1.enableOut.state128 ($RES_EVT_468) (361) [ARRY] (1) P2.inTransition.maxTokensint = {P2.maxTokens} ($RES_BND_298) (362) [SCAL] (1) $FUN_32 = Modelica.Math.Vectors.find(i, P2.enableOut.enablingPrio, 0.0) ($RES_$AUX_436) (363) [SCAL] (1) $TEV_7 = $PRE.P1.enableIn.state128 ($RES_EVT_469) (364) [ARRY] (1) P2.inTransition.maxTokens = {P2.maxTokens} ($RES_BND_299) (365) [SCAL] (1) $FUN_33 = sum(P2.enableOut.enablingProb[P2.enableOut.remTAout[1:P2.enableOut.nremTAout]]) ($RES_$AUX_435) (366) [TUPL] (5) ($FUN_34, $FUN_35) = Modelica.Math.Random.Generators.Xorshift128plus.random($TEV_8) ($RES_$AUX_434) (367) [ARRY] (1) $FUN_36 = PNlib.Functions.OddsAndEnds.deleteElementInt(P2.enableOut.remTAout, P2.enableOut.k) ($RES_$AUX_433) (368) [ARRY] (1) $FUN_37 = PNlib.Functions.Enabling.benefitGreedyDisOut(1, P2.enableOut.arcWeight, P2.enableOut.t, P2.minTokens, P2.enableOut.TAout, P2.enableOut.enablingBene, P2.enableOut.disTransition) ($RES_$AUX_432)