G-EXEC is an integrated collection of computer programs, developed over the past nine years in the Institute of Geological Sciences and in other component bodies of the Natural Environment Research Council in the U.K. It contains about 150 process programs most of which are applicable to a wide range of data types and subject areas.
All programs are usable via a simple set of conmands. The G-EXEC system is structured so that one program performs one logical task. Data may be transferred between programs in permanent or temporary files, all of which have the same self-describing file structure.
G-EXEC programs may be classified by function into:-
All programs are written in standard ANSI FORTRAN IV, and their portability from machine to machine has been established by implementation of the system on IBM, Univac, Honeywell. CDC, Amdahl, ICL, DEC (PDP-11 and VAX-11), Siemens, Data General, GEC 4085, and other computers.
The cornerstone of the G-EXEC system is a powerful suite of programs for full relational database management. G-EXEC is one of the few systems on the market with true relational database capabilities, and is probably the most mature, with a development history spanning nine years.
Every file in the system, be it data, dictionary, or index, has the sameG-STAR structure, with the first few records providing a complete description of the file contents. Files are organised as flat tables with data items identified by record and field (i.e. row and column). This form is identical to the relation used by Codd and other pioneers of relational database theory. Programs are provided to perform all of the basic relational functions, as well as to allow short cuts in many instances.
Files may be sorted on one or many fields, and linked by merging or by indexing using any field as the Key. Data can be retrieved selectively using simple equality or inequality tests, or using more complex tests coded by the user. Data may be stored if desired in a coded form and subsequently decoded through dictionary files which are otherwise identical in structure to normal data files.
Libraries of data may be distributed across different computers, across different database management systems, or across different storage media on the same computer. Programs are provided in G-EXEC to transfer data to and from different computers, systems, and media. For files within G-EXEC. a full range of report generation programs is also provided, for printing some or all of the contents of files, decoded if appropriate. and in a variety of formats. A number of additional utility programs are also included to assist in maintaining the integrity of a database and to handle G-EXEC system files such as system accounts and directories.
G-EXEC was developed initially for processing scientific (and thus principally numeric) data, and this is still an area of great strength in the system; accordingly, one of the important tasks to be performed is to compute mathematical transformations of the data. Simple arithmetic, trigonometric. and logarithmic functions are of course provided but more complex geographic co-ordinate and navigational transformations are also available. Programs are also included for averaging and sub-totalling by field or record (very useful for financial applications), for data type conversion (between numeric and alphanumeric), and for conversion of irregularly spaced data such as observations along a linear section into an equispaced form. The comparable two-and-three-dimensional functions are also provided.
G-EXEC includes a comprehensive selection of programs for univariate and multivariate statistics.
By using the communications facilities, it is also easy to transfer G-EXEC files to other systems for more specialised or more extensive processing than can be catered for within G-EXEC - thus storing data in G-EXEC files does not preclude its processing by packages such as BMD, SPSS, SAS, and GENSTAT.
G-EXEC provides a powerful but simply controlled graphic capability. A number of programs allow a wide range of map and graph outputs, including contour maps, greyscale plots, and (given suitable hardware) multi-colour shaded or line plots. as well as providing automated cartography facilities.
Models of spatial data may be constructed, manipulated, and displayed by a suite of programs within G-EXEC. Models are stored (in standard G-EXEC files) as rectangular figure-fields or grids which may be combined, filtered, or plotted in a wide variety of ways. Programs are also provided to translate files between figure-field and full relational forms. Figure-field files may be generated using a selection of different interpolation algorithms including moving average, random block kriging, and nonparametric estimation.
The integrated process program design of G-EXEC allows easy construction of jobs as sequences of program steps. The G-EXEC controller is a program generator which provides direct translation from a systems analysis expressed in terms of G-EXEC command language into the executable FORTRAN program. The system is designed such that (if an application requires) data management, transformation, statistics, and graphics may all be intermixed in a single run.
When a job has been constructed using a sequence of G-EXEC commands, the executive controller program checks it for syntax errors, and generates a second-stage job to be run in batch mode. The controller itself may be either a batch or an interactive program as required, subject to operating system constraints.
Because G-EXEC includes full relational database management facilities as a subset, any required reorganisation of data is possible, and databases may be configured as single files, as multiple files linked by indexes, or as multiple files merged only as required. Files are linked using keyfields selected by the user, and no artificial pointers or keys need be generated.
G-EXEC was developed as a system far managing and processing scientific databases, and this is still its main function within the UK Natural Environment Research Council and the Science and Engineering Research Council. Users include scientists in:
Other implementations of G-EXEC have included the Netherlands Soil Survey, the geological survey departments of Indonesia, Saudi Arabia, Ecuador, and Costa Rica, as well as the Geological Survey of Queensland and the University of Edmonton, Alberta. Much of the emphasis in most of these implementations has been in the field of mineral exploration. where the combination of database management, statistics, modelling, and graphics, has been very effectively applied. MICL staff were responsible for the implementations in Indonesia, Saudi Arabia, Ecuador, and Costa Rica, as well as on the Honeywell computer at NERC's own Merseyside computing centre.
Within NERC, G-EXEC has also come to be used for many administrative tasks, including the compilation of telephone directories, and a variety of accounting and financial estimation applications. In these areas it 1s the system's database, utility programs, and report generation facilities which are of greatest use.
GAPPND Append two files with matching fields GINTOF Relational 'UNION', appending GSETDO Reset DO to correct values GPRJCT Relational 'PROJECT' GDELSB Relational 'DIFFERENCE', deletion of records GUTL04 Set up a new index GINDEX Index a file into an existing index GUPDCF Sort out a file of insert and amend records GINSSB Relational 'UNION', insertion of records GAMNSB Database amend of records GSUBST Relational 'JOIN', subset, keyfields unique GSBSCT Relational 'JOIN', subset keyfields non-unique GSUPER Relational 'JOIN', superset, keyfields unique GSPSCT Relational 'JOIN', superset, keyfields non-unique GRETSB Relational 'SELECT', by retrieval keyword GSLECT Relational 'SELECT', by sorted key range GRETXY Relational 'SELECT', by geographical area GRETVR Relational 'SELECT', multifile, by retrieval keyword GRETSQ Relational 'SELECT', with in-line FORTRAN GSORT3 Sort on a single keyfield GSORT4 Sort on multiple fields
GINPUT Input file in standard fixed format GINPFF Input free-format file GFIL01 Output file in G-SEND communication format GCMUSA Output file in USGS GRASP format GCMUS1 Input file in USGS GRASP format GDISKG Transfer file from archive tape to disk GMTAPG Transfer file from disk to archive tape GJNFLD Combine several fields into a single field GUTL02 Copy a file on disk GZAPDD Replace whole DD in file GADFL1 Add one field to a file GPREP7 Input attribute/value format file GPRNTW Print a file in standard format GXEROX Report generation GRPGEN Report generation GXERA4 Report generation without dictionary decode GTRADN Dictionary decode or encode of one or more fields
GTRANG General mathematical transformations GSTEP1 Equispace data by step function GEQSP Equispace data by interpolation GFFXYZ Convert figure-field to relational file GXYZFF Convert relational to figure-field file GDIREL Compute directions of lines GDGCON Convert degrees, minutes, seconds to/from minutes GLLNGR Convert lat/long to and from UK National Grid Convert GLLUTM Convert lat/long to and from UTM projection GLOGTR Logarithmic transformation GTRANS Normalise a numeric dataset GDETEC Test and adjust detection limits GJSTFY Left or right justify alphanumeric fields GFLROT Rotate matrix GDEPTH Compute a running total within subsets of file GRGREC Transpose columns to rows within constant key GTOTAL Compute totals GSUBTL Compute sub-totals GTOTAV Compute totals and averages GABSN Delete or substitute for missing data
GSTATA Univariate summary statistics GSTATB Correlation matrix GLRING Linear regression GMALRA Major-axis linear regression GPOLYN Polynomial regression GRMLT1 Multiple regression GPCAAA Principal components analysis GPCAAQ Principal components analysis, Q-mode GCLUSR Cluster analysis, R-mode GCLUSQ Cluster analysis, Q-mode GFACT Factor analysis, R-mode GFACTQ Factor analysis, Q-mode GNLM Nonlinear mapping, Q-mode GRNLM Nonlinear mapping, R-mode GAUTCR Autocorrelation GAUTC3 Autocorrelation, 3-dimensional GCRCRL Cross-correlation GXASOC Cross-association GSEGMT Discontinuity analysis GAUTV3 Variogram, 3-dimensional GPTREN Polynomial trend surface analysis GISA01 Non parametric indicator species analysis
GTRIAN Plot triangular diagram on lineprinter GTRIAD Plot triangular diagram on plotter GSTERL Plot stereo projection on lineprinter GPLTAC Plot wiggly-line data on lineprinter GRAPH1 Plot points on graph GRAPH2 Plot points with annotation GRAPH3 Plot points with varying symbols GRAPH4 Plot points with variable size symbols GRAPH5 Plot points connecting line and optional superimposed linear regression GRAPH6 Plot points with connecting line and optional superimposed polynomial regression GMAPT1 Plot points on map GMAPT2 Plot points on map with annotation GMAPT3 Plot points on map with varying symbols GMAPT4 Plot points on map with variable size symbols GMAPT7 Plot points on map with variable size symbols according to user defined histogram GHISTA Plot histogram and summary statistics GFILM1 Plot multiple frames for movie film GARRDM Plot arrows at defined points, with varying length and direction GOUTLN Plot outline map GMAPGS Plot grey-scale map GREYPL Plot grey-scale map on lineprinter GFFPRT Plot grey-scale map on lineprinter
GJRID1 Generate figure-field model GKRIGE Generate figure-field by kriging GJRIDM Generate figure-field by nonparametric algorithm GFFLAP Filter a model, with choice of functions GFFADD Add two models GFFSUB Subtract one model from another GFFMAX Compute maximum of two surface models GFFMIN Compute minimum of two surface models GFFMUL Multiply two models GFFDIV Divide two models GFFMAP Plot a model on plotter or display GFFPRT Plot a model on lineprinter GFFOVR Overlay one model on another GFFMSK Mask one model by another GFFSCT Plot sections through a model GFFZRO Create a zero model GFFSTA Compute statistics on a model surface
The above list is by no means complete, but most of the more important programs are included. Because the G-EXEC system is undergoing constant development, there will from time to time be replacements for a number of these proqrams, However, any programs replaced remain available for use and may have significant advantages in terms of reliability.
There are three executive commands in G-EXEC:
FIND - locate a file. eg FIND PAYROLL1 PERSONNEL FILE (find the named file) FIND TEMPFILE (find the temporary file) MAKE - make a file, eg MAKE PAYROLL2 SALARY FILE (create the named file) MAKE CARDFILE (punch output) EXEC - perform a process, eg EXEC GRETSB (execute the named process program) For data retrieval, some extra commands are provided: WHEN (numeric limits on a value), ALPH (alphabetic limits on a value), WORD (text match}, HOLD (specifies the fields to be held in the retrieved file). eq WHEN XCOORDTE . GE. 30. LE. 2000 HOLD XCOORDTE, YCOORDTE, HEIGHT
These simple commands enable non-programmers to apply computing techniques effectively to their problems. There is a high power ratio between a G-EXEC command and the computing activity it generates, enabling thoughts to be translated into action with minimum staff effort.
The G-EXEC software is designed top-down and built bottom-up. The lowest level modules dealing with input/output are used by nearly all programs and routines of increasing complexity rest on these in turn. The top layer of modules are the PROCESS PROGRAMS and each performs one logical sub-task, such as retrieval or sorting or plotting. Each process program corresponds to an EXEC command for the user.
All G-EXEC software is written in ANSI FORTRAN IV to the same structured. modular design. The system is INTEGRATED: processes may be performed in any order on any G-STAR data files. The wide range of processes available have been grouped into packages for ease of description.
G-PREP Preprocessing G-POST Post processing G-STAR Storage and Retrieval G-PLOT Display G-VET Vetting and Validation G-UTIL Utilities (copy, sort, merge} G-ANAL Statistical Analysis G-SIM Simulation of Geochemica I Data G-TRAN Transfonnat ions G-COMM Cotmmunication with other Systems
Data bases are formed within G-EXEC by linking sets of G-STAR files with an index file. The link is established through a field common to the set of files: this common field is called the KEY. It is the index file alone that defines the structure of each data base. Artificial keys are not added and there are no internal pointers.
G-EXEC data bases are:
A given G-STAR file can be part of any number of data bases without replication. G-EXEC is data structure independent. Sparse information about a complex system can be efficiently machine-stored under G-EXEC.
G-EXEC provides both data handling and data analysis facilities. The data analysis facilities can be used on single G-STAR files as well as on complete data bases.
The first step in solving a major problem is TASK ANALYSIS. The problem must be broken down into logical sub-tasks, each of which corresponds to a process program in G-EXEC.
The data base appropriate to the problem must be built up. As data becomes available on one aspect, a G-STAR file is established and analysed to ensure suitable key information exists in the data. Archives are established at defined stages.
There are over 150 process programs currently available and these are fully documented in the G-EXEC USER'S MANUAL.
The structure of all process programs is standardised and this means that the G-EXEC system is:
The lower level modules are installed by the central G-EXEC team.