BRITISH COMPUTER SOCIETY - FORTRAN SPECIALIST GROUP


Minutes of Meeting held at ULCC on Monday, 7 February 1983


Present:        M J Appleford   : OVE ARUP Partnership

K Bicknell      : Rothamsted Experimental Station

P D Bond        : Philips Electronics

S G Brazier     : United Glass PLC

K K Brodlie     : Leicester University

C J Cartledge   : University of Salford

B J Conway      : UK Met Office, Bracknell

T Daalech       : ECMWF

M L Dale        : Scottish Special Housing Association

W R Dines       : UKAEA (substitute for Colin Mackinnon)

R J Ellis       : UK Met Office, Bracknell

S Frazer        : OVE ARUP

G Gibbs         : Clinical Research Centre, Harrow

J Gilbert       : ULCC

G L Harding     : ECM WF

I D Hill        : Medical Research Council

D J Holmes      : Rolls Royce Ltd (Bristol)

J Houlton       : Moss Consortium

A J Jobson      : ICI Engineering Dept, PO Box 14, Runcorn

C Lazou         : ULCC

C T Little      : UK Met Office, Bracknell

P Mackintosh    : OVE ARUP & Partners

B Meek          : Queen Elizabeth College

A Milazzo       : West Sussex CC

D T Muxworthy   : University of Edinburgh

K Norington     : Coventry Polytechnic

M Nunn          : CCTA

L L van Raalte  : MOD

H Rice          : Nat Inst Biol Stds & Control

S Robinson      : West Sussex CC/Moss Consortium

H R Simpson     : RES

D J Steinitz    : London Network Team

A Swarbrick     : UMIST

D M Vallance    : University of Salford

M Wheeler       : ULCC

J D Wilson      : Leicester University

S M Wise        : ULCC




Addresses:      Chairman        : John Wilson

  Computer Laboratory

  University of Leicester

  Leicester LE1 7RH


Secretary       : D M Vallance

  Computing Services

  University of Salford

  Salford M5 4WT



1.      APOLOGIES FOR ABSENCE


Apologies were received from Dr Alan Wilson (ICL).


2.      MINUTES OF PREVIOUS MEETING [29 November 1982]


Correction to item 2, 5(3) which is administered by the Specialist

Groups Board.


3.      MATTERS ARISING


The Secretary has not yet enquired whether BCS members are entitled to

a discount on ForTech Newsletter subscriptions and the meeting agreed

that this would not now be done.


The BCS has still not progressed the financial situation reported in

the previous minutes.


4.      BCS BUSINESS


A general communication has been received from the Dutch Fortran Specialist

Group. It was circulated at the meeting. The Secretary has received

a specific request from a member of that Group regarding details of the

recent compiler survey and the questionnaire used to produce it.


A new book, Fortran Optimisation by Mike Metcalf of CERN, has been

published recently by Academic Press. It has been reviewed in ACM.


NAG Ltd have indicated that the NAG library will not make use of Fortran 77

specific features until Mark 12, due for release in 1985. Concern was

expressed by the meeting that Fortran 77 compilers were still not widely

used. It was hoped that members of X3J3 would note this fact.


Mr Van Raalte had attended the recent BCS Specialist Group's Board Meeting,

deputising for the FSG Chairman. The main issues were:


        1) Funding  The FSG has submitted a bid for £250 for the

coming year. The criteria for determining the actual

amount of funding was not finalised at the meeting but

would depend on 'performance' criteria applied by the

BCS. The actual amount available to the FSG will not

be known until mid-year at the earliest.


        2) The Royal Charter  This was discussed extensively and

was available in draft form.


5.      X3J3 BUSINESS


The most effective way of keeping up-to-date with X3J3 is by receipt of

the X3J3 minutes. The Secretary receives a copy on behalf of the Group.

ForTech Forum also reports on X3J3 meetings. The summaries therein refer

to the X3J3 meeting held approximately 2 months before the ForTech Forum

publications date.


The next Fortran experts meeting will probably be held in Germany in

late 1983 or early 1984.


The most recent X3J3 minutes indicate that only limited progress has

been made on Fortran 8X since X3J3's previous meeting.


The view was voiced that the FSG should express its reservations

formally to X3J3 about the current state of Fortran 8X. There is an

ISO languages meeting in Canada at the end of September at which such

a view could be expressed. The possibility of preparing a brief

questionnaire for FSG members was discussed and David Muxworthy agreed

to prepare a draft in time for the April meeting.   Action D Muxworthy


6.      FORTRAN COMPILER CERTIFICATION - A PROPOSAL


The Chairman has received a letter from Mike Nunn, CCTA regarding

compiler standardisation. The text of the letter is reproduced below:


"As you probably know COBOL and PASCAL are having compiler

certification schemes set up in the UK at present. NCC

will test COBOL compilers using FCTC methodology and BSI

has a working group to validate PASCAL compilers with a

test suite based on the NPL/Tasmania University tests.

Clearly something is needed for FORTRAN also. Talking

to our Standards section it needs some user initiative to

set the ball rolling. If, for example, the BCS FORTRAN

group were to decide to write to our Standards Section

saying there was a need for FORTRAN compilers used in the

UK to be validated and asking Department of Industry to

initiate such a procedure I think it would get things off

the ground. Perhaps we could have this on the agenda for

the next meeting."


It was noted that Softool Corporation have produced a program verifier

similar to PFORT.


It was the opinion of those present that the Chairman should write to

DOI stating that there is an urgent need for such a validation procedure.

Action Chairman


7.      "BRITISH STANDARD FORTRAN" - A PROPOSAL


Brian Meek once again presented his proposal for "British Standard

Fortran". The technical content of "BSF" would be exactly that of

the current ANSI Fortran Standard, but the "Standard" would be more

rigorous in its requirements for conformity. The proposal had been

presented to BSI and is being considered in time for its next OIS5

meeting. The title of the proposal is "Method of specifying requirements

for Fortran language processors". Brian Meek hopes that OIS5's parent

committee will make it a "work item" which will lead to its being done.


The report in Computing, which wrongly referred to a proposed UK only

standard, was not the intention of the reporter: this headline had

been added by the Editor. Brian Meek's later letter had been

substantially altered by the editorial staff so that his original

intention was obscured.


8.      ANY OTHER BUSINESS


The Chairman invited nominations for FSG Officers in time for the AGM.


9.      NEXT MEETING


The next meeting of the Group will be the AGM which will be held at

BCS Headquarters on Monday, 11 April 1983, at 10.45 a.m.


10.     AFTERNOON SESSION


Ken Brodlie of Leicester University gave a talk entitled "GKS and FORTRAN".

Some notes on this talk appear as Appendix A of these minutes.






D M VALLANCE

15.2.83




Appendix A


GKS and Fortran


Dr K Brodlie, Leicester University


BACKGROUND


GKS

        Graphical Kernel System - functional specification of the kernel,

        or core, of a computer graphics system


Fortran binding for GKS


BACKGROUND


1976 : Computer graphics past the experimental stage - time to establish

       standards


Two classes of basic graphical software - in 1976 (and to-day!)


Software to drive particular devices


        e.g. Calcomp Basic Software


-> programs not portable between devices


Device-independent graphical packages


        e.g. GHOST, GINO-F, DISSPLA, .....


-> solves portability between devices, but proliferation of such packages

   prevents portability of application programs


Motivation for standardization:-


        portability of application software


Standard to be defined at the user level (of GINO-F), rather than device

level.


National activities started to define a standard for the kernel of a

device - independent computer graphics system.


Two main efforts:


        US ~ ACM SIGGRAPH GSPC CORE 1977

                                   1979

            3D - "large"


        West Germany - DIN GKS 1978


            2D - "smeller" [sic]


ISO working group established in late 1978.


late 1977      ISO TC97/SC5/WG2 established.


1978/79        WG2 tries to reconcile differences between GKS and CORE.


Oct 1979       WG2 puts forward GKS to ISO (GSPC disbanded - ANSI XH3 formed).


1980           Major technical review of GKS.

               GKS on ISO work item.


1981           Two further major technical reviews. All technical issues

               thought to be resolved.

               GKS on ISO draft proposal.


Jan 1982       GKS 7.0 published. ANSI vote NO !


July 1982      Another technical review - agreement again reached.


Dec 1982       GKS 7.2 published. ANSI vote YES.

               GKS on ISO draft standard.


1983           Language bindings (BASIC, FORTRAN) Metafiles. 3D.




GKS - BASIC PHILOSOPHY

philosophy diagram


So user Specifies


(a)        picture on abstract device


(b)        mapping of abstract device


     ->  one or more physical devices


list of output primitives and attributes


Segments


Primitives may be grouped into segments for:


        deletion/visibility/detectability/highlighting/transfer


Metafiles


Facility for long-term storage of graphical information, and for transfer

between graphics systems.


Input


Six classes:


        locator/valuator/choice/pick/string/stroke


Three modes: REQUEST/ SAMPLE /EVENT


Data structures


A feature of GKS is the extensive set of data structures that describe

the precise state of a GKS program.


        e.g.        current window

                current polyline index

                current character height

                .

                .

                .


Inquiry functions give the user access to these data structures.


Levels


GKS is organised in a level structure according to the capability of an

implementation.


Output level        0 : minimal output

                    1 : full output with 'device' segments

                    2 : full output with 'd-i' segments


LANGUAGE BINDING


GKS is a functional description of a computer graphics system


         POLYLINE


         Parameters:


         In Number of points        (2 .. n)        I

         In Coords of points        WC              n x P


         Effect:  A sequence of connected straight

                  lines is generated .....



Annex C gives rules for expressing abstract functions and data types in

the constructs of a particular language.


(1) All functions (except inquiries) atomic to application.


(2) Identities for each function.


(3) Data type for each GKS data type.


(4) How function is invoked, how parameters are passed.


Fortran


Language binding sponsored by DIN. Proposal currently out for comment.

Aim to have one 'international' Fortran binding.


Major decisions


(i)          Fortran 77.

(ii)         Subroutine library approach contract with Basic.

(iii)        Subroutines - not functions.


Names


Conflict between readability and the use of an abbreviation algorithm.


        e.g.

polyline disgram


Consensus for abbreviation algorithm - but work hard for good abbreviations.

Six characters is a problem !




Data types


        Integer                        INTEGER


        Real                           REAL


        String                         Input:  CHARACTER*(*) [, INTEGER]

                                       Output: CHARACTER*(*) ,INTEGER


        Point                          REAL,REAL


        Array of points                2 REAL ARRAYS


        Name                           INTEGER

(e.g. name of workstation

segment name)


        Enumeration type               INTEGER [O,1,..N-1]

(e.g. interior fill area style         + use of PARAMETER

HOLLOW,SO LID,PATTERN,MATCH)


        Data record                    INTEGER

                                       + m/c dep routines for packing/unpacking

                                       integers, reals, characters



Major problem + long parameter lists DIN have followed 1-1 Mapping

principle, even for inquiry routines.


INQUIRE CURRENT SETTING OF PRIMITIVE ATTRIBUTES


        GQCSPA (ERRIND, POLYLI, .....) 16 parameters !


What to do:


(i)  divide into a number of subroutines

     [already too many inquiry functions!]



(ii) select subset


        GQCSPA (K. ERRIND, I,A,C)

                |

               Kth element of list [clumsy]