InterProcs Designer
A CASE Tool for
Designing Electronic Trade Procedures
Joint Procedure Graphs
Ronald M. Lee
Erasmus University Research Institute for Decision and Information Systems (EURIDIS),
Erasmus University Rotterdam, The Netherlands
R.Lee@euridis.fbk.eur.nl
www.euridis.fbk.eur.nl
03 September 2001
Abstract: Inter-organizational transaction models, also called electronic trade procedures, or
just "e-procedures", are rapidly emerging as the leading edge technology to master the red-
tape of complex business-business and/or business-government transactions. This manual
describes the workings of the design tool InterProcs Designer to help develop these
transaction models.
InterProcs Designer support various notations from the Unified Modeling Language (UML) to
facilitate analysis and design. This document explains how to draft Joint Procedure Graphs.
Keywords: electronic trade procedures; trade scenarios; transaction modeling; international
trade transactions; global trade; eProcedures; Petri nets; process models.
InterProcs Designer: Joint Procedure Graphs p. 1
1. Introduction
A principal feature of InterProcs is its modeling environment for designing automated trade
procedures. It offers a graphical user interface with which Documentary Petri Nets (DPN's) can
be drawn.
Figure 1. InterProcs Design Methodology
In this document, the third stage in this methodology, the drafting of Activity Diagrams, is
explained. Additionally, InterProcs now provides automatic conversions between certain of
these notations:
* UML Activity Diagrams automatically convert to Joint DPN Graphs
* Joint DPN Graphs automatically convert to UML Activity Diagrams
* Joint DPN Graphs automatically convert to DPN Role Procedure Graphs
* DPN Role Procedure Graphs automatically convert to UML Sequence Diagrams
This inter-convertibility is indicated in FIgure 2 by heavy arrows.
InterProcs Designer: Joint Procedure Graphs p. 2
Figure 2. Inter-Convertibility of InterProcs Notations
The topic of this eTutorial is designing Joint Procedures. Joint Procedures use the same
graphical notation as Role Procedures, so-called Documentary Petri Nets (DPN's). (See also
the eTutorial for Role Procedures.) Whereas Role Procedures have a separate graph for each
role, Joint Procedures integerate these into a single graph. Joint Procedures make use the
same kind of role regions used in Activity Diagrams to group the activities (transitions) of each
role. (See also eTutorial for Activity Graphs). Indeed, Joint Procedures and Activity Graphs
considered to be syntactical variations of one another, converted with a simple button switch.
Together we call them Joint Activity Graphs. In this tutorial, we begin by designing a Joint
Procedure, and show its graphical conversion to an Activity Graph. We also show the
generation of Role Procedures from the Joint Procedure.
Note on terminology: the UML books and documentation refers to their notations as
"diagrams". Within InterProcs, we call them "graphs". A diagram is typically used for
visualization purposes only, whereas a graph can have a formal, computational semantics.
Because of the inter-convertibility provided by InterProcs of UML to formal DPN graphs, we
also call the InterProcs UML interfaces graphs.
InterProcs Designer: Joint Procedure Graphs p. 3
2. DRAFTING JOINT PROCEDURES
This section explains how to design activity diagrams (graphs) using InterProcs Designer. We
begin by executing InterProcs in standalone mode, and arrive at the opening screen, as shown
in Figure 3.
Figure 3. InterProcs Designer Opening Screen
We begin with by going to the Graph menu, and select the 'Joint Activity Graphs' sub-menu,
and within that, 'New Joint Activity Graph...', as shown in Figure 4.
InterProcs Designer: Joint Procedure Graphs p. 4
Figure 4. Begin New Joint Activity Graph
For this example, we will give name the Joint Activity Graph, 'simple', as in Figure 5.
Figure 5. Specify Joint Activity Graph Name
You should now see a new window like that shown in Figure 6.. The home window of
InterProcs is in the background. As you see, there is a menu called 'ActivityTool' -- we are
now in the mode for designing Activity Diagrams (in UML style). To change this for designing
Joint Procedures in DPN style, click on the list button 'DPN/UML/BTP' and select the
alternative, 'DPN'.
InterProcs Designer: Joint Procedure Graphs p. 5
Figure 6.
Changing to DPN Display Mode
You should now see the window with the menu, 'JointProcTool'. As we design this Joint
Procedure example, we will add two roles. First select 'Add Role Region...' from the
JointProcTool menu.
Figure 7. Add Role Region...
InterProcs Designer: Joint Procedure Graphs p. 6
Next press the mouse button down, and drag it to the lower right, and release it, in the
drawing area where the first role will appear. You are prompted to provide the name of this
first role, e.g. 'buyer'. Then click the OK button.
Figure 8. Specify Role Name
A colored region will appear for 'buyer'. Note: as with Role Regions in the Activity Diagram, you
can re-size a region using the Select, Move Tool, dragging the tab (tiny box) at the lower right
of the region. Repeat this to create another region for 'seller', as shown here.
Figure 9. Example of Role Regions
We begin the design of the 'buyer' role by adding several control places. For this, select the
'Control Place Tool', and click in the 'buyer' region.
InterProcs Designer: Joint Procedure Graphs p. 7
Figure 10. JointProcTool Menu: Control Place Tool
Also add control places for the 'seller' role, as shown. After that, we will add transitions
(actions), by selecting the 'Transition Tool'.
Figure 11. JointProcTool Menu: Transition Tool
As elsewhere in InterProcs, adding nodes with labels involves a two-step dialog. First, entering
a new label, which adds the label to the choice list. Second, selecting this from the choice list,
InterProcs Designer: Joint Procedure Graphs p. 8
and pressing OK. This two-stage technique allows these labels to be re-used elsewhere.
Here, we add the label "send_doc", and press the button 'Add Act:'.
Figure 12. Add Transition Dialog, Step 1.
We then select this act, as in Figure 13.
Figure 13. Add Transition Dialog, Step 2.
The result looks like Figure 14. Continue adding other transitions.
InterProcs Designer: Joint Procedure Graphs p. 9
Figure 14. Simple Joint Procedure, After Adding Transition
You may need to use the 'Select,Move Tool' to reposition nodes as you go ...
Figure 15. JointProcTool Menu: Select,Move Tool
Then use the Link Tool to add links among the nodes. By convention, links should go from top
to bottom, right to left.
InterProcs Designer: Joint Procedure Graphs p. 10
Figure 16. JointProcTool Menu: Link Tool
Note: when drawing links in InterProcs, there are two interaction modes available:
a. drag mode: press down on the mouse at the source, drag the mouse to the target, and
release the mouse. (Default for Mac platforms).
b. non-drag mode: click down and up at the source node (cursor becomes hairline), then click
again down and up at the target mode.
(This is default for all other platforms.)
This link drawing mode can be changed in the Settings Menu by clicking on the the switch
'Draw Links by Dragging?' as shown in Figure 17.
Figure 17. Set Link Drawing Mode
Next we will add documents. The first document we add will be a "purchase_order" sent from
the Buyer to the Seller. For this, select the 'Document Place Tool', as shown. Then click in the
area between the two role regions.
InterProcs Designer: Joint Procedure Graphs p. 11
Figure 18. Simple Joint Procedure, After Adding Links
As with transition labels, adding document names is a two-step dialog. First enter the
document name, then press 'Add Doc:'.
Figure 19. Add Document Dialog: Step 1
Second, select this document from the choice list, and press OK.
InterProcs Designer: Joint Procedure Graphs p. 12
Figure 20. Add Document Dialog: Step 2
The document place will appear as shown in Figure 21. Next, use the 'Link Tool' to draw a link
*from* the 'send_doc' action *to* the doc place, and another link *from* the doc place *to* the
'receive_doc; action.
Figure 21. Simple Joint Procedure, After Adding First Document
InterProcs Designer: Joint Procedure Graphs p. 13
In similar fashion, we add another document, called 'po_acknowledgement', sent from the
'seller' to the 'buyer'. This simple example is now complete. Be sure to save your model using
the 'Save Scenario' option of the 'File' menu.
Figure 22. Simple Joint Procedure, After Adding Document Links
You may can change the color of individual role regions using the 'Set Role Region Color...'
tool. As explained in earlier tutorials, you will want to save your model frequently as you
develop it, using the Save Scenario... option of the File menu. Once saved in this fashion, it
can also be viewed in applet mode from your browser. Likewise, it can be place on your Web
site for external viewing.
InterProcs Designer: Joint Procedure Graphs p. 14
Viewing the Scenario as UML Activity Graph
To alternate views between the current documentary petri net (DPN) notation and the UML
activity diagram notation simply click the choice list, changing from 'DPN' to 'UML' and vice-
versa.
Figure 23. Simple Joint Procedure, Switch to UML Notation
InterProcs Designer: Joint Procedure Graphs p. 15
Executing the Scenario
We can now execute this procedure as a local simulation. To do this, first press the 'Restart'
button, to initialize the places. You will see this as the top control places in each role region as
marked in black.
Figure 24. Simple Joint Procedure, After Restart
Now press the 'NEXT ACTION' button. The document 'purchase_order', will appear. Since it
has not (yet) been defined with data items, it shows simply the document title. Click 'OK' on
this document dialog.
InterProcs Designer: Joint Procedure Graphs p. 16
Figure 25. Simple Joint Procedure, Document Display
The graph markings have now moved. The control place marking has now advanced in the
'buyer' role, and the 'purchase_order' document is now marked, indicating this document is
now sent.
InterProcs Designer: Joint Procedure Graphs p. 17
Figure 26. Simple Joint Procedure, Continue Execution
Note: we can turn off the display of documents during execution by selecting the Show Docs
on Send item in the Go menu of the home window, as shown here. This is a switch that
toggles on/off each time it is selected.
Figure 27. Simple Joint Procedure, Turn Off Document Display
As you continue to press NEXT ACTION, the simulation will continue with the next enabled
action (where input places are all marked). Following the state shown here, the
po_acknowledgement document will be sent.
InterProcs Designer: Joint Procedure Graphs p. 18
F
igure 28. Simple Joint Procedure, Further Execution
Here the 'po_acknowledgement' is being sent. Next it will be received by the 'buyer', and the
scenario is done.
InterProcs Designer: Joint Procedure Graphs p. 19
Figure 29. Simple Joint Procedure, Further Execution
Figure 30. Simple Joint Procedure, Execution DONE!
InterProcs Designer: Joint Procedure Graphs p. 20
Here the scenario is done -- no further actions are enabled. Also, the 'NEXT ACTION' button
changes to 'DONE!'.
Converting to Role Procedures
From the current Joint Activity Graph, one can automatically generate the separate Role
Procedures. To do this, just click on the button, 'ReGenerate Role Procs' as indicated by the
arrow in Figure 31.
Fi
Figure 31. Simple Joint Procedure, Regenerate Role Procedures
You will see a confirmation box as shown here. This is a warning that all the currently defined
role procedures are about to be replace. Click 'Yes' to continue.
InterProcs Designer: Joint Procedure Graphs p. 21
Figure 32. Regenerate Role Procedures, Confirmation Message
Figure 33. Generated Role Procedure: Buyer
Figure 34. Generated Role Procedure: Seller
That's it ... please let us know if you have any questions or comments.
Ronald M. Lee
InterProcs Designer: Joint Procedure Graphs p. 22
Erasmus University Research Institute for Decision and Information Systems (EURIDIS)
Erasmus University
Rotterdam, The Netherlands
InterProcs is available at:
http://abduction.euridis.fbk.eur.nl/projects/InterProcs.html
Please send comments to:
euridis@fac.fbk.eur.nl
InterProcs Designer: Joint Procedure Graphs p. 23