next up previous contents index
Next: 5.3 The Recursive Process Up: 5 Behavior View Editors Previous: 5.1 The State Transition

Subsections

5.2 The Process Structure Diagram Editor (TPSD)

    

5.2.1 Nodes and Edges

   TPSD has just one special type of node, called Process and one type of edge called Empty edge (see figure 5.5). The process node is represented by a box. In the top right corner of the process node box, a process operator can be specified. You edit this operator by selecting the box and then click in the top right corner. You go into edit mode then and the operator is typed in as a single character. See figure 5.6 for the different operators.


  
Figure 5.5: Process structure diagram nodes and edges.
\begin{figure}
\begin{center}
\begin{tabular}
{\vert c p{1.3in}\vert c p{1.3in}\...
 ...mpty edge\index{Empty edge!PSD} \  \hline \end{tabular}\end{center}\end{figure}


  
Figure 5.6: Process structure operators.
\begin{figure}
\begin{center}
\begin{tabular}
{\vert c c p{2in}\vert} \hline
Box...
 ...?+ & for premature termination. \  \hline
\end{tabular}\end{center}\end{figure}

5.2.2 The Process Tree

  

TPSD is a bit different from the other existing TCM diagram editors because in TPSD the layout (representation) is significant for the meaning of the diagram. So TPSD has to make sure that there is always a one-one relationship between each node instance and its representing shape instance. Therefore, duplicate shapes cannot be made in TPSD. During editing, TPSD enforces that the graph is a set of undirected trees. It has the constraint that an edge can only be added to the graph when the resulting graph would not contain a cycle. This constraint is also implemented for the tree editors (chapter 8).

In TPSD, the highest box in the drawing area represents the root of the tree, which is called the main root.   This is the process node whose representing box has the smallest y-coordinate. The main tree  is the tree that is connected to the main root.

Each process node has a set of children that is ordered from left to right. The ordering of the children is determined by the position of the shapes in the drawing area [*].

The Update Sequence Labels  commands in a submenu of the TPSD View menu make it possible to show the process sequence numbers in the lower right corners of the boxes. The show no sequence labels command makes all the sequence numbers invisible. The update action sequences command draws the sequence numbers of all actions. Actions  are the leaf nodes of the tree, excluding the ``quit'' boxes. See figure 5.7 for a PSD with numbered actions. The update process sequences command draws sequence numbers in all process nodes. Each parent receives a sequence number that is one higher than the highest number amongst its children. Note that the sequence numbers are not updated automatically when you edit the diagram. The labels are only recalculated and updated when you perform an update sequence labels command again. However, when you save the PSD to file, updating sequence labels is called implicitly.


  
Figure 5.7: Example PSD with numbered actions.
\begin{figure}
\begin{center}

\includegraphics {p/processexample.eps}
\end{center}\end{figure}

5.2.3 Constraint Checking

The Check Diagram command in the Diagram menu checks that the tree is a syntactically correct JSD process structure diagram. Because of the immediately enforced constraints, Check Diagram assumes that there are no duplicate nodes and no cycles. In figure 5.8 all immediately and soft constraints are summarized.

Note that, if the box of a child has a smaller y-coordinate (is higher) than its parent, then a warning is given because that is an indication of a poor layout.


  
Figure 5.8: Immediately checked and soft constraints on PSDs.
\begin{figure}
\begin{center}

\includegraphics {p/PSconstraints.eps}\end{center}\end{figure}


next up previous contents index
Next: 5.3 The Recursive Process Up: 5 Behavior View Editors Previous: 5.1 The State Transition
Frank Dehne,Faculty of Mathematics and Computer Science, Vrije Universiteit Amsterdam
11/17/1997