2. E         E E E                (           5 5 5 5  3  i   C C  >    ! L"# 5$ N% & ' ( )* + , - . / 01 ]23 4 5 6 7 8   9: _ ;  < = >?@ pABC sA sD w EF wG zHI sJ sKL sMN wHO   (H PQ R S >T U VW XYZ %  [ \ ] N^_ ` 5a b c de fg hi pj k 3l  m nopq r st Huvwxyz ({|}~        i       /          p    C constrainBufferSizesLptolemy/data/expr/Parameter; _firingVectorLjava/util/Map; _minusOneLptolemy/math/Fraction;_externalRates_rateVariablesLjava/util/List;()VCodeLineNumberTableLocalVariableTablethis)Lptolemy/domains/sdf/kernel/SDFScheduler;"(Lptolemy/kernel/util/Workspace;)V workspaceLptolemy/kernel/util/Workspace;-(Lptolemy/actor/Director;Ljava/lang/String;)V containerLptolemy/actor/Director;nameLjava/lang/String; Exceptionsclone3(Lptolemy/kernel/util/Workspace;)Ljava/lang/Object; newObjectdeclareRateDependencyportLptolemy/actor/IOPort;portsLjava/util/Iterator;analysis/Lptolemy/actor/util/ConstVariableModelAnalysis;director(Lptolemy/domains/sdf/kernel/SDFDirector;modelLptolemy/actor/CompositeActor; StackMapTablegetExternalRates()Ljava/util/Map;getFiringCount(Lptolemy/kernel/Entity;)IentityLptolemy/kernel/Entity; valueChanged!(Lptolemy/kernel/util/Settable;)VsettableLptolemy/kernel/util/Settable;_checkDynamicRateVariables1(Lptolemy/actor/CompositeActor;Ljava/util/List;)VLptolemy/kernel/Port;setLjava/util/Set;variableLptolemy/data/expr/Variable;entitiesoldRateVariables rateVariablesoldListLjava/util/LinkedList;newList _computeMaximumFirings(Lptolemy/actor/Actor;)Ireceiver(Lptolemy/domains/sdf/kernel/SDFReceiver;firingsIcopychannel inputPort tokenRate receivers[[Lptolemy/actor/Receiver; currentActorLptolemy/actor/Actor;result inputPortsB:_countUnfulfilledInputs)(Lptolemy/actor/Actor;Ljava/util/List;Z)I threshold isFulfilledZactor actorList resetCapacitycount_getFiringCount _getSchedule ()Lptolemy/actor/sched/Schedule;vectorizationFactortokenLptolemy/data/Token; allActorList externalRatesentityToFiringsPerIterationLptolemy/actor/sched/Schedule;_solveBalanceEquationsN(Lptolemy/actor/CompositeActor;Ljava/util/List;Ljava/util/Map;)Ljava/util/Map; Lptolemy/kernel/ComponentEntity;actors currentPort actorPortsfraction denominator repetitionsrate externalPortslcm lcmFraction portParameterLjava/lang/Object;portParametersLptolemy/kernel/util/NamedObj;actorContainerunreachedActorunreachedActors messageBufferLjava/lang/StringBuffer;portParameterMessageBufferportParametersFoundcontainersSeenreachedActorList pendingActorsclusteredActorsclusteredExternalPortsremainingActors.Lptolemy/actor/sched/StaticSchedulingDirector;allowDisconnectedGraphs32BD_vectorizeFirings"(ILjava/util/Map;Ljava/util/Map;)VEntry InnerClassesLjava/util/Map$Entry;actorMapEntriesportMapEntries_assertDynamicRateVariable|(Lptolemy/actor/CompositeActor;Lptolemy/data/expr/Variable;Ljava/util/List;Lptolemy/actor/util/ConstVariableModelAnalysis;)VallowRateChanges!_checkDirectInputOutputConnection0(Lptolemy/actor/CompositeActor;Ljava/util/Map;)V connectedPortsinkPort sinkPortsconnectedPortsisDirectionConnectioninsideSinkPorts_inite%Lptolemy/kernel/util/KernelException;i_listenToRateVariable/(Lptolemy/data/expr/Variable;Ljava/util/List;)V_pickZeroRatePortActor2(Ljava/util/List;)Lptolemy/kernel/ComponentEntity;_propagatePort(Lptolemy/actor/CompositeActor;Lptolemy/actor/IOPort;Ljava/util/Map;Ljava/util/Map;Ljava/util/LinkedList;Ljava/util/LinkedList;Ljava/util/Set;Ljava/util/Set;)V currentRate connectedRate desiredFiring previousRateconnectedActor currentFiring presentFiringq _scheduleConnectedActors](Ljava/util/Map;Ljava/util/List;Lptolemy/actor/CompositeActor;)Lptolemy/actor/sched/Schedule;rLptolemy/actor/Receiver;nm outputPortfiringsRemaining inputCount outputPortsnumberOfFiringsfiringLptolemy/actor/sched/Firing;actorsIteratorexternalOutputPortsex,Lptolemy/kernel/util/IllegalActionException;messagescheduledActorListreadyToScheduleActorList newSchedulefiringsRemainingVectorunscheduledActorListY_simulateExternalInputs@(Lptolemy/actor/IOPort;ILjava/util/List;Ljava/util/LinkedList;)Vcapacityenforce_simulateInputConsumption(Lptolemy/actor/Actor;I)Z firingCountstillReadyToSchedule_simulateTokensCreated createdTokens_simulateInitialTokensitsPortitsActor initialTokens_simulateInitialOutputTokens(Lptolemy/actor/IOPort;I)V SourceFileSDFScheduler.java java/util/HashMap ptolemy/math/Fraction  java/util/LinkedList  'ptolemy/domains/sdf/kernel/SDFScheduler  &ptolemy/domains/sdf/kernel/SDFDirectorptolemy/actor/CompositeActor    ptolemy/actor/IOPort&ptolemy/actor/parameters/ParameterPort tokenConsumptionRate tokenInitConsumption tokenProductionRatetokenInitProduction U S   ptolemy/kernel/Entityptolemy/kernel/Port       ptolemy/data/expr/Variable Mjava/lang/StringBuilder%No longer listening to rate variable      java/lang/Integer   &ptolemy/domains/sdf/kernel/SDFReceiver <+ptolemy/domains/sdf/kernel/BaseSDFScheduler    $% V ptolemy/data/IntToken+ptolemy/actor/sched/NotSchedulableExceptionRThe supplied vectorizationFactor must be a positive integer. The given value was:     `a Normalized Firing Counts:     java/util/HashSetptolemy/kernel/ComponentEntity,ptolemy/actor/sched/StaticSchedulingDirector M     ptolemy/actor/Actor   k *ptolemy/kernel/util/InternalErrorException2Failed to properly perform fraction normalization. java/lang/StringBufferSDF scheduler found disconnected actors! Usually, disconnected actors in an SDF model indicates an error. If this is not an error, try setting the SDFDirector parameter allowDisconnectedGraphs to true.ptolemy/kernel/util/NamedObj &ptolemy/actor/parameters/PortParameter    RNote that some of the unreached actors are in transparent composite actors that have PortParameters. A transparent composite actor is composite actor that has no local director. Transparent composite actors and PortParameters are not compatible, the workaround is to insert a director or remove the PortParameter. The PortParameters: ... Unreached Actors:  Reached Actors: java/util/Map$Entry     ptolemy/data/BooleanToken *ptolemy/kernel/util/IllegalActionExceptionThe SDF rate parameter may change. This is not allowed in SDF models that will be run through the code generator. If you don't care about code generation, then you might consider setting the allowRateChanges parameter of the SDF director to false.   XExternal input port drive the same relation as an output port. This is not legal in SDF.  fExternal input port drives the same relation as another external input port. This is not legal in SDF.  ptolemy/data/expr/Parameter    true #ptolemy/kernel/util/KernelException Listening to rate variable   ?Output ports drive the same relation. This is not legal in SDF.ZOutput port drives the same relation as the external input port. This is not legal in SDF.ptolemy/actor/Director(Rate cannot be less than zero. It was: 'Invalid connection found between ports  and . The rate of the > was not found in the map from external ports of the container4 to the fractional rates of that port, or is null. 2 Perhaps there is a link to a port within a class definition? The container of  is is not, within an actor oriented class definition. The container of + within an actor oriented class definition.uNo solution exists for the balance equations. Graph is not consistent under the SDF domain detected on external port ptolemy/actor/sched/Schedule "ptolemy/actor/IntermediateReceiver    IJ     !    " 78 ptolemy/actor/sched/Firing #$ % & 'CBalance Equation solution does not agree with scheduling algorithm!0SDF Scheduler Failed internal consistency check. (NActors remain that cannot be scheduled! There are several possible reasons: * SDF Graphs with feedback loops should have an actor with a delay in the loop, such as a SampleDelay. * The SDF director has an "allowDisconnectedGraphs"parameter, which, when true, permits disconnected SDF graphs. * The token consumption rate and production rates might be mismatched. Usually, actors produce one token or consume one token on a port. To produce or consume multiple tokens per firing, add a "tokenConsumptionRate" or "tokenProductionRate" parameter to the appropriate port. Unscheduled actors:  Scheduled actors:  Schedule is: ) * + ,!ptolemy/kernel/util/ValueListener,ptolemy/kernel/util/NameDuplicationException$java/lang/CloneNotSupportedException-ptolemy/actor/util/ConstVariableModelAnalysisjava/util/Iteratorjava/util/List java/util/Setptolemy/data/Token java/util/Mapjava/lang/Stringptolemy/actor/Receiver(I)V getAnalysisO(Lptolemy/kernel/util/NamedObj;)Lptolemy/actor/util/ConstVariableModelAnalysis; getContainer ()Lptolemy/kernel/util/NamedObj;portList()Ljava/util/List;iterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;isInput_declareDependencyi(Lptolemy/actor/util/ConstVariableModelAnalysis;Lptolemy/kernel/Port;Ljava/lang/String;Ljava/util/List;)VisOutput getSchedulesetValid(Z)VaddAll(Ljava/util/Collection;)ZdeepEntityListgetNotConstVariables/(Lptolemy/kernel/util/NamedObj;)Ljava/util/Set;ptolemy/actor/util/DFUtilitiesgetRateVariableE(Lptolemy/kernel/Port;Ljava/lang/String;)Lptolemy/data/expr/Variable;add(Ljava/lang/Object;)Zcontains removeAll _debuggingappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;_debug(Ljava/lang/String;)VremoveValueListener&(Lptolemy/kernel/util/ValueListener;)Vremove inputPortListgetTokenConsumptionRate(Lptolemy/actor/IOPort;)I getReceivers()[[Lptolemy/actor/Receiver;_waitingTokens setCapacityget&(Ljava/lang/Object;)Ljava/lang/Object;intValue()IgetToken()Lptolemy/data/Token;(I)Ljava/lang/StringBuilder;3(Lptolemy/kernel/util/Nameable;Ljava/lang/String;)VZEROput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;java/lang/Object_saveFiringCounts(Ljava/util/Map;)V_saveContainerRatessize_allowDisconnectedGraphsisEmptyclear removeFirstaddLast(Ljava/lang/Object;)VgetDenominator(II)Imultiply0(Lptolemy/math/Fraction;)Lptolemy/math/Fraction;isOpaque attributeList#(Ljava/lang/Class;)Ljava/util/List; getFullName,(Ljava/lang/String;)Ljava/lang/StringBuffer;lengthentrySet()Ljava/util/Set;getValue getNumeratorvalueOf(I)Ljava/lang/Integer;setValue booleanValueequalsdeepInsidePortListQ(Lptolemy/kernel/util/Nameable;Lptolemy/kernel/util/Nameable;Ljava/lang/String;)VinsideSinkPortList3(Lptolemy/kernel/util/NamedObj;Ljava/lang/String;)Vptolemy/data/type/BaseTypeBOOLEAN- BooleanType(Lptolemy/data/type/BaseType$BooleanType; setTypeEquals(Lptolemy/data/type/Type;)V setExpression(Ljava/lang/Throwable;)VaddValueListenergetRatedeepConnectedPortList(II)VisWithinClassDefinitionputAll _receiveroutputPortListgetInsideReceiversaddFirstgetTokenInitProductiongetTokenInitConsumptiongetFirstsetActor(Lptolemy/actor/Actor;)VsetIterationCount((Lptolemy/actor/sched/ScheduleElement;)VgetTokenProductionRateH(Lptolemy/kernel/util/Nameable;Ljava/lang/Throwable;Ljava/lang/String;)VdeepGetReceivers()Lptolemy/actor/IOPort; getCapacitygetRemoteReceivers&ptolemy/data/type/BaseType$BooleanType!Ex6**Y*Y*Y* Y * &15 67*+ *Y*Y*Y* Y * '26778*+,*Y*Y*Y* Y * (37 888z,*+M,Y,Y, Y , * ,, #D*L*M,N-:^:G*+* *+*  *+!* *+"* > *6>FS`hu>6L   e    yq$ ?!/* C *#W*+$   !>*% "#$%$ }*N Y :,&W Y :+':(:):*: - +:  ",: * ,- .W  / *+ ,-0 ,: * ,- .W  / *+ ,-0 ,: * ,- .W  / *+ ,-0 !,: * ,- .W  / *+ ,-0. 1W2:@3:*4*5Y6789:;*<,=W+"#%!&,'6(B*X+d,l.u0|1348:;=>BDEGHLNO QR U#V&Y.Z5[?\K]R^j`payb|cd & l'( u)* N  B,+ K.)*5G, }}}-u l./!\0/M ,122!3J456,,,4678 ?=+@N--:A6B:6Y2H62:22C#22C:  Dl6   =uZmprs#t*x/y2|9~DLO]kn{~p {9: ;< RB=<<^><#w? *p@<9aABCDE<F 3 " GHIJ6 *46+@::*4A6*4B:6 6  l 2[6   2E 2 2C. 2 2C:   F D 6     O~ !-4;BILW_bp~ 9: eM=< Oq>< -? ;K<IABL|LM NDOPM Q<F H  GRH1SE*+G>HTUR *L+M*,* I>+JK:LM>NY*5Y6O8P:Q+:':Y:::  RSW*T:*4*U**4*V;*W;*X: *4*Y*Z*%* v  $-2NW^+g.}/0147=ACDEILSVYZ[z   s&  V<$WXW^YgZY[!E\ FN]$ ]1^%^$_N`a hY:,[ *+-\ Y :]Y^:]Y^: Y :,&W2:    _:  *SW*`: 6    a6 bcc*d:  e_:  fW gW YSW hbJei:  _j:  $ :*+-kا6 l:  0 i:G:m6 n6 ̻Y : l:Di:G o:m pYqrSWl:B:-G o:m pYqr-SWcc L*+-\bsYtu: 6 sYv: ]Y^:]Y^:,: dw:x:y/ugWz{::O:/7gW 5Y6z|8}8:~W d H / 5Y68 8:~W c  ~W ~W6 2:9 d2w: 5Y68}8:~W  c  ~W ~W Y :,WW6 :9 d2(: 5Y68}8:~W  c  ~WNY* Q|z |~$-6?FWcqt}$69<?R^bls| "-07>CFIOWbenw !"#$&,%0'7(:+=C.K/[7d0h8o9w=>?@AB@EFHJKLNOPQ%RBPHUOVWXe[,cb M'c $d :CD +e ^CDlfs g<H7c 2CDhKc 0  iIj Nb ?k< l @mn_oNpqpc rp@s %@c btu eQ< nvu ww(x(|yhhhOhZ _[$Dz/-;{(62|(?)}/}~ M s!^1 1^^2552&/" H* 6;H: >1^^255255^1^^2552551R1^^2552553?/1? 1^^2552N*4Y:,l:7::o:W-l:7::o:WűFsx{|(}4~@IY\isp 4%c@h> % ii> V<[Zl= =&*K6Y, %>&&&)*&-& M% 1+N- -:,G:R:P: +NY+NY6: 64:  ! :  + 6G,YSW:  # : , YSW٧ݱ$ +6;BLXbiw *-0X>  (  * B M? +i111Z 'F I 741$)^/*Y*** LpY+!$!$%.% /d :+8,+.*4*5Y68+9:;+*,+W !",%1&9( ::)*:-, M+M,>,_N-j::-& 347/8;:C;E=H>K@>;   %#  .NbDc MMO] ,_: , k,+c,:  N :   +NY,   +NY, ,k,+c,:  N :   +NY,   +NY, *:  :   6 ,6  NY,5Y68 P:Q,+*4,: ,:  P :_:*4 6 6- G:  R:M % R:- SWY:&  :Y o:-G:*4 /-SWY o:G:pY5Y68,888888888,8,(8888(88:r/.gWSW*+-k-#NY*5Y6¶88:Q`**-SWfWgWh-#NY*5Y6¶88:Q*4v]no vwx#|-}9CJWahux /7>LWamow~()+7;&>7@;AECJG[IhKuMRSTXYZabcei$k7pDxS{^~fpzB 9< #U < U < I <7 iEm> w4b< d [Z}/z/{(|( Cb    < WX ##33! & & ^^2255JJ^^2255JJ'^^2255JJ^^2255JJ6)2)^^2255N (: Y :Y:Y:* Y :,&W,:i:  @:  k :  B:  P6   E6  21  22:ƙƴ:CDʄ j-ȹ:  k :  :  P6   E6    21  2 2:ƙƴ:CD ʄ ,:  P i:  G>H6   fW* ,6   *4,:   i:  :  0 :  6*4* ,Χ @:  : :6`6*4*,Ч§V-:  < : + G>H6   `6  *  ,ѧ-ȹ:  & :  6  *  ҧӞ#*4i:  f* 6  G>H6    6 *4  d6   SW*4*  WY:   :(:6* hΧ pYݷr !*4 f*4'$* 6 ޙ  ˧ۧ:pY*߷ӞsYu:6 2:  9 d2 (: 5Y6 8}8:~W  c ~W~W Y :  ,W W6  :  9 d2 (: 5Y6 8}8:~W  c ~WNY*Q*4*;*;6r &/6>HTblx'/<EKQT\frv  $%(+$-..:/A5K7R<W=b@eAhEsF}GHKMNQXYZ[\]_bcvwz~ -48?FLOU\enu| (0;>EVb    ! (!."7%(79<J< xY? RAB TND brF '9< J< Y RAB r>ND -< <  Q<:(? A!Q<ND  $AF *  Q< sCF    Q< -  Q</ < CD < -< n> 4 \c  b E@c  @c ;u>Q< | ::Z:O: 1/(\/ /.?> ^12_^2#H$G  $G 6H#H# - ? ) H #4. ^12_^2B?/1? Nf+:*4626222C22C:22:  _:  `=D*K6  6   D F- ** i-6 * $6    ˄J.r8: @A B#E1F?HBKOL^M`NhRpTvWzXZ[]_ghjpvE@{< < < O9:^{ hqb TM &=<><  Q<O/ABX G^ 12GR112G >+@::A6B:6`2O6  2A2 2C*2 2C:  YDhdD D> tR%,3>FIWehup u9: LI=< 6e><%v? ,o@<3hABCD<MF @ & HG&Hc+:*4626222C22C:22:  _: YD`D*K6  $6   D DF- ** i-6 * $6    ˄I-n  #1?BO^`hsw< < < O9:^| hrb XM &=<>< <O/ABX G[ 12GR 112Gc+B:*4626222C22C:22:  _: YD`D*K6  $6   D DF- ** i-6 * $6    ˄I-n  #1? B#O$^%`&h)s,w-/024=@BHNS< < < O9:^| hrb XM &=<><? <O/ABX G[ 12GR 112G +N*46--2r6-2e-22CO-22C:YD`D*K6$6 D DF}N^` ghi l-m:o=rIuTxXyc{h|o~lg\ o<I@9:c&M#l=<>< <AB# GAR  d