Interoperability and Business Objects
Request for Technology
Evaluation Report

September 1998

Table Of Contents
 
1. Introduction   3. RFT Requirements Satisfaction
  1.1 Evaluation Team
  1.2 Submissions Received   4. Work Plan
  1.3 Evaluation Objectives
  1.4 Approach to Reaching Application Interoperability   Appendix A. Design Patterns
  1.5 RFT Requirements Summary
  1.6 Evaluation Highlights   Appendix B. Templates
 
2. Overview of POSC Interoperability
Specifications
  Glossary
  2.1 Overall Structure Within POSC SIP
  2.2 Summary of Contents of the Specification

1. Introduction

This report documents the results of the evaluation of responses to the POSC Request for Technology (RFT) for Interoperability and Business Objects, issued in November 1997. As such, it marks a major milestone in the development of specifications to facilitate application interoperability for the E&P industry. This document looks back by characterizing the most relevant material from all of the submissions in the context of the requirements stated in the RFT. This document looks forward by defining the technical work items necessary to transform the material in the submissions into a workable set of POSC interoperability specifications.

The focus of the POSC Interoperability and Business Object work effort is to develop specifications that facilitate and encourage software components to exhibit consistent operational characteristics, i.e., interoperability, to E&P professionals (the users of E&P software systems), even when software components are obtained from different suppliers. Achieving interoperability for end-users requires the development and use of an agreed upon architecture or description of how software components should be developed and how they are expected to inter-relate.

This objective complements the work that POSC has been doing over the last seven years. E&P data stores will continue to migrate toward the consistency, completeness, and integration supported by POSC's specifications for the Epicentre logical data model, DAE access API, and Epigramme/PEF exchange format. With the successful completion of the current work effort, application developers will have:

1.1 Evaluation Team

The evaluation of the responses to the RFT was carried out by a joint team made up of representatives from the POSC member organizations and the POSC staff. The POSC Open Process depends on the active involvement of POSC member organizations not only to represent the best interests of the membership but also to reflect the requirements of the E&P industry. The valuable contribution of the members of the evaluation team is greatly appreciated.

The evaluation team members are:

John Bobbitt, POSC Dortha Dougherty, POSC
Johnny Brown, Schlumberger Fred Patrick, Chevron
Gongquan Chen, POSC Ineke Reijsmeijer, Shell International
Exploration and Production
Art Culbertson, POSC John Russell, PrismTech Limited
Alan Doniger, POSC (coordinator) Henning Sundby, Statoil

The evaluation process began on May 26, 1998 and concluded on July 10, 1998. The team met for four week-long sessions supplemented by individual efforts in between. The members of the team have been invited to remain in place as a first-level review team to ensure the quality of the work that will be done between now and the publication of the POSC interoperability specifications.

1.2 Submissions Received

The RFT generated a lot of activity from many organizations. Fortunately, some of these organizations worked together to develop responses. This resulted in the integration and validation of their ideas and in higher quality submissions. In total, eight organizations participated in the four formal submissions.

The following list of submissions identifies the title of the submission, the area of coverage (Interpretation Domain or Architecture), and the names of the submitter organizations. For convenience, references to specific submissions will be made using the letter designations: A through D.

This is the first time that POSC has issued an RFT that asked for draft specifications to be submitted. All earlier RFT's asked for relevant technology to be submitted; then POSC developed specifications based on the submitted technology through either staff work, e.g. Epicentre and DAE, or joint member-staff workgroup efforts, e.g. IAC. The intention of requesting draft specifications this time was that a total process of developing specifications would take less time and, more importantly, would produce specifications of high quality, i.e., ready to be used in commercial-grade products.

Reflecting on the manner in which the submissions were prepared and the results of the evaluation reported in this document, it appears that these intentions are being realized. The submissions are closely associated with the development of actual commercial products. Some of the submitting organizations are on record with commitments to align their commercial products with the POSC specifications as published. The results of the evaluation of the submissions have found limitations in the submissions that will require additional work before the POSC specifications are ready for use. In general, these limitations are believed to be the consequence of the evolving maturity of distributed object technology and the breadth of our requirements, which exceed what has been previously done in other industries.

POSC expresses its appreciation to all of the submitting organizations for their efforts. Other POSC member organizations are encouraged to support this project actively through the upcoming period of technical refinement, through the period of review of the specifications themselves, and through commercial acquisition and deployment of products based on these specifications.

1.3 Evaluation Objectives

The formation of a joint membership-staff evaluation team is also an innovation in POSC's Open Process. Previously, RFT submissions were evaluated by staff only. The broader evaluation process was enabled by requiring all submissions to be made openly and for the submitted materials to be licensed to POSC.

The principal objectives of the evaluation, as part of an overall fair and open specification development process, were:

The evaluation team members acted as neutral experts. They interacted with technical experts from the submission teams to ensure that their understanding of the submissions was accurate and complete. This report represents the analysis of what was found in the submissions and the team's recommendations. This report has been reviewed widely within the POSC organization as well as with the submitters.

1.4 Approach to Reaching Application Interoperability

The RFT expressed the belief that widespread application interoperability in the E&P industry will take a number of years to achieve. The RFT recognized that while considerable effort has already been expended towards reaching this goal, there is still much work to be completed. This work can be iterative, with useful results beginning early in the process. The current project is a first step along this path.

Prior to issuance of the RFT, the project produced a Request for Comments (RFC) document that proposed a baseline definition for application interoperability in the E&P industry and an evolutionary process to achieve its benefits. Six broadly defined levels of sophistication of application interoperability were introduced in the RFC (See table below.) as a guide for aligning this work. The more sophisticated interoperability capabilities will take longer to achieve. This approach allowed requirements to be prioritized by capability. The consensus of RFC responses from the membership indicated the target of achieving the capabilities of Level 3 within the next two to three years. Therefore, the RFT required submissions to define specifications sufficient to meet Level 3.

Levels of Application Interoperability
Level Capabilities Desired Products Needed Specifications/Requirements
0 Applications access the same data store (avoiding reformatting)
  • Applications
  • Data access middleware products for logical access
  • Data stores
  • Alignment of sets of applications with compatible data stores
  • Data model/access specifications
1 Same application runs on different (format) data stores All of the above plus:
  • Business (Data) Object Implementations
  • Object/Class Data Servers / Adapters
  • Distributed Object Request Services, e.g. Request Broker, LifeCycle, Naming, Trader, etc.
  • Object/Class Data Server interface specifications
  • Object-level Data Type specifications
  • Unit & Coordinate Transformation Service Interface specifications
  • Server & Object Locator Interface specifications
2 An application can request notification of data object content changes providing dynamic cause & effect coordination among applications. All of the above plus:
  • Event Service
  • Concurrency Service (minimal)
  • Event / message specifications
  • Event Service interface specification
  • Concurrency Control Service specification (at least minimal level)
  • Object identifier specifications
3 Applications can share process and presentation objects/servers giving plug-and-play for process & data objects and standard look & feel for presentation objects. All of the above plus:
  • Process Object Implementations
  • Presentation Object Implementations
  • Concurrency Service
  • Messaging Service
  • Data Type and Representation Object Implementations
  • Query Service
  • Process Object specifications
  • Presentation Object specifications
  • Concurrency Control Service specification (high level)
  • Messaging Service specification
  • Extended Data Type specifications
  • Unique object identifier specifications
4 Independently developed applications can be configured into reusable, virtual applications by system integrators with customization for specific end-users All of the above (supporting application component meta-data)plus:
  • Virtual Application Utility
  • Application component meta-data specifications
  • Virtual application creation / modification utility specifications
5 Virtual applications can be configured by end-users All of the above plus:
  • End-user's Virtual Application Utility
  • Object services that are run-time, dynamically configurable and manageable
  • Run-time object configuration / behavior determination specifications

1.5 RFT Requirements Summary

The RFT requested that submissions address either or both architecture and domain requirements. The RFT used the terms as follows:

The RFT presents requirements in three sections:

The General Requirements apply to all submissions and cover these topics:

5-1 POSC Specifications: use and proposed refinements
5-2 OMG Specifications: use of Interface Definition Language (IDL) and Unified Modeling Language (UML)
5-3 Object Definition Techniques: internal object models (EXPRESS), mappings (EXPRESS-X or similar)
5-4 OMG Interface Requirements: operations, precision, completeness, mandatory/optional, reuse, implementation flexibility, implementation interoperability, transaction processing, and security
5-5 Qualitative Criteria: performance, portability, compliance, ease of use, transition, Microsoft's approach to distributed object technology, use of Java

The Architecture Requirements cover these topics:

6-1 Use the RFT's Preliminary Architecture as a Baseline
6-2 Shared Service Interfaces:
  • Distributed Object and Business Object Support Services:
    • mandatory services: object instance locating, event, messaging, collection, identity, concurrency, persistence, simple relationship
    • optional services: component meta-data, virtual application
  • Generic E&P Services: base business object, data types, units & coordinate transformations, object identity
6-3 E&P Object Model: generic events, factory, data, process, and presentation objects
6-4 Service (Object) Definitions: structure, behavior, usage scenario, OMG IDL
6-5 Relationship to Existing POSC Specifications

The Domain Requirements cover these topics:

7-1 Relate the domain submission to a specific Architecture submission
7-2 Interpretation Domain Object Model and E&P Object Model: data, process, and presentation objects
7-3 Business Object Definitions: definition template (See RFC),usage scenarios, internal object model, mappings with Epicentre, OMG IDL
7-4 Scope:
  • mandatory: the target domain subset -- Seismic Interpretation
  • optional: outside of the target domain subset
7-5 Relationship to Existing POSC Specifications
7-6 Business Object Definition Guidelines

1.6 Evaluation Highlights

The evaluation focused on the following topics, discussed below:

Completeness Consistency and Workability
Designed for Change Fit for Purpose

Completeness

It was anticipated that although the initial interoperability specification would not be complete both in terms of the architecture and the Interpretation domain coverage, it would be sufficient to be used in commercial software development. The evaluation confirmed this expectation. The limitations on the completeness of the initial specifications result from several factors, including:

Consistency and Workability

The evaluation process placed emphasis on these two important characteristics:

  1. The specifications must be consistent with existing POSC specifications, e.g. Epicentre.
  2. RFT Section 5, Requirement 5-1 states: "Proposals shall make use of existing POSC specifications and indicate the nature of the relationship between the existing specifications and the proposed specifications. Direct use of the material from existing POSC specifications may be appropriate in defining business object/Epicentre mappings and in implementations."

  3. The specifications must be workable.
  4. RFT Abstract states: "This Request for Technology (RFT) document states the goals and direction of this initiative and invites proposals of workable architecture and Subsurface Interpretation business object specifications suitable to become POSC SIP specifications."

The evaluation results included an elaboration on the definition of workability with the following points:

The last two items are described in the following subsections.

Designed for change

Object technology offers a great deal of structural flexibility, even as compared with the best non-object-oriented software design techniques. Like earlier techniques, however, the benefits of flexibility can be realized only if there is an overall plan for the manner in which functionality is distributed among components. The definition of such design guidelines is an essential part of this project and, as such, is reflected in the RFT through the architecture portion as a whole and explicitly in domain Requirement 7-6, which asks for design guidelines to be proposed in the submissions.

The evaluation identified a number of useful design guidelines that can contribute to achieving a flexible environment in which changes can be introduced with minimal impact to previously definitions and implementations. This is a useful addition to the qualitative criteria defined in RFT Requirement 5-5. Some of these were derived from submissions, while others were recognized as by-products to the evaluation process itself. Most of the guidelines are analogous to well-known pre-object technology guidelines. Even for these, there are some unique aspects of object technology to consider.

Each guideline will now be explained briefly:

Fit for purpose

Early in the life of this project, it was realized that it is imperative that business objects be carefully defined in terms of a definitive purpose. The five-step process for defining a business object, first presented in the Request for Comments document, requires a Usage Scenario (also known as Use Case) as part of Step 1. This is reflected in RFT Requirement 7-3. Service definitions are also required to contain Usage Scenarios as stated in RFT Requirement 6-4.

In contrast to an integrated, enterprise-wide data model, like Epicentre, each business object is focused on a specific and limited purpose. Therefore, individual usage scenarios that clarify the purpose and intended scope of an object definition or service definition are appropriate.

The evaluation process also recognized the usefulness of defining Usage Scenarios at the level of each E&P Domain to be used as test cases to confirm the fitness for purpose of the entire set of service and object definitions. These usage scenarios should cover several levels if granularity, from E&-P oriented activity descriptions to explicit sequences of object and service method calls.

2. Overview of POSC Interoperability Specifications

This section describes the structure and content of the initial set of POSC interoperability specifications with reference to the RFT submissions and how each contributes to these specifications. This section covers both architecture and domain aspects of the RFT. A discussion of work items that should be addressed to complete the preparation of these specifications is in Section 4. Work Plan.

2.1 Overall Structure Within POSC SIP

The specifications that will result from this project have been described in a number of ways over the life of the project. With the completion of the RFT process, the following structure for the specifications has been determined:

It is often helpful to relate the name of a specification to the name of the class of products that implement the specification, e.g. the UNIX specification is implemented by UNIX operating system products, the DAE specification is implemented by DAEF products, etc. In this case, we have:

The full set of Interoperability Specifications can be represented in terms of architectural layers, as follows:

USER INTERFACE STYLE GUIDE
<application components>
INTERPRETATION OBJECT MODEL SPECIFICATION INTERAPPLICATION COMMUNICATION
SPECIFICATION
E&P OBJECT MODEL SPECIFICATION
DISTRIBUTED OBJECT SERVICES SPECIFCATION
BASE COMPUTER SERVICES SPECIFICATION (includes references to other layers)

Another representation of the structure of the POSC specifications with the addition of the new interoperability specifications is the following enhanced version of the POSC Software Integration Platform diagram. Note that the new specifications address functionality previously resident in a portion of the Technical Applications box. (Note that Domain Object Model is a generic reference to the set of E&P Domain Object Models of which Interpretation Object Model is the first to be defined.)

POSC Software Integration Platform
Notes:

2.2 Summary of Contents of the Specification

The recommended contents for the initial POSC interoperability specification are presented according to the architectural layers introduced above and illustrated in the following figure.

Notes:

2.2.1 General Recommendations

The evaluation resulted in a number of recommendations for elements that should be included in the specifications and for items to be worked in conjunction with the specification development (Base Computer Services). These recommendations are discussed below.

General Discussion

The specifications should include a general discussion of interoperability and business, including specifically:

Representation

The concepts illustrated in Submission "A" should be adopted, refined, and applied to the material taken from other submissions. This is important because Representation objects are basic building blocks for most of the other object definitions being defined now as well as most E&P Business Objects to be specified in the future.

Design Patterns

The following design patterns, implicitly described in the various submissions, should be explicitly described in the specifications:

Coordinates Pattern Describes usage of the EPO Coordinate Service in terms of client responsibilities and E&P data object interface definitions
Representation Pattern Describes the approach to E&P data object definition which separates domain subject-matter-oriented objects from generic representation-oriented objects
Query and Create Pattern Describes how the COS Query Service can be used to discover sources for objects and how factories can be used to create E&P data object instances
Relationship Pattern Describes how ad-hoc relationships between objects are established.

Draft descriptions of those four design patterns, as developed during the evaluation process, are presented in Appendix A.

Additional design patterns may be included in the specifications, such as: (1) a History/Versioning Pattern that creates an audit trail for objects derived from existing objects; (2) a Life Cycle Pattern that manages the creation, saving, restoring, and deletion of objects; and (3) a Data Type Conversion Pattern that addresses problems related to data formats.

Criteria for Inclusion

The following are criteria used during the evaluation to help support the decision to recommend that specific objects and services be included in the initial release of the POSC interoperability specifications for the E&P Object Model (summarized in Section 2.2.3) and Interpretation (Domain) Object Model (summarized in Section 2.2.4):

Object Roles

The objects to be defined in the interoperability specifications generally play one of several roles as defined in the RFT Section C.3.2, i.e. entity (or data) objects, process objects, presentation objects. For clarity, the specifications should employ commonly used descriptors of these roles as the final word in the names of the objects. Specifically, object for entity objects, service for process objects, and viewer for presentation object. Common usage suggests using a small number of specialized descriptors, e.g. factory as a special kind of service.

Templates

Templates, as illustrated in Appendix B, should be used in the specification to define objects, services, and design patterns.

Capabilities Description

There are basic capabilities of objects that need to be defined in the specification. The capabilities described here are based on several sources: the submissions, supplemented by material in the RFT; related work on interoperability; and concepts discussed during the evaluation. Each object is described by the following items of information:

Name A working title for the object
Purpose The requirements of the stakeholder(s) to be addressed by this object
Design Pattern A reference to a relevant design pattern, if defined
Interoperability Level An indication of the first interoperability level that needs the object
Submission The submission(s), if any, that proposed the object (or a variant thereof); other relevant sources are noted, e.g. submissions to the OMG's now retired Request for Proposals (RFP) on Business Object Facility and Common Business Objects, OMG's Meta-Object Facility specification, Microsoft's Component Object Model Plus (COM+), Microsoft's Transaction Service (MTS), Enterprise JavaBeans (EJB), etc.
Satisfaction An indication of the degree to which the submitted (or referenced) material satisfies the stated purpose, where 0 means not at all and 3 means fully satisfied.
Issues Brief observations and questions raised during the evaluation process, if any

Object Design Guidelines

Determine how to define and manage business object subtypes, e.g. subtypes of the EPIO Horizon Object. Consider the OMG BOCA submission concept of a BOF Type manager. Consider simply providing enumerated lists within an EPIO Horizon Factory.

Microsoft Distributed Object Technology

Document the equivalent Microsoft Services, e.g. from COM+, along with the references to CORBA services where possible. Provide links to MIDL descriptions that are equivalent to the CORBA IDL descriptions, preferably generated with the same CASE tool. See the OMG / Microsoft correlations documented in RFT Section C.2.5.

OpenGIS Consortium

Coordinate relevant specifications, e.g. Units and Coordinates, with the OpenGIS Consortium and the OMG CORBA GIS Special Interest Group.

Base Computer Services

Work on the Base Computer Services component of the Interoperability Specifications should include the following:

2.2.2 Distributed Object Services

The Distributed Object Services specification will define services which provide capabilities that are: (1) described in the submissions in response to the requirements of the RFT, and (2) supplemented as proposed in the recommendations resulting from the evaluation.

The RFT asked for submissions to recommend how Microsoft distributed object technology can be used with the POSC specifications. This information was not received in the submissions, but it should be included in the POSC specifications. Reflecting the current status, the following services are described only in terms of the OMG CORBA Object Services, prefixed by COS.

The Distributed Object Services specification will define the following object services:

Collection Identity Naming Security
Concurrency Licensing Notification Trader
Event Life Cycle Query Transaction

These services are summarized below.

COS Collection Service

COS Concurrency Service

COS Event Service

COS Identity Service

COS Licensing Service

COS LifeCycle Service

COS Naming Service

COS Notification Service

COS Property Service

COS Query Service

COS Security Service

COS Trader Service

COS Transaction Service

2.2.3 EPO Objects and Services

Object Families

The E&P Object Model specification will define the following object families:

EPO Base Object

Representation Object

Project Object

These objects are summarized below.

EPO Base Object

EPO Representation Object

The EPO Representation Object will include interfaces for: EPO Shape, EPO Lattice, EPO Measurement, EPO Iterator, etc.

EPO Project

EPO Services

The E&P Object Model specification will define the following services. They are presented in three groups:

These services are summarized in the following subsections.

EPO Services - Refinements to CORBA Services

The following are EPO Services that will be in the POSC specifications and are refinements (constraints and/or extensions) to CORBAservices.

Note: The need for these EPO services, i.e. for their constraints and/or extensions should be re-evaluated for each of these services, e.g. as compared with defining a Usage Pattern describing how to properly use the associated CORBAservice.

EPO Concurrency Service

EPO Identity Service

EPO Life Cycle Service

EPO Notification Service

EPO Property Service

EPO Query Service

EPO Relationship Service

Other EPO Services

This section describes EPO Services, other than the extended CORBAservices summarized in the previous subsection, which will be included in the specification.

EPO Authorization Service

EPO Base Factory

EPO Coordinate Service

EPO POSC Data Type Service

EPO Reference Value Service

EPO Units Service

Future EPO Services

The following are EPO Services, discussed in the RFT and/or submissions, that may be included in future versions of the specification to address Interoperability Levels above 3.

EPO Collection Service

EPO History Service

EPO Meta-Data Management Service

EPO Scripting Service

EPO Session Service

EPO Transaction Service

EPO Versioning Service

EPO Workflow Service

2.2.4 EPIO Objects and Services

The (E&P) Interpretation (Domain) Object Model will define the following object families:

Well, with interfaces for:
  Well Wellbore Velocity
  Log Trace Well Pick
 
Seismic, with interfaces for:
  Seismic volume Seismic Panel Seismic Trace
 
Interpretation, with interfaces for:
  Geologic Feature Seismic Pick

During the preparation of the specifications, any object that is applicable to multiple E&P domains should be defined in the E&P Object Model specification.

There are some issues that apply generally to all of the EPIO Objects and Services summarized in this section:

The following object families will be defined:

EPIO Well Objects with interfaces for:

EPIO Well Object
  • Purpose: Serves as the organizational tool for gathering and storing well information; provides descriptive information about a well.
  • RFT Reference: 7.2
  • Level of Interoperability: 1
  • Submission: "D"
  • Satisfaction: 1.5
  • Issues:
    • The life cycle and usage material (Well Query Manager, et. al.) used in the presentation of Submission "D" should be considered.

EPIO Wellbore Object
  • Purpose: Provides well bore header information and the geometry information of the well path.
  • RFT Reference: 7.2
  • Level of Interoperability: 1
  • Submission: D, but factored as specified in Submission A
  • Satisfaction: 1.5

EPIO LogTrace Object
  • Purpose: Provides log trace data values and one or more indexes for a digital well log trace.
  • RFT Reference: 7.2
  • Level of Interoperability: 1
  • Submission: D, but modified to include Submission A.
  • Satisfaction: 1.5
  • Issues:
    • The effect of representation encapsulation on conversions associated with indices must be considered.

EPIO Wellpick Object
  • Purpose: Provides data about identified features (dipmeter picks, well markers, etc.) found in a well bore along with the feature's location in a specified coordinate system. The well picks are associated with geologic features.
  • RFT Reference: 7.2
  • Level of Interoperability: 1
  • Submission: D
  • Satisfaction: 1.5
  • Issues:
    • The relationship of picks to geologic features, as described in the submission, should be reviewed.

EPIO Velocity Function Object
  • Purpose: Provides parametric descriptions of velocity functions, e.g. as sets of time/depth pairs; used to convert time to depth or depth to time.
  • RFT Reference: 7.2
  • Level of Interoperability: 1
  • Submission: D, but factored to reflect Submission A.
  • Satisfaction: 1.5
  • Issues:
    • Processing interfaces for time-depth conversions should be included.
    • The methods for time-depth conversion may be significantly altered by the representation encapsulation.

EPIO Seismic Objects, including interface definitions for:

EPIO Seismic Volume Object
  • Purpose: Provides post-stack seismic 3D Volume: 3D traceset, 3D header
  • RFT Reference: 7.2
  • Level of Interoperability: 1
  • Submission: Partially addressed by submission D
  • Satisfaction: 1.5

EPIO Seismic Panel Object
  • Purpose: Provide post-stack seismic 2D Line: 2D traceset, 2D header
  • RFT Reference: 7.2
  • Level of Interoperability: 1
  • Submission: Partially addressed by submission D
  • Satisfaction: 1.5

EPIO Seismic Trace Object
  • Purpose: Provides post-stack seismic trace data and header.
  • RFT Reference: 7.2
  • Level of Interoperability: 1
  • Submission: Partially addressed by submission D
  • Satisfaction: 1.5

EPIO Interpretation Objects, including Interface definitions for:

EPIO Geologic Feature Object
  • Purpose: This object includes Horizons, Faults, Surfaces, etc.. These are the features to which geometries will be assigned and the features to which well picks and seismic picks will be associated. Life cycle models are critical since these objects are the end product of interpretation and need to be saved.
  • RFT Reference: 7.2
  • Level of Interoperability: 1
  • Submission: "D"
  • Satisfaction: 1.5

EPIO Seismic Pick Object
  • Purpose: Similar to Well Pick, this object provides the seismic features that are related to the geologic features.
  • RFT Reference: 7.2
  • Level of Interoperability: 1
  • Submission: "D"
  • Satisfaction: 1.5

3. RFT Requirements Satisfaction

The RFT stated what was required in submissions for both architectural components (services) and domain components (business objects). These were stringent expectations if strictly interpreted and none of the submissions met them entirely. The evaluation team took these submissions, identified those parts which addressed RFT requirements, and identified additional work that must be done to fulfill the RFT requirements. Nevertheless, as stated in Section 1.6, the initial specification will not cover all of the RFT requirements.

The following is a summary of the level of satisfaction of the RFT mandatory requirements from the selected portions of the submissions. The requirements are grouped and identified as listed in Section 1.5. The quantitative scores range from 0 (means not addressed) to 3 (means fully satisfied).

Satisfaction of RFT Mandatory Requirements
Requirement Group Score Comments
GENERAL
5-1 POSC Specifications: use and proposed refinements 1.5
  • References to existing specifications not complete
  • Some additions to BCS proposed
5-2 OMG Specifications: use of IDL and UML 2.0
  • IDL not complete
  • UML not complete
  • No UML guidelines provided
5-3 Object Definition Techniques 1.5
  • Internal object models not complete
  • Mappings not complete
5-4 OMG Interface Requirements 2.0
  • Good integration of current and in-progress OMG services
  • Factoring out common functions partially address, e.g. Submission A, Factories, etc.
  • Not Addressed: ISO/IEC 10746, Reference Model of Open Distributed Processing (ODP)
  • Not Fully Addressed: Security
5-5 Qualitative Criteria 1.5
  • Most topics addressed in limited ways
  • Microsoft technology usage not adequately addressed
ARCHITECTURE
6-1 Use the RFT's Preliminary Architecture as a Baseline 3.0  
6-2 Shared Service Interfaces 2.0
6-3 E&P Object Model 2.0
  • Substantial definitions for required services
  • Object model diagrams not complete
  • Definitions and relationships not complete
  • Not Included: E&P process and presentation objects/interfaces
6-4 Service (Object) Definitions 2.0
6-5 Relationship to Existing POSC Specifications 2.0
  • Epicentre usage and mappings not complete
  • Association with data types not complete
DOMAIN
7-1 Relate the domain submission to a specific Architecture submission 3.0  
7-2 Interpretation Domain Object Model and E&P Object Model 1.5
  • Object model diagrams not complete
  • Definitions and relationships not complete
7-3 Business Object Definitions 1.5
  • In spite of the high-quality work reflected in the submissions, the required object definition process and detailed definition content was not included in full.
7-4 Scope: target subset 2.0
  • Coverage within the target subset was fairly good
  • In spite of the high-quality work reflected in the submissions, the required scope of objects was not addressed in full.
7-5 Relationship to Existing POSC Specifications 1.5
  • Epicentre usage and mappings not complete
  • Association with data types not complete
7-6 Business Object Definition Guidelines 1.5
  • For the most part, object definition guidelines were not addressed
  • The encapsulation of data types/representation was addressed in Submission "A"

Notes:

4. Work Plan

A detailed work plan for completing the work on the POSC interoperability specifications has been developed. The following is a summary of the work plan.

Phasing and Estimated Timing

The work is organized in four phases labeled 0 through 3. Major reviews are planned at the end of Phases 1 and 2. An Alpha/Beta release is planned in Phase 3.

Phase Time Period Activity
Phase 0 September, October 1998 Usage Scenario Definition, Tools and Techniques, Specification Overview, Base Computer Services, Distributed Object Services, Representation Encapsulation (Submission "A" follow-on)
Phase 1 November, December 1998 E&P Objects and Services, Interpretation Objects and Services, Review
Phase 2 January 1999 Refinement of all specification documents, Review
Phase 3 February, March 1999 Alpha/Beta and Production Release

Resource Roles and Estimates

A number of roles have been identified to address the tasks and phases as shown. The current estimated total is 22 man-months. The plan will be refined and roles re-assigned as the planning and resource assignments proceed. The resource roles of "Contracted Subject Expert", "IT/Object Contractor", and "E&P/Object Contractor" will be contracted from outside of the POSC staff. Other roles may be contracted from outside as well. The First-Line Member Reviewers are currently designated to be the member representatives on the evaluation team. The First-Line Reviewers will be included in task reviews and will primarily be invited to participate in the Phase End reviews.

Current resource roles defined are:

Project Manager RFT Submitters
E&P Lead First-Line Member Reviewers
IT Lead Member Reviewers
Specification Lead Contracted Subject Experts
Architecture Specialist IT/Object Contractor
Geological Specialist E&P/Object Contractor
Geophysical Specialist
Member Services Specialist
System Administrator
Data Type Specialist

Tasks

The following list identifies the details of the tasks to be performed during development of the specifications:

All Phases
  Project Management
Phase 0
  Define Usage Scenarios covering requirements for Interoperability Levels through "3" and Interpretation coverage across the target RFT scope, limited as recommended in the evaluation. This will produce deliverables including E&P activity descriptions and correlated object/service sequence diagrams. Detailed applications of these Usage Scenarios will be made as the objects and services are defined resulting in correlated object/service-level sequence diagrams.
  • Identify and Define Geological Scenarios
  • Identify and Define Geophysical Scenarios
  • Review
  Prepare Tools and Techniques, including templates (from the evaluation work checked against OMG style requirements, POSC specification production techniques, UML tools, IDL tools, naming conventions (define and publish), software engineering and data management requriements, mapping language (EXPRESSIVE) techniques and tools, utilities, etc.
  • Installations
  • Administration and Usage Guidelines
  • Mapping Language and Tools
  • Review
  Draft Specification Overview, using material taken from the Request for Technology, submissions, evaluation report, etc.
  • Microsoft / OMG Guidelines, investigate and document alignment and options to use Microsoft distributed object technology with the specifications
  • Design Guidelines, using material from the submissions and evaluation report supplemented by the ongoing work to complete the specifications
  • Assemble and Edit the Specification Overview Material
  • Review
  Draft Base Computer Services (BCS) and Distributed Object Services (DOS)
  • Issue BCS Business Driver Survey, to validate and/or enhance the 1994 survey
  • Determine Future BCS Profile Strategy, including the disposition of the Version 2.0 profiles and the definitions of new profiles suitable for Version 2.2. specifications and for the interoperability specifications
  • Draft Extended / Updated BCS Specifications
  • Draft DOS Specifications
  • Review
  Representation Encapsulation (RE)
  • Continue the work presented in Submission "A", including determination of base objects and derived objects, definitions of all objects and supporting services, correlation with POSC specifications, mappings, and interface with early SEM work
  • Ensure Thorough Understanding from Submitters
  • Associate with Data Type Definitions
  • Consult with Subject Expert(s)
  • Define Objects/Services and Interfaces
  • Review
  Prioritize objects and services to be defined in Phases 1 & 2, guided by the Usage Scenarios.
  • Prioritize Phase 1 & 2 objects and services
  End Phase 0 Milestone
Phase 1
  Define E&P Objects and Services Specifications, including for this and the following tasks the preparation of full object / service definitions per the RFT and the templates; this will include object models, object family definitions, object definitions, design pattern recognition and definitions, internal data models, Epicentre mappings, and illustrative sequence diagrams
  • Objects: Base, Representation, Project (plus Base Factory, Classification, and Authorization Services)
    • Workshop
    • Drafting A
    • Interim Workshop
    • Drafting B
    • Review
  • Services: CORBA Service Refinements
    • Workshop
    • Drafting A
    • Interim Workshop
    • Drafting B
    • Review
  • Services: New Services
    • Drafting A
    • Interim Workshop
    • Drafting B
    • Review
  Define Interpretation Objects and Services Specifications
  • Objects: Well, Log, Geologic Feature
    • Workshop
    • Drafting A
    • Interim Workshop
    • Drafting B
    • Review
  • Objects: Seismic, including Pick
    • Workshop
    • Drafting A
    • Interim Workshop
    • Drafting B
    • Review
  Phase 1 Review
  End Phase 1 Milestone
Phase 2
  Refine Specification Overview
  Refine Base Computer Services (BCS) and Distributed Object Services (DOS) Specifications
  • Assess and Document BCS Survey Results
  • Refine BCS Profile Description
  • Revise/Edit BCS and DOS Specifications
  • Review
  Refine E&P Objects and Services Specifications
  • Refine E&P Object Specifications
  • Refine E&P Service Specifications
  • Review
  Refine Interpretation Objects Specifications
  • Refine Interpretation Objects Specifications
  • Review
  Phase 2 Review
  End Phase 2 Milestone
Phase 3
  Prepare Alpha/Beta Release
  Alpha/Beta Release and Member Acceptance Feedback
  Prepare Production Release
  Production Release

Appendix A. Design Patterns

A.1 Sample Design Patterns

The following design patterns were derived during the evaluation process. Note that the format used by Erich Gamma, et al (Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional Computing Series, 1995, ISBN 0-201-63361-2) is preferred and should be used in the future.

A.1.1 Coordinates

A.1.2 Representation

A.1.3 Query and Create

A.1.4 Relationship

A.2 Design Pattern Guidelines

The following are some guidelines related to design patterns:
  1. Design patterns defined for the specifications should be mapped to basic patterns (e.g., the singleton pattern) used to determine which one of a group of instances retrieved from the CORBA Trader Service is to be used). This is a low priority, but would be helpful in legitimizing the design patterns used in the specifications.
  2. Consider defining guidelines for exception handling.

Appendix B. Templates

B.1 Object Families

B.2 Object / Interface Definitions

Notes:

B.3 Design Patterns

Notes:

Glossary

API
(1) American Petroleum Institute. (2) Application Programming Interface.

application component
A component that is initiated by and/or interacts with end-users to accomplish business tasks.

application interoperability
The characteristic demonstrated by two independent application components of exhibiting predefined behaviors in a consistent manner, e.g. user interface interoperability, data instance sharing interoperability, etc.

architecture
Defines how components operate and cooperate to achieve an overall purpose. The architecture under development here is intended to define how E&P software components can facilitate information sharing and interoperability.

Base Computer Standards
POSC definition of a set of specifications that can be used to define an E&P computing environment. It is an assembly of pointers to existing standards and other POSC specifications.

BCS
Base Computer Standards.

BOCA
Business Object Component Architecture.

BOF
Business Object Facility.

BODTF
Business Object Domain Task Force.

business object
A representation of a thing active in the business domain, including at least its business name and definition, attributes, behavior, relationship and constraints. A business object may represent, for example, a person, place or concept.

business object facility (BOF)
A collection of services that facilitate the definition and use of business objects.

CBO
Common Business Object. A term defined by the OMG to denote objects that are defined with business-oriented content and which are applicable across all industries.

CBOF
Common Business Object Facility. The name given to a submission to the OMG Business Object Facility RFP (now withdrawn).

CBOF I/S
Common Business Object Facility Interface Specification.

CGM*PIP
Computer Graphics Metafile - Petroleum Industry Profile. CGM*PIP is a set of POSC specifications containing E&P-specific extensions to the ISO Computer Graphic Metafile standards.

COM+
Component Object Model Plus (Microsoft).

component
A discrete piece of a software system or application. See application component and software component.

COS
CORBA Object Service; the OMG-defined prefix for naming services defined by the OMG.

CORBA
Common Object Request Broker Architecture.

CORBAservice
The general name used by OMG to refer to broadly applicable services defined by the OMG are used together with the CORBA specification (i.e. with Object Request Brokers).

DAE
Data Access and Exchange. POSC interface specification for logical data model access to data stores.

DAEF
Data Access and Exchange Facility; any product that implements the POSC DAE. DAEF products manage data populations called POSC Data Stores in much the same way that traditional DBMS products manage data bases, except that access to POSC Data Stores use versions, extensions, or subsets of Epicentre as their schema and DAE as their interface.

data object
An object that is primarily a representation of an E&P business entity in terms of its data. Examples are seismic section, well log curve, etc.

data store
Application accessible, organized collection of data managed in a controlled manner and accessed through a defined interface; may be supported either by a commercial Data Base Management System with a defined physical data base schema or by a middle-ware layer that offers similar services at a logical data model level, e.g. POSC Data Stores accessed via the Data Access and Exchange (DAE) interface.

data type
A "building block" of data values defined in Epicentre. Data types are the basic data formats and ranges, such as integer, character, location, date, quantity, and surface.

DCE
Distributed Computing Environment

design pattern
Repeated fragment of information processing that can serve as a guide to software design and as a test of the completeness and correctness of the definitions of shared services and objects.

developer
A person with programming skills whom creates tools to be used by other developers or by end-users.

distributed object technology
Object technology with the ability to distribute objects across heterogeneous computing environments. With distributed object technology, the servers and clients can be in different address spaces or in different processors that may be distributed across a network (e.g. an Intranet or the Internet).

domain
General idea of the scope of relevance of a definition or set of definitions. In this report, domain is a POSC-defined subdivision of the E&P industry's business processes intended for use in defining coherent object models; one of the following: Interpretation, Acquisition and Processing, Drilling, Facility, Operations, Land/Lease, Management/Economics, Accounting/Financial.

E&P
Exploration and Production sector of the Oil and Gas industry

E&P BOF
Term introduced in the Request for Technology document intended to encompass the services layered above the OMG CORBA services specifically designed to support business object usage; this term has been dropped in light of the withdrawal of the OMG Request for Proposal upon which it was based.

E&P User Interface Style Guide
POSC specifications that defines guidelines for E&P industry oriented user interface constructs that are intended to encourage consistency in the appearance and behavior of E&P applications. Also referred to as POSC Style Guide.

EJB
Enterprise JavaBeans.

encapsulation
Concept that the internal content of an object is hidden and may not be accessed or examined from outside the object. One interacts with an object through its public interface, which exposes selected attributes and methods.

end-user
An E&P professional (geologist, petrophysicist, etc.) who uses the software products. Synonym: business practitioner.

Epicentre
POSC E&P logical data model specification, i.e. a data model for the exploration and production industry that is expressed in a form meaningful to the way E&P professionals and application developers define and use data.

Epigramme
A POSC PEF encoded data file.

EPIO
E&P Interpretation Object; POSC-defined prefix for naming objects and services specific to the Interpretation Domain.

EPO
"E&P Object"; POSC-defined prefix for naming objects and services applicable across all E&P Domains.

EXPRESS
The name for the information modeling language defined in ISO 10303-11 intended to be used to define exchange data models related to manufactured products and processing plants. EXPRESS has object-oriented capabilities, including inheritance. EXPRESS, with several enhancements, is used by POSC to define the Epicentre logical data model.

EXPRESS-X
The working name for a information model mapping language being defined to complement EXPRESS, i.e. to define mappings between pairs of EXPRESS information models.

factory
A specialized object service that primarily instantiates object instances.

GIS
Geographical Information System.

IAC
Interapplication Communication; a POSC specification for a non-object shared service Interoperability, the characteristic demonstrated by two independent components of exhibiting predefined behaviors in a consistent manner.

IDL
Interface Definition Language. IDL defines the interfaces of the objects in a rigorous programming language independent manner that can be compiled for a specific programming language.

idldoc
A utility that generates documentation from OMG IDL definitions.

Interoperability Specifications
A new major category of POSC specification.

interpretation
One of the POSC-defined E&P Domains; includes the full range of subsurface interpretation disciplines corresponding to the Definition or Appraisal phase of the E&P life cycle.

levels of interoperability
The six POSC-defined stages of interoperable behavior for applications.

levels of sophistication of application interoperability
See levels of interoperability.

MIDL
Microsoft Interface Definition Language. The name used by Microsoft for its interface definition language.

MTS
Microsoft Transaction Service.

MOF
Meta-data Object Facility. The name used by OMG for a specification of a service to define and manage meta-data, e.g. meta-data to support software engineering tools.

natural identifier
For an object, the set of attribute values which together link an object instance to the real-world "thing" that it characterizes.

object
As used in the software engineering discipline of object technology, an object is a discrete software component that can contain data and can perform operations. Objects often model real-world things. The operations that an object can perform are called the object's behavior. In the context of this report, object refers specifically to an entity object.

object families
A working term representing a group of object defined together because of close affinity in content and/or use.

object model
A representation of a set objects and their relationships.

object role
Defined characteristics in the functionality of an object, e.g. entity or data for objects carrying and providing data, process for objects that carry out algorithms, and presentation for objects that cause information to be displayed for users.

object technology
The set of techniques and tools based on the concept of object.

OMEGA
Object Oriented Methods Environment for Geoscience Applications. The name of an Esprit project.

OMG
Object Management Group.

OpenGIS Consortium
A consortium of organizations dedicated to the definition of open specifications in support of Geographic Information System products and their users.

Open Process
A set of activities through which POSC member organizations and others contribute comments related to requirements for POSC specifications.

ORB
Object Request Broker.

PEF
POSC Exchange Format. PEF is the POSC generic linear encoding of logical data model defined data content. A PEF file that uses Epicentre as its data model is called an Epigramme.

ODP
Open Distributed Processing.

POA
Portable Object Adapter.

POSC
Petrotechnical Open Software Corporation. A not-for-profit membership organization formed to help realize the benefits of information sharing in the E&P industry through collaborative development of specifications for use as standards.

POSC data store
A data store based on the POSC Epicentre data model.

presentation object
An object that is primarily intended to display information to end-users.

process object
An object that is primarily intended to perform algorithmic or interactive operations.

PSS2
Persistent State Service V2.

reference values
Standard values in Epicentre defined by POSC or other organizations.

representation
The structure and format of the pure values of a measurement as contrasted to the business context and meaning of the measurement values.

representation object
An object that primarily serves to define and manage potentially complex value structures and content without regard to the business context of said values.

RFC
Request for Comments. In this report, RFC refers to the Interoperability and Business Objects RFC that was issued by POSC in May 1997.

RFP
Request for Proposal.

RFT
Request for Technology.

service
A process object.

SIP
Software Integration Platform; the set of all POSC specifications. The specifications, taken together, support improved information sharing through the use of computer software (applications, infrastructure, etc.), through integration of previously diverse definitions and usages, and by facilitating the building of common platforms on which end-users can work effectively.

software component
Discrete piece of software. Software systems are composed of components.

SSL3
Socket Security Layer, version 3.

stakeholders
A synonym for "interested parties", i.e. those who have a vested interest in something.

Style Guide
POSC E&P User Interface Style Guide.

Subsurface Interpretation
The name given to the E&P Domain which covers the appraisal or definition phase of the E&P Life Cycle and covers the re-appraisal studies that occur during the Production phase. Subsurface Interpretation covers a set of related geophyiscal and geological disciplines.

template
Annotated outline of information suitable for the content of a type of definition.

UML
Universal Modeling Language

UNIX
The name of a computer operating system implemented on many hardware platforms and based on an open specification standard managed by The Open Group.

usage scenario</