$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.
