MACGEN (IVPMAC Generator)
Original Publication Date: 1990-Aug-01
Included in the Prior Art Database: 2005-Mar-16
Dingankar, AT: AUTHOR [+2]
Disclosed is a program capable of generating one IVPMAC (Implementation Verification Program) for many events (in a test case) from a set of master programs written for each event individually.
MACGEN (IVPMAC Generator)
a program capable of generating one IVPMAC
(Implementation Verification Program) for many events (in a test
case) from a set of master programs written for each event
After all the
IVPMACs are encapsulated, one IVPMAC for each
particular event (function or fault), MACGEN is invoked to assemble
these IVPMACs as each test case is generated. MACGEN is a LISP
program, invoked by IVGEN (the program for generating test cases),
when a function or fault has an IVPMAC associated with it.
accesses the library of IVPMAC master files and obtains
a copy of the needed IVPMAC. Using this copy, MACGEN separates the
four IVPMAC components: IVPINIT, IVPCYCLEL, IVPCYCLEA, and IVPEND, to
be written in four separate files to build the test case IVPMAC. All
generic names in this copy which appear between the keywords FACNAMES
and END-FACNAMES will be looked up by MACGEN from the DSL-facility-
name-cross-reference file to obtain the real facility names. All
occurrences of the generic names in the IVPMAC are replaced by the
actual facility names. Both the generic names and the substituted
facility names are written between FACNAMES and END-FACNAMES keywords
in the prologue section of the newly generated IVPMAC.
The next task
is to access the General Knowledge KB (Knowledge
Base) for machine-dependent parameters, such as the cache size, word
width etc., and equate these variables with their real values. Fig.
1 shows an example of a modularized IVPMAC. In this example, the
MACGEN will replace
?MEMORY? with BME-DATA-ARRAY, ?WORD_WIDTH? with WORD_WIDTH = 40,
?WORDS_IN_ECC_WORD? with WORDS_IN_ECC_WORD = 4 or 2 depending on
what type of machine is represented in the General Knowledge KB.
All occurrences of WORD_WIDTH and WORDS_IN_ECC_WORD will have their
correct numeric values at run time.
?CONDITION? clause appearing in the IVPMAC will be replaced
by information obtained from the function's FUN_STATES slot. This
condition represents the state of the function that the associated
fault will be injected in. If the ?CONDITION? is not specified, any
state of the function will suffice to inject error.
equates all test case-dependent parameters with
their values specified by the user through...