$Id: README,v 1.1 2000/02/14 12:22:47 gcosmo Exp $ ----------------------------------------------------------------------------- NIST STEP Reader ---------------- This directory contains the source code for the NIST STEP Reader as it has been extracted from version 3.2 of SCL (the STEP Class Library). The code has been ported on all supported Geant4 UNIX platforms-compilers: DEC-cxx, HP-aCC, SUN-CC and Linux-g++. Modifications have also been applied in order to make the code compilable on compilers requiring strict ISO-ANSI C++ compliance. Some fixes have been introduced for reason of porting. Here also follows part of the original README document part of the SCL distribution; please, notice that only the part related to the STEP Reader is relevant here. The code for the Application Protocol (Configuration controlled design) has been generated by means of the standard fedex-plus application through the AP203 control schema provided in the SCL package. - GC ----------------------------------------------------------------------------- README.scl (top level README) February 1998 THE NIST STEP TOOLSET ===================== Included in this release of the NIST STEP Toolset are STEP Class Library (SCL) fedex_plus fedex_idl fedex_os Data Probe application Part 21 Reader application mkProbe script NIST EXPRESS Toolkit NIST EXPRESS Pretty Printing Toolkit The focus of our work since our last release has been on developing a reference implementation of the binding of EXPRESS to C++ and IDL as specified by STEP's Parts 23 and 26 respectively. To this we have added a persistence capability (based on the ObjectStore OODB from Object Design, Inc) and a distribution capability (based on Orbix by Iona Technologies, Ltd). We also experimented with the Open OODB from Texas Instruments and with DSOM from IBM. The STEP Class Library (SCL) and fedex_plus are used to build STEP-related applications in C++. They support STEP Parts 21 (the exchange file format), 22 (the functional specification of STEP's Standard Data Access Interface, SDAI), 23 (the C++ binding to SDAI), and 26 (the IDL interface to SDAI). fedex_plus is an application of the NIST EXPRESS Toolkit (based on STEP Part 11) which generates a C++ class library representation of an EXPRESS schema based on STEP's Part 23. The generated classes work with the STEP Class Library. The NIST EXPRESS Pretty Printing Toolkit is used to format and output EXPRESS. fedex_os is used to generate software (in addition to fedex_plus) needed to use SCL with the ObjectStore OODB. fedex_idl translates EXPRESS to the Interface Definition Language (according to Part 26) for use with Orbix. The Data Probe software and mkProbe script are used to generate schema-specific class libraries (a.k.a. "Schema Class Library"), Data Probe editors, and Part 21 file readers. mkProbe generates a C++ library representing a schema (using fedex_plus) and links the schema library with other libraries of the SCL and Data Probe to create a schema specific editor, known as a Data Probe. The Data Probe is a graphical editor for STEP data; it is used to browse and edit data instances of the objects in an EXPRESS model. It may also be used to visually browse the objects contained in the EXPRESS schema itself. Data Probes are X Windows-based and use the InterViews Toolkit from Stanford University. The Data Probe source code was designed with reusability in mind. The runtime-code uses three class libraries: the STEP Class Library (developed at NIST), the InterViews Toolkit (user interface developer's toolkit from Stanford), and a standard C++ Class Library. The NIST STEP Class Library is divided into component libraries including STEP Core, Editor, Utilities, Data Access Interface, Interviews extensions, and Probe. The STEP Core, Editor, and Utils libraries can be used without the user interface libraries (Interviews extensions and Probe) for applications needing to represent the EXPRESS data structures. At this point the Data Access Interface is a partial implementation of SDAI's Session schema. Dependencies between these modules have been minimized so that an executable program, the Data Probe, can be easily reconfigured to support different conceptual schemas. We have experimented with replacing the Interviews-based interface with a tcl interface with good success; however, it is not in our work plan to complete. If anyone is interested in extending the toolkit with a more modern interface, we would be glad to discuss it with you. The Part 21 Reader was originally developed to test whether a Schema Class built and linked without problems. It is also useful for checking Part 21 files. It displays the error messages from the STEP Class Library as a file is read. SYSTEM REQUIREMENTS =================== Depending on how you want to use the toolkit, additional pieces of software will need to be available on your local system: - UNIX SunOS 4.1.x or Solaris 5.x operating system. At NIST, the SCL including the Data Probe has been built on SunOS workstations. The SCL without the Data Probe has been built on Solaris. (We did not build the InterViews Library on Solaris.) NOTE: earlier versions of the SCL 2.1 without the Data Probe had been ported to AIX, HP, linux, and Windows NT. - a C++ compiler -- cfront version 2.1 or higher NOTE: The current SCL release has been built with SUN C/C++, and GNU's gcc/g++ compilers. Earlier versions of the SCL were built using CenterLine on SunOS and CSet++ on AIX. If you successfully port the current version to other compilers and/or operating systems (and are willing to share) please contact us (stepcl@cme.nist.gov) so that we can point others to it. - The NIST EXPRESS Toolkit -- available from NIST Included in this release; also available as: ftp.cme.nist.gov:pub/step/npttools/exptk.tar.Z - The NIST EXPRESS Pretty Printer -- available from NIST Included in this release; also available as: ftp.cme.nist.gov:pub/step/npttools/exppp.tar.Z The following components are optional: - Version 3.1 of the InterViews Toolkit from Stanford. ftp://interviews.stanford.edu:pub/3.1.tar.Z NOTE: InterViews is only needed for the Data Probe portion of the toolkit. The STEP Class Library without the Data Probe and InterViews has been built on more platforms than with these components. - Orbix version 2.0. Available from Iona Technologies: http://www.iona.com - Object Store version 4. Available from Object Design Inc.: http://www.odi.com. FOR MORE INFORMATION ==================== SCL HOME PAGE ------------- The SCL home page is located on the world wide web at, http://www.nist.gov/scl The SCL home page will provide important, up-to-date information on the status of the SCL, new developments and fixes, links to related software and projects, and may eventually contain an FAQ sheet. SCL DOCUMENTATION ----------------- Documentation can be accessed from the SCL world wide web home page located at http://www.nist.gov/scl The following files (in postscript format) are particularly relevant: Design of a C++ Software Library for Implementing EXPRESS: The NIST STEP Class Library Data Probe User's Guide Data Probe: A Tool for EXPRESS-based Data Architecture for the Validation Testing System Software Validation Testing System Software Reusable Software Component Design Diagrams of basic SCL data structures ISO DOCUMENTATION ----------------- Copies of the International Standard documents (including STEP Part 11 the EXPRESS Language Reference Manual, Part 21 the STEP Exchange File Format, Part 22 STEP's Standard Data Access Interface, and Part 23 the C++ language binding to SDAI) can be ordered from the ISO International Organization of Standardization or your national body. The United States distribution is managed by the US Product Data Exchange Association at: U.S. Product Data Association (USPro) Trident Research Center, Suite 204 5300 International Blvd. N. Charleston, SC 29418 http://www.uspro.scra.org uspro@scra.org Ph: 803-760-3327 FAX: 803-760-3349 MAILING LIST ------------ Announcements of new releases or bug fixes will also be sent to the mailing list scl@cme.nist.gov. To be added to the scl mailing list send a request to majordomo@cme.nist.gov. Include in the body of the message: subscribe scl For additional help, include in the body of the message: help If you use a signature within your email, end your majordomo command sequence with the word "end". For example, subscribe scl end REPORTING PROBLEMS AND SUGGESTIONS ================================== We would like feedback on all parts of the software. Please let us know if you - have problems following the instructions in the README file, - have problems installing the software, - have problems compiling your own valid EXPRESS schema, or - have suggestions for improvements to the software. - really like the software :) Send your comments to stepcl@cme.nist.gov (For users of version 2, note the new mailing address of "stepcl...".) Questions about availability or accessing the software should be directed to the SOLIS administrator Gaylen Rinaudot npt-info@cme.nist.gov 301-975-3386 ACKNOWLEDGMENTS =============== The STEP Class Library (SCL) was developed by the Manufacturing Systems Integration Division at the National Institute of Standards and Technology (http://www.mel/nist.gov/msid) to support testing of the Standard for the Exchange of Product Model Data (a.k.a STEP) and validation of STEP's emerging implementation specifications. Funding for the project has come from the U.S. Department of Commerce, and the Department of Defense agencies including the Office of the Defense CALS (Continuous Acquisition and Life-Cycle Support) Executive and the Defense Advanced Research Projects Agency (DARPA). Recent enhancements were sponsored by the National Industrial Information Infrastructure Consortium (NIIIP) (http://www.niiip.org) and the NAMT Framework project (http://www.mel.nist.gov/msid/projs/97projs/framewrk.htm) of NIST's Systems Integration for Manufacturing Applications (SIMA) program (http://www.mel.nist.gov/msid/sima/sima.htm). LICENSING RESTRICTIONS and DISCLAIMERS ====================================== This software was produced by the National Institute of Standards and Technology (NIST), an agency of the U.S. government, and by statute is not subject to copyright in the United States. Recipients of this software assume all responsibility associated with its operation, modification, maintenance, and subsequent re-distribution. There is no warranty for the NIST STEP Toolkit. If the NIST STEP Toolkit is modified by someone else and passed on, NIST wants the Toolkit's recipients to know that what they have is not what NIST originally distributed. Distribution Rights 1. Anyone may copy and distribute verbatim copies of the NIST STEP Toolkit source code as received in any medium. 2. Anyone may modify their copy or copies of the NIST STEP Toolkit source code or any portion of it, and copy and distribute such modifications provided that all modifications are clearly associated with the entity that performs the modifications. !!!!!!!!!!!!!!!!!!!!!!!!!!!!DISCLAIMERS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Names of companies and products are provided in order to adequately specify procedures and equipment used. In no case does such identification imply recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the products are necessarily the best available for the purpose. NO WARRANTY =========== NIST PROVIDES ABSOLUTELY NO WARRANTY. THE NIST STEP TOOLKIT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD ANY PORTION OF THE NIST STEP TOOLKIT PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION. IN NO EVENT WILL NIST BE LIABLE FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE, OR LOSSES SUSTAINED BY THIRD PARTIES, OR A FAILURE OF THE PROGRAM TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY NIST) THE PROGRAMS, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.