The source entity description language defines the keywords available for use by an engineer in the map file. The language also defines the encoding format for the source model file to be used in the computation.
The source entity description defines a tree-based naming mechanism to denote the physical and logical organizational information recorded about a source model entity. Each node in a naming tree defines a keyword that describes one aspect of the organizational information. The defined keywords need only be unique on a path of the tree. For example, the following shows a possible naming tree for function and variable entities within C source code stored in a Unix file system.
This tree permits the naming of function entities by
specifying values for any combination of physical directory and file
information, or logical function name information. For example, the
phrase,
directory=vm file=pager.c function=writeToFile
names a function
writeToFile
, stored within the
pager.c
file in the vm
directory. A C variable,
pagePolicy
, declared within the scope of the pager.c
file
that exists within the vm
directory may be specified using the
following phrase.
directory=vm file=pager.c variable=pagePolicy
The naming tree specified in the figure above also
declares a keyword named variable
as a child of the function node to
permit the naming of variables declared within the scope of a
function. If a pagePolicy
variable was also declared within the
writeToFile
function, for instance, it could be named using the
following phrase.
directory=vm file=pager.c function=writeToFile variable=pagePolicy
When a keyword is used on more than one path in the tree, as is the
case with the variable keyword in the naming tree above, the naming
path to use in interpreting a phrase is chosen based on a
breadth-first search of the provided keywords. For instance, the
phrase
variable=pagePolicy
denotes the following path.
directory -> file -> variable
On the other hand, the phrase
function=writeToFile variable=pagePolicy
denotes the path shown below.
directory -> file -> function -> variable
The description of the source entity description language provided as input to the reflexion model tools consists of the fully qualified names of each node in the tree. The naming tree shown above, for instance, would be described to the reflexion model tools as follows.
directory directory.file directory.file.function directory.file.function.variable directory.file.variable
Last modified: June 28, 1996
Gail Murphy