Download Implementing Activity Structures Process Modeling On Top Of The
Transcript
13
arguments. The arguments must be references to attributes defined for the classes of the parameters.
Examples:
edit[?f:DOCFILE]:
:
{ EDITOR editor ?f.contents }
;
proof[?f:DOCFILE]:
:
{ EDITOR proof ?f.contents }
;
Non-null conditions and effects in activity definitions are considered in section 10.
Tool definitions must be provided for each tool name used in an activity. These are similar in syntax to
classes, and are all subclasses of the built-in TOOL superclass. Like classes, these are provided as part of
the ASL input file, between the objectbase and end_objectbase keywords. Operations
correspond to distinct envelopes, using the operation name given in the activity body. The envelopes
must reside in the MARVEL/ASL environment directory, with the extension ".env"; it is not possible to use
full or relative pathnames, but only the filename prefix. An example is shown in figure 4-1.
objectbase
EDITOR :: superclass TOOL;
editor: string = editor;
proof: string = proof;
end
end_objectbase
rules
edit[?f:DOCFILE]:
:
{ EDITOR editor ?f.contents }
;
proof[?f:DOCFILE]:
:
{ EDITOR proof ?f.contents }
;
Figure 4-1: Tool and Activity Definitions
The translator implements control flow among ASL activities by generating appropriate conditions and
effects for the corresponding MSL rules. The examples in figures 4-2, 4-3 and 4-4 each show an activity
structure definition, followed by the rules similar to those that will be generated by the ASL translator. In
these examples, state1 and state2 are internal status attribute names automatically generated for the
translator; SO is always used as the name of the object representing the current activity structure. These
examples have been simplified for presentation. The ASL translator actually generates additional rules
where state0 indicates the status of the entire activity structure. It also includes no_forward and
no_backward directives on the condition and effect predicates, to prevent automatic triggering of
activities.
A structure object argument, SO, is always added to the rule’s argument list by the translator. Its class
name corresponds to the name of the activity structure. Each structure object class defines approximately