Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ OverviewStatistical FORTRAN programsMultiple Variate Counter program (MVC)ASCOP Statistical Computing ProcedureASCOP inputAnimal feeding trialsBOMM Time Series AnalysisBode's LawLinear and non-linear programmingProblems encountered in archaeologyMedical surveysGeological data banksThe G-EXEC system: DesignG-EXEC: System capabilitiesPreparation of data for analysis by machine
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLApplicationsApplied Maths :: Applied Mathematics and Statistics at Atlas
ACLApplicationsApplied Maths :: Applied Mathematics and Statistics at Atlas
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
Statistical FORTRAN programs
Multiple Variate Counter program (MVC)
ASCOP Statistical Computing Procedure
ASCOP input
Animal feeding trials
BOMM Time Series Analysis
Bode's Law
Linear and non-linear programming
Problems encountered in archaeology
Medical surveys
Geological data banks
The G-EXEC system: Design
G-EXEC: System capabilities
Preparation of data for analysis by machine

G-EXEC System Capabilities

WHAT IS G-EXEC?

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.

DATABASE MANAGEMENT

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.

DATA MANIPULATION AND COMMUNICATION

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.

DATA TRANSFORMATIONS

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.

STATISTICS

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.

GRAPHICS

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.

MODELLING

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.

PROBLEM-SOLVING WITH G-EXEC

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.

SCIENTIFIC DATA HANDLING

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.

ADMINISTRATIVE DATA HANDLING

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.

ABBREVIATED LIST OF PROGRAMS IN THE G-EXEC SYSTEM

DATABASE MANAGEMENT
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
DATA MANIPULATION AND COMMUNICATION
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
NUMERICAL TRANSFORMATIONS
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
STATISTICS
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
GRAPHICS
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
MODELLING
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.

THE HIGH-LEVEL LANGUAGE OF G-EXEC

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.

SOFTWARE

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: THE RELATIONAL DATA BASE

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:

RELATIONAL
The files are linked by data content;
INSTALLATION INDEPENDENT
All files are single operating system files as far as the host machine is concerned;
EASILY RESTRUCTURED
New index files can be created at any time to give new user views of the data;
EASILY EXTENDED
New G-STAR files are incorporated by extending the index file.

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.

PROBLEM SOLVING WITH 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:

EASY TO EXTEND
New process programs can be written around standard skeletons by a G-EXEC programmer (familiar with FORTRAN) and added to the library;
EASY TO MAINTAIN
Any G-EXEC programmer will be able to read modify any process program.

The lower level modules are installed by the central G-EXEC team.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site