The part package
Partition of a system and creation of MDDs.
By Abelardo Pardo
Once the description of a system has been read, and the ordering
of the variables has been assigned, the partition package creates an
abstracted view of the system in which only information in terms of MDDs is
stored. The MDDs belong to the MDD manager of the system. Different options
may be considered when creating this abstracted view. If the system is
described as a network there are several options to create this partition. As
a first choice, the system may be considered as a set of functions
representing the combinational outputs as functions of the combinational
inputs. In general, the latch functions may be specified as functions of any
intermediate variables. These intermediate variables are themselves functions
of other variables, and ultimately the dependency on the combinational inputs
is achieved. The structure to represent these arbitrary dependencies is a
DAG. The combinational inputs of the network will be represented as
vertices. Every other function (either representing a latch or any other
intermediate node) is represented as a vertex with in-coming edges from the
vertices representing the function's domain. Hence, the vertices representing
the combinational inputs will not have any in-coming edges, and conversely,
the vertices representing the combinational outputs will not have any fanout
edges.
The partition may have two types of vertices, called single and
clustered. Single vertices are the ones that represent, for example, nodes in
a network. Clustered vertices are used solely for the purpose of grouping
single vertices into disjoint sets. No clustered vertex can be member of a
clustered vertex, and every single vertex may be a member of a unique clustered
vertex. The edges of the graph are connecting only single vertices. Functions
are provided to access the list of vertices represented by a clustered vertex
as well as for testing the type of a vertex.
A partition is the central input to the image computation
package. However, it is important to note that there is no network-specific
information stored in the partition data structure itself. Hence, it is
possible that another application (i.e. besides the network application)
could create a partition, and use that partition as input to the image
computation package.
Last updated on 20050519 00h50