Skip to content
Mike Bergsma edited this page Aug 1, 2014 · 5 revisions

Pre-install

You should first save the current contents of AEQ_SSP: in another area as you will be overwriting its contents.

Obtaining the Source Code

Download the source code.

The package consists of all ASCII files. These files have been tar'ed and gzip'ed into a binary file called code.tgz, which was created on a UNIX (Linux) system using the command:

tar -cvzf code.tgz code

Unpacking the Distribution

Case 1: From a UNIX system

Copy the binary package to a temporary directory and unpack it.

tar -xvzf code.tgz

Ftp the files to your VMS system.

cd code  
ftp <vms_host_name>
Username: xxxxxx  
Password: xxxxxx  
ftp> cd aeq_ssp:  
ftp> prompt  
ftp> ascii  
ftp> mput

Case 2: From a WINDOWS system

Using WINZIP shareware or other compression utility, unpack the ascii files into a temporary directory.

Using an transfer method that does not mess up the linefeed characters in the ascii file, transfer the files to the VMS aeq_ssp directory.

Note: Using the standard FTP utility that comes with WIndows does not properly transfer ascii files to UNIX or VMS systems, linefeed characters are lost. Reflections FTP may not have this problem.

Pre-Build

Patching The PROMIS Source Code

Run the install utility which patches the PROMIS source files. The patch program should work for PROMIS systems 5.2 through 5.6.

The installation procedure "INSTALL.COM" patches your PROMIS source files. It makes assumptions about what the sources should look like. If any of your PROMIS sources are not what is expected, the patch will fail on that source file. You can easily create an additional patch file for any failures.

For example, there are two patch files for UAF:AUTH.FOR, which are AUTH.PAT and AUTH.PAT2. The patch program tries each patch file until it is successful.

It is recommended that you patch each of the PROMIS files one at a time.

$ set def AEQ_SSP:  
$ @INSTALL AEQSTART  
$ @INSTALL AEQSTOP  
$ @INSTALL ABORTSTEP  
$ @INSTALL AEQSSP  
$ @INSTALL AUTH  
$ @INSTALL ENTERDATA  
$ @INSTALL EXPUTIL  
$ @INSTALL GETTOKEN  
$ @INSTALL INFO  
$ @INSTALL INQUIRE  
$ @INSTALL LOTTRMENU  
$ @INSTALL OPERMENU  
$ @INSTALL SEARCH  
$ @INSTALL TKIN  
$ @INSTALL TRACKOUT  
$ @INSTALL UAFDEF

Procedure to Create a New Patch File

In the file, there are 3 segments:

BS,BE - segment that must match before the patch insert
IS,IE - the inserted segment
ES,EE - segment that must match after the insert

For example, the file ABORTSTEP.PAT patches the file LOT:ABORTSTEP.FOR.

>BS  
! Prompt operator for optional step comment.  
call Gut_Check (Gut_Currentim (time))  
!TXT COMMENTFORABORTSTEP 'Enter comment for aborted step'  
call Lot_AddCommnt_GetComments (actl,  
&     
        Txt_Fetch(TX_COMMENTFORABORTSTEP),  
&     time)  
>BE  
>IS  
!B-HS!  
call aeqSsp_autoMan_abort ( lot_lotCom_userId )  
!E-HS!  
>IE  
>ES  
! Get the time stamp  
call Gut_Check (Gut_Currentim (time) )  
>EE  

Building HS into PROMIS

Testing Prior to Submitting a Build

Although a full build could be submitted at this time, it is wise to check that the compile and link phases will proceed without and errors. Perform the following steps:

Check that standalone HS compiles and links.

$ set def aeq_ssp:  
$ set ver  
$ @build_hs

If you saw no errors, then a full PROMIS build should work.

Submitting a PROMIS full build

A full build is necessary to integrate all the HS and automation components.

Post-Install

Configuring the Run-Time Environment

The file aeq_ssp:config.com must be created from a template and then edited to setup the automation directories and logicals. The instructions are included in the file.

$ set def aeq_ssp  
$ copy config_template.com config.com  
$ edit config.com  

...just follow the instructions in the file.

Creating a TCP/IP Service for the hs "root"

This procedure is simple in concept. Edit the file "/etc/services" and insert the line:

autorouter 7001/tcp& # autorouter`

In actuality, the "/etc/services" file is not apparent on a VMS system. Its existence and location depends on which TCP/IP stack service you have installed.

  • Wollongong
    Modify the file "SERVICES" in twg$common:[netdist.etc]
  • UCX
    $ UCX set service autorouter -/port=7001/user=\*/proc=""/file=nl:

Testing Embedded HS within PROMIS

Start up your PROMIS system.

Initially, hyperScript is only available on the superuser account.

Type '##' to see if it was built into PROMIS.

For other PROMIS accounts, set the "hs" flag under PROMIS user authorization.

Configuring Config.COM

In the AEQ_SSP directory, copy the file CONFIG_TEMPLATE.COM to CONFIG.COM, then edit CONFIG.COM and customize it for your environment.

The CONFIG.COM file consists of parallel arrays of identifiers that you must set the environemnt variables. The default set of arrays are:

$ list_user = "/PROMISOPS/PROMISDEV/PROMISTST/"
$ list_node    = "/*/*/*/"  
$ list_where   = "/PRIMARY/PRIMARY/PRIMARY/"  
$ list_system  = "/OPS/DEV/TST/"  
$ list_run     = "/AEQ_SSP:/AEQ_SSP:/AEQ_SSP:/"  
$ list_log     = "/AEQ_SSP:/AEQ_SSP:/AEQ_SSP:/"  
$ list_det     = "/tp_info:tp_semy/tp_info:tp_canon/tp_info:tp_semy/  
$ list_auto    = "/YES/NO/YES/"  
$ list_fifo    = "/mbx/mbx/mbx/"  
$ list_router  = "/router/router/router/"

Allowed Run Account

These are the names of the PROMIS account that can run automation. Each entry represents one host, thus If there are more than one PROMIS account on a specific host, you must only choose one.

$ ! There can only be one AUTOROUTER per node.  
$ ! This command procedure assumes two nodes, production and development  
$ ! Add more nodes as needed.  
$ !  
$ ! 1\. Allowed run account  
$ list\_user = "/PROMISOPS/PROMISDEV/PROMISTST/"  
$

Allowed Node Names

These are the hosts names in which automation is enabled. Put a * if the host name does not matter.

$ ! 2\. Allowed node name. Put "\*" if node name does not matter.  
$ list\_node = "/\*/\*/\*/"

Allowed Primary or Secondary

If automation is only allowed on PRIMARY or SECONDARY, then this should be specified, otherwise put a *..

$ ! 3\. Primary or Secondary. Put "\*" if doesn't matter.  
$ list\_where = "/PRIMARY/PRIMARY/PRIMARY/"

Allowed PROMIS System Name (PROMIS_SYSTEMNAME)

The name of the PROMIS System in which automation is enabled, otherwise put a *..

$ ! 4\. Allowed promis system name. Put "\*" if promis name does not 
matter.  
$ list\_system = "/OPS/DEV/TST/"

AUTORUN directory

The directory in which the HS programs (.HYP and .SCR) files will reside, as well as .COM procedures to start up TP HS processes. It should be GROUP read/execute.

It is recommened that you don't use AEQ_SSP for the AUTORUN directory. Also, separate production from development.

$ ! 5\. AutoRun directory, where services are found, including autorouter  
$ defaultRun = "''f$trnlnm(""AEQ\_SSP"")'" - "\]" + ".RUN\]"  
$ list\_run = "/AEQ\_SSP:/AEQ\_SSP:/AEQ\_SSP:/"

AUTOLOG directory

This directory is where the log files go. It should be GROUP write so that PROMIS users can write to it.

$ ! 6\. AutoLog directory.  
$ defaultLog = "''f$trnlnm(""AEQ\_SSP"")'" - "\]" + ".LOG\]"   
$ list\_log = "/AEQ\_SSP:/AEQ\_SSP:/AEQ\_SSP:/"

TP Processes to Run

These are the TP HS programs that should startup when automation starts up. Separate each process with a ":". Each automation environement can have its own unique set of TP processes.

$ ! 7\. List of detached services to start up. Separate with ":"  
$ defaultDet = "::"  
$ list\_det = "/''defaultDet'/''defaultDet'/''defaultDet'/"

Default Automation State

After automation starts up, is AutoMan enabled or disabled. This switch controls that initial state.

$ ! 8\. Whether OPTION\_AUTO should be set to YES or NO  
$ default\_auto = "NO"  
$ list\_auto = "/YES/NO/YES/"

MAILBOX Name Prefix

The prefix of the VMS mailbox is often specified as "MBX", although something like "FA" would also be an acceptable choice. Don't make the prefix too large.

$ ! 9\. Fifo directory. In VMS, this is the prefix for mailbox names".  
$ defaultFifo = "mbx"  
$ list\_fifo = "/''defaultFifo'/''defaultFifo'/''defaultFifo'/"

ROOT HS Name

This determines the name of the "root" HS. The name "router" is historically what has been used, but any name is acceptable.

$ ! 10\. Route node name. In VMS, this is the next part of the mailbox 
name, the root node  
$ defaultRouter = "router"  
$ list\_router = "/''defaultRouter'/''defaultRouter'/''defaultRouter'/"

AUTOSPOOL directory

This directory is where the unsolicited SECS message files go. It should be GROUP write so that PROMIS users can write to it.

$ ! 6\. AutoSpool directory.  
$ defaultLog = "''f$trnlnm(""AEQ\_SSP"")'" - "\]" + ".SPOOL\]"   
$ list\_log = "/AEQ\_SSP:/AEQ\_SSP:/AEQ\_SSP:/"

Initializing the AUTORUN directory

The first files you will copy to AUTORUN is the command procedures and hs for the root hs process. If you named your root hs "fa", then copy aeq_ssp:router.com to AUTORUN:.COM and aeq_ssp:router.hyp to AUTORUN:fa.hyp.

After editing AUTORUN:FA.COM, it should look something like this:

$ ! AEQ_SSP:FA.COM  
$ !  
$ ! Usage: Runs the ROOT which routes AbInitio Protocol messages  
$ !  
$ set ver  
$ set noon  
$  
$ if ( f$search ( "aeq_ssp:config.com" ) .nes. "" )  
$ then  
$   @aeq_ssp:config  
$ else  
$   @aeq_ssp:config_template  
$ endif  
$  
$ if ( .not. allowAutoRouter ) then $ exit  
$  
$RESTART:  
$ set proc/prio=6  
$ hse :==$aeq_ssp:hss  
$ sh time  
$ hse -r -t fa -n autorouter -f autorun:fa.hyp -l autolog:router_start.log  
$ show time  
$ !!!goto RESTART  
$  
$ define/group/nolog OPTION_AUTO NO  
$  
$ exit

Starting up Automation

$ set def aeq_ssp  
$ @autostart
Clone this wiki locally