MSID Highlights MSID Opportunities MSID Partners MSID Products MEL MSID Programs MSID Conferences MSID Search MSID Staff MSID Services MSID Standards MSID Publications NIST MSID MSID MSID
Publications

PLEASE NOTE: The Publications System provided by the Manufacturing Systems Integration Division (MSID) has moved to: http://www.mel.nist.gov/msidlibrary/publications.html. The pages below are maintained for archival purposes only.

Publication summary

Author(s): David Sauder and K.C. Morris

Publication date: October 1995

Citation: David Sauder and K.C. Morris: "Design of a C++ Software Library for Implementing EXPRESS: The NIST Step Class Library," EXPRESS User Group, October, 1995.

Key words: EXPRESS, STEP, Software Toolkit, Part--23, STEP Data Access Interface, SDAI, Data Dictionary, Entity Instantiation

Availability:

  • Postscript
  • A paper copy of this document is available by contacting Kristy Thompson [web,email]
Abstract:
The NIST STEP Class Library is a C++ software toolkit designed to provide software "building blocks" for developing STEP software applications. It has evolved over past years along with ISO 10303-23 Product Data Representation and Exchange: C++ Programming Language Binding to the Standard Data Access Interface (SDAI) Specification. Experience gained in implementing SCL has been important for providing feedback into the C++ binding and SDAI. This paper presents basic data structures used in the SCL to implement an EXPRESS data dictionary and to instantiate instances of entities. Design decisions with respect to EXPRESS inheritance mechanisms which are difficult to implement in C++ are discussed. These include multiple inheritance and complex inheritance via AND and ANDOR contructs in EXPRESS. Design decisions are discussed that also support of an early binding to an EXPRESS schema along with late binding style data access. Finally, implementation issues that have been overcome related to implementing EXPRESS agregates using C++ templates are discussed.


Attention users of these documents: The information contained in these files should not be altered in any way. Attempts to change these files will adversely impact the integrity of the information and its usefulness. It is intended for use as is and will lose its usefulness if changed.

 

Send questions or comments to Webmaster.