Subject: SC22 N2552 - Draft SC22 Response to JTC 1 "Special Actions" - PLENARY ACTION ITEM

From: "william c. rinehuls" <[email-masked]>
Date: Mon, 11 Aug 1997 17:26:37 -0400 (EDT)

__________________ beginning of title page __________________________
ISO/IEC JTC 1/SC22
Programming languages, their environments and system software interfaces
Secretariat:  U.S.A.  (ANSI)

ISO/IEC JTC 1/SC22
N2552

August 1997

TITLE:
Draft JTC 1/SC22 Response to JTC 1 Regarding "Special Actions"
Recommendations

SOURCE:
Secretariat, ISO/IEC JTC 1/SC22

WORK ITEM:
N/A

STATUS:

Please note that this draft response will be considered under Agenda Item
11.2.1 at the August 1997 SC22 Plenary.

CROSS REFERENCE:
SC22 N2393

DOCUMENT TYPE:
N/A

ACTION:
To SC22 Member Bodies for review.

Address reply to:
ISO/IEC JTC 1/SC22 Secretariat
William C. Rinehuls
8457 Rushing Creek Court
Springfield, VA 22153 USA
Tel:  +1 (703) 912-9680
Fax:  +1 (703) 912-2973
email:  [email-masked]

_____________________ end of title page; beginning of draft ________

TO:     SC22

SUBJECT:  Draft JTC 1/SC22 Response to JTC 1 Regarding "Special Actions"
Recommendations

Here is my draft response to JTC1 relative to SC22 N2393.  Note that no
input has been received from WGs 3, 14, and 19, nor from the USNB relative
to FORTH.

Robert H. Follett
Chairman, JTC 1/SC22

SC 22 WORK PROGRAM REVIEW
PER JTC 1 N 4504 "SPECIAL ACTION"

Introduction

The "special action" in JTC 1 N 4504 requested that SC 22 review the
continuation of "a significant number of projects" that "relate to
specialized, limited-use languages" in light of the key technology
directions of JTC 1.  SC 22 notes that the application of the term
"specialized, limited-use languages" is subject to differing
interpretations and may be affected by a person's incomplete knowledge of
the actual usage of a language.  Accordingly, we are providing the
following summary of the market relevance of all currently active
programming language projects, and some others as well, assigned to SC 22. 
At the end is the review of fast-track projects that was also requested. 

Ada

Ada was originally developed in response to a need of the U. S. Department
of Defense to reduce the number of programming languages used in its
systems.  The specific requirements for the language emphasized high
reliability, programming for large systems, and support for real-time
systems.  The original Ada 87 language contains features supporting these
requirements to a degree still unmatched by other languages.  The Ada 95
revision added strong support for object-oriented programming, becoming
the first internationally standardized object-oriented language. 

Ada is now the most widely-used language in DoD embedded real-time
applications, amounting to about 50 million source lines, and is number
two (behind COBOL) in DoD information system applications.  Outside the
defense sector, Ada's use has been more limited and primarily concentrated
in areas where reliability, large systems, or real-time factors are
important.  For example, IBM evaluated and rated Ada above C, Pascal,
Jovial and Fortran for use in programming its U. S. Air Traffic Control
(ATC) applications. (An SEI study compared Ada and C++ with similar
results.) Ada is also being applied to ATC development in Europe and
Canada.  Both in North America and Europe, Ada is arguably the language of
choice (or, at least, a strong contender) for highly reliable, large,
complex applications.  These application domains take advantage of the
rigorous specification of the Ada standard. 

Other example applications include: 
  - Avionics applications in the US (Boeing 777), Europe (Airbus 320) and
Russia (BE-200) 
  - Train control for the Swiss railroad and the French TGV and Astree as
well as urban rail systems in Paris, Cairo, Calcutta and Hong Kong
  - The US Global Positioning System
  - Electronic Funds Transfer for the Swiss PTT
  - Medical analysis devices in Germany and the US
  - Steel manufacturing process control in the US
  - Automobile plant floor control in UK, Sweden and France
  - Electrical distribution monitoring in Switzerland
  - VLSI design tools in France and CAD systems in France and Germany
  - Mobile communication systems for Inmarsat
  - Radio telescope control in Finland
  - Astrophysical spectral analysis and modeling in Austria
  - Laser fusion experiment control at the Lawrence Livermore Laboratory
  - Real-time video production and editing in the US

Interest in Ada from the educational sector is growing.  A 1996 survey in
the US shows that 345 colleges, universities, commercial and governmental
institutions offered 656 college- equivalent courses in Ada. 

The US market for Ada tools and compilers is estimated to be about $200
million annually -- small compared to C but nevertheless significant in
absolute terms.  Market share statistics are probably less relevant,
however, than consideration of the high importance of the applications for
which Ada is used, applications demanding the utmost of reliability, often
to protect human life.  It is for this reason that the use of Ada is
directed or encouraged by defense and other governmental agencies in
several countries. 

The existence of an international standard is vital to this usage. More
than any other programming language, the users of Ada employ the standard
itself as their basic reference to the language.  The Ada marketplace has
placed great importance on the existence of an unusually detailed
validation suite that is driven by the specification of the standard. 
Vendors and users of Ada maintain a continuing and frequent dialog with SC
22/WG 9 in order to ensure that interpretations of the language standard
are applied uniformly and that code is highly portable.  In fact, the
highly rigorous standardization of the language and the continuing
maintenance of that standard is often cited as one of the "selling points"
of the Ada language.  The high degree of collaboration between the
marketplace and SC 22/WG 9 is one of the great successes of JTC 1
standardization efforts. 

APL

No input received. 

C

No input received

C++

It is estimated that over one million people are programming in C++.  This
marketplace is eager for the completion of the C++ standard. 

COBOL

COBOL was originally developed in response to needs of the U. S.
government, private industry, and computer manufacturers for a common
programming language for business applications.  The objectives for the
language included: 

  - independence from make or model of computer
  - development and maintenance of programs with a minimum of time and
programming effort
  - notation and narrative conducive to making changes and additions
  - minimum training costs and suitability for relatively inexperienced
programmers

The resulting language was widely accepted and almost universally used in
business and government in the 60's through the mid-80's. 

The current standard, ISO 1989:1985, and its amendments are widely
implemented and used worldwide.  The estimates of billions of lines of
existing COBOL code and millions of experienced programmers are legend,
but more relevant is that COBOL continues to be widely used for new
development and for enhancement and re-engineering of existing
applications.  Examples: 

  - Telecommunications companies in the U.S and France, new development
for the workstation
  - A government customs system, new development using object-orientation
  - A U.S. railroad, new development using object-orientation
  - A life insurance imaging system, new development using object
orientation (AmerUS) 
  - A mainframe-based interactive dental scheduling system, continually
enhanced (Willamette Dental Group) 
  - An insurance claims system with about 5000 programs, with 2 programs
added and 20 re- engineered each month
  - A car rental system, in process of being re-engineered
  - A bank in Finland, new development using object-orientation
  - A steel company in the U.S., in process of re-engineering
  - A software house contract management system, new development
  - Tandem's on-line logistics system, being re-engineered to use EDI all
in COBOL
  - Data Warehouse data propagation from legacy systems into a
Tandem-based DW, new development
  - National City Corp, USAA, MGM Grand, Ameritech, Ross Stores,
Elder-Beerman, Victoria Secret Stores - all doing new development in COBOL
for data warehousing. 
  - Access http://solo.merita.fi/ and you'll find one of the world's most
advanced Internet banking services, written mainly in COBOL (Merita Bank,
Finland) 

While COBOL has been and continues to be used on most mainframes, nearly
all mainframe vendors now support workstations implementations and some
vendors support only workstations.  As a result of these new environments
and expanded user needs, many language extensions have been introduced by
implementors, indicating a need for further standardization.  This is
being addressed by the in-progress revision of standard COBOL. 

Still retaining business-oriented features, the draft standard provides a
more general- purpose language with expanded data handling and language
interoperation capabilities.  Major enhancements are provided in support
of large character sets, cultural adaptability, and object orientation.
Many of these features are already implemented as specified in the draft
and being used in new, enhanced, and re-engineered applications worldwide. 

Additionally, the draft is having significant impact on the modification
of applications for year 2000 through use of features included in the
draft to address this situation. 

With the current trend to web-based operation, users are beginning to
reconfigure existing COBOL applications as servers integrated with web
clients.  COBOL vendors are starting to introduce language extensions to
support this environment.  Thus, evolution of the international standard
for COBOL is essential to provide the benefits of new technolgies and new
environments to COBOL users worldwide.  

Fortran

Fortran was the original "high level programming language", having been
first proposed by John Backus towards the end of 1953.  The first full
Fortran compiler was delivered to IBM's 704 customers in April 1957, and
the language has, therefore, just passed its 40th birthday!  It was
recently estimated that there are around 370,000 Fortran users world-wide,
while the value of Fortran software currently in regular use is almost
certainly in excess of $5,000,000,000.

Many Fortran programs written more than a quarter of a century ago are
still in regular use around the world, and it is commonplace for managers
of Fortran programming "shops" to insist that no changes should be made to
the specification of the language that would in any way result in today's
code causing problems in 25-30 years' time. 

Major application areas include finite element analysis, weather
forecasting, atomic bomb simulation, geophysics, computer-aided
manufacturing, astrophysics, flight simulator control, and many others.
Fortran is particularly important in those applications requiring leading
edge high performance and parallelism, and its importance in the
marketplace can be seen from the fact that there are a great many
commercial vendors, including all manufacturers of high performance
computers.  Moreover, over 50% of the well-known SPEC family of benchmark
program suites is written in Fortran. 

The existence of a large number of commercial vendors was the reason why,
in 1966, Fortran was the first programming language to be standardised (by
ANSI), and the existence of such standards and, since 1980, International
Standards, has been of critical importance in the development of major
application programs and procedure libraries intended to be used on a
multiplicity of hardware and operating system platforms. 

Fortran has been the language of choice for high-performance computing
from its earliest days, and most of the developments in optimising
techniques over the last 40 years have come from the Fortran compiler
development community.  In a similar manner, a consortium of commercial
organisations have for several years been developing new approaches to
maximising the benefits to be obtained from parallel architectures through
extensions to the Fortran language known as High Performance Fortran (or
HPF).  Fortran 90 introduced portable methods of specifying numerical
precision - a critical issue in developing numerical libraries and other
portable numerical software - and the next revision of Fortran is expected
to introduce facilities for interval arithmetic which will allow even
greater control over the accuracy of computation. 

A practical example of the importance of such features can be seen in the
Atmospheric Release Advisory Capability (ARAC), which is an operational
emergency response capability that provides real-time assessments of
airborne pollutant releases.  The next generation of ARAC atmospheric
numerical models is now under development, and Fortran 90 was selected as
the appropriate language for the new models due to its advanced features,
numerical efficiency, and the need to maintain common standards with
outside collaborators. 

At the other end of the scale, the recent availability of two commercial
subsets of Fortran 90 (Elf90 and F) is leading to a resurgence of interest
in Fortran (or rather its derivatives) at the college and university
level. Both these languages provide the full power and elegance of Fortran
90 while eliminating the older, less well-structured, features that the
Fortran marketplace insists on retaining in the language in order to avoid
rewriting code that may be more than 20 years old, and are proving to be
ideal languages to use in science and engineering undergraduate courses. 

Lisp

Lisp is a family of universal programming languages.  It is as old as
Fortran, and became most popular with artificial intelligence development. 
Many critical commercial (e.g. banking, air traffic control, knowledge
bases, CAD) and public domain (e.g. emacs) applications rely on Lisp. 
Usage of Lisp spreads across all sectors, with smaller penetration in
real-time applications. 

ISO standardization of Lisp (ISLISP) supports a common subset of most of
the Lisp languages, so that it naturally provides: 
  - portability of applications across Lisp languages; 
  - small language for academia and for maintainability of applications; 
  - light weight of applications. 

In contrast ANSI has standards for Common Lisp, which supports the
superset of one sub- family of Lisp languages (namely maclisp descent) and
Scheme, which supports another sub-family of Lisp languages (those
supporting continuations). 

There are an estimated 100,000 users of Lisp.  Since the ISLISP standard
has just been completed in 1997, it is too early for a market evaluation
of its impact on the Lisp community. 

The ISLISP project has enjoyed the continuous participation of 6 countries
(Canada, France, Germany, Japan, UK, USA) and occasionally a few others as
well.. 

Modula 2

Since its first publication in the late seventies, Modula-2 has become
popular as a first programming language at universities, as well as for
the implementation of safety-critical systems and highly portable
applications.  Examples include: 

  - embedded controls, e.g. in car electronics (to SC22 WG13's knowledge,
Modula-2 is currently being used by approximately 700 programmers at one
North American development site alone); 
  - safety-critical vehicle control systems, e.g. unmanned trains in
Lyon/France; 
  - text processing, e.g. a German system with an installed base of more
than 20000 copies on various operating systems, all compiling from the
same source; 
  - teaching, in particular as a first programming language, e.g. at: 
    -- Trinity Western University (Langley, B.C., Canada),
    -- Queensland University of Technology (Brisbane, Australia),
    -- Oxford Brookes University (Oxford, United Kingdom),
    -- Munich University of Technology (Munich, Germany),
    -- Vienna University of Technology (Vienna, Austria) 
   as well as at various colleges and schools. 

In addition to the Modula-2 Base Language Standard (IS 10514-1), SC22/WG13
is currently adding support for Object Oriented Programming and for
Genericity (both documents have reached DIS ballot stage) as well as for
Interfacing to Libraries defined in the C programming language (Working
Draft stage). 

M[UMPS]

The M[UMPS] language is used in a large number of applications, from the
medical systems for which it was originally designed, to banking, law
enforcement, educational testing, shipping, delivery of pizza, and control
of automobile junkyard inventory.  In the US the majority of the uses of M
are medical; in Europe the majority of the users are commercial. 

There are vendors of M systems based in The United States, Austria, Japan
and Brazil; thousands of businesses build applications on the software
platforms they supply. 

Although there are no official figures on the value of currently installed
M systems, several years ago the Gartner Group predicted that the M
marketplace would surpass two billion per year. 

M[UMPS] is comprised of both a programming language and a database system. 
Recent enhancements include a protocol to describe character set bindings
to M systems, Transaction Processing, and a binding to SQL.  An extensive
matehmatics library will become avaliable in the next revision.  There is
an effort under way currently to standardize Object Oriented features. 

The M[UMPS] language standard is developed by the MUMPS Development
Committee, a group that operates under the ANSI canvass procedures, and
currently has international representation from the UK, the Netherlands,
and Germany.  The resulting ANSI standards have been submitted to JTC1 for
fast-track ballot. 

POSIX

In the December 1996 edition of the ASTM Standardization News, one major
UNIX vendor asserted that 30% of their UNIX business is directly
attributable to the POSIX standards and that another 35% was strongly
influenced by them.  If we assume that this experience is paralleled by
other suppliers but only use the directly attributable figure to be
conservative, the cumulative impact of POSIX over the period 1988 to 1998
is approximately $84 Billion.  In 1998 alone, the UNIX market is estimated
to by $53 Billion so that the POSIX impact will be at least $16 Billion. 

Prolog

Prolog is a niche language.  Nevertheless, many critical commercial
applications rely on Prolog's unique features.  The standardization of
Prolog has been important in bringing together widely separated groups and
enabling a common core language to be defined and implemented.  It has
also enabled its users to be no longer dependent on a single source for
critical parts of their applications. 

Prolog became popular initially in universities, particularly Artificial
Intelligence departments.  However, separate implementations led to both
deliberate and accidental differences in implementations. The standard
has: 
  - Identified the difficult problems,
  - Provided a firm theoretical foundation,
  - Left the way open for future developments,
  - Ensured that systems are more helpful in indicating where errors occur
in programs or data, and
  - Provided exception handling.  Standard Prolog makes it easy to write a
robust program that handles normal data efficiently, while handling
abnormal conditions gracefully.

In the United Kingdom, Prolog is taught in more university computing
degree courses than any other programming language.

SC 22/WG 17 (Prolog) has met in 12 different countries and has had
participation from eight other countries.  In all these countries, Prolog
has been developed and used, and there has been interest in its
standardization.

VDM-SL

No input received. 

Z

No input received. 

REVIEW OF FAST-TRACK PROJECTS

47.n: PCTE

There are an estimated 200 sites around the world using PCTE based
products.  At least six vendors produce these products which are oriented
to the integration of software development tools with a repository in a
software engineering enviroment.  The total investment around PCTE based
products is estimated to be close to $150 Million. 

The SC 22 projects in this area are as follows: 

  - Project 1.22.47.1

  This project deals with maintenance of the current approved PCTE standards
   which consist of an abstract specification (13719-1), a binding for the
   C programming language (13719-2) and a binding for the Ada programming
   language (13719-3). 
   A corrigendum is to be published in 1997, together with a new edition
   of the standard, incorporating the changes of the corrigendum. 
   The need for this release is mainly technical as it will not bring any
   major innovation but rather, more precision in the definition of the
   standard.

  -  Project 1.22.47.2

   This project has developed a set of Object Oriented extensions for PCTE. 
   The extensions have been made to maximise consistency with other works in
   this domain, in particular OMG architecture. There is currently a PDAM
   under ballot.  The adoption of the extensions is important as PCTE must
   incorporate modern object orientated technology features and must be ready
   to interoperate with object brokers such as CORBA.

  -  Project 1.22.47.3

   This project has developed extensions to support fine grain objects. It
   is important because these extensions provide a standard basis upon which
   the PCTE market can be extended to a class of applications requiring
   fine grain objects (i.e. smal objects with a very quick access time).  A
   PDAM was submitted in 1996 and was positively voted.

  -  Project 1.22.47.4

   This project is currently developing a new binding of PCTE: C++.  There is
   no need to justify the importance of the C++ language in the software
   development community.

  -  Project 1.22.47.5

   This project has developed a CORBA-IDL binding of PCTE, in liaison with
   ECMA TC33.  ECMA TC33 has recently requested its standardisation through
   a fast track procedure.  This binding is of a huge interest as it will
   allow PCTE based products to offer standard API's to all clients of
   CORBA based object oriented architectures. 
 
14977:  Extended BNF

ISO/IEC 14977 (Syntactic metalanguage --- Extended BNF) has general
applicability whenever it is necessary to define the syntax of a stream of
symbols.  Many people will be content to continue using the syntactic
metalanguage with which they are familiar: but 'Extended BNF' provides a
sensible easy choice for anyone who would otherwise be tempted to develop
yet another variant of BNF. 

Several international standards have already adopted 'Extended BNF' in its
earlier existence as BS6154. These standards include:  Modula-2 (ISO/IEC
10514), VDM-SL (ISO/IEC 13817-1), PCTE (ISO/IEC 13719), Prolog (ISO/IEC
13211-1), and Z (ISO/IEC CD 13568). 

15145:  FORTH

No input received.

_______________________ end of SC22 N2552 ___________________________