The Making of ISO/IEC 8652: Ada 2005

22
SIGAda’01 Panel, 4.10.2001 1 © Erhard Plödereder Making of Making of Ada: Ada: Ada 2005 Ada 2005 The Making of ISO/IEC 8652: Ada 2005 Panel at SIGAda‘01 Bloomington 4 Oct 2001

description

The Making of ISO/IEC 8652: Ada 2005. Panel at SIGAda‘01 Bloomington 4 Oct 2001. Panelists. Randy Brukardt, RR Software (WG9 ARG Editor, ACAA) Alan Burns, Univ. of York (RT Expert) Pascal Leroy, Rational SW Corp. (ARG chair) Jim Moore (WG9 Chair) - PowerPoint PPT Presentation

Transcript of The Making of ISO/IEC 8652: Ada 2005

Page 1: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 1© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

The Making of ISO/IEC 8652: Ada 2005

Panel at SIGAda‘01

Bloomington

4 Oct 2001

Page 2: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 2© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Panelists

• Randy Brukardt, RR Software (WG9 ARG Editor, ACAA)

• Alan Burns, Univ. of York (RT Expert)

• Pascal Leroy, Rational SW Corp. (ARG chair)

• Jim Moore (WG9 Chair)

• Tucker Taft, AverCom Corp. (Designer of Ada95)

• Erhard Plödereder, U. of Stuttgart (former ARG and DR chair)

Page 3: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 3© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Maintenance of Standards

Maintenance of ISO Standards has three different mechanisms:

• Technical Corrigendum: Necessary corrections to a standard (no added functionality); simplified approval; supplements/corrects an existing standard • Amendment, „Secondary Standard“: additions to a standard (usually with additional functionality); approval as for a new standard;

supplements/extends an existing standard

• Revision: Rewriting of a standard; replaces the existing standard

Page 4: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 4© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

History

1987 ISO/IEC-8652 the first ISO Standard for Ada

Page 5: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 5© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

History

1987 ISO/IEC-8652 the first ISO Standard for Ada

1995 ISO/IEC-8652:1995 Revision of the Standard

Page 6: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 6© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

History

1987 ISO/IEC-8652 the first ISO Standard for Ada

1995 ISO/IEC-8652:1995 Revision of the Standard

2001 ISO/IEC-8652:1995/COR.1:2000 the 1. Technical Corrigendum

+

Page 7: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 7© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

The Future

1987 ISO/IEC-8652 the first ISO Standard for Ada

1995 ISO/IEC-8652:1995 Revision of the Standard

2001 ISO/IEC-8652:1995/COR.1:2000 the 1. Technical Corrigendum

2005 ? Amendment ?

+

Page 8: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 8© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Role of the Community

citing the ARM: “Informal comments on this International Standard may be sent by e-mail to

[email protected] appropriate, the Project Editor will initiate the defectcorrection process. Comments should use the following format:

!topic title summarizing comment!reference RM95-ss.ss(pp)!from author name yy-mm-dd!keywords keywords related to topic!discussion text of the comment

Page 9: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 9© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

The ARG Process

• all comments are catalogued on a DB,

• assigned a unique id for cross referencing,

• and redistributed to the ARG members

Page 10: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 10© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

The ARG Process

• The Ada Rapporteur Group (ARG) examines the questions or critiques posed in a comment and composes an “AI” (Ada Issue). (Often multiple comments result in a single AI.)

• ARG-approved AIs are presented to WG9 for a vote. The AIs eventually are turned into ISO “Defect Reports” to appear in a “Technical Corrigendum” or “Amendment”, etc.

AI

Page 11: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 11© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Example: the “Comment”

!topic Enumeration_IO would allow instantiation for an [float] {integer} type!reference RM95-A.10.10(17)!reference 95-5067.a!from Norman H. Cohen 95-1-23!discussion

A.10.10(17) says: "Enumeration_IO would allow instantiation for an floattype". This is obviously a typo; "integer" is meant.

Page 12: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 12© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Example: The “AI” (1)

!standard A.10.10 (17) 96-07-23 AI95-00007/00!class binding interpretation 95-06-25!status ARG approved 9-0-0 96-06-17!status work item 96-04-04!status received 95-06-25!priority Low!difficulty Easy!subject Enumeration_IO would allow instantiation for an [float] {integer} type

!summary 95-06-25

Enumeration_IO cannot be instantiated for a floating point type.

!question 95-06-25

A.10.10(17) says: "Enumeration_IO would allow instantiation for an floattype". This is obviously a typo; "integer" is meant. ......

Page 13: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 13© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Example: The “AI” (2)

....

!recommendation 95-06-25

Enumeration_IO cannot be instantiated for a floating point type.

!wording 95-06-25

Change "an float" to "an integer" in A.10.10(17).

!discussion 95-06-25(for more complex topics, you find a detailed analysis of the problem and of the proposed solution here)

!appendix 95-06-25(the applicable Comments)

Page 14: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 14© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

The ISO Process

ARG AIs

Technical Corrigendum Amendment/Sec.Std./Revision

ISO/IEC JTC1/SC22/WG 9

ISO/IEC JTC1/SC22

ISO/IEC JTC1

Ada

Ada

Page 15: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 15© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Example: the Corrigendum

A.10.10 Input/Output for Enumeration Types

Replace paragraph 17: [8652/0054]Although the specification of the generic package Enumeration_IO would allow instantiation for an float type, this is not the intended purpose of this generic package, and the effect of such instantiations is not defined by the language.

by: Although the specification of the generic package Enumeration_IO would allow instantiation for an integer type, this is not the intended purpose of this generic package, and the effect of such instantiations is not defined by the language.

Page 16: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 16© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Example 2: Operational Attributes

The original comment (somewhat shortened):

The following user-specified attribute is illegal by 13.1(11).

with Ada.Streams; use Ada.Streams;generic type T is private;package Attr_Rep is type NT is new T; procedure Attribute_Write( Stream : access Root_Stream_Type'Class; Item : in NT); for NT'Write use Attribute_Write; -- illegal by 13.1(11)end Attr_Rep;

Page 17: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 17© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Example 2: The Corrigendum

after long discussions and a lot of work....

Five pages of changes, even to the syntactic description of Ada (but no language change!), to separate operational from representational attributes in order to• relax restrictions and avoid implementation dependencies associated with representational attributes • specify sensible inheritance rules

Page 18: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 18© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Integrated Reference Manual

For Technical Corrigenda, ISO does not reprint an alteredmanual, but rather distributes the old manual + corrigenda documents.

An unofficial, but nevertheless accurate Reference Manual with all the corrigenda integrated into the text is freelyavailable at

http://www.ada-auth.org/arm.html

Page 19: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 19© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

The Future

1987 ISO/IEC-8652 the first ISO Standard for Ada

1995 ISO/IEC-8652:1995 Revision of the Standard

2001 ISO/IEC-8652:1995/COR.1:2000 the 1. Technical Corrigendum

2005 ? Amendment ?

+

Page 20: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 20© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Preliminary „Mission“

Amendments in the areas of program safety (the strong-hold of Ada)

interoperability with other languages and systems

APIs to existing services

facilitating idiomatic matching to other programming, modelling or design languages

Page 21: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 21© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

APIs

The standard Ada library is rather sparse. Hence ....

We are calling on the community and on working groups to propose standardized packages (Ada bindings to other standards; additional capabilities).

Page 22: The Making of ISO/IEC 8652: Ada 2005

SIGAda’01 Panel, 4.10.2001 22© Erhard Plödereder

Making of Ada:Making of Ada:Ada 2005Ada 2005Making of Ada:Making of Ada:Ada 2005Ada 2005

Your Cooperation

The ARG invites you to submit your specific proposals forenhancements to Ada to

[email protected]

Specifically, bindings and APIs are most welcome !