home *** CD-ROM | disk | FTP | other *** search
/ ftptest.leeds.ac.uk / 2015.02.ftptest.leeds.ac.uk.tar / ftptest.leeds.ac.uk / bionet / CAE-GROUP / SCL-WIN3x / SCLTEST.EXE / README < prev    next >
Text File  |  1994-12-13  |  13KB  |  301 lines

  1.         STEP Class Library Test/Example Suite
  2.  
  3.  
  4. Last Update:  9/1/94
  5.  
  6.  
  7. This group of programs is designed to make nominal tests of the STEP
  8. Class Library (SCL).  To use these programs, you will need to build the
  9. STEP Class libraries for the schema called 'example' ( Note: from here on,
  10. all references to 'example' implies the name of a schema called example
  11. ( all lower case ) );  this can be done with the mkProbe script, and the
  12. process is detailed in the top-level README.dp2 that comes with the Data
  13. Probe (see below).
  14.  
  15. These programs are also intended as a set of examples for programming
  16. with the SCL -- instantiating entities, manipulating data, using the
  17. dictionary classes, etc.  This file describes what these programs are and
  18. how to get them running.
  19.  
  20. Please read this entire README before continuing.
  21.  
  22. Other Software
  23. ~~~~~~~~~~~~~~
  24.     You will need some other software to use this package to it's
  25. fullest.  First, you will need the Data Probe package (or, at the very
  26. least, the utilities to compile EXPRESS to C++), which will allow you
  27. to construct the STEP Class Libraries from EXPRESS schemas.  Secondly,
  28. to make full use of the scl2html program, you will need an HTML
  29. browser such as NCSA Mosaic.  Oh, and most importantly of all, you
  30. need a C++ compiler that can build C++ 2.0 source.
  31.  
  32. These programs can be found at the following locations:
  33.  
  34. Data Probe:    ftp://ftp.cme.nist.gov/pub/step/npttools/probe2.trz
  35. NCSA Moasaic:  ftp://ftp.ncsa.uiuc.edu/Mosaic  (in this directory are
  36.             sources and binaries for many platforms)
  37.  
  38. This software has been tested with SPARCworks and GNU (2.5.8+)
  39. compilers... the GNU compiler can be found at
  40. prep.ai.mit.edu:/pub/gnu.
  41.  
  42.  
  43. The Programs
  44. ~~~~~~~~~~~~
  45.  
  46. tstatic
  47.  
  48.     A simple instantiation test.  This creates some static
  49. instances of entities from the 'example' schema, puts some data in them,
  50. and prints them out.  This also uses a simple iterator class to pass
  51. over an array of pointers to STEPentities.  The entities are printed
  52. in STEP Exchange file format.
  53.  
  54.  
  55. treg
  56.  
  57.     This test uses the dictionary classes of the SCL, the
  58. registry, to instantiate an object of each entity type, and give them
  59. some data by analyzing the attribute types via the registry (and not
  60. knowing what objects we have).  Also, all instances are kept track of
  61. with an instance manager, which, among other things, allows us to keep
  62. an organized STEP file of the data without explicitly maintaining it.
  63. The resulting objects are output in STEP Exchange File format both to
  64. the screen and to an optional file.
  65.  
  66. NOTE:
  67.  
  68. The output file that treg produces will not necessarily be a valid
  69. STEP Exchange file.  While treg happily produces values for most entity
  70. attributes, it will leave attributes of type SELECT, AGGREGATE,
  71. or ENTITY blank.  Since in many cases, these attributes will not be
  72. optional, a subsequent STEPread of the file will fail to load any of
  73. the data.  There are ways of putting data values for these attributes,
  74. I just haven't thought about it enough to automate it.
  75.  
  76.  
  77. tio
  78.  
  79.     Some simple tricks with STEPfiles and the instance manager.  A
  80. given STEP Exchange file is read in, those objects are instantiated,
  81. and the resulting instances printed out.  Then the same file is read
  82. again, appending a duplicate set of objects to the ones already read.
  83. Finally, the resulting list of instances is written to the screen and
  84. an optional output file in STEP Exchange file format.  As noted above,
  85. tio may choke on some STEP files produced by treg... this is not tio's
  86. fault, but treg's.  Two sample STEP exchange files (testfile*.step) are
  87. included.
  88.  
  89.  
  90. scl2html
  91.  
  92.     This program, when linked to a 'compiled' schema, will use the
  93. registry information to create a suite of HTML documents describing
  94. the structure of the schema.  A 'page' is created for each entity,
  95. describing its attributes, inheritance ancestry, and subtypes,
  96. complete with hypertext links tying the pages together.  While perhaps
  97. not the most useful application as it is (the exp2html utility
  98. produces more complete output, and doesn't require compiling the
  99. schema and the program linked to it), it is plausible that forms and
  100. such could be added to create a Web-accessible Data Probe.  As it
  101. stands, it demonstrates several methods for accessing the registry
  102. information in a schema-independant manner.
  103.  
  104. scl2html requires a Web browser or live-hypertext HTML editor to be of
  105. any use beyond reading the HTML result files.  It has been tested
  106. using NCSA Mosaic 2.4, and it is assumed that the output files are
  107. compatible with other browsers such as Lynx, Chimera, etc.  The output
  108. doesn't do any unusually fancy HTML.
  109.  
  110. If you are interested in the capabilities of this software, but have
  111. never used the World Wide Web before, check out the www directory and
  112. the Web FAQ at rtfm.mit.edu:/pub/usenet-by-hierarchy/comp/infosystems.
  113. I've tried to have scl2html put comments in the HTML source, but it
  114. still helps to have some background knowledge.
  115.  
  116. treg, tio, and scl2html are schema-independant; while they link to
  117. 'example''s class library by default, they can be rebuilt to
  118. access the class library of any schema.  See below for details.
  119. tstatic requires 'example''s class library to run.
  120.  
  121.  
  122. Building and running the test programs
  123. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  124.  
  125. Before building the tests, you will need to have built the header
  126. files and class library for 'example' packaged in the probe2.trz file.
  127. This can be done with the mkProbe script that came with the DataProbe
  128. package in probe2.trz.  See the top-level README.dp2 from Data Probe for
  129. instructions.
  130.  
  131. Next, you'll need to look at the file schema-loc, which is included by
  132. all the Makefiles.  This file defines the locations of the class
  133. library and the appropriate make_rules file; it's almost exactly like
  134. the other Makefiles for the Data Probe.  If you built the library for the
  135. schema, 'example', using the mkProbe script with the -i option, all you
  136. should have to change is the PDES_ROOT variable... the schema location
  137. should be correct then.  Otherwise, you may need to change more; if you do
  138. this, keep things defined in terms of $(SCHEMA_NAME), otherwise, you
  139. will create problems for the other Makefiles.
  140.  
  141. To build all the programs, just say 'make' in the top test directory
  142. (above tstatic/, etc, with the file tests.h).  To build individual
  143. tests, just type 'make' in their directory.
  144.  
  145. The script 'runtests' executes all the test programs, except for
  146. scl2html.  This is interesting for checking if everything runs OK.
  147. For best results, execute as follows (this is in csh):
  148.  
  149.     % runtests >&! tests.out
  150.  
  151. To run scl2html, it is recommended that you create an empty directory and
  152. run it from there, as it creates several .html files as its output:
  153.  
  154.     % cd scl2html
  155.     % mkdir tmp
  156.     % cd tmp
  157.     % ../scl2html
  158.  
  159. This can save you a lot of cleanup work if you change scl2html to use
  160. a more complex schema than 'example'.
  161.  
  162.  
  163. Using Alternate Schemas
  164. ~~~~~~~~~~~~~~~~~~~~~~~
  165.  
  166. All the programs except for tstatic can be built to use any schema
  167. class library; tstatic _must_ use 'example'.  Building any of the
  168. programs to use an alternate schema is very easy to do.
  169.  
  170. First, as with 'example', build your class libraries.  If you are again
  171. using mkProbe with the -i option, schema-loc need not be altered.
  172.  
  173. Then, in the directory of the program you want to build, type:
  174.  
  175.     % make SCHEMA_NAME=my_schema
  176.  
  177. where 'my_schema' is the name of the schema, e.g., 'example.'
  178.  
  179. Any of the other schema-loc variables can be set this way (at least
  180. using GNU make), so if you want to keep your schema class libraries
  181. somewhere totally other than where we thought was best, you can
  182. specify the locations along with the SCHEMA_NAME on the command line
  183. ( this is all one line ):
  184.  
  185.     % make SCHEMA_NAME=my_schema SCHEMA_DIR=~rms/schemas/my_schema
  186.         SCHEMA_LIB_DIR=~rms/probes/my_schema
  187.  
  188.  
  189. Known Problems
  190. ~~~~~~~~~~~~~~
  191.  
  192. If you are using Gnu g++ ver. 2.5.8 with this program you might en-
  193. counter a problem wherein 'makedepend' in the various makefiles of the
  194. separate applications tries to insert a dependency for the nonexistent
  195. file _IO_config.h ( this particular dependency was generated by makedepend
  196. when it encountered the libio.h file of the g++ package. )  This may be
  197. caused by makedepend being unable to follow C++ preprocessor conditionals
  198. in header files.
  199.  
  200. Another version of makedepend ( unfortunately the exact version number
  201. is unknown though maybe it's newer ) seems to have fixed the problem at
  202. NIST.  It is up to the individual user to find the makedepend version
  203. that will work well with this package.
  204.  
  205.  
  206. Reporting Problems and Suggestions
  207. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  208.  
  209. We would like feedback on all aspects of the software.  Please send your
  210. comments to:
  211.  
  212.           dp2@cme.nist.gov
  213.  
  214. Questions about availability or accessing the software should be directed
  215. to the SOLIS Administrator:
  216.  
  217.           Gaylen Rinaudot: npt-info@cme.nist.gov or (301) 975-3386
  218.  
  219. Announcements of new releases or bug fixes will be sent to the mailing
  220. list scl@cme.nist.gov.  To be added to the scl mailing list, send a
  221. request to majordomo@cme.nist.gov.  Include in the body of the message:
  222.  
  223.           subscribe scl
  224.  
  225. For additional help, include in the body of the message:
  226.  
  227.           help
  228.  
  229. If you use a signature within your email, end your majordomo command 
  230. sequence with the word "end".  For example,
  231.  
  232.           subscribe scl
  233.           end
  234.  
  235.  
  236. PROJECT FUNDING AND LICENSING RESTRICTIONS
  237. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  238.  
  239. This software was produced by the National Institute of Standards and
  240. Technology (NIST), an agency of the U.S. government, and by statute
  241. is not subject to copyright in the United States.  Recipients of this
  242. software assume all responsibility associated with its operation,
  243. modification, maintenance, and subsequent redistribution.
  244.  
  245. The STEP Class Library (SCL) and the Data Probe software is under
  246. development at the National PDES Testbed to support testing of the
  247. Standard for the Exchange of Product Model Data (a.k.a STEP.)  Funding
  248. for the project has come from the Department of Commerce, and the
  249. Department of Defense agencies including the Office of the Defense
  250. CALS (Continuous Acquisition and Life-Cycle Support) Executive and the
  251. Advanced Research Projects Agency.
  252.  
  253. These examples were developed by Ian Soboroff, ian@cme.nist.gov.
  254.  
  255.  
  256. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  257. Factory Automation Systems Division/National PDES Testbed
  258. National Institute of Standards and Technology
  259. Building 220, Room A127
  260. Gaithersburg, MD 20899
  261. +++++++++++++++++++++++
  262.  
  263. !!!!!!!!!!!!!!!!!!!!!!!!!!!!DISCLAIMERS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  264. No approval or endorsement of any commercial product by the National
  265. Institute of Standards and Technology is intended or implied.
  266.  
  267. There is no warranty for the NIST STEP Toolkit.
  268. If the NIST STEP Toolkit is modified by someone else and passed on,
  269. NIST wants the Toolkit's recipients to know that what they have is not
  270. what NIST originally distributed.
  271.  
  272. Distribution Rights
  273. 1. Anyone may copy and distribute verbatim copies of the NIST STEP Toolkit
  274.    source code as received in any medium.
  275.  
  276. 2. Anyone may modify their copy or copies of the NIST STEP Toolkit source
  277.    code or any portion of it, and copy and distribute such modifications
  278.    provided that all modifications are clearly associated with the entity
  279.    that performs the modifications.
  280.  
  281.  
  282. NO WARRANTY
  283. ~~~~~~~~~~~
  284.  
  285. NIST PROVIDES ABSOLUTELY NO WARRANTY.  THE NIST STEP TOOLKIT
  286. IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
  287. EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  288. WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  289. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
  290. WITH YOU.  SHOULD ANY PORTION OF THE NIST STEP TOOLKIT PROVE DEFECTIVE,
  291. YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  292.  
  293. IN NO EVENT WILL NIST BE LIABLE FOR DAMAGES, INCLUDING ANY LOST PROFITS,
  294. LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
  295. ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED
  296. TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
  297. BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH PROGRAMS
  298. NOT DISTRIBUTED BY NIST) THE PROGRAMS, EVEN IF YOU HAVE BEEN ADVISED OF
  299. THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
  300.  
  301.