From rinehuls@access.digex.net  Tue Aug 26 22:47:57 1997
Received: from access2.digex.net (qlrhmEbBUV1EY@access2.digex.net [205.197.245.193]) by dkuug.dk (8.6.12/8.6.12) with ESMTP id WAA03593 for <sc22docs@dkuug.dk>; Tue, 26 Aug 1997 22:47:49 +0200
Received: from localhost (rinehuls@localhost)
          by access2.digex.net (8.8.4/8.8.4) with SMTP
	  id QAA23646 for <sc22docs@dkuug.dk>; Tue, 26 Aug 1997 16:47:47 -0400 (EDT)
Date: Tue, 26 Aug 1997 16:47:47 -0400 (EDT)
From: "william c. rinehuls" <rinehuls@access.digex.net>
Reply-To: "william c. rinehuls" <rinehuls@access.digex.net>
To: sc22docs@dkuug.dk
Subject: SC22 N2570 - "Special Actions" Recommendations to JTC 1
Message-ID: <Pine.SUN.3.96.970826163951.22543E-100000@access2.digex.net>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII

___________________ 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
N2570

TITLE:
Approved SC22 Submission to ISO/IEC JTC 1 Regading "Special Actions"
Recommendations

DATE ASSIGNED:
1997-08-26

SOURCE:
Secretariat, ISO/IEC JTC 1/SC22

BACKWARD POINTER:
Supersedes SC22 N2552

DOCUMENT TYPE:
N/A

PROJECT NUMBER:
N/A

STATUS:
N/A

ACTION IDENTIFIER:
FYI

DUE DATE:
N/A

DISTRIBUTION:
Text

CROSS REFERENCE:
SC22 N2573, N2574 (Res. 97-28)

DISTRIBUTION FORM:
Open


Address reply to:
ISO/IEC JTC 1/SC22 Secretariat
William C. Rinehuls
8457 Rushing Creek Court
Springfield, VA 22153 USA
Telephone:  +1 (703) 912-9680
Fax:  +1 (703) 912-2973
email:  rinehuls@access.digex.net

______________________ end of title page; beginning of text _____________


From follett@access.digex.net Tue Aug 26 12:43:31 1997
Date: Mon, 25 Aug 1997 11:43:03 -0400 (EDT)
From: Bob Follett <follett@access.digex.net>
To: Matthew Deane <mdeane@ansi.org>
Cc: Bill Rinehuls <rinehuls@access.digex.net>
Subject: SC22 Work Program Review for JTC1

Following is the SC22 Work Program Review for forwarding to JTC1.


ISO/IEC JTC1/SC22 N2570


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

APL continues to be widely used for new development and for enhancement
and re- engineering of existing applications.  APL is the language of
choice in the insurance industry.  More actuaries use APL than any other
language.  APL continues to be the premier language in the top banks of
the world and is heavily used in the largest financial markets, so much so
that some have their own internal, proprietary, APL systems.  One company
uses APL for its internal electronic mail system, and employees of the
company use the verb "to APL," meaning to send electronic mail.  Some of
the latest enhancements to APL are coming from this milieu, and are
influencing APLers in other sectors as well. 

The oil industry, especially in the research departments, continues to be
a strong user of APL.  Some APL vendors who, a few years ago, heard their
customers talking about migrating to desktop workstations, are
experiencing a resurgence of interest in mainframe APL applications.  This
may be, in part, due to difficulties encountered by excessive loads on
small systems. 

APL is heavily used as a prototyping language, regardless of the language
of the final product.  One notable example is that the Federal Division of
one of the largest computer companies in the world uses APL to develop
software for satellite surveillance systems.  The APL is machine and hand
translated to a finished product which is delivered in another language
that has been specified by the military contractor. 

C

The C programming language is used by over a million programmers world
wide.  C is the programming language of choice for most commercial
embedded systems and embedded application work.  C is the target language
for practically all program generators and Language X to Language Y
translators.  The C programming language is the workhorse support language
of many operating systems, applications and application libraries. 

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 technologies 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 standardized (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 optimizing
techniques over the last 40 years have come from the Fortran compiler
development community.  In a similar manner, a consortium of commercial
organizations have for several years been developing new approaches to
maximizing 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
mathematics library will become available 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 and Z

VDM-SL and Z are formal definition languages.  Such languages are
important components for the design and implementation of safety-critical
and other systems where any failure must be avoided.  Mathematical
analysis guarantees correctness and reliability, and automated testing
demonstrates conformance to the end user.  Standardization has been
assisted by grants from industrial and government agencies in the U.S. and
Europe.  Industrial users continue to exert pressure for a standard and
contribute their people's time to the work. 

VDM-SL is also used for expressing the semantics in standards for ISO/IEC
10514 (Modula 2) and ISO/IEC 13719 (PCTE). 




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 environment.  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 maximize 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 oriented 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. small objects with a very quick access time).  A
   PDAM was submitted in 1996 and was positively voted.

  - Project 1.22.47.4

   This project was withdrawn at the August 1997 SC22 plenary.

  -  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 standardization through
   a fast track procedure.  This binding is of a huge interest as it will
   allow PCTE based products to offer standard APIs 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

Forth is a general purpose programming language invented in 1970.  It
became widely known with the advent of personal computers, where its high
performance and economy of memory were attractive.  These advantages still
make Forth popular in embedded microcontroller systems, in locations
ranging from the Space Shuttle to the bar-code reader used by every
Federal Express driver.  Forth's interactive nature streamlines the test
and development of new hardware.  Incremental development, a fast
program-debug cycle, full interactive access to any level of the program,
and the ability to work at a high "level of abstraction," all contribute
to Forth's reputation for very high programmer productivity.  These, plus
the flexibility and malleability of the language, are the reasons most
cited for choosing Forth for embedded systems. 

The American National Standard for Forth, ANSI X3.215-1994, has been
recognized worldwide as the definitive Forth standard.  For this reason,
SC22 invited the US to fast track the ANSI Standard for adoption as an
International Standard.  JTC 1 approved the fast track in 1996.  IEEE
Standard 1275-1994, the "Open Firmware" standard, is an application of the
Forth standard which has been adopted by several PC and workstation
manufacturers as the principal language for writing bootstrap and driver
firmware. There are literally millions of computer systems extant which
incorporate components developed in Forth. 

__________________ end of SC22 N2570 __________________________



