IEEE P1003.0 Draft 13 - September 1991 Copyright (c) 1991 by the Institute of Electrical and Electronics Engineers, Inc. 345 East 47th Street New York, NY 10017, USA All rights reserved as an unpublished work. This is an unapproved and unpublished IEEE Standards Draft, subject to change. The publication, distribution, or copying of this draft, as well as all derivative works based on this draft, is expressly prohibited except as set forth below. Permission is hereby granted for IEEE Standards Committee participants to reproduce this document for purposes of IEEE standardization activities only, and subject to the restrictions contained herein. Permission is hereby also granted for member bodies and technical committees of ISO and IEC to reproduce this document for purposes of developing a national position, subject to the restrictions contained herein. Permission is hereby also granted to the preceding entities to make limited copies of this document in an electronic form only for the stated activities. The following restrictions apply to reproducing or transmitting the document in any form: 1) all copies or portions thereof must identify the document's IEEE project number and draft number, and must be accompanied by this entire notice in a prominent location; 2) no portion of this document may be redistributed in any modified or abridged form without the prior approval of the IEEE Standards Department. Other entities seeking permission to reproduce this document, or any portion thereof, for standardization or other activities, must contact the IEEE Standards Department for the appropriate license. Use of information contained in this unapproved draft is at your own risk. IEEE Standards Department Copyright and Permissions 445 Hoes Lane, P.O. Box 1331 Piscataway, NJ 08855-1331, USA +1 (908) 562-3800 +1 (908) 562-1571 [FAX] P1003.0/D13 GUIDE TO THE POSIX OPEN SYSTEMS 6.2 Profile Concepts _R_e_s_p_o_n_s_i_b_i_l_i_t_y: _B_o_b _G_a_m_b_r_e_l _I_n_t_r_o_d_u_c_t_i_o_n This guide is designed to assist in the selection of standards in the procurement process or as a target application environment. Profiles also assist in the selection of standards. A profile is a suite of base standards with specified options. Profiles can be created by software developers to describe the environment they target or by buyers to identify their purchasing objectives. _B_a_s_i_c__T_e_r_m_i_n_o_l_o_g_y See 2.2.2 for relevant terms that will be used in this section: base standard, application environment profile, profile, standardized profile, and POSIX standardized profile. There are two general classes of standards documents: - Base standards - Profiles (including AEPs, standardized profiles, and POSIX SPs) As used in this guide, base standards specify functionality, syntax, protocols, data formats, etc., in detail, while profiles do not. Instead, profiles identify which base standards are applicable. Since base standards often consist of a base or mandatory part and a number of selectable optional parts and values, profiles may also (or may not) choose, for each base standard, specific options or values. A profile may also identify other profiles, allowing the construction of ``larger'' profiles based on both base standards and other ``smaller'' profiles. NOTE: Profiles go by many names throughout the world including ``functional standards,'' ``implementation agreements,'' and ``specifications.'' In the context of internationalization, the term d ``national profile'' is frequently used and will be found, for example, d in POSIX.1 {2} and POSIX.2 {_r_e_f}. Its meaning is consistent with the d definitions in 2.2.2, but in many cases such profiles reflect national d cultural conventions. For example, Denmark and Japan both have specified d a national character profile. d Copyright c 1991 IEEE. All rights reserved. This is an unapproved IEEE Standards Draft, subject to change. 250 6 Profiles ENVIRONMENT INTERIM DOCUMENT P1003.0/D13 6.2.1 Relationships Between This Guide and Profiles Key to the understanding of profiles is a discussion of the relationships that exist among profiles, this guide, and the base standards. There exist many thousands of base standards, each addressing a particular, usually narrowly scoped, area of application portability or interoperability. Many of the base standards, developed over the years, are simultaneously narrow in scope (for example, a C binding of SQL), but broadly applicable (for example, applicable to Operating Systems that have ``POSIX'' interfaces and those that do not.) The base standards listed in 1.2 form the basis of the POSIX Open System d Environment. The list is comprehensive, in that its coverage is broad enough to cover most modern day application development, and the base standards selected have been determined to be consistent with POSIX.1 {2}. While this guide does not list all base standards, it is still a large list, and in fact the list contains base standards that might not be consistent with each other (choose any two standards from the POSIX OSE and they might not be consistent with each other.) The process of profile writing addresses this. The profile writer reduces even further the list of base standards to just the (relatively) few that are needed to provide portability and interoperability in a given functional area. In the process, the profile writer grapples with the coherence of the selected base standards by choosing only those that will work together to get the particular job done. Profile writers should also deal with _h_a_r_m_o_n_i_z_a_t_i_o_n, which means making the profiles consistent with each other where they overlap. This can often be done among profiles even where the functional areas served differ greatly. Procurements specifying two profiles that have been harmonized by their authors have the benefit of knowing that the two will not conflict with each other. By specifying compliance to a particular profile in a procurement, a consumer easily references a set of multiple base standards that have been determined to: serve a particular purpose; work together; and be consistent with POSIX.1 {2}. The benefits and relationships do not end here, however. Since profiles can be constructed to reference profiles as well as base standards, future profile writing will be even easier. NOTE: An analogy is in the construction of electronic equipment such as computers. The basic building blocks are ``components,'' such as memory chips and capacitors, which can be fabricated into larger building blocks such as printed circuit boards, which can be fabricated (with other components or printed circuit boards) into larger building blocks, such Copyright c 1991 IEEE. All rights reserved. This is an unapproved IEEE Standards Draft, subject to change. 6.2 Profile Concepts 251 P1003.0/D13 GUIDE TO THE POSIX OPEN SYSTEMS as standalone computers, which can be fabricated into larger building blocks such as department wide networks of computers, etc. Likewise, a few base standards (the basic building blocks), can be gathered together into ``component'' profiles, which can then be gathered together (with other base standards or component profiles) into larger ``platform'' profiles, which can be gathered together into larger ``application area'' profiles. (See 6.3.3.5.) The development of profiles from the primary building blocks (base standards) results in larger building blocks (profiles) that can then be incorporated into future profiles and also into future versions of this guide. _T_h_e__I_m_p_o_r_t_a_n_c_e__O_f__P_r_o_f_i_l_e_s Profiles are important for a number of reasons: - Profiles select one or more base standards or profiles and specify options and parameters within these. This provides a clear statement of specifications that describe the standards for the target functional objective(s). - Profiles include information about the relationship between the standards included (i.e., coherency is an objective). - Profiles are a clear method of communication about the specific standards needed for an application domain and can be used in procurement, in conformance testing, and as a target for applications development. 6.3 Guidance to Profile Writers _R_e_s_p_o_n_s_i_b_i_l_i_t_y: _B_o_b _G_a_m_b_r_e_l This clause expands the concept of profiling in the manner needed by profile writers and provides detailed guidance to those writers. It includes a description of the basis for this guidance, expands on the purposes served by profiles, and finishes with more detailed guidance specifically aimed at those writing profiles. Using this guide as a basis, profile writers can develop their own informal profiles, suited to their own needs, or formal standards bodies can develop formal, balloted profiles. This clause details the requirements that should be met by developers of profiles whether they are POSIX SPs, standardized profiles, or less formal profiles. Standardized profiles are formal profiles that meet the requirements of a sponsoring standards body. Standardized profiles that also meet the Copyright c 1991 IEEE. All rights reserved. This is an unapproved IEEE Standards Draft, subject to change. 252 6 Profiles