POSC Specifications
Version 2.2

Projection Tool

This directory will contain all binaries (programs and utilities) and scripts for the projection tool. It also contains the .ini files used by most of the programs. The binaries are not distributed here, but will be generated when 'make' is issued in the ../src directory. They are included in the descriptions below.
The following files are contained in this directory:

File Description
ExportExpress This utility reads an express file and generates metadata ASCII files that can be loaded into a database by the loadPTX program. It uses the NIST express parser to parse the express file and uses the structures created by this parser to produce the result.
GenExpress This program generates express from the meta data. It is also capable of generating HTML files of the express that is automatically linked in with the result of the docTool and other documentation generation tools included.
ProjTool This program generates the relational projection into the meta data, based on several input files (*.ptp, see ../models/epic.2.2/input/README . It goes through seven phases that can be run separately. Each phase or group of phases can be run separately using the -b and -e options, but phases should always be run consecutively. This capability is primarily intended to be used during debugging.
ProjTool.ini This is a windows-style ini file for the Projection Tool. It contains several sections with variables in them. They are self-explanatory for the most part, and where considered necessary a comment is placed. Opposed to the 'real' windows ini files, this file is CASE SENSITIVE. This means that a section named [Directories] will not be found if you go looking for section [directories] in your source code. Also a program can read many ini files into memory. Whenever a section is defined for a second time, the following variables will be placed in that section instead of creating a new (unreachable) section. Also variables that already were defined, will be overwritten, so that the last one read will be the only one visible to a program. A section header is identified by a name between '[' and ']', where the opening '[' must be on the first column. Everything between these two delimiters will be the section name (including white space and whatever!). A variable line is recognized as a line starting with an alpha-numeric character in the first column and containing an equal ('=') sign on that same line. Again, everything from the first column to the equal sign will be the name of the variable and everything following the equal sign will be its value.
A special section named 'include' will cause all following lines until the next section to be interpreted as file names that will be 'included'. Say there is a file 'include_me' that you want to include in a particular ini file, this can be established by the following:
[include]
include_me
In addition, on the lines in the include section, backslashes will be expanded, making the following possible:
[include]
\{PT_INI_FILES}
This will evaluate the environment variable 'PT_INI_FILES' and interpret it as a file name and attempt to read it as a .ini file.
A variable value can be continued on the next line by putting a backslash in the last position of the line. Backslashes elsewhere will be interpreted as follows:
\t   : tab
\r   : return
\n   : newline
\f   : formfeed
\e   : escape
\nnn : decimal character (always 3 positions)
\\   : backslash
\{[:]}
       This backslash sequence is to extract environment variable values
       into variable values in this file. Here, the square brackets indicate
       that the ':' part is optional.This whole sequence will
       be replaced by the value of the environment variable ''. If
       this variable is not defined, the '' will be used. The
       default for the '' is an empty string. Note that no
       replacements will take place within this kind of definition!

       Examples (assume only environment variable 'VARDEFINED' is defined,
       an has value 'Variable Value'):

      'var VARDEFINED is \{VARDEFINED}'
      -> 'var VARDEFINED is Variable Value'

      'var VARDEFINED is \{VARDEFINED}'
      -> 'var VARDEFINED is Variable Value'

      'var VARUNDEFINED is \{VARUNDEFINED}'
      -> 'var VARUNDEFINED is '

      'var VARUNDEFINED is \{VARUNDEFINED:Not Defined}'
      -> 'var VARUNDEFINED is Not Defined'

      'var VARUNDEFINED is \{VARUNDEFINED:Not\replaced}'
      -> 'var VARUNDEFINED is Not\replaced'

If anything else follows the backslash no replacement will
take place e.g. \x -> \x, etc)
If this file has a .template extension it is the template that will be used to generate the actual file (ProjTool.ini) during installation, to fill in the directory in which the tool was installed.
README The ASCII version of this file.
README.htm The HTML version of this file.
bison.errors Part of the NIST EXPRESS toolkit (see ../src/express/README ).
bisontokens.sh Part of the NIST EXPRESS toolkit (see ../src/express/README ).
ddlTool This is the DDL tool that generates DDL from the meta data. It can produce several DDL files (see ../models/epic.2.2/ddl/README ) based on the options specified on the command line. It is also capable of generating an HTML version of the DDL that is automatically linked with the other documentation generated by the docTool program and other documentation related tools.
delProjection This utility program deletes a particular projection from the meta data. It is intended to be used when going through cycles of subsetting and projection. This utility can be used to remove a previous projection, allowing a new subset to be defined and projected.
delSource Utility program that deletes info about a particular source from the meta data. One source corresponds to one set of '*.ptx' files (see ../models/epic.2.2/input/README ) that was generated by a run of ExportExpress and loaded by loadPTX . It will only be useful when dealing with small models (otherwise, a complete drop and re-create of all tables would be faster).
doEpic.2.2 This script goes through the full cycle of clearing the data base, initializing it, parsing express, loading all data, projecting it, generate ddl, export for DAE layer and document logical model, relational implementation, etc
docTool This program generates HTML documentation from information in the meta database. It will generate documentation in a predefined set of files, based on the type of object (entity, NDT, table, etc.).
expDesc This is a utility program that can export descriptions to an ascii file, along with an identification of which it is a description. Currently, descriptions can be exported for entities, attributes and NDT's, based on the options.
export This program exports part of the meta data. The output is used by the DAE Sample Implementation to load the meta data into the production database. Only 'production' data is exported, i.e. not the documentation related data.
genIndex.pl This perl script generates the index files for the generated html documenation.
genStdHead.csh Utility script that generates a standard POSC header for various types of files. Used when running 'make functions' in src/ptlib.
loadPTC Program that loads the change information (as exported from the case tool used by POSC) into the meta data (files ' models/epic.2.2/input/*.ptc ').
loadPTD Program that loads descriptions (as exported by the case tool used by POSC) into the meta data (files ' models/epic.2.2/input/*.ptd ').
loadPTL Program that loads logical information (as exported from the case tool used by POSC) into the meta data. This consists of information that cannot be found in express, e.g. info about which entities are on which diagrams, types of reference entities, etc. (files ' models/epic.2.2/input/*.ptl ').
loadPTR Program that loads reference data into the meta data. This is data that defines the existing methods, column group types, etc. (file ' models/epic.2.2/input/*.ptr ').
loadPTS Program that loads certain 'static' data into the meta data. This includes abbreviations, sql data types and epicentre type info (files ' models/epic.2.2/input/*.pts ').
loadPTX This program loads the files generated by the ExportExpress program into the meta data. These files contain the logical model as specified in express in a loadable format (files ' models/epic.2.2/input/*.ptx ').
makeDDL.awk Awk script that generates informix DDL from the 'generic' ascii flat file generated by the ddlTool program.
move-if-change Part of the NIST EXPRESS toolkit (see ../src/express/README ).
ptClear This script removes meta data from the database, dropping all meta data tables. Currently only Oracle is supported.
ptInit This script initializes an empty meta database, creating all meta data tables. Currently only Oracle is supported.
ptSetEnv.csh General environment variable settings for the projection tool. (If this file has a .template suffix it is a template file that is used during installation to generate the actual file (ptSetEnv.csh) that should be sourced)
ptSetEnv.csh.template General environment variable settings for the projection tool. (If this file has a .template suffix it is a template file that is used during installation to generate the actual file (ptSetEnv.csh) that should be sourced)
ptSetEnv.sh General environment variable settings for the projection tool. (If this file has a .template suffix it is a template file that is used during installation to generate the actual file (ptSetEnv.sh) that should be sourced (. ptSetEnv.sh))
ptSetEnv.sh.template General environment variable settings for the projection tool. (If this file has a .template suffix it is a template file that is used during installation to generate the actual file (ptSetEnv.sh) that should be sourced (. ptSetEnv.sh))
uniquify_flex Part of the NIST EXPRESS toolkit (see ../src/express/README ).
uniquify_lex Part of the NIST EXPRESS toolkit (see ../src/express/README ).
uniquify_yacc Part of the NIST EXPRESS toolkit (see ../src/express/README ).
yaccpar.sun Part of the NIST EXPRESS toolkit (see ../src/express/README ).
yacctokens.sh Part of the NIST EXPRESS toolkit (see ../src/express/README ).

Move one directory up.


Generated on Fri Dec 05 15:44:37 CST 1997
© Copyright 1997 POSC. All rights reserved.