home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.23 / text0019.txt < prev    next >
Encoding:
Text File  |  1991-06-15  |  9.5 KB  |  262 lines

  1. Submitted-by: pc@hillside.co.uk (Peter Collinson)
  2.  
  3. [ The sources to this, and the next two messages, are available on
  4. uunet.uu.net, in ~ftp/comp.std.unix/Updates/{9,17,b11}.mm.  I will make
  5. further updates available there as I get them. -- mod ]
  6.  
  7. An Update on UNIX-Related Standards Activities
  8.  
  9. 1003.9: FORTRAN Bindings
  10. March 26, 1991
  11.  
  12.  
  13. Joseph J. King, Ph.D. <JKing@GCG.Com> reports on the January 7-11, 1991
  14. meeting in New Orleans, LA:
  15.  
  16. POSIX is a set of portability standards that will span a diverse set of
  17. architectures such as VMS, UNIX, and OS/2.  The FORTRAN binding to POSIX
  18. system services is nearing approval.  Here I'll discuss the current
  19. state, including the relationship of language-independent POSIX
  20. standards to the FORTRAN language binding, and the possibility that the
  21. POSIX/FORTRAN binding will be rejected by the International Standards
  22. Organization (ISO).
  23.  
  24. Portable Operating System Interface: POSIX
  25.  
  26. A POSIX standard is one of a group of standards being developed by the
  27. Institute of Electric and Electronic Engineers (IEEE), in cooperation
  28. with the International Standards Organization (ISO).  The primary
  29. mission of these standards is to define a portable user and application
  30. environment.  The POSIX development effort is currently subdivided into
  31. 19 separate, numbered efforts - 1003.0 (POSIX Guide) through 1003.18
  32. (PEP).  Taken together, these groups are forming operating-system
  33. standards in the areas that range from networking to real-time.  Half a
  34. dozen additional groups, also supervised by the IEEE's Technical
  35. Committee on Operating Systems, are creating related standards in areas
  36. like windowing toolkits.  While POSIX started with UNIX as a model,
  37. POSIX standards are not limited to UNIX.  For example, DIGITAL has
  38. announced a program that will incorporate some of the POSIX standards
  39. into VMS.  Once adopted and implemented, POSIX standards will define a
  40. broad range of compatibility both within the UNIX family of operating
  41. systems and between other operating systems.
  42.  
  43. POSIX and FORTRAN
  44.  
  45. What follows is the January 1991 report on the progress of one of the
  46. POSIX working groups, POSIX.9.  POSIX.9 is responsible for defining
  47. FORTRAN interfaces to the POSIX functionality defined by the other
  48. working groups.  As a member of this committee I need to keep track of
  49. the progress of other committees to anticipate the next set of
  50. interfaces we will have to develop.  At the moment there is only one
  51. published POSIX standard, which is referred to as POSIX.1. POSIX.1
  52. defines the functionality and C interface to POSIX operating system
  53. services.  POSIX.9 is currently in public review with a standard that
  54. defines FORTRAN interfaces to the POSIX.1 system services.  In addition
  55. to providing interfaces to system services such as process creation and
  56. interrupt handling, the draft also defines interfaces that will improve
  57. FORTRAN application portability and interoperability.  For example, the
  58. draft contains procedures for reading the command line arguments,
  59. performing stream I/O, inheriting open files, getting the time of day,
  60. access to system constants, access to system structures, and performing
  61. bit operations.
  62.  
  63. ``Thick'' versus ``thin''
  64.  
  65. The FORTRAN binding to POSIX is referred to as a ``thin'' binding.
  66. That means that it defines the FORTRAN interfaces to access the POSIX
  67. system services, but does not define the functionality of those
  68. services.  Instead, the FORTRAN binding references the POSIX.1
  69. standard for the functional definitions.  The Ada binding to POSIX is
  70. also nearing completion.  It is a ``thick'' binding, in that it
  71. defines both the Ada interfaces and functionality.
  72.  
  73. There are advantages and disadvantages to each approach.  Thick
  74. bindings are easier to read, since all the information required is
  75. contained in one document.  Also by using the thick approach it is
  76. easier to map the functionality into native-language constructs.  The
  77. Ada-bindings group has done just this and has been praised for
  78. producing a binding that is very Ada-like (as opposed to C-like).
  79.  
  80. Thin bindings constitute a more conservative approach.  Since
  81. functionality is not defined in the thin binding, there is no
  82. opportunity for errors or inconsistencies to be introduced.  Also, thin
  83. bindings are easier to adapt to changes in the base document.  For
  84. example, the FORTRAN binding currently references the 1988 version of
  85. POSIX.1.  Recently, however, POSIX.1 has been updated (1990) with
  86. several changes to functionality.  After careful analysis at the
  87. January meeting, we determined that the FORTRAN binding requires only
  88. one substantive change to reference the 1990 standard as the base
  89. document.
  90.  
  91. ISO Requires Language Independence
  92.  
  93. The International Standards Organization (ISO) at one time required all
  94. POSIX functionality to be specified by language-independent standards.
  95. These are standards that specify functionality without specifying
  96. interfaces or syntax.  Thin binding standards are then produced for
  97. each language to provide access to the functionality.  In the last
  98. year ISO has relaxed this restriction to allow thick C bindings that
  99. define new functionality, but has excluded all other language bindings
  100. that do not reference a language-independent standard.  Even though
  101. the FORTRAN binding is a thin binding it is based on the thick C
  102. binding and not a language-independent specification as ISO requires.
  103. This is because there is no language-independent specification and
  104. such a specification could be a year or more away.
  105.  
  106. As a consequence, our working group will forward our draft for IEEE and
  107. ANSI processing when our work is complete.  We will also ask ISO if
  108. they wish to adopt the IEEE standard at that time.  This will give ISO
  109. another chance to say yes or no.  We hope that they will adopt our
  110. binding at that time.  If not, it may be several years before a
  111. language-independent standard is developed and we can produce a binding
  112. to it.  We feel that our binding has usefulness in the FORTRAN
  113. community today, so that an ANSI standard even in the absence of an
  114. ISO standard would be useful.
  115.  
  116. Other issues
  117.  
  118. Other issues discussed at the January meeting included Fortran 90, the
  119. ballot process, and testing.  There was some discussion of whether the
  120. POSIX.9 draft standard was Fortran-90-compatible.  Since the FORTRAN
  121. binding to POSIX only requires FORTRAN 77 features it was agreed that
  122. our binding should be compatible with Fortran 90 compilers.  We will
  123. look into this more carefully; however, after reviewing the areas in
  124. which Fortran 90 defines aspects for FORTRAN 77 that were previously
  125. undefined, I am confident that there are no conflicts that would
  126. prevent our binding from executing properly in a Fortran 90
  127. environment.
  128.  
  129. I presented a short summary of Fortran 90 features to the working
  130. group.  There was a discussion of which Fortran 90 features might be
  131. used to increase the usability and portability of the Fortran
  132. binding.  There was interest in using derived types and user-defined
  133. operators to create an unsigned data type for Fortran - complete with
  134. the necessary mathematical operations.  There was also an opinion that
  135. we should limit the Fortran 90 features we use to those already in
  136. existence in common practice (e.g., structures and Include).  This
  137. would have the advantage that our Fortran 90 binding would not require
  138. a full Fortran 90 implementation and the disadvantage of not making
  139. the most of Fortran 90 features.
  140.  
  141. When this is printed we will be processing public ballot comments.  The
  142. IEEE procedures for processing these comments was explained to us at
  143. this meeting.  In order for our balloting to be successful, the
  144. following criteria must be met;
  145.  
  146.   1.  we must receive back at least 75% of the ballots sent out and
  147.  
  148.   2.  75% of the yes-plus-no total must be yes.
  149.  
  150. Ballots received will be of one of three types, yes, no, and abstain.
  151. If there are any no votes we are required to send out the objections to
  152. all those in the ballot group.  They will then have the opportunity to
  153. change their vote.  We will make changes to the draft and repeat this
  154. process until the necessary 75% is met and there are no new objections.
  155.  
  156. We discussed writing test assertions for our current draft.  These
  157. assertions are used by an implementor to prove conformance to the
  158. standard.  It was agreed that, since the FORTRAN bindings is a thin
  159. standard, our test assertions would be a thin document.
  160.  
  161. Work to be done
  162.  
  163. There is still much work to be done.  At our next meeting we will be
  164. processing the public ballot.  We hope to a have a diverse range of
  165. opinions.  We are hoping that an active balloting group will improve
  166. the quality of the standard.  In this way, problems can be detected and
  167. fixed before they become part of the standard.  If all goes well, that
  168. could be as soon as December 1991.
  169.  
  170. Our next meeting will be in Chicago in April and you are welcome to
  171. attend.  After that we meet in Santa Clara in July.  [jsh -- Note that
  172. I changed this.  Am I right?] Please contact either John, Loren, or me
  173. for details.
  174.  
  175. John McGrory (Chair)
  176. Hewlett-Packard
  177. 19447 Pruneridge Ave
  178. Cupertino, CA 95014
  179. mcgrory%hpda@hplabs.hp.com
  180. +1 (408) 447-0265
  181.  
  182. E. Loren Buhle, Jr., Ph.D.
  183. University of Pennsylvania School of Medicine
  184. Rm 440A
  185. 3401 Walnut Street
  186. Philadelphia, PA 19104
  187. buhle@xrt.upenn.edu
  188. +1 (215) 622-3084
  189.  
  190. Joseph J. King, Ph.D.
  191. Genetics Computer Group
  192. 575 Science Drive, Suite B
  193. Madison, WI 52711
  194. JKing@GCG.Com
  195. +1  (608) 231-5200
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249. March 26, 1991 Standards Update                 1003.9: FORTRAN Bindings
  250.  
  251.  
  252.  
  253.  
  254. POSIX .1 First published as IEEE 1003.1-1988, this standard has now been
  255.     revised and updated, and achieved international status as ISO/IEC
  256.     9945-1 : 1990(E).
  257.  
  258.  
  259.  
  260. Volume-Number: Volume 23, Number 20
  261.  
  262.