VD3:[VAX90B.RAGOSTA.ADAM]AAAREADME.ADAM;14 ADAM ADAM is the super text editor developed from DEC's EVE editor. Both EVE and ADAM are written in the TPU language (ADAM calls a small amount of FORTRAN and MACRO). ADAM was created to correct weaknesses in EVE. During the course of development many enhancements have been made to increase productivity. One set of routines is specifically to aid in FORTRAN and DCL source code development. The ADAM manual (ADAM.DOC in this directory) lists all features unique to ADAM and those features which behave differently in ADAM than in EVE. The EVE manual remains a major reference for ADAM. One feature of ADAM that deserves special comment is the HELP MERLIB command of the FRED dialect. This HELP command returns interface information for the ARTA-wide programmer's library (MERLIB). This library is available through ARTA and DECUS as part of the FORTRAN Programming Tools package. The file LADAM.COM is a procedure used to maintain text and object libraries of FORTRAN source code. Initialization files are now provided for partial ADAM emulation using the public-domain Amiga editor DME (by Matt Dillon - DME.EDRC) and the shareware IBM PC editor PC Write (by QUICKSOFT - ED.DEF). The file ADAM.INSTALL gives full instructions for installing ADAM. Due to a major change in the way DEC builds EVE, the full source code for ADAM is now included in this directory, EXCEPT FOR THE UNMODIFIED EVE SOURCE CODE (which can be found in SYS$COMMON:[SYSHLP.EXAMPLES]). There are deletions from these files (see documentation). There remains a small amount of modified EVE code (due to the nature of the BUILD procedure). The changes are described in EVE.CHANGES and are small enough to be correctly reconstituted from the instructions given. Arthur E. Ragosta Laura E. Jurgeleit RAGOSTA%MRL.SPAN@AMES.ARC.NASA.GOV JURGELEIT%MRL.SPAN@AMES.ARC.NASA.GOV MS 219-3 NASA Ames Research Center Moffett Field, Ca. 94035 (415) 604-5558 VD3:[VAX90B.RAGOSTA.FPT]AAAREADME.FIRST;1 FORTRAN Programming Tools Release III.7 Submitted by Art Ragosta and Laura Jurgeleit US Army Aviation Research and Technology Activity RAGOSTA@MRL.SPAN.NASA.GOV NASA Ames Research Center MS 219-3 Moffett Field, Calif 94035-1099 (415) 604-5558/5578 This package contains a set of programming tools of either general interest or specifically aimed at FORTRAN 77 users. Although many of the tools are transportable, some of the programs and all of the command files are specific to the VAX family running VMS version 4.0 or higher. The following tools are included : BUGOUT - a system for the debugging and optimization of FORTRAN source codes. This package was developed for the determination of coding problems that could result in addressing errors (e.g., COMMON blocks of different lengths in different routines, CALL statements with more or fewer arguments than the SUBROUTINE statement); on a VAX, these errors normally result in an access violation. Additional capabilities include automatic compilation with /DEBUG=BOUNDS, continual traceback printout, proper initialization and use of variables, and CPU time used by each subprogram. CHECK72 - a program to verify that no text has been typed beyond column 72 (or 80) of a FORTRAN source deck (or other file). CLEANUP - a source-code cleanup and structuring utility for FORTRAN 77. DOUBLE - a program to list two files side-by-side on a VT100-compatible terminal. EIGHTY - a program used to crunch a text file whose records are longer than 80 columns into 80 columns. UNEIGHTY restores the records to full length. (This program was written because our HASP communications will not transfer files with records longer than 80 columns.) FIFE - the Friendly, Interactive FORTRAN Environment is a general purpose executive program for development of flexible, user-friendly systems. The user interface is command-oriented (maybe an optional menu-based interface will be provided in the future) and has been found to meet with good user acceptance. Modules and new commands can be added with great ease. This version is preliminary but has already been found to be quite usable. FILTER - a program to replace text strings with other text strings, perform tab replacement, 8 bit zeroing, etc. FLS, FS - .COM files used to submit FORTRAN compiles to the batch queues. FORTLIST - a useful listing program that formats a FORTRAN file, produces a listing with page numbers and dates, and creates a table of contents and index by subprogram name. FORTVMS - a program for reformatting a file with FORTRAN-compatible carriage controls into a VMS-standard listing format. GROK - returns number of characters, words, lines, carriage control type, length of longest line, length of longest page, and existence of TABs. INCLUDER - replace INCLUDE statements in a source code with the file referenced. MERLIB - a library of FORTRAN and MACRO routines that provide useful capabilities for FORTRAN programmers. This library can also be linked to any language that is capable of supporting the FORTRAN interface on the VAX. See MERLIB.DOC for the MANY routines included. NAMEIO - a program to replace NAMELIST I/O with transportable, FORTRAN 77 code. REORDER - a program to reorder the subprograms in a source file. RPURGE - Reverse PURGE command. Deletes all but the OLDEST file that matches the specification. SEND - a nifty little send_message_to_username routine used by some of the batch procedures. SMALL - a program to break up big text files for transfer by mail, floppy disk, etc. SPLIT - a program to split FORTRAN source codes into subprograms. STRIP72 - a program to remove all characters beyond column 72 and remove trailing blanks. STRIP removes all trailing blanks only. STUB - a program to create dummy subprograms with a standard format prologue of comment cards. TOUCH - change a file's revision date to the current date/time. VMSFORT - a program for reformatting a file with VMS-standard carriage control to the FORTRAN-compatible control characters. Notes : A. All other programs are the exclusive work of the submitters except FORTLIST which was based on a program written by Ed Austin at the Applied Technology Laboratory, Ft. Eustis, Va. and later modified by the submitters and Koreen Clay of the Technology Development Corporation. B. We attempted to make the user interface of all of the tools as similar as possible and followed VMS standard procedures when applicable. We generally avoid the CLI routines as it is much easier to transport the FOREIGN command interpretation than the CLI syntax. C. All routines in the MERLIB library are similarly the work of the submitters except as noted in B, above. Some of the algorithms were derived from text books; these routines are referenced in the source code. Some routines were based upon routines found in DECUS releases; if the general functioning of the code is sufficiently similar to the original, the author of the original is noted. D. The .COM files are all designed to run from a system account accessed as logical name 'MERLIN:'. It will be necessary to change all references to MERLIN: to an appropriate directory or to define this logical name. E. See the file REVISIONS.TXT for the major changes since the previous release of this package. There are two documents of special note in this release of the tools package. They are PROGRAM.STD and LIFECYC.TXT. PROGRAM.STD is a set of programming standards developed for FORTRAN 77 programs. These standards are suggested on the basis of transportability, efficiency, and maintainability. It has been found that abiding by these standards, especially on large systems developed by multiple programmers, enhances these traits. The author is presenting these standards solely as a suggestion. I will neither defend nor modify the standards. It will be noted that most of the programs in this package abide to a large degree with these standards but, since many of the tools are not intended to be transportable, the transportability issue was less severe for this package. LIFECYC.TXT is a document describing the full life cycle of a software development project. This document was developed jointly by the submitter and Kristine Tischer, formerly of Computer Sciences Corporation. The descriptions in this document follow particular methodologies which are the subject of constant debate in the software industry. It is the opinion of the submitter that the exact methodology used is less important than the existence of a disciplined approach with adequate verification and documentation. Similarly to the programming standards, I will not defend nor maintain this document; it is provided on the belief that it may prove useful to people involved in large scale development efforts. The methodologies described can be found in detail in many books and magazine articles (some references are provided -- the references to government documents are largely relevant to the project for which the lifecycle analysis was prepared and are not, unfortunately, widely available). VD3:[VAX90B.RAGOSTA.KERMIT_TOOLS]AAAREADME.FIRST;1 This directory contains utilities that use MS-Kermit version 3.0 to automatically perform Vax to PC support such as printing files, checking for new mail, or sending a mail file. Checkout the file ARTA_UTIL.DOC for installation notes. VD3:[VAX90B.RAGOSTA.KRONOS]AAAREADME.FIRST;1 Kronos Scheduling System a.k.a. The Electronic System Manager The KRONOS system provides an environment for scheduling the submission of batch jobs that is easier and more functional than the SUBMIT/AFTER command. A detached process is created which wakes up every hour to check a data base for jobs that should be run. Jobs may be scheduled to run at a given time, on a given day of the week, on a given day of the month, on a given week day of the month, on a given day from the end of the month, every day, or every hour. A user-friendly interface program is provided to maintain the data base. Please don't tell my manager how much of the normal system monitoring is now done by Kronos. Clever batch jobs can be written to do most any repetitive task such as checking for excessive errors, monitoring DECNet usage, etc. The samples included here are actual jobs run on our system. No attempt has been made to correct system dependencies in the sample jobs, but I'm sure they are few and far between. Full user documentation (and degenerative programmer's documentation) is available in KRONOS.DOC. Please forward any bug fixes, enhancements, praise, complaints, etc. to the undersigned. Note: MERLIB.TLB/OLB is part of VAX-129, FORTRAN Programming Tools and is reproduced here for convenience only. Arthur E. Ragosta RAGOSTA%MRL.SPAN@IO.ARC.NASA.GOV or RAGOSTA@MRL.SPAN.NASA.GOV MS 219-3 NASA Ames Research Center Moffett Field, Ca. 94035 (415) 604-5558 VD3:[VAX90B.RAGOSTA.MAKE]AAAREADME.FIRST;1 This directory contains a modified version of Todd Aven's MAKE utility. The major change was to replace the SPAWN/NOWAIT command which actually does the compiling/linking/etc with a SUBMIT command. Minor bug fix too. See MAKE.DOC for full details. VD3:[VAX90B.RAGOSTA.MORE]AAAREADME.FIRST;1 Another modification to a Decus MORE utility that has been floating around for some time. Credits are given in the source code. Define a command: MORE :== $MORE or whatever. MORE "filename" then displays a text file a page at a time with additional features for searching, stepping, etc. See MORE.HLP for details. MORE.EXE is linked against the VAXC shareable library; BIG_MORE.EXE is linked with the standard library for those without the shareable library. If MORE is compiled with MORE2 defined, the program will require an input at the end of the last file in the list. This was done primarily so that this version of MORE could be used as the file viewer for DM (available on a number of Symposia tapes).