2              5                   + *  /  5 5  6 D *    6  5     * + * * +    +   [ 6  +     / / [   _ l- e  + L L D  +  L L    5     [ / / / +     l! " _# l $ % 5 L& 5' ( ) 6* l _+ _, - . / e0 1 23 45 _controller'Lptolemy/domains/modal/kernel/FSMActor;_graphLptolemy/graph/DirectedGraph; _modeSwitchesLjava/util/HashMap; SignatureILjava/util/HashMap;_module&Lptolemy/domains/tdl/kernel/TDLModule;_tmpConnectedTaskPorts_tmpModeSwitchEndsBLjava/util/HashMap;_tmpModeSwitchStarts_tmpReadSensors>Ljava/util/HashMap;_tmpReadTaskInputPortsVLjava/util/HashMap;>;P(Lptolemy/domains/tdl/kernel/TDLModule;Lptolemy/domains/modal/kernel/FSMActor;)VCodeLineNumberTableLocalVariableTablethis,Lptolemy/domains/tdl/kernel/TDLActionsGraph;module controller buildGraph'(Lptolemy/domains/modal/kernel/State;)V modePeriodLptolemy/actor/util/Time;eLjava/lang/Exception; refinement(Lptolemy/domains/modal/modal/Refinement;state$Lptolemy/domains/modal/kernel/State; startmodestatesLjava/util/List; startNodeLptolemy/graph/Node;LocalVariableTypeTable6Ljava/util/List; StackMapTable65 ExceptionsgetEventsFollowingAction&(Lptolemy/graph/Node;)Ljava/util/List;node<(Lptolemy/graph/Node;)Ljava/util/List;getNextJoinNodesM(Lptolemy/graph/Node;Lptolemy/graph/Node;Ljava/util/List;)Ljava/util/HashMap; backwardNodeLptolemy/graph/Edge;actions backwardEdgesLjava/util/Collection; targetNodeedge justExecutedvisitedeventsedges8Ljava/util/List;,Ljava/util/Collection;&Ljava/util/List;aLjava/util/HashMap;>;&Ljava/util/List;7(Lptolemy/graph/Node;Lptolemy/graph/Node;Ljava/util/List;)Ljava/util/HashMap;>;getNodeA(Lptolemy/actor/util/Time;Ljava/lang/Object;)Lptolemy/graph/Node;gnode&Lptolemy/domains/tdl/kernel/TDLAction;invocationTimeactorLjava/lang/Object;nodes<(Lptolemy/domains/tdl/kernel/TDLAction;)Lptolemy/graph/Node;actionZ(Ljava/lang/Object;Lptolemy/actor/util/Time;Lptolemy/actor/util/Time;)Lptolemy/graph/Node;lowerupper_addConnectionsBetweenTaskPorts()VinNodemodeSwitchTimeBeforeReadinvocationTimesLjava/util/Set;outNodereadTime readTimes outputPortLptolemy/actor/IOPort; outputPorts inputPort inputPorts*Ljava/util/Set;+Ljava/util/List;(Ljava/util/List;'Ljava/util/Set;8_analyzeSlotSelectionc(Lptolemy/domains/tdl/kernel/TDLTask;Lptolemy/actor/util/Time;)Lptolemy/domains/tdl/kernel/LetTask;iIoffsetLjava/lang/Long;$Lptolemy/domains/tdl/kernel/TDLTask;modePeriodTimeJslotsLjava/lang/String; frequency invocationsLjava/util/ArrayList;letinvperiodicZnewletnewInv9: _connectModestargetModeNodetargetNodePair[Ljava/lang/Object;sourceModeNode transition*Lptolemy/domains/tdl/kernel/TDLTransition; targetModetargetNodePairsnodePair nodePairs%Ljava/util/List<[Ljava/lang/Object;>;5Ljava/util/Set; _connectToIntermediateModeSwitchI(Lptolemy/graph/Node;Lptolemy/actor/util/Time;Lptolemy/actor/util/Time;)VprevactorInvocationTimeactorInvocationPeriodnextModeSwitchTime&modeSwitchTimeBeforeNextTaskInvocation modeSwitch_connectToOtherTasksOutputPorts(Lptolemy/actor/IOPort;)VlLptolemy/actor/Actor; taskInputPort _createNodeV(Lptolemy/actor/util/Time;ILjava/lang/Object;Lptolemy/graph/Node;)Lptolemy/graph/Node; actionTypepreviousB(Lptolemy/actor/util/Time;ILjava/lang/Object;)Lptolemy/graph/Node; _getActuatorsD(Lptolemy/domains/modal/modal/Refinement;Lptolemy/actor/util/Time;)VtaskOutputPortedge1invocationEndTimenextn connectedPorttaskOutputPorts$_getForwardReachableIndependentNodes6(Lptolemy/graph/Node;Ljava/util/List;)Ljava/util/List;b(Lptolemy/graph/Node;Ljava/util/List;)Ljava/util/List;_getInvocations*(Ljava/lang/String;I)Ljava/util/ArrayList; lastStartlastEndlastDiffend slotNumber slotSelectionnumber startSlotendSlotprevSymbolWasAsterisk_getLastNodeBeforeTimeE(Lptolemy/actor/IOPort;Lptolemy/actor/util/Time;)Lptolemy/graph/Node;portlastNodeBeforeTimetime _getTasksh(Lptolemy/domains/modal/kernel/State;Lptolemy/domains/modal/modal/Refinement;Lptolemy/actor/util/Time;)VsensorWasReadBeforeModeSwitch sensorNode inputPortNodesensor'Lptolemy/domains/modal/modal/ModalPort;notConnectedToSensor writePortTimenextInvocationTimenotConnectedToSensorsinputPortNodestaskExecutionNodeoutputPortNodetask$Lptolemy/domains/tdl/kernel/LetTask;sensors modeSwitchEndmodeSwitchStartoutputPortNodesinvocationEndNode taskActormodetaskstimeZero9Ljava/util/List;6Ljava/util/List;$_getTransitionsrequiredSensorrequiredSensorsinvocationPerioddirectorLptolemy/actor/Director;sensorOrTransitionmodeSwitchEndTimeendNodesensorsAndTransitions transitionsVLjava/util/HashMap;>;;;3_nextCharIsANumber(Ljava/lang/String;I)Z_registerModeSwitchO(Lptolemy/domains/modal/kernel/State;Lptolemy/graph/Node;Lptolemy/graph/Node;)VtransitionNotTaken_registerSensorReading2(Lptolemy/actor/util/Time;Lptolemy/actor/IOPort;)V_registerTaskInputPortReading_resetsTempVars SourceFileTDLActionsGraph.java java/util/HashMap ptolemy/graph/DirectedGraph < => ?@6 AB PC"ptolemy/domains/modal/kernel/State DE&ptolemy/domains/modal/modal/RefinementF GH,ptolemy/domains/tdl/kernel/TDLModuleDirector IJ i hi KLjava/lang/Exception*ptolemy/kernel/util/IllegalActionExceptionjava/lang/StringBuilder Schedule could not be computed; KL MN ON P  *Q RS TUV WX$ptolemy/domains/tdl/kernel/TDLActionptolemy/actor/util/Time Y Z java/util/ArrayList TU [\ ]\ ^_java/util/Listptolemy/graph/Edge `a bC H c_7 dU ea f\ gh ij kptolemy/graph/Node g l mn op8ptolemy/actor/IOPort qr s tu v wx yz {| }~ WX: t qjava/lang/Integer U  z"ptolemy/domains/tdl/kernel/LetTask Task N) is not periodic, slot selection string: (ptolemy/domains/tdl/kernel/TDLTransition  ] > ptolemy/actor/Actor"ptolemy/domains/tdl/kernel/TDLTask    > > B cd    9 U  K  '' cannot be parsed ]    >  FJ z%ptolemy/domains/modal/modal/ModalPort FG  \  @A  z z 89 >   java/lang/Object *ptolemy/domains/tdl/kernel/TDLActionsGraphjava/util/Iteratorjava/util/Collection java/util/Setjava/lang/Stringjava/lang/Longptolemy/actor/Director%ptolemy/domains/modal/kernel/FSMActor entityList()Ljava/util/List;iterator()Ljava/util/Iterator;hasNext()Z()Ljava/lang/Object; getRefinement()[Lptolemy/actor/TypedActor;$ptolemy/domains/tdl/kernel/TDLModule getDirector()Lptolemy/actor/Director; getModePeriod9(Lptolemy/kernel/util/NamedObj;)Lptolemy/actor/util/Time;append-(Ljava/lang/String;)Ljava/lang/StringBuilder; getMessage()Ljava/lang/String;toString(Ljava/lang/String;)Vjava/lang/SystemoutLjava/io/PrintStream; nodeCount()Ijava/io/PrintStreamprintln(I)V(Lptolemy/actor/Director;D)V/(Lptolemy/actor/util/Time;ILjava/lang/Object;)Vcontains(Ljava/lang/Object;)Zadd outputEdges,(Lptolemy/graph/Node;)Ljava/util/Collection;sink()Lptolemy/graph/Node; getWeight inputEdgessizesourceequalsput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;putAll(Ljava/util/Map;)V()Ljava/util/Collection;object compareTo(Ljava/lang/Object;)IkeySet()Ljava/util/Set;get&(Ljava/lang/Object;)Ljava/lang/Object;(Lptolemy/actor/Director;J)VvalueOf(I)Ljava/lang/Integer;=(Lptolemy/graph/Node;Lptolemy/graph/Node;Ljava/lang/Object;)VaddEdge*(Lptolemy/graph/Edge;)Lptolemy/graph/Edge; getLongValue()JgetSlots2(Lptolemy/kernel/util/NamedObj;)Ljava/lang/String; getFrequency!(Lptolemy/kernel/util/NamedObj;)I(J)Ljava/lang/Long;(I)Ljava/lang/Object;intValuejava/lang/Mathabs(I)I longValue(Lptolemy/actor/Actor;JJJ)VgetNamedestinationState&()Lptolemy/domains/modal/kernel/State;4(Lptolemy/actor/util/Time;)Lptolemy/actor/util/Time;connectedPortList getContainer ()Lptolemy/kernel/util/NamedObj;(Ljava/lang/Object;)VaddNode*(Lptolemy/graph/Node;)Lptolemy/graph/Node;subtractoutputPortListdeepInsidePortListisOutput removeEdge(Lptolemy/graph/Edge;)ZinputEdgeCount(Lptolemy/graph/Node;)IaddAll(Ljava/util/Collection;)ZlengthcharAt(I)C(C)Ljava/lang/StringBuilder;parseInt(Ljava/lang/String;)I(ILjava/lang/Object;)VremoveNEGATIVE_INFINITY inputPortListgetSensorsReadFrom2(Ljava/util/List;Ljava/util/List;)Ljava/util/List; getOffsetisDeeplyConnected!(Lptolemy/kernel/ComponentPort;)Z+(Lptolemy/graph/Node;Lptolemy/graph/Node;)VgetLetgetInvocationPeriodnonpreemptiveTransitionListclear! Q**Y*Y*Y*Y*Y*Y *, *+ * F?JP%V0^;cFGKHPI QQQ* Y * M,N-r-:2:* :***$:YY !"!#$*%*&'*()**Y+Y* ,+-.N-**Y* ++-.N:gjbX YZ.[:]F^K_U`_agejblc~dghijkmnopnsRKl:U.a! 1O MA *+/Y01  #-,2 Y-,3WY:*,45::6:7:8*928*9$8*9*:;/Y0: *::  <:  1 6: + =>  =8*3W ? @W*+-AB*+-ABj #0OVgu  p  p e VO#####04p e ##03 &Z4  g*C5N-:KD:8*:E+F&GG,>G ," )3M_be>3/)9ggg \  \? A*C5M,N-'-D:8*:+H &09<?40 &AA 6  6) a*C5::CD:8*:G+>,EI-EI" +5SY\_H5'+1aaaa U  UF *JL+KM,,LN*-M5::L:* -M5::+: +Y*  N: *J:  K:  * +:   I  I : *  O:  '* -P: 6Y  QR:*SWa2b"'/N [ z !%'( ) *   x o ) z [N/"   *o [ /  a (+8 -48 ,TB+U:+V6*W: X: X: 6 7 7Ylp 6 6YN`Z[\Z[\d]7  ^  X:   ^6 Y6YoY`&`Z[\Z[\d7Z[\`p7 ^ X:  ^6  X:  U!mZ[\diX:! ^mmX: ! ^mmX: _Y+ ^ ^^`YYa!+b!c!!#$'78 9:='>*@-A0B=CCFPGcHmGsI}JKLFPQRSTVYZ [\Q `&c+d3e@dEfUgeh}kFUvE8 !  '~! *{"# -x$ 0u%?C &'())@  8 V*`*JL+KM,,N*-M5::d:2D:8*Ge:f: * M5:  :  Y d:  2D:  8*E+Y* ,F!6Y QR:*SWS'Ryz"{/|N}W~Ygn|z >+ G,- W.g~/0nw1 |i2 N3-/4" |i25 /456d(L d7\89 +Y*  N:+Y*  N:*g*J:K:0+:,I,-hI ::+Y*  NF*MD:6Y+QR:*SWZ",-6Ubekosvf U :;<=">6 ? 6 -3,@A/r+iM,N-_-L:jk:l?+j>3*+M5:/Y0:*+@W3W2  *5>KPYdnq>K#B*DC N rrDm  m   WE FGUDY*Y+--m:*nW36Y8*E8*EoR:*SW"",7HRHH UUUHUUIBRFJz DY*Y+--m:*nW4  H  KLJV+pN-:AL:V6:q::  ) L:  r jl :r6  ѻ+Y* ,Tm iN: * s: : : * 4:<:*6::  = >  7: * tWDY*Y -m:*nW*6Y QRSW*6Y QRSW .~  #*-4S]fjmz "$%&'()*,013455LR8U9SM NO P 8Q} *(-%R4S#/VVVQ 4S Q  / ,F-\TU,+2 /Y0,+3W/Y0N*+45::z6:7:*uW-3W8*9?8*908*9 8*9-*,1vW-BH IKM"N/ONPUQbRkS|TUVW\]HUaNh"/ "/%}VWXY+!w!#N/Y0:x:6666  -y2- z Q*H-N0123456789|Q~NY!- z{#:*- | Y!-  z{#:}6 m 6jYdZ[\6 YdZ[\6   d6  `& Q~W  `Q~W  `6 6  `6x:6اQ~WQ~WY66{YdZ[\6 YdZ[\6   `6   d6 6`6 & Q~W  `Q~W  `6 6<Q~WQ~W#YY!+!!#$ 6  Y@ `Z[\( ` Z[\`Q `W  Bjkl!m'n*o6p{|} *.3>ENYgqtw} #&1<?_oer*JY >6Z E/[ aY MZ ;[ 7\W] -8 hG ^!_$`'a*b#- ''('@C''('+S) ''('@cdQ y*C5N::-:TD:8*:G3G+>',EIEI:E:2  1;UbhlsvR;81Byyey nkffg  n$Whi ,:+Y* ,::cl:*-:,* : : : * *g+*+Y: : * @W* @W#*MD:  *-MD: *-*g#*MD:  *-MD: :  : 7-TI+Y* N:/Y0:vW/Y0: :6:::*g%*M*M52* :*P:6*45:?U67:8*9$*45:67:8*96 :::KL:2W*:3W***::)L:* :3W?6Y :*SW:)D:6Y:*SWӻ/Y0: :::L:+Y* aN:+Y* aaN:-F:*: 3W*+Y* N+Y* Ng ? : ] ? D: B ?7*+Y*  NP:  *+Y* N: a7 :8D:6Y -8*EoR:*SWħ*l6?BLQWbhu    !*IO_k{ !"#$&'+, /011;2E3R5\6d8j<m=p?|ABEFGHIKLM NPQR"SATPUYVhWwXY[^_abc_lnopqrsuv"w-v26 ?~^irz~&Bsj#e19 L!kOl[ I$mn lo  lYkpwMqA 'r*s|tu"Pz ^&u?HvwQ6x T3y W0z { | 6Q}~xRe[  r *s" Q6x {  G &'0 C&G4/N&/ /XB&>& >i7Y:+::e:V6-Tm7 * : 6  +Y  NM5:  (/Y0: +Y*   iN @W::L: 3W 3W yCgYJ:K:?+:: +Y* T-TqN: DY*Y +-m: * @W* nWM5: 6   ?:  :0DY*Y-m:*nW*L+DY*Y-m:*nW*+  !6Y QR:*SW* @W: S6Y  QR: * SW* @W3 .5?HRhmv #7CMYhkv~ '36 hgB 6K 5? H ./0 kv\  *: # 7 YB  -O77~77 .(46 YB O  .(2 7F"kN'" )y(+y`+`z/+`z: ((^(&@;*+M5:/Y0:*+@WY,SY-S3W &:4;;;/; .B&+*+M5N-/Y0N*+-@W-,3W    "**+++m B"+* ,M5N-/Y0N* ,-@W-+3W "* *+++e B"b$** ***&'()*#+ $