This class computes the set of constant variables by computing the set of variables that are not constant and then performing the complement. This is somewhat easier to compute. The computation is performed in two passes, the first of which extracts the set of variables which must be not-constant either by not being evaluatable, by inclusion in an initial set, by virtue of being a PortParameter with an external connection, or by assignment from within a modal model. The second pass collects all the variables which are not constant because they depend on other variables which are not constant. This class also recognizes dependence declarations represented by the {@link DependencyDeclaration} class.
This class also determines the "least change context" of each dynamic variable. The least change context of a variable is typically an actor that contains that variable. During a firing of the least change context, the variable's value is guaraunteed to not change. This analysis is important for supporting parameter changes in the context of domains that perform scheduling based on parameter values, like SDF and PSDF. The least change context of a PortParameter with an external connection must be a container of the PortParameter. The least change context of a variable assigned by a finite state machine in a modal model must be a container of the finite state machine. The change context of asserted not constant variables and variables with no expression are assumed to be the toplevel of the model. Note that in some cases (typically when a variable is modified from multiple sources which are not hierarchically related), no least change context may exist. @author Stephen Neuendorffer @version $Id: ConstVariableModelAnalysis.java,v 1.52 2007/12/06 21:57:07 cxh Exp $ @since Ptolemy II 4.0 @Pt.ProposedRating Yellow (neuendor) @Pt.AcceptedRating Yellow (neuendor)
|
|
|
|
|
|
|
|
|
|
|
|
|
|