Object Management Group Stream-based Model Interchange Format Request For Proposal OMG Document: ad/97-12-03 From: ftp://ftp.omg.org/pub/docs/ad/97-12-03.txt Object Management Group Framingham Corporate Center 492 Old Connecticut Path Framingham, MA 01701-4568 Telephone: +1-508-820 4300 Facsimile: +1-508-820 4303 Stream-based Model Interchange Format Request For Proposal OMG Document: ad/97-12-03 Submissions due: July 6, 1998 Objective of this RFP This RFP asks for a stream-based model interchange format (SMIF). The specific objectives of this RFP are the following: ? Establish an industry standard specification for a stream-based model interchange format, ? Provide a generic format that can be used to transfer a wide variety of models, ? Demonstrate that it can be used to exchange OMG Object Analysis and Design Facility (OADF) compliant models (UML based) and models compliant to other MOF-compliant metamodels and extensions (e.g. Workflow Management Facility and Business Object Facility metamodels), and ? Leverage existing vendor-neutral transfer formats as much as possible. This RFP solicits proposals for the following: ? A transfer format specification for file export/import of models. The scope for the type of models that can be exported / imported using this specification are those that are MOF-compliant representations of industry standard metamodels or metamodel extensions that are compliant with the MOF’s metamodel extension specification. This includes OMG approved metamodels, future OMG approved meta-models, and other current and future industry standard metamodels such as the committee draft (CD) International Standards Organization (ISO) / International Electrotechnical Commission (IEC) Joint Technical Committee 1 (JTC1) Subcommittee 7 (SC7) Working Group 11 (WG11) CASE Data Interchange Format (CDIF) meta-model standards (CD 15476) and the metamodels that are parts of the ISO International Standards (IS) for the Exchange of Product Data (STEP, ISO 10303). ? A transfer format specification for unique identification of the version of the MOF meta-metamodel and any metamodels referenced but not included in an SMIF-compliant transfer. An example use of the transfer format specification for one or more models complaint with the OMG approved Unified Modeling Language (UML) meta-model specification. For further details see Chapter 6 of this document. 1.0 Introduction 1.1 Goals of OMG The Object Management Group (OMG) is the world's largest software consortium with a membership of over 700 vendors, developers, and end users. Established in 1989, its mission is to promote the theory and practice of Object Technology (OT) for the development of distributed computing systems. A key goal of OMG is create a standardized object-oriented architectural framework for distributed applications based on specifications that enable and support distributed objects. Objectives include the reusability, portability, and interoperability of object-oriented software components in heterogeneous environments. To this end, the OMG adopts interface and protocol specifications, based on commercially available object technology, that together define an Object Management Architecture (OMA). 1.2 Organization of this document The remainder of this document is organized as follows: Chapter 2 - Architectural Context - background information on OMG’s Object Management Architecture. Chapter 3 - Adoption Process - background information on the OMG specification adoption process. Chapter 4 - Instructions for Submitters - explanation of how to make a submission to this RFP. Chapter 5 - General Requirements on Proposals - requirements and evaluation criteria that apply to all proposals submitted to OMG. Chapter 6 - Specific Requirements on Proposals - problem statement, scope of proposals sought, mandatory and optional requirements, issues to be discussed, evaluation criteria, and timetable that apply specifically to this RFP. Additional RFP-specific chapters may also be included following Chapter 6. 1.3 References The following documents are referenced in this document: Richard Soley (ed.), Object Management Architecture Guide, Third Edition, Wiley, June 1995. OMG Document ab/97-05-05. The Common Object Request Broker: Architecture and Specification, Revision 2.0, July 1996. OMG Document ptc/96-08-04. CORBAservices: Common Object Services Specification, Revised Edition, March 1995. OMG Document formal/97-05-03. CORBAfacilities Architecture, Revision 4.0, November 1995. Business Committee RFP Attachment, OMG Document omg/96-01-01. Policies and Procedures of the OMG Technical Process, OMG Document pp/97-01-01 or successor. These documents can be obtained by contacting OMG at document@omg.org. Many OMG documents, including this document, are available electronically from OMG’s document server. Send a message containing the single line “help” to server@omg.org for more information. For more information about OMG visit OMG’s Web page (URL http://www.omg.org/). If you have general questions about this RFP send email to responses@omg.org. 2.0 Architectural Context 2.1 Object Management Architecture The Object Management Architecture Guide (OMAG) describes OMG’s technical objectives and terminology and provides the conceptual infrastructure upon which supporting specifications are based. The guide includes the OMG Object Model, which defines common semantics for specifying the externally visible characteristics of objects in a standard implementation-independent way, and the OMA Reference Model. The Reference Model identifies and characterizes the components, interfaces, and protocols that compose the OMA. This includes the Object Request Broker (ORB) component that enables clients and objects to communicate in a distributed environment, and four categories of object interfaces: • Object Services are interfaces for general services that are likely to be used in any program based on distributed objects. • Common Facilities are interfaces for horizontal end-user-oriented facilities applicable to most application domains. • Domain Interfaces are application domain-specific interfaces. • Application Interfaces are non-standardized application-specific interfaces. A second part of the Reference Model introduces the notion of domain-specific Object Frameworks. An Object Framework component is a collection of cooperating objects that provide an integrated solution within an application or technology domain and which is intended for customization by the developer or user. Through a series of RFPs, OMG is populating the OMA with detailed specifications for each component and interface category in the Reference Model. Adopted specifications include the Common Object Request Broker Architecture (CORBA), CORBAservices, and CORBAfacilities. The wide-scale industry adoption of OMG's OMA provides application developers and users with the means to build interoperable software systems distributed across all major hardware, operating system, and programming language environments. 2.2 CORBA The Common Object Request Broker Architecture defines the programming interfaces to the OMA ORB component. An ORB is the basic mechanism by which objects transparently make requests to - and receive responses from - each other on the same machine or across a network. A client need not be aware of the mechanisms used to communicate with or activate an object, how the object is implemented, nor where the object is located. The ORB thus forms the foundation for building applications constructed from distributed objects and for interoperability between applications in both homogeneous and heterogeneous environments. The OMG Interface Definition Language (IDL) provides a standardized way to define the interfaces to CORBA objects. The IDL definition is the contract between the implementor of an object and the client. IDL is a strongly typed declarative language that is programming language-independent. Language mappings enable objects to be implemented and sent requests in the developer's programming language of choice in a style that is natural to that language. CORBA 2.0 is an extension and restructuring of the earlier CORBA 1.2 specification. CORBA 2.0 is a family of specifications consisting of the following components: • Core (including IDL syntax and semantics) • Interoperability • An expanding set of language mappings, including: C C++ SmallTalk Ada95 COBOL Each component is a separate compliance point. The minimum required for a CORBA-compliant implementation is adherence to the core and one language mapping. 2.3 CORBA/Interoperability Interoperability between CORBA-compliant ORBs is provided by OMG's Internet Inter-ORB Protocol (IIOP). Adopted in December 1994 as the mandatory CORBA 2.0 protocol for “out of the box” interoperability, IIOP is the TCP/IP transport mapping of a General Inter-ORB Protocol (GIOP). IIOP enables requests to be sent to networked objects managed by other ORBs in other domains. The OMG interoperability architecture also accommodates communication using optional Environment-Specific IOPs (ESIOPs), the first of which is the DCE-CIOP. 2.4 CORBAservices Object Services are general purpose services that are either fundamental for developing useful CORBA-based applications composed of distributed objects, or that provide a universal - application domain-independent - basis for application interoperability. Object Services are the basic building blocks for distributed object applications. Compliant objects can be combined in many different ways and put to many different uses in applications. They can be used to construct higher level facilities and object frameworks that can interoperate across multiple platform environments. Adopted OMG Object Services are collectively called CORBAservices and include Naming, Events, LifeCycle, Persistent Object, Relationships, Externalization, Transactions, Concurrency Control, Licensing, Query, Properties, Security, Time, Collections, and Trading Services. 2.5 CORBAfacilities Common Facilities are interfaces for horizontal end-user-oriented facilities applicable to most domains. Adopted OMG Common Facilities are collectively called CORBAfacilities and include an OpenDoc-based Distributed Document Component Facility. A specification of a Common Facility or Object Service typically includes the set of interface definitions - expressed in OMG IDL - that objects in various roles must support in order to provide, use, or participate in the facility or service. As with all specifications adopted by OMG, facilities and services are defined in terms of interfaces and their semantics, and not a particular implementation. 2.6 Object Frameworks and Domain Interfaces Unlike the interfaces to individual parts of the OMA “plumbing” infrastructure, Object Frameworks are complete higher level components that provide functionality of direct interest to end-users in particular application or technology domains. They are vertical slices down the OMG “interface stack”. Object Frameworks are collections of cooperating objects categorized into Application, Domain, Facility, and Service Objects. Each object in a framework supports (through interface inheritance) or makes use of (via client requests) some combination of Application, Domain, CORBAfacilities, and CORBAservices interfaces. A specification of an Object Framework defines such things as the structure, interfaces, types, operation sequencing, and qualities of service of the objects that make up the framework. This includes requirements on implementations in order to guarantee application portability and interoperability across different platforms. Domain Task Force RFPs are likely to focus on Object Framework specifications that include new Domain Interfaces for application domains such as Finance, Healthcare, Manufacturing, Telecom, Electronic Commerce, and Transportation. 3.0 Adoption Process 3.1 Introduction OMG adopts specifications for interfaces and protocols by explicit vote on a technology-by-technology basis. The specifications selected each fill in a portion of the OMA Reference Model. OMG bases its decisions on both business and technical considerations. Once a specification is adopted by OMG, it is made available for use by both OMG members and non-members. For more detailed information on the adoption process see the Policies and Procedures of the OMG Technical Process. 3.2 Role of Board of Directors The OMG Board of Directors votes to formally adopt specifications on behalf of OMG. The OMG Technology Committees (Domain and Platform TCs) and Architecture Board (AB) provide technical guidance to the Board of Directors. In addition, the Business Committee of the Board provides guidance to ensure that implementations of adopted specifications are made commercially available. 3.3 Role of Technology Committees and Architecture Board Submissions to RFPs are evaluated by the TC Task Force (TF) that initiated the RFP. Selected specifications are recommended to the parent TC after being reviewed by the Architecture Board for consistency with the OMA. The full TC then votes to recommend adoption to the OMG Board. 3.4 Role of Task Forces The role of the initiating TF is to technically evaluate submissions and select one or more specifications that satisfy the requirements of the RFP. The process typically takes the following form: • Voter Registration Interested TF members may register to participate in specification selection votes for an RFP. Registration ends on a specified date 6 or more weeks after the announcement of the registration period. The registration closure date is typically around the time of initial submissions. Companies who have submitted an LOI are automatically registered to vote. • Initial Submissions Initial submissions are due by a specified deadline. Submitters normally present their proposals at the next following meeting of the TF. Initial submissions are expected to be full and complete proposals and working implementations of the proposed specifications are expected to exist at the time of submission. • Evaluation Phase A period of approximately 120 days follows during which the TF evaluates the submissions. During this time submitting companies have the opportunity to revise and/or merge their initial submissions, if they so choose. • Revised Submissions Final revised submissions are due by a specified deadline. Submitters again normally present their proposals at the next following meeting of the TF. Finalists may be requested to demonstrate implementations of their proposal. • Selection Vote When the registered voters of the TF believe that they sufficiently understand the relative merits of the revised submissions, a specification selection vote is taken. 3.5 Goals of the evaluation The primary goals of the TF evaluation process are to: • Provide a fair and open process • Force a critical review of the submissions and discussion by all members of the TF • Give feedback to allow submitters to address concerns in their revised submissions • Build consensus on acceptable solutions • Enable voting members to make an informed selection decision Submitters are expected actively to contribute to the evaluation process. 4.0 Instructions for Submitters 4.1 Submission Effort Unlike a submission to an OMG Request For Information (RFI), an RFP submission may require significant effort in terms of document preparation, presentations to the initiating TF, and participation in the TF evaluation process. Several staff months of effort might be necessary. OMG is unable to reimburse submitters for any costs in conjunction with their submissions to this RFP. 4.2 Letter of Intent A Letter of Intent (LOI) must be submitted to the OMG Business Committee signed by an officer of your organization signifying your intent to respond to the RFP and confirming your organization’s willingness to comply with OMG’s terms and conditions, and commercial availability requirements. These terms, conditions, and requirements are defined in the Business Committee RFP Attachment and are reproduced verbatim in section 4.3 below. The LOI should designate a single contact point within your organization for receipt of all subsequent information regarding this RFP and your submission. The name of this contact will be made available to all OMG members. The LOI is typically due 60 days before the deadline for initial submissions. LOIs must be sent by fax or paper mail to the “RFP Submissions Desk” at the main OMG address shown on the first page of this RFP. Here is a suggested template for the Letter of Intent: This letter confirms the intent of <___organisation required___> (the organisation) to submit a response to the OMG Stream-based Model Interchange RFP. We will grant OMG and its members the right to copy our response for review purposes as specified in section 4.6 of the RFP. Should our response be adopted by OMG we will comply with the OMG Business Committee terms set out in section 4.3 of the RFP and in document omg/97-01- 01. <____contact name and details required____> will be responsible for liaison with OMG regarding this RFP response. The signatory below is an officer of the organisation and has the approval and authority to make this commitment on behalf of the organisation. <___signature required____> 4.3 Business Committee RFP Attachment 4.3.1 Terms and Conditions The OMG Business Committee has produced a document entitled “OMG Policy on Adoption of Specifications”. When reviewing submissions to each RFP, the specific items that the OMG Business Committee will be considering during the selection process are outlined below: • The optimization of interoperability and portability goals across multiple platforms. • Commitment by the proposed technology supplier to make the implementation available on commercially reasonable terms, applied in a non discriminatory fashion. • Submission of a Standard License Agreement and Support plans • A preferred, but not required, method for achieving multi-platform interoperability is source code licensing. Please include any provisions as such. • Assurance that the results in the duplication of the “look and feel” of any aspects of such proponents implementations from specifications will not result in infringement or obligation to pay royalties. • Plans for future revisions, enhancements, maintenance. • Agreement to grant to the Object Management Group, Inc., a non-exclusive, royalty-free, paid-up, worldwide license to copy and distribute the specification document and to modify the document and distribute copies of the modified version. Implementations or instantiations of the specifications are owned by the developer.. • Upon OMG's acceptance of the sponsoring company's interfaces, the sponsoring company agrees to provide all documentation in an OMG prescribed format and in OMG endorsed terminology. 4.3.2 Definition of Commercial Availability For technology to be accepted and adopted by the OMG Board Of Directors (reference OMG document tilted “OMG Policy on Adoption of Specifications - 2/12/90”) it must be commercially available within twelve (12) months or less from when the OMG Task Force (prior to the Technical Committee and Board vote) adopted the specification(s). This is required for proof of concept and expedient implementation of actual product and licensing procedures. Commercial availability is delineated as: • Technology that has been publicly announced as a product or embodied within another product. • Technology that is of production/manufacturing quality, has cleared a process of product shipment authorization, and can be demonstrated at OMG request (including installation, documentation, service, and support). Demonstrations may be required following RFP presentations to the OMG Technical Committee. • Technology that can be referenced by at least two (2) consumers (customers) of the technology. A statement of commercial availability must be accompanied by a letter of authorization by an officer of the company proposing the technology. 4.4 Responding to RFP items 4.4.1 Separate proposals Unless otherwise indicated in Chapter 6, independent proposals are solicited for each separate item in the RFP. Each item is considered a separate architectural entity for which a proposal may be made. A submitter may respond to any or all items. Each item will be evaluated independently by the initiating TF. Submissions that do not present clearly separable proposals for multiple items may therefore be at a disadvantage. It should be noted that a given technology (e.g. software product) may support two or more RFP items. So long as the interfaces for each item are separable, this is not precluded. 4.4.2 Complete proposals Proposals for each separate RFP item must be complete. A submission must propose full specifications for each item and address all the relevant general and specific requirements detailed in this RFP. 4.4.3 Additional specifications Submissions may include additional specifications for items not covered by the RFP which they believe to be necessary and integral to their proposal. Information on these additional items should be clearly distinguished. Submitters must give a detailed rationale as to why these specifications should also be considered for adoption. However submitters should note that a TF is unlikely to consider additional items that are already on the roadmap of an OMG TF, since this would preempt the normal adoption process. 4.4.4 Alternative approaches Submitters may provide alternative RFP item definitions, categorizations, and groupings so long as the rationale for doing so is clearly stated. Equally, submitters may provide alternative models for how items are provided within the OMA if there are compelling technological reasons for a different approach. 4.5 Confidential and Proprietary Information The OMG specification adoption process is an open process. Responses to this RFP become public documents of the OMG and are available to members and non-members alike for perusal. No confidentiality or proprietary information of any kind will be accepted in a submission to this RFP. 4.6 Copyright Waiver If a submitted document is copyrighted, a waiver of copyright for unlimited duplication by the OMG is required to be stated in the document. In addition, a limited waiver of copyright is required that allows each OMG member to make up to fifty (50) copies of the document for review purposes only. 4.7 Proof of Concept Submissions must include a “proof of concept” statement, explaining how the submitted specifications have been demonstrated to be technically viable. The technical viability has to do with the state of development and maturity of the technology on which a submission is based. This is not the same as commercial availability. Proof of concept statements can contain any information deemed relevant by the submitter, for example: “This specification has completed the design phase and is the process of being prototyped.” “An implementation of this specification has been in beta-test for 4 months.” “A named product (with a specified customer base) is a realization of this specification.” It is incumbent upon submitters to demonstrate to the satisfaction of the TF the technical viability of their proposal. OMG will favor proposals based on technology for which sufficient relevant experience has been gained in CORBA- based or comparable environments. 4.8 Format of RFP Submissions This section provides guidance on how to structure your RFP submission. 4.8.1 General • Submissions that are concise and easy to read will inevitably receive more consideration. • Submitted documentation should be confined to that directly relevant to the items requested in the RFP. If this is not practical, submitters must make clear what portion of the documentation pertains directly to the RFP and what portion does not. • The models and terminology in the Object Management Architecture Guide and CORBA should be used in your submission. Where you believe this is not appropriate, describe and provide a rationale for the models and terminology you believe OMG should use. 4.8.2 Suggested Outline A three part structure for submissions is suggested: PART I • Copyright Waiver (see 4.5) • Submission contact point (see 4.2) • Overview or guide to the material in the submission • Overall design rationale (if appropriate) • Statement of proof of concept (see 4.6) • Resolution of RFP mandatory and optional requirements Explain how your proposal satisfies the mandatory and (if applicable) optional requirements stated in Chapter 6. References to supporting material in Part II should be given. In addition, if your proposal does not satisfy any of the general requirements stated in Chapter 5, provide a detailed rationale. • Responses to RFP issues to be discussed Discuss each of the “Issues To Be Discussed” identified in Chapter 6. PART II • Proposed specification PART III • Summary of optional versus mandatory interfaces Submissions must clearly distinguish interfaces that all implementations must support from those that may be optionally supported. • Proposed compliance points Submissions should propose appropriate compliance points for implementations. • Changes or extensions required to adopted OMG specifications Submissions must include a full specification of any changes or extensions required to existing OMG specifications. This should be in a form that enables “mechanical” section-by-section revision of the existing specification. • Complete IDL definitions For reference purposes and to facilitate electronic usage, submissions should reproduce in one place a complete listing in compilable form of the IDL definitions proposed for standardization. 4.9 How to Submit Submitters should send an electronic version of their submission to the RFP Submissions Desk (rfp@omg.org) at OMG by 5:00 PM U.S. Eastern Standard Time (22:00 GMT) on the day of the submission deadline. Acceptable formats are Postscript, ASCII, PDF, FrameMaker, Word, and WordPerfect. However, it should be noted that a successful submission must be supplied to OMG’s technical editors in Framemaker source format, using the most recent available OMG submission template (document ab/96-06-02 at the time of writing). The AB will not endorse adoption of any submission for which appropriately- formatted Framemaker sources are not available; it may therefore be convenient to prepare all stages of a submission using this template. Submitters should make sure they receive electronic or voice confirmation of the successful receipt of their submission. Submitters should also send, within three (3) working days after the submission deadline, a single hardcopy version of their submission to the attention of the “RFP Submissions Desk” at the main OMG address shown on the first page of this RFP. In addition, submitters are responsible for making available 100 paper copies to attendees of the TF meeting immediately following a submission deadline. There are normally two such presentation meetings, one for the initial and one for the revised submissions. 5.0 General Requirements on Proposals 5.1 Mandatory Requirements 5.1.1 Proposals shall express interfaces in OMG IDL. Proposals should follow accepted OMG IDL and CORBA programming style. The correctness of the IDL shall be verified using at least oneIDL compiler (and preferably more then one). In addition to IDL quoted in the text of the submission, all the IDL associated with the proposal shall be supplied to OMG in compiler-readable form. 5.1.2 Proposals shall specify operation behavior, sequencing, and side-effects (if any). 5.1.3 Proposals shall be precise and functionally complete. There should be no implied or hidden interfaces, operations, or functions required to enable an implementation of the proposed specification. 5.1.4 Proposals shall clearly distinguish mandatory interfaces and other specification elements that all implementations must support from those that may be optionally supported. 5.1.5 Proposals shall reuse existing OMG specifications including CORBA, CORBAservices, and CORBAfacilities in preference to defining new interfaces to perform similar functions. 5.1.6 Proposals shall justify and fully specify any changes or extensions required to existing OMG specifications. This includes changes and extensions to CORBA inter-ORB protocols necessary to support interoperability. In general, OMG favors upwards compatible proposals that minimize changes and extensions to existing OMG specifications. 5.1.7 Proposals shall factor out functions that could be used in different contexts and specify their interfaces separately. Such minimality fosters re-use and avoids functional duplication. 5.1.8 Proposals shall use or depend on other interface specifications only where it is actually necessary. While re-use of existing interfaces to avoid duplication will be encouraged, proposals should avoid gratuitous use. 5.1.9 Proposals shall specify interfaces that are compatible and can be used with existing OMG specifications. Separate functions doing separate jobs should be capable of being used together where it makes sense for them to do so. 5.1.10 Proposals shall preserve maximum implementation flexibility. Implementation descriptions should not be included, however proposals may specify constraints on object behavior that implementations need to take into account over and above those defined by the interface semantics. 5.1.11 Proposals shall allow independent implementations that are substitutable and interoperable. An implementation should be replaceable by an alternative implementation without requiring changes to any client. 5.1.12 Proposals shall be compatible with the architecture for system distribution defined in ISO/IEC 10746, Reference Model of Open Distributed Processing (ODP). Where such compatibility is not achieved, the response to the RFP must include reasons why compatibility is not appropriate and an outline of any plans to achieve such compatibility in the future. 5.1.13 In order to demonstrate that the service or facility proposed in response to this RFP, can be made secure in environments requiring security, answers to the following questions shall be provided: • What, if any, are the security sensitive objects that are introduced by the proposal? • Which accesses to security-sensitive objects must be subject to security policy control? • Does the proposed service or facility need to be security aware? • What CORBAsecurity level and options are required to protect an implementation of the proposal? In answer to this question, a reasonably complete description of how the facilities provided by the level and options (e.g. authentication, audit, authorization, message protection etc.) are used to protect access to the sensitive objects introduced by the proposal shall be provided. • What default policies should be applied to the security sensitive objects introduced by the proposal? • Of what security considerations must the implementers of your proposal be aware? 5.2 Evaluation criteria Although the OMG adopts interface specifications, the technical viability of implementations will be taken into account during the evaluation process. The following criteria will be used: 5.2.1 Performance Potential implementation trade-offs for performance will be considered. 5.2.2 Portability The ease of implementation on a variety of ORB systems and software platforms will be considered. 5.2.3 Compliance: Inspectability and Testability The adequacy of proposed specifications for the purposes of compliance inspection and testing will be considered. Specifications should provide sufficient constraints on interfaces and implementation characteristics to ensure that compliance can be unambiguously assessed through both manual inspection and automated testing. 6.0 Specific Requirements on Proposals 6.1 Problem Statement The OMG has adopted specifications for an Object Analysis and Design (OAD) Facility and a Meta-Object Facility (MOF). The OAD Facility uses the Unified Modeling Language (UML) as the meta-model and graphical notation for OAD models. The MOF provides a set of IDL interfaces for distributed meta-object management. However, in addition to a graphical modeling language and dynamic interchange of model information using OMG IDL, these and other planned OMG facilities (e.g. Workflow Management Facility) also need a stream-based model interchange format. 6.2 Scope of Proposals Sought The solution should be composed of the following elements: ? Use the MOF as the meta-metamodel for the SMIF. ? One or more compliance points to address transfer of object oriented models (e.g. UML based) and non-object oriented models (e.g. CDIF standard subject areas). ? A specification for a machine-readable syntax and encoding for the interchange of models and meta-model extensions. Import/export of instances of model data (called schema instances in STEP terminology) is out of scope for this RFP. ? One or more examples of models and their stream-based representation per the specified syntax and encoding. The main characteristics of the solution: ? Stable, industrial strength, based on proven technology. ? Generic, independent of any particular set of metamodel concepts. ? Portable, able to be used on computers anywhere in the world. 6.3 Relationship to Existing OMG Specifications There is a close relationship between the meta-meta-model requested by this RFP and the OMG approved Meta-Object Facility (MOF) meta-meta-model. The relationship is a subset relationship between all the meta-modeling concepts in the MOF meta-meta-model and those specific concepts used to define meta- models with sufficient precision to support unambiguous interchange of models. There is an indirect relationship with the OAD Facility. Every model that can be described using the OAD Facility shall be transferable using the stream-based model interchange format specified as a response to this RFP. However, the proposed specification should not be dependent on the specific concepts in the OAD Facility. The meta-meta-model proposed as part of the response to this SMIF RFP must be able to represent all the meta-modeling constructs used in the OMG adopted specification for UML version 1.1. 6.4 Related Documents and Standards 6.4.1 CDIF Responders to this RFP should be aware of activities in ISO/IEC JTC1/SC7/WG11. This working group is processing international comments on 15474 (CDIF Framework) and 15475 (CDIF Transfer Format) standards and will publish them as international standards after successful resolution of national body comments. OMG members are encouraged to review these documents and submit their coordinated comments through national body delegations to ISO/IEC JTC1 SC7/WG11 to ensure successful alignment with the eventual OMG adoption of a specification for a Stream-based Model interchange Format. This technical coordination can also take place in the context of the ISO/IEC JTC1 SC7 approved OMG "C" liaison (non-voting) with SC7/WG11. For more information, browse the CDIF web page at: http://www.cdif.org Or the SC7/WG11 web page at: http://home.sc7.ctisinc.com/sc7/WG/WGMainSubPage.htm 6.4.2 STEP/EXPRESS Responders should be aware of the existing ISO STEP standards as documented in the following references: ISO 10303-11:1994 "Industrial automation systems and integration - Product data representation and exchange - Part 11: Description methods; the EXPRESS language reference manual" ISO/TR 10303-12:1997 "Industrial automation systems and integration - Product data representation and exchange - Part 12: Description method: The EXPRESS- I language reference manual" ISO 10303-21:1994 "Industrial automation systems and integration - Product data representation and exchange - Part 21: Implementation methods: Clear text encoding of the exchange structure" ISO/DIS 10303-22 "Industrial automation systems and integration - Product data representation and exchange - Part 22: Implementation method: Standard data access interface specification" 6.5 Mandatory Requirements Proposals shall use the MOF as its meta-metamodel. Proposals shall provide a complete specification of the syntax and encoding needed to export/import models and meta-model extensions included in-line as part of the transfer stream. This syntax and encoding shall have an unambiguous identification to support evolution of this technology. Proposals shall provide a means for unambiguous identification of any concept specified in a MOF-compliant metamodel that is referenced (but the specification is not included) in a transfer stream. Proposals shall demonstrate support for import/export of UML models and the UML metamodel. This demonstration shall include demonstration of a round- trip model exchange without information loss. Submissions will be evaluated regarding the extent of the UML metamodel subset (including any MOF- compliant extensions) covered by the submitter’s choice of examples. Proposals shall support use of international standard codesets. 6.6 Optional Requirements The interchange of metamodels may require a compact data representation in addition to the text-based representation as an alternative to the interface-based representation defined in the MOF. In order to preserve the investments of OMG members, proposals may be upward-compatible with the EIA/CDIF 1994 (CDIF94) Transfer Format standards. This does not imply downward-compatibility. The SMIF specification may contain constructs unsupported by CDIF94. Proposals may contain an unambiguous, complete mapping of the concepts in the CDIF94 meta-meta-model to the concepts in the MOF. Proposals may identify the impact of the proposed SMIF specification on transfer files produced using the CDIF94 Transfer Format standards. This includes identification of any changes to CDIF transfer files required to produce valid syntax and encoding per the proposed SMIF specification. This requirement may be met by providing a specification for a conversion utility for transfer files created using the CDIF94 Transfer Format standards to make them compliant with the proposed SMIF specification. Proposals may provide transfer stream examples that use concepts from other industry standard metamodels. Proposals may identify specific modeling language differences between EXPRESS and the MOF/UML and discuss ways to map between these languages. A direct mapping of all the concepts in either language to the other may not be possible. Proposals may identify the impact of the proposed SMIF specification on existing schema definitions and transfer files produced using STEP EXPRESS. This may include identification of any changes to STEP EXPRESS files required to produce valid syntax and encoding per the proposed SMIF specification. Submissions may include a specification for converting STEP schemas and/or transfer files created using STEP EXPRESS standards to make them compliant with the proposed SMIF specification. 6.7 Issues to be discussed Proposals in response to this RFP may discuss the usage and relevance of related technologies such as Meta-Object Definition Language (MODL), Object Constraint Language (OCL) and Universal Object Language (UOL) to the SMIF RFP. Note that these languages have been discussed in the OMG OAD Task Force recently. Proposals in response to this RFP should discuss how to support semantic interoperability between tools that share and manipulate STEP schemas and STEP schema instances in addition to tools that support sharing and manipulation of OAD models. The proposal may provide or reference different specifications for transferring schemas and transferring schema instances as long as there is a way to reference the schemas when transferring schema instances. Proposals should include information on how to perform conformance tests (for checking syntax and transfer stream specific validation rules for schemas and schema instances) on transfer streams prior to import into other applications. This may include recommendations for adding additional functionality to the MOF to satisfy transfer file conformance test requirements identified by the STEP community. Proposals should discuss an approach to address this difference in problem scope. For example, proposals may describe how to use the MOF to describe STEP schemas at the same level as the UML meta-model. Proposals should discuss the connection, if any, between the proposed transfer format syntax and encoding and the Objects-by-Value syntax and encoding. 6.8 Evaluation Criteria The specification of the syntax and encoding should be in BNF notation. The proposal should be robust and stable. The interchange format should be independent of the semantic constructs in a meta-model. This means, for example, that extending the UML meta-model should not require any changes to this model interchange format. Proposals should specify a syntax and encoding that is LL(1) parsable. 6.9 Other information unique to this RFP STEP/EXPRESS Support OMG has established a framework for semantic interoperability between Object Analysis and Design (OAD) tools referred to as the OAD Facility, with the Unified Modeling Language (UML) version 1.1 as the adopted specification. It contains the interfaces and semantics needed to support sharing and manipulation of OAD models which define the behavior of applications using OMG’s Object Management Architecture. This includes a set of notations that can be used to describe these models in a consistent fashion. The OMG has also adopted a Meta-object Facility (MOF) for management of metadata for a wide variety of models beyond the scope of only the OAD Facility. EXPRESS is a formal object-flavored information modeling language that models the characteristics of and the relationships between “objects” (EXPRESS calls these entities which loosely correspond to objects in the traditional Software Engineering sense). A collection of EXPRESS entity definitions describe the syntax and interfaces required to share or exchange entity instances. Modeling Levels Both EXPRESS and UML can be used to create models of objects. EXPRESS calls these object-models schemas; OMG’s OAD Facility calls them OAD models. To share information, applications require a model about the model they are exchanging (i.e., a meta-model). UML is the meta-model within OMG’s OAD Facility; a schema written in EXPRESS provides the meta-model within STEP. Figure 1 shows the relative relationship between models, meta- models, and instances. Figure 1—UML & EXPRESS Models & Meta-Models A major difference between EXPRESS and UML is how OAD models are used within OMG’s OAD Facility and how schemas are used in STEP. The focus of OMG’s OAD Facility is to facilitate sharing and exchange of OAD models (schemas) between applications. These applications are typically model design, analysis, and simulation tools. The OAD Facility is not intended to support the sharing of model data (schema instances) between end-user applications. The focus of EXPRESS within STEP is to support the exchange or sharing of collections of schema instances (STEP data) between end-user applications. Within STEP, these applications are typically for product modeling, e.g., Computer-aided Design (CAD) tools. Figure 2 depicts a typical exchange within OMG’s OAD Facility and within STEP/EXPRESS. Figure 2—OAD Facility and STEP Exchange Language Differences Because UML/MOF and EXPRESS were intended for different purposes there are numerous differences in the languages. Some major differences include: ? verification rules (and the ability to write quantified rules for individual transfer streams) ? semantics of multiple inheritance (e.g., overlapping versus partitioned subtype inheritance and mandatory participation in multiple subtypes) ? calculation of data type parameters during export/import of transfer streams. Integration with Applications EXPRESS is tied directly to an implementation. Schemas written in EXPRESS define either functions for shared access (Part 22, SDAI) or a language for file exchange (Part 21, Clear-text encoding). An EXPRESS schema is used directly by applications exchanging or sharing the schema instances. Therefore strict conformance tests on transfer files are necessary. UML has a looser tie to the implementation in that humans typically interpret OAD models in modeling tools to build an implementation. Applications usually don’t directly implement the OAD models without human intervention. Current OMG and STEP Integration STEP currently provides a CORBA IDL binding for its SDAI interface. This provides hardware, software, operating system, and location transparency to client applications wishing to access STEP data via CORBA. While some SDAI features could be implemented in CORBA, CORBA does not support all of the features needed to exchange data within the STEP framework. EXPRESS and UML aim to solve different problems; it may be better to provide complementary (rather than identical) stream transfer capabilities for the exchange of UML models (schemas) and STEP data (schema instances). 6.10 RFP Timetable The timetable for this RFP is given below. Note that the TF may, in certain circumstances, extend deadlines while the RFP is running, or may elect to have more than one revised submission step. The latest timetable can always be found in the Member Services section of OMG’s Web page (URL http://www.omg.org/) Approx Day Event or Activity Actual Date Preparation of RFP by TF Approval of RFP by Architecture Board Review by TC (“Three week rule”) December 4, 1997 0 TC votes to issue RFP December 1997 120 LOI to submit to RFP due April 3, 1998 210 Initial submissions due July 6, 1998 210 Voter registration closes July 6, 1998 234 Initial submission presentations July 30, 1998 260 Preliminary evaluation by TF August 24, 1998 320 Revised submissions due October 20, 1998 340 Revised submission presentations November 12, 1998 370 Final evaluation and selection by TF Recommendation to AB and TC January 1999 430 Approval by Architecture Board Review by TC (“Three week rule”) March 1999 430 TC votes to recommend specifications March 1999 430 BOD votes to adopt specifications March 1999 Stream-based Model Interchange Format RFP December 4, 1997