into a relational database. The database is later ana-
lysed using in-house written queries.

DZCpx
 »1.«

    DZCpx   CUSTOM   GRAPH
              «o<r: nrnoi
H.t.: ll-ru-l»)3 «(:tt-!«;M |U H. Hrttxl)

O.M
1.10
0.30
0.20
(.10-

y^A

 "    "    i'""uni?isii    u    i)
                          —irclucisnu
________            _BC«OB

             figure 4
DECtrace images - CPU utilisation

CALL OF EPC
PROGRAM.

SERVICE ROUTINES FROM A

 The following section is specific to the VAX/VMS
 environment. It was added to demonstrate how to
 collect raw data for SPC in the VAX/VMS environ-
 ment using the layered product EPC . We suspect it
 will be of interest primarily to technical people using
 VAX/VMS. Other readers may well prefer to skip the
 following section and continue from part 5 of this
paper. Skipping the following section will have no
effect on your understanding of TQM.
To call EPC  service routines from a program, the
following steps have to be followed:
Step 1 - definition
Define the system (PUMAJ>ICS,GL) and its events
(Redemption. Client Inquiry, Transfers etc.) in the
EPC  administration database, as in the following
Digital Command Language (DCL) example:

$ collect create definition-
Puma_epc 4010
/version="V1.0"/replace/options- item
End_status longword -
/char=printable/id=l/usage type=private -
item Try count word -      ~
/char=prlntable/id=2/usage type=counter-
item Is_firstword -        ~
/char=printable/id=3/usage_type=counter event-
 Ref_num /id=l - /items=(resource itemsT -
/start_event=(resource_items) -  ~
/end_eyent=(resource_items) event Bg process-
iwz /items=(resource items. End stitus
Try_count,- Isfirst)- -
/start_event=(resource_items) - /end event=-
(resource_items,End_status,Try_coLint7ls_first

The last event has three in house defined items in
addition to 'resource_items' supplied by DEC.

   EPC is supplied with several entries which can be
   called by a third generation language (3GL) such as
   VAX-COBOL. A 4GL such as PowerHouse can not
   call EPC directly, but may call a 3GL program which
   calls EPC  (only some modules of PowerHouse can
   call external programs). Some 4GLs such as DEC
   RALLY, FOCUS for VMS and Smart Star are
   supplied by the vendor with calls to EPC  service
   routines. PTA uses only the three EPC entry points de-
   scribed in steps 2,3 and 4:
  Step 2 - start EPC:
  To register a program in the EPC database issue the
  following call:
  call "epc$init" using
  by value 0,
  by value epc_facility_number,
  by descriptor facility_version,
  by descriptor registration id,
  by reference epc event flags list
  giving retcode        ~     -
  Issuing the call does not mean that the program
  statistics will be recorded. It only registers the fact of
  this program execution d now in the EPC  database.
  Collecting has to be started by an OPERATION (as
  explained in step 5 - schedule data collection). This
  CALL has to be done only once at the beginning of
  each executable image (main program).
 Step 3 - start an event
 To record the start of an event, call the asynchronous
 service routine  EPC$START_EVENT. It returns to
 the caller after initiating the $start_event processing
 without waiting for I/O to be completed, and thus does
 not influence the measured application response time.
 Call the EPC service routine  EPS STARTJE VENT
 using the following syntax:
 call "epc$start_event"
 using by value 0,
 by value epc_faciiity number,
 by value event_number,
 by reference event_handle,
 giving retcode
 Calls to EPC  must never ever have any interactive
 I/O bounded between the EPC_START_EVENT and
EPC_END_EVENT commands (So we will not
measure the length of a coffee break „.).
Step 4 - end an event
To record the resources consumed by the process at
the end of an event, call the asynchronous EPC
service routine EPCSENDJEVENT.  It returns to the
caller after initiating the end event processing without
waiting for I/O to be completed, and thus does not
influence the measured application response time.

105