home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / Updates / 9.mm < prev    next >
Text File  |  1991-03-27  |  10KB  |  275 lines

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