1、Information technology Programming languages, their environments and system software interfaces Guidelines for the preparation of Language-Independent Service Specifications (LISS) Technologies de linformation Langages de programmation, leurs environnements et interfaces du logiciel dexploitation Li
2、gnes directrices pour llaboration de spcifications de service indpendantes du langage (LISS) TECHNICAL REPORT ISO/IEC TR 14369 First edition 2014-12-01 Reference number ISO/IEC TR 14369:2014(E) ISO/IEC 2014 ii ISO/IEC 2014 All rights reserved COPYRIGHT PROTECTED DOCUMENT ISO/IEC 2014 All rights rese
3、rved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission. Permission can be requested from either IS
4、O at the address below or ISOs member body in the country of the requester. ISO copyright office Case postale 56 CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mail copyrightiso.org Web www.iso.org Published in Switzerland ISO/IEC TR 14369:2014(E) ISO/IEC TR 14369:2014(E)Contents P
5、age Foreword v Introduction vi 1 Scope . 1 2 References . 1 3 Terms, definitions and abbreviations 2 3.1 Definitions . 2 3.2 Abbreviations . 4 4 Overview . 4 4.1 Services, interfaces, service providers and service users 4 4.2 Information technology services . 5 4.3 Services and language independence
6、 . 6 4.4 Language-independent specifications 7 4.5 Problems of language dependence and inbuilt assumptions . 7 5 Guidelines on strategy 8 5.1 General guidelines 8 5.2 What to do if starting from scratch 9 5.3 What to do if starting from an existing language-dependent specification 11 6 Guidelines on
7、 document organization15 6.1 Guideline: The general framework .15 6.2 Guideline: Production and publication .16 6.3 Guideline: Document organization when starting from a language-specific specification 17 7 Guidelines on terminology 17 7.1 Guideline: The need for rigour .17 7.2 Guideline: The need f
8、or consistency .17 7.3 Guideline: Use of undefined terms 17 7.4 Guideline: Use of ISO 2382 18 7.5 Guideline: Use of definition by reference 18 7.6 Guideline: Terminology used in bindings .18 8 Guidelines on use of formal specification languages 18 8.1 Guideline: Use of a formal specification languag
9、e .18 8.2 Checklist of formal specification languages 18 8.3 Guideline: Using formal specifications from the outset .20 8.4 Guideline: Use of operational semantics .20 8.5 Guidelines on interoperability 21 8.6 Guidelines on interoperability with other instantiations of the same service .22 8.7 Guide
10、lines on interoperability with other services 23 9 Guidelines on concurrency issues .24 9.1 Guidelines on concurrency within the service specification 24 9.2 Guidelines on concurrency of interaction with service users .24 9.3 Guidelines on concurrency requirements on bindings .25 10 Guidelines on th
11、e selection and specification of datatypes26 10.1 Guideline: Use of ISO/IEC 11404:2007 General-Purpose Datatypes (GPD) .26 10.2 Guideline: Specification of datatype parameter values 26 10.3 Guideline: Treatment of values outside the set defined for the datatype .27 10.4 Guideline: Specification of o
12、perations on data values .27 10.5 Guideline: Recommended basic set of datatypes .27 10.6 Guideline: Specification of arithmetic datatypes27 10.7 Guideline: Approach to language bindings of datatypes .28 10.8 Guideline: Avoidance of representational definitions 28 ISO/IEC 2014 All rights reserved iii
13、 ISO/IEC TR 14369:2014(E)11 Guidelines on specification of procedure calls 28 11.1 Guideline: Avoidance of unnecessary operational assumptions or detail 29 11.2 Guideline: Use of ISO/IEC 13886:1996 (LIPC) procedure calling model 29 11.3 Guidelines on the use of ISO/IEC 13886:1996 (LIPC) .29 11.4 Int
14、erfacing via remote procedure calling (RPC)31 11.5 Guideline: Guidance concerning procedure calling to those defining language bindings to the language-independent service specification 32 12 Guidelines on specification of fault handling 33 12.1 Guideline: Fault detection requirements .34 12.2 Check
15、list of potential faults .34 12.3 Guideline: Recovery from non-fatal faults 35 13 Guidelines on options and implementation dependence .35 13.1 Guidelines on service options .36 13.2 Guidelines on interface options .37 13.3 Guidelines on binding options 37 13.4 Guidelines on implementation dependence
16、 .38 14 Guidelines on conformity requirements 40 14.1 Guidelines for specifying conformity of implementations of the service .41 14.2 Guidelines for specifying conformity of implementations of the interface .41 14.3 Guidelines for specifying conformity of bindings 41 15 Guidelines on specifying a la
17、nguage binding to a language-independent interface specification .42 15.1 Guideline: Use of bindings to LID and LIPC .42 15.2 Guideline: Adherence to defined semantics .42 15.3 Guideline: Binding document organization 43 15.4 Guideline: “Reference card” binding documents 43 16 Guidelines on revision
18、s 43 16.1 Kinds of change that a revision can introduce 44 16.2 General guidelines applicable to revisions 45 16.3 Guidelines on revision of the service specification 45 16.4 Guidelines on revision of the service interface 46 16.5 Guidelines on revision of language bindings following revision of the
19、 service interface .46 16.6 Guidelines on revision of a language binding following revision of the language .46 Annex A (informative) Brief guide to language-independent standards .48 Annex B (informative) Glossary of language-independent terms .51 iv ISO/IEC 2014 All rights reserved ISO/IEC TR 1436
20、9:2014(E) Foreword ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO member bodies). The work of preparing International Standards is normally carried out through ISO technical committees. Each member body interested in a subject for
21、 which a technical committee has been established has the right to be represented on that committee. International organizations, governmental and non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on a
22、ll matters of electrotechnical standardization. The procedures used to develop this document and those intended for its further maintenance are described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the different types of ISO documents should be noted.
23、This document was drafted in accordance with the editorial rules of the ISO/IEC Directives, Part 2. www.iso.org/directives Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO shall not be held responsible for identifying any or al
24、l such patent rights. Details of any patent rights identified during the development of the document will be in the Introduction and/or on the ISO list of patent declarations received. www.iso.org/patents Any trade name used in this document is information given for the convenience of users and does
25、 not constitute an endorsement. For an explanation on the meaning of ISO specific terms and expressions related to conformity assessment, as well as information about ISOs adherence to the WTO principles in the Technical Barriers to Trade (TBT), see the following URL: Foreword - Supplementary inform
26、ation The committee responsible for this document is ISO/IEC JTC 1, Information technology, subcommittee SC 22, Programming languages, their environments and system software interfaces. ISO/IEC 2014 All rights reserved v ISO/IEC TR 14369:2014(E) Introduction This Technical Report is dedicated to Bri
27、an L. Meek in grateful recognition of his leadership and vision in the development of the concepts on programming language independent specifications, and his efforts in producing a set of standards documents in this area. Without his commitment this Technical Report never would have been published.
28、 0.1 Background This Technical Report provides guidance to those writing specifications of services, and of interfaces to services, in a language-independent way, in particular as standards. It can be regarded as complementary to ISO/IEC/TR 10182, which provides guidance to those performing language
29、 bindings for such services and their interfaces. NOTE 1 Here and throughout, “language”, on its own or in compounds like “language-independent”, means “programming language”, not “specification language” nor “natural (human) language”, unless explicitly stated. NOTE 2 A “language-independent” servi
30、ce or interface specification may be expressed using either or both of a natural language like English or a formal specification language like VDM-SL or Z; in a sense, a specification might be regarded as “dependent” on (say) VDM-SL. The term “language-independent” does not imply otherwise, since it
31、 refers only to the situation where programming language(s) might otherwise be used in defining the service or interface. The development of this Technical Report was prompted by the existence of an earlier draft IEEE Technical Report (IEEE TCOS-SCC Technical Report on Programming Language Independe
32、nt Specification Methods, draft 4, May 1991). The TCOS draft was concerned with specifications of services in a POSIX systems environment, and as such contained much detailed POSIX-specific guidance; nevertheless it was clear that many of the principles, if not the detail, were applicable much more
33、generally. This Technical Report was conceived as a means of providing such more general guidance. Because of the very different formats, and the POSIX-related detail in the TCOS draft, there is almost no direct correspondence between the two documents, except in the discussion of the benefits of a
34、language-independent principles below. However, the spirit and principles of the TCOS draft were of great value in developing this Technical Report, and reappear herein, albeit in much altered and more general form. NOTE 3 The TCOS draft has not in fact been published, as the result of an IEEE decis
35、ion to concentrate activities in other POSIX areas. 0.2 Principles Service or interface specifications that are independent of any particular language, particularly when embodied in recognized standards, are increasingly seen as an important factor in promoting interoperation and substitution of sys
36、tem components, and reducing dependence on and consequent limitations due to particular language platforms. NOTE It is of course possible for a specification to be “independent” of a particular language in a formal sense, but still be dependent on it through inbuilt assumptions derived from that lan
37、guage which do not necessarily hold for other languages. The term “language-independent” here is meant in a much stronger sense than that, though complete independence from all inbuilt assumptions may be difficult if not impossible to achieve. Potential benefits from language-independent service or
38、interface specifications include: A language-independent interface specification specifies those requirements that are common to all language bindings to that interface, and hence provides a specification to which language bindings may conform. A language-independent interface specification is a re-
39、usable component for constructing language bindings. A language-independent interface specification aids the construction of language bindings by providing a common reference to which all bindings can relate. Through this common reference it is possible to make use of pre-existing language bindings
40、to language-independent standards vi ISO/IEC 2014 All rights reserved ISO/IEC TR 14369:2014(E) for common features such as datatypes and procedure calls, and to other language-independent specifications with related concepts. A language-independent service or interface specification provides an abst
41、ract specification of a service in isolation from language-dependent extensions or restrictions, and hence facilitates more rigorous modelling of services and interfaces. Language-independent service specifications facilitate the specification of relationships between one service and another, by mak
42、ing it easier to relate common concepts than is generally possible when the specifications are dependent on different languages. A language-independent interface specification facilitates the definition of relationships between different language bindings to a common service (such as requirements fo
43、r interoperability between applications based on different languages that are sharing a common service implementation), by providing a common reference specification to which all the languages can relate. A language-independent interface specification facilitates the definition of relations between
44、bindings to multiple services, including the requirements on management of multiple name spaces. fort and resources needed to ensure compatibility and consistency of behaviour between implementations of the same service in different languages or between applications based on different languages usin
45、g the same interface. ISO/IEC 2014 All rights reserved vii Information technology Programming languages, their environments and system software interfaces Guidelines for the preparation of Language-Independent Service Specifications (LISS) 1 Scope This Technical Report provides guidelines to those c
46、oncerned with developing specifications of information technology services and their interfaces intended for use by clients of the services, in particular by external applications that do not necessarily all share the environment and assumptions of one particular programming language. The guidelines
47、 do not directly or fully cover all aspects of service or interface specifications, but they do cover those aspects required to achieve language independence, i.e. required to make a specification neutral with respect to the language environment from which the service is invoked. The guidelines are
48、primarily concerned with the interface between the service and the external applications making use of the service, including the special case where the service itself is already specified in a language-dependent way but needs to be invoked from environments of other languages. Language bindings, al
49、ready addressed by another Technical Report, ISO/IEC/TR 10182, are dealt with by providing advice on how to use the two Technical Reports together. This Technical Report provides technical guidelines, rather than organizational or administrative guidelines for the management of the development process, though in some cases the technical guidelines may have organizational or administrative implications. 2 References The following documents, in whole or in part, are normatively referenced in
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1