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