Overview of the STEP and the STEP Standard Data Access Interface Position paper for Workshop on Application Integration Architectures Texas Instruments February 8-12, 1993 K. C. Morris kc@cme.nist.gov Factory Automation Systems Division National Institute of Standards and Technology Bldg. 220 / A127 Gaithersburg, MD 20899 This paper summarizes - the work that is currently being done within ISO 10303 (a.k.a. STEP -- ISO/TC184/SC4), and - the role of the STEP Standard Data Access Interface for sharing data. Particular emphasis is given to the STEP Standard Data Access Interface since coordination with other standards is especially important for applications using this interface. The paper is intended to describe these topics as a basis for discussion at the Workshop on Application Integration Architectures at Texas Instruments. 1 Overview of the STEP The International Standard for the Exchange of Product Model Data (STEP) provides a basis for communicating product information at all stages in the product life-cycle, covering all aspects of product description and manufacturing specifications. The fundamental components of the STEP are product information models and standards for sharing information corresponding to such models. The development of STEP is supported by numerous countries, businesses including PDES, Inc. which is a consortia of industrial corporations (PDES stands for Product Data Exchange using STEP), commercial software vendors, and universities [Furlani90]. NIST is itself active in some areas of model development and in the development of the exchange mechanisms. In addition, NIST administers the National PDES Testbed. The Testbed is used in the development of information models being proposed as part of STEP, as a facility for conducting prototype implementations of systems using the STEP models and exchange mechanisms, and in the investigation of the suitability of new technologies to the application areas covered by STEP [McLean90]. Until recently the focus of the standard has been on exchanging data files for sharing product data; now there is an effort underway to define a mechanism for sharing such information more dynamically and at a finer level of granularity through the use of database management systems. Within the STEP community the different types of data sharing are referred to as levels of implementation: Level 1 refers to sharing by means of an exchange file; level 2 refers to data sharing using a standard application program interface; and level 3 refers to data sharing using a database management system as the means of data storage and access [Alte88c]. These more sophisticated mechanisms must be coordinated with other standards in order to succeed. The underlying assumption when sharing data using STEP is that the data in question corresponds to an agreed upon integrated conceptual schema. While this is extremely useful for the exchange data in a neutral file format, sharing data directly through a database management system is much more complex. Among the things to be considered in such an environment are - how to access the data, - how to limit access to data in such a way that a foreign system would be able to access only that data which is desired and not other information in the system, - how to locate data in a shared and distributed system, and - how to integrate the STEP models for data into an enterprise's global data system. These are considerations which have only begun to be addressed by the STEP development community and are also of concern in other standards. The initial thrust of the STEP development effort has been to build information models to represent structure and semantics to be associated with shared data. This was and is a difficult task. It requires agreement on standard product information models, a language for representing these models, and the specification of an exchange format. The requirement to support the models of existing CAD and CAM systems has made achieving consensus on the content of the standard product information difficult because the models often overlap and conflict. For example, a curve through space can be represented as a b-spline, as a list of curve segments, or as a non-uniform-rational b-spline (NURB). The STEP modelers have undertaken the very difficult job of defining mappings between the different representations of the same information. The need for language capable of reflecting rich semantics and data structures resulted in the specification of the conceptual modeling language Express [ISO11]. Among other things this language contains many "object-oriented" features. For instance the language provides for the representation of constraints and the representation of classes of data in both hierarchies and networks simultaneously. The format of the STEP exchange file mirrors the Express language. The STEP Standard Data Access Specification (SDAI) [ISO22-WD], which is currently under development, is based on the requirement for a means of dynamically accessing data defined using the Express language and also directly reflects the Express language. The initial release of STEP (targeted for release in 1993 as a Draft International Standard under ISO/TC184) will consist of a group of clearly and formally defined information models (covering application areas including but not limited to geometry, presentation, and draughting), a language for specifying those information models, Express, and a protocol for representing exchange files based on these models. Subsequent releases will expand the scope of product information covered and will include SDAI. Thus, NIST through its involvement in the development of STEP has an active interest in object-oriented information models, in the manipulation by application programs of information bases using such models, and in mapping conceptual models and manipulations onto a common object-oriented service. 2 The STEP Standard Data Access Interface Overview SDAI is a project within the Implementation Working Group of the STEP (ISO/TC184/SC4/WG7). This interface will provide a standard mechanism to permit application programs to access product data such as that found in STEP. Interfaces like SDAI have been prototyped by many researchers. The specification of an interface to STEP data for application programs is considered a high priority for standardization. ('STEP data' refers to the information models included in STEP.) The information models of STEP are intended to disambiguate data for the purpose of data sharing across enterprises. However, until an interface is defined for accessing data, the data must be exchanged using the mechanism of file transfer. While this capability is much better than what exists today (proprietary data files or ambiguous data files), the ability to share data will be greatly enhanced if data can be accessed directly from shared databases. The need to access data directly from a database is emphasized by considering the amount of data needed to describe a product throughout its life-cycle. SDAI is the first attempt at standardizing a runtime interface to STEP data. The primary requirement for SDAI is for a means of dynamically accessing data described by these models that are represented in the conceptual modeling language Express. SDAI should isolate the application program from the type of underlying data storage technology, which includes hardware as well as software paradigms. At the same time the interface should allow the application program to make use of specific programming language paradigms as desirable. The SDAI specification will contain several parts: a functional definition and several specific programming language bindings. The functional definition specifies the functionality of the interface. For the functional definition it is assumed that the data to be accessed can be described using the Express language. The initial specification will include the SDAI functional definition accompanied by language bindings to to C, C++, and Fortran. The first draft of the SDAI specification to be distributed outside of the Implementations committee was the topic of a workshop held in October 1990. Feedback from that workshop and subsequent prototyping activities have led to many improvements in the specification. The next draft of the document to be distributed outside of the committee will be available in the spring of this year. Several considerations which have arisen during the development of SDAI are worthy of mentioning here: - the scope of the first version of SDAI, - the form of the application interface, and - support for methods. The first version of the interface will provide for simple access to data with limited support for concurrency control and more sophisticated database features. However, it is recognized as a requirement that future versions of the interface should provide for advanced data management features such as transparent location of data, transaction management, version control, and configuration control. The second issue addresses the format of the interface: whether the interface should be language based (in the fashion of SQL) or specified as function calls for use in an application program. The functional interface was chosen by consensus based on industrial requirements. The final topic, support for methods associated with STEP data, is being considered for the second version of SDAI. Support for this feature may be done in conjunction with the Express Language project (ISO/TC184/SC4/WG5). At a requirements gathering workshop for version 2 of the Express language the need for the capability to represent methods in Express was identified. If you are interested in getting involved in the Implementation Working Group of STEP here are some points of contact: SDAI ISO Activity Jan Van Mannen, STEP WG7 Convener, jvm@informatics.rutherford.ac.uk WG7 mailing list sdai-request@cme.nist.gov (for discussion of sdai-related topics) Express User's Group mailing list express-users-request@cme.nist.gov 3 Conclusion The problem of sharing data is being approached in two ways. The first approach is being addressed by STEP and other product data standards. This approach provides common semantics for understanding of data used in the information environment. The other approach is being addressed in several arenas which are developing software technology and related standards. The second approach provides tools and interfaces to tools for integrating the large amount of software components and data found in an information environment. While these two approaches are not incompatible and there is a distinct need for both of them, there is also a need for an overall framework within which they both can operate. Many of the issues discussed here that are emerging in STEP may be better addressed within other standards; however, without a framework it is hard to determine what should fall within the scope of STEP, what should be outside of STEP, and (of those things that should be out of scope) whether they will be covered by other standards in a suitable manner or in a timely fashion. In summary, we are beginning to see islands of standards. Now there is a greater need than ever before for a cohesive architectural framework for tools and the associated standards. 4 References STEP, the Standard for the Exchange of Product Model Data, is a project of the International Organization for Standardization (ISO) Technical Committee on Industrial Automation Systems (TC 184) Subcommittee on Industrial Data and Global Manufacturing Programming Languages (SC4). Funding for NIST's involvement in STEP is provided in part by the Department of Defense's Computer-Aided Acquisition and Logistic Support Office (CALS) and the Defense Advanced Research Projects Agency (DARPA). [Alte88c] Altemueller, J. "PDES / STEP Implementation Levels", ISO TC184/SC4/WG1 Document N282, October 1988. [Furlani90] Furlani, C. "Status of PDES-Related Activities (Standards & Testing)", NISTIR 4432, National Institute of Standards and Technology, Gaithersburg, MD, October 1990. [ISO1] International Organization for Standardization, "ISO 10303 Industrial Automation Systems and Integration- Product Data Representation and Exchange - Overview and Fundamental Principles", Draft International Standard, ISO TC184/SC4, 1992. [ISO11] International Organization for Standardization, "ISO 10303 Industrial Automation Systems and Integration - Product Data Representation and Exchange - Description Methods: The EXPRESS Language Reference Manual", Draft International Standard, ISO TC184/SC4, 1992. [ISO21] International Organization for Standardization, "ISO 10303 Industrial Automation Systems and Integration - Product Data Representation and Exchange - Clear Text Encoding of the Exchange Structure", Draft International Standard, ISO TC184/SC4, 1993. [ISO22-WD] International Organization for Standardization, "ISO 10303 Industrial Automation Systems and Integration - Product Data Representation and Exchange - Standard Data Access Interface Specification", Working Draft, ISO TC184/SC4, 1992. [McLean90] McLean, C.R., "National PDES Testbed Strategic Plan 1990", NISTIR 4438, National Institute of Standards and Technology, Gaithersburg, MD, October 1990. [PDES91] PDES, Inc., Myles Barrett, George Coletta, Cliff Langenbach, Katherine C. Morris, Chris Mudgett, Augusto Nieva, "A Strategy for Implementing a PDES/STEP Data Sharing Environment", May 1991.