Working with hierarchical nets
How-to


CPN Hierarchy

Effective CPN modeling requires the ability to distribute a CP-net across multiple pages, so as to divide it into modules small enough to keep track of. Such a module is called a submodel.

Two mechanisms are offered for interconnecting CP-net structure on different pages: substitution transitions and fusion places. A substitution transition is a transition that stands for a whole page of net structure. A fusion place is a place that has been equated with one or more other places, so that the fused places act as a single place with a single marking.

Substitution transitions and fusion places together provide a very general capability for organizing a CP-net into submodels. This capability is called CPN Hierarchy.

Help Topics for Hierarchical Nets

Fusion Places

Substitution Transitions

Top-down Development

Bottom-up Development

Inscriptions in Hierarchical Nets

Hierarchy Tags

Removing Hierarchical Constructs

Undo/Redo

Many of the operations that change the hierarchical structure of a CP-net can easily be undone or redone using the Undo and Redo tools.

For example, if the Delete element tool is used to delete a subpage tag, then the connection between a substitution transition and a subpage is broken, port/socket assignments are removed, and instances of the subpages are removed. (More information is available about Removing hierarchical constructs). However, by simply applying the Undo tool, it is possible to fully reestablish the relationship between the subpage and the substitution transition.

Introduction to Hierarchical Nets

If you are unfamiliar with any of the following concepts, it is recommended that you read the Introduction to Hierarchical Nets:

Fusion places are defined and described in detail on the help page for Fusion places.

Limitations

Errors during syntax check

Errors can occur if any of the hierarchy tools are applied while portions of a net are being syntax checked. It is highly recommended that you do not apply hierarchy tools while there are any yellow highlights on places, arcs, transitions, pages, or net names.

Highlight during syntax check

Similar problems can occur if hierarchical constructions are cloned during syntax checking. Therefore, it is highly recommended that you do not clone hierarchical constructions during syntax checking.

Errors during construction

Providing simultaneous support for both incremental syntax checking and construction of hierarchical nets is quite complicated.

If you encounter error messages regarding "Mismatch in fusion group colour sets", "Mismatch in fusion group initial marking", "Internal Errors", or "Exception when getting marking or calculating enabling" while you are constructing hierarchical nets, it is highly recommended that you try to fix any obvious errors, such as unassigned ports or missing colour set inscriptions, then save the net, and then reload the net. Such error messages almost always disappear after the net has been reloaded.

See more about the Known limitations in CPN Tools.