The Making of ISO/IEC 8652: Ada 2005
description
Transcript of 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
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)
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
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
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
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
+
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 ?
+
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
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
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
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.
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. ......
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)
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
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.
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;
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
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
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 ?
+
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
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).
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
Specifically, bindings and APIs are most welcome !