APPENDIX F: CAPACITY ASSESSOR README FILE
INTRODUCTION:
The Capacity Assessor consists of this readme file ("yc_readm.txt") to guide the user, a set of command language files to execute a set of programs and procedures to determine capacity limitations of an Ada compilation system (including capacity limitations occurring at compile/link time and limitations occurring at run time), and a report form ("yc_tmplt.txt") for collection of test results and recording of comments.
The ACES Capacity Assessor requires an Ada compilation system which will compile and execute on the host system. For self-targeted systems, this will usually be the same compilation system being evaluated. For cross-compilers, it will be a different system. The capacity assessor uses this host-based system to compile the generator programs. If users have no access to a host-based compilation system, they will not be able to run the capacity assessor.
ACES USERS WHO ARE NOT CONCERNED WITH SYSTEM CAPACITY LIMITATIONS NEED NOT RUN THIS ASSESSOR.
Specific, step-by-step instructions for running the Capacity Assessor begin on page F13.
The ACES Capacity Assessor contains 41 tests (32 for compile/link time limits and nine for runtime limits), each of which tests a language feature. The tests rely on a shared set of programs and command files (for compilation/link time test and for runtime tests) which the user will adapt to the compilation system being evaluated. The test programs for the individual language features should require only implementation-dependent adaptation if a user chooses to work around errors or limitations in a system being evaluated. The common file "yc_parms.dat" (read by "yc_front.ada" and "yc_rtglg.ada") contains the testing limits for all the individual tests; this file is initially distributed with a set of default limits, which can be modified by the users through a test editor. The different tests are independent and can be run (or rerun) in any order. If any of the parameters are omitted or in the wrong format, an error message will be printed when the procedure yc_front or yc_rtglg executes.
Before running the capacity assessor tests, the user must have executed Pretest Step 5. This will have entered into the program library the "global" units required by the Capacity Assessor sample test programs.
The basic procedure for executing the capacity tests is:
* Adapt the shared command files and procedures for tests.
* Review the parameter file ("yc_parms.dat") and make any desired changes.
* Run the individual feature tests. Rerun as required. It is not expected that users will typically be able to setup a set of limits and run all the tests sequentially to completion. Users may review their choice of limits based on experience in initial testing: tests which timed out may be rerun with larger time limits, or test which quickly passed their maximum specified limits may be retested with larger limits. The command file to execute all the tests may crash or halt when executing some test problem--in this case, the user will have to adapt the command file to execute the remaining test problems.
* Record the results from running each test in the report form (yc_tmp). The individual test output has been designed so that, if the test problem terminates normally (without the program or the operating system crashing) the last output from the test program will be information which the user will want to enter into the report form in the desired format (this permits users with a suitable host editing environment to "cut" the last output block from the program and "paste" it into the report form).
The Capacity Test Log data, output to standard I/O at the test start and on every test iteration, appears as:
T ID TEST INPUT PARAMETERS MIN / MAX / TIME : _______/ _______/ _______
T ID CURRENT VALUES/STATUS : _______/ _______/
NEXT VALUE / MIN FAILED / MAX PASSED : _______/ _______/ _______
where
* "T ID" represents the test identifier obtained from "yc_parms.txt" (CTnn or RTnn where nn is the test number).
* "TEST INPUT PARAMETERS MIN / MAX / TIME" represents the test minimum, maximum, and time input from "yc_parms.dat", respectively, with time in seconds and the other two parameters having test-unique units of measure.
* "CURRENT VALUES/STATUS" represents the test size and pass/fail status of the currently completed test iteration, expressed in test-unique units of measure.
* "NEXT VALUE / MIN FAILED / MAX PASSED" represents the test size processed next, the minimum test size to fail (NONE if no tests failed), and the maximum test size to pass (NONE if no tests passed) for the test iteration expressed in test-unique units of measure.
The Test Results Summary output to standard I/O at the end of each test appears as:
TEST I.D. TEST DESCRIPTION STRING
INPUT PARAMETERS TEST RANGE MIN/MAX : ______/ ______
MAX PROCESSING TIME(SEC) : ______
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : ______/ ______
ELAPSED TIME(SEC) : ______
USER COMMENTS :
where
* "TEST I.D." represents the test identifier obtained from "yc_parms.txt" (CTnn or RTnn where "nn" is the test number).
* "TEST DESCRIPTION STRING" represents the test description string obtained from "yc_parms.txt".
* "TEST RANGE MIN/MAX" indicates input minimum and maximum test values in units unique to the test obtained from yc_parms.
* "MAX PROCESSING TIME" field indicates the requested maximum processing time obtained from "yc_parms.dat" in integer seconds.
* "TIME LIMIT EXPIRED(Y/N)" indicates if the test terminated due to the maximum time limit being exceeded.
* "LIMIT FOUND(Y/N)" indicates that a precise system limit for this test has been found.
* "MIN FAILED/MAX PASSED" indicates the minimum value that failed the test and the maximum value that passed the test in units unique to the test.
* "ELAPSED TIME" indicates the processing time of the test in integer seconds.
* "USER COMMENTS" is a field for user-entered test comments.
The Test Results Summary contains information required in the Capacity Assessor Report for each test. The Test Results Summary is also sent to the files "yc_ctnnr.txt" for the compile-time Tests to aid in the report preparation.
Since the test to determine whether maximum processing time has been exceeded is done at the end of each test iteration, it is possible for the "MAX PROCESSING TIME" to be smaller than "ELAPSED TIME". The "LIMIT FOUND" will be set to "yes" only when the actual system limit is found, not when the processing determines that a limit exists. A system limit exists when there is a test number in the "MIN FAILED" field.
If multiple criteria for termination are satisfied, only one is indicated. For example, if the maximum test value was completed successfully and the time limit was exceeded in the same test iteration, it will end the test updating "MAX PASSED" with the last test number with the "TIME LIMIT EXPIRED" indicating "no".
For tests yc_rt05 through yc_rt09 the minimum and maximum test values, in bits, are rounded to the nearest STORAGE_UNIT size once the tests start. The rounded values will show in the test information output.
The following lists the common capacity-related files and their functions:
* "yc_parms.dat" - Contains the default input test parameters for the compile-time and run-time tests. User-specified parameters are obtained by editing this file before invoking "yc_drivr.com". Any line starting with the printable character "c" or "r" is interpreted as an input parameter line containing 80 characters containing the test ID, minimum value, maximum value, duration, and description string. Otherwise, the line is interpreted as a comment. Each parameter is separated by a blank or comma. In addition, this file also documents the input parameter limits and units. Figure F-1 lists the file "yc_parms.dat".
* "yc_drivr.com" - Controls the compiles, links and runs of the compile, and run-time tests.
* "yc_tmplt.txt" - Contains the user merged test results.
-- This file (YC_PARMS.DAT) contains the search limits for the compile and run
-- time capacity assessors.
-- Compile time test parameters
-- Maximum processing time using defaults is approximately 8 hr for
-- compile-time tests and 1 hr for run-time tests.
--
-- Notes: 1. Times are given in seconds (not HOURS:MINUTES:SECONDS)
-- 2. Maximum default time is 1800.0 seconds (30 minutes)
-- 3. Times are NOT strict limits. The test control loop will not
-- start another cycle if the elapsed time is greater than the
-- provided value; the control loop will NOT interrupt a process
-- in progress when the "time-limit" expires. Therefore, the
-- actual time for a test to complete may be longer than the
-- user specified maximum time.
-- 4. Since the min and max numbers are stored as 6 digit precision
-- floating point numbers, the limit checks will have a corresponding
-- resolution. This is particularly applicable to the possibly
-- large maximums for the run time tests.
-- time
--ID min max limit test name
---- ----- ----- ------ -----------
ct01 512 16384 1800.0 Number_of_names_in_a_compilation_unit
--The maximum value has a hard limit of 999999.
--The units are in number of names.
ct02 512 16384 1800.0 Number_of_simple_variables
--The maximum value has a hard limit of 999999.
--The units are in number of simple variables
ct03 512 16384 800.0 Number_of_literals_in_an_enumeration_type
--The maximum value has a hard limit of 999999.
--The units are in number of enumeration literals
ct04 512 64767 1800.0 Number_of_elements_in_an_aggregate
--The maximum value has a hard limit of 999999.
--The units are in aggregate elements
ct05 128 4096 900.0 Alternates_in_a_CASE_statement
--The maximum value has a hard limit of 32767
--The units are in case alternatives
ct06 8 128 400.0 Alternatives_in_a_SELECT_statement
--The maximum value has a hard limit of 32767
--The units are in select alternatives
ct07 16 128 300.0 Number_of_constrained_formal_parameters
--The maximum value has a hard limit of 32767
--The units are in number of constrained parameters
ct08 16 128 400.0 Number_of_unconstrained_formal_parameters
--The maximum value has a hard limit of 32767
--The units are in unconstrained parameters
Figure F-1 (Part 1 of 4) File yc_parms.dat
ct09 64 4096 1800.0 Number_of_tasks
--The maximum value has a hard limit of 32767
--At larger test numbers the compile step may not
-- complete.
--The units are in tasks
ct10 16 256 300.0 Number_of_simple_operands_in_arithmetic_expression
--The maximum value has a hard limit of 999999.
--The units are in arithmetic operands
ct11 1 10 400.0 Levels_of_parenthesis_in_arithmetic_expression
--The maximum value has a hard limit of 10
--The units are in parenthesis levels
ct12 1 10 800.0 Levels_of_nesting_of_actual_parameters
--The maximum value has a hard limit of 10
--The units are in levels of nesting
ct13 80 256 1800.0 Number_of_characters_in_a_line
--The maximum value has a hard limit of 32767
--At larger test numbers the compile step may not
-- complete.
--The units are in characters
ct14 8 128 300.0 Depth_of_nested_subprogram
--The maximum value has a hard limit of 32767
--The units are in nested subprograms
ct15 8 256 500.0 Depth_of_nested_IF_statements
--The maximum value has a hard limit of 32767
--The units are in nested if statements
ct16 8 256 500.0 Depth_of_nested_CASE_statements
--The maximum value has a hard limit of 32767
--The units are in nested case statements
ct17 8 128 400.0 Depth_of_nested_BLOCK_statements
--The maximum value has a hard limit of 32767
--The units are in nested BLOCK statements
ct18 4 128 1300.0 Depth_of_nested_ACCEPT_statements
--The maximum value has a hard limit of 32767
--The units are in nested BLOCK statements
ct19 4 128 300.0 Depth_of_nested_variants_in_record
--The maximum value has a hard limit of 32767
--The units are in nested variants
ct20 256 16384 1800.0 Statements_in_a_compilation_unit
--The maximum value has a hard limit of 999999.
--The units are in statements
ct21 128 4096 1800.0 Number_of_non-declarative_statements_in_block
--The maximum value has a hard limit of 999999.
--The units are in statements
ct22 64 512 200.0 Number_of_characters_in_a_qualified_name
--The maximum value has a hard limit of 999999.
--The units are in characters
Figure F-1 (Part 2 of 4) File yc_parms.dat
ct23 128 16384 200.0 Number_of_executable_statements_in_a_program
--The maximum value has a hard limit of 999999.
--The units are in hundreds of statements
ct24 4 16 200.0 Number_of_dimensions_in_an_array
--The maximum value has a hard limit of 32767
--The units are in array dimensions
ct25 2 14 1200.0 Nested_aggregates
--The maximum value has a hard limit of 14
--The units are in nested aggregates
ct26 4 128 1800.0 Nested_subunits
--The maximum value has a hard limit of 32767
--At larger test numbers the compile step may not
-- complete.
--The units are in nested subunits
ct27 1 32 100.0 Nested_INLINE_subprograms
--The maximum value has a hard limit of 32767
--The units are in nested inline subprograms
ct28 1 16 300.0 Nested_generic_subprograms
--The maximum value has a hard limit of 32767
--The units are in nested generic subprograms
ct29 1 16 300.0 Nested_generic_packages
--The maximum value has a hard limit of 32767
--The units are in nested generic packages
ct30 8 16384 200.0 Size_of_the_literal_pool_in_a_compilation_unit
--The maximum value has a hard limit of 999999.
--The units are in hundreds of literals.
ct31 128 8192 300.0
Size_of_statically_sized_subprogram_declarative_region
--The maximum value has a hard limit of 999999.
--The units are in zg_glob1.float6 storage -- locations.
ct32 128 8192 400.0 Statically_sized_library_package_declarative_region
--The maximum value has a hard limit of 999999.
--The units are in zg_glob1.float6 storage
-- locations.
-- Run time test parameters
-- time
--ID min max limit test name
---- ----- ----- ------ -----------
rt01 1 16384 1800.0 Number_of_elements_in_an_array
--The maximum value has a hard limit of 2147480000
--The units are in array elements.
rt02 1 16384 1800.0 Number_of_dynamically_created_tasks
--The maximum value has a hard limit of 32767
--The units are in tasks.
rt03 1 16384 1800.0 Depth_of_subprogram_or_function_calling
--The maximum value has a hard limit of 32767
--The units are in subprogram calls deep.
Figure F-1 (Part 3 of 4) File yc_parms.dat
rt04 1 16384 1800.0 Number_of_non-task_type_dynamically_allocated_objects
--The maximum value has a hard limit of 2147480000
--The units are in objects.
rt05 1 131072 1800.0 Size_of_a_stack_declared_array
--The maximum value has a hard limit of
-- (214748000)x(system.storage_unit)
--The units are in bits
rt06 1 131072 1800.0 Size_of_a_heap_declared_array
--The maximum value has a hard limit of
-- (214748000)x(system.storage_unit)
--The units are in bits.
rt07 1 131072 1800.0 Size_of_a_library_declared_array
--The maximum value has a hard limit of either
-- (214748000)x(system.storage_unit) or
-- (the input minimum)x(2**20), which ever is least.
--The units are in bits.
rt08 1 131072 1800.0 Size_of_a_collection
--The maximum value has a hard limit of
-- (214748000)x(system.storage_unit)
--The units are in bits.
rt09 1 131072 1800.0 Size_of_a_data_segment
--The maximum value has a hard limit of
-- (214748000)x(system.storage_unit).
-- Note: since the processing calculates the
-- current test value as a float6 type
-- and since numerical
-- precision is important for this test,
-- the maximum value should
-- not exceed the number that can be precisely
-- represented in a zg_glob1.float6 type times
-- system.storage_unit. That is:
-- max test value < (max float6 precision value)x
-- (system.storage_unit).
--The units are in bits.
Figure F-1 (Part 4 of 4) File yc_parms.dat
The following lists the compile-time related files and their functions:
* "yc_globl.ada" - Global package for compile-time related tests.
* "yc_compl.com" - Compiles and links compile-time related tests.
* "yc_serch.com" - Creates temporary file "yc_inter.txt" and writes the current test name to it; runs the test generator; compiles, links runs each test and tests the loop status in "yc_inter.txt" to determine when to terminate the test generation process.
* "yc_front.ada" - Reads "yc_inter.txt" and "yc_parms.dat" to obtain initial test parameter information. This information is placed in "yc_inter.txt" for use by the test currently being run.
* "yc_ct01g.ada" - Generator of test for number of names in a compilation unit.
* "yc_ct02g.ada" - Generator of test for number of simple variables.
* "yc_ct03g.ada" - Generator of test for number of literals in an enumeration type.
* "yc_ct04g.ada" - Generator of test for number of elements in an aggregate.
* "yc_ct05g.ada" - Generator of test for alternates in a CASE statement.
* "yc_ct06g.ada" - Generator of test for alternatives in a SELECT statement.
* "yc_ct07g.ada" - Generator of test for number of constrained formal parameters.
* "yc_ct08g.ada" - Generator of test for number of unconstrained formal parameters.
* "yc_ct09g.ada" - Generator of test for number of tasks.
* "yc_ct10g.ada" - Generator of test for number of simple operands in an arithmetic expression.
* "yc_ct11g.ada" - Generator of test for levels of parenthesis in an arithmetic expression.
* "yc_ct12g.ada" - Generator of test for levels of nesting of actual parameters.
* "yc_ct13g.ada" - Generator of test for number of characters in a line.
* "yc_ct14g.ada" - Generator of test for depth of nested subprogram.
* "yc_ct15g.ada" - Generator of test for depth of nested IF statements.
* "yc_ct16g.ada" - Generator of test for depth of nested CASE statements.
* "yc_ct17g.ada" - Generator of test for depth of nested BLOCK statements.
* "yc_ct18g.ada" - Generator of test for depth of nested ACCEPT statements.
* "yc_ct19g.ada" - Generator of test for depth of nested variants in record.
* "yc_ct20g.ada" - Generator of test for statements in a compilation unit.
* "yc_ct21g.ada" - Generator of test for number of non-declarative statements in block.
* "yc_ct22g.ada" - Generator of test for number of characters in a qualified name.
* "yc_ct23g.ada" - Generator of test for number of executable statements in a program.
* "yc_ct24g.ada" - Generator of test for number of dimensions in an array.
* "yc_ct25g.ada" - Generator of test for nested aggregates.
* "yc_ct26g.ada" - Generator of test for nested subunits.
* "yc_ct27g.lab" - Generator of test for nested INLINE subprograms (using label'ADDRESS).
* "yc_ct27g.gad" - Generator of test for nested INLINE subprograms (using adapted zg_getad).
* "yc_ct28g.ada" - Generator of test for nested generic subprograms.
* "yc_ct29g.ada" - Generator of test for nested generic packages.
* "yc_ct30g.ada" - Generator of test for size of the literal pool in a compilation unit.
* "yc_ct31g.ada" - Generator of test for size of statically sized subprogram declarative region.
* "yc_ct32g.ada" - Generator of test for statically sized library package declarative region.
* "yc_bcknd.ada" - Processes test status from "yc_inter.txt" and outputs the next test number and loop status to "yc_inter.txt" for use by the current test generator and "yc_serch.com", respectively. At test completion yc_bcknd outputs the final test results to "yc_ctxxr.txt".
* "yc_ctxxr.txt" - Contains the formatted results for the corresponding compile-time test ("xx" represents the test ID number.).
* "yc_inter.txt" - A temporary file used to pass common data between procedures in the compile-time capacity test search process.
+ yc_serch passes the test name to yc_front so it can identify the set of parameters to obtain for the current test.
+ yc_front passes initial test parameters to the test generators (yc_ctxxg).
+ the generated test sends status data to yc_bcknd.
+ yc_bcknd hands status data to the test generator and command file yc_serch using this intermediate data file.
The following is a list of the data in "yc_inter.txt":
+ Test name ID (from "yc_parms.dat")
+ Starting iteration value (from "yc_parms.dat")
+ Ending iteration value (from "yc_parms.dat")
+ Maximum processing time in seconds (from "yc_parms.dat")
+ Iteration number of last passing test ("none" if negative)
+ Completion_status - 0-"test start" 1-"next" 2-"limit is greater than ending value" 3-"ending number is limit" 4-"limit is less than beginning value", 5-"time exceeded"
+ Iteration number of last failing test ("none" if negative)
+ Current iteration pass/fail status (1 pass, 2 fail)
+ Current iteration number
+ Next iteration number
+ Starting day
+ Starting month
+ Starting year
+ Starting second
+ Test result ("e"=exit, "c"=continue)
+ Test description string
The file "yc_inter.txt" is an Ada direct file with one record.
Parameters are separated by at least one space and are identified by the ordering shown above. Test state information can be recovered by inspecting this file when a system crash is encountered.
The following lists the run-time related files and their function:
* "yc_compl.com" - Compiles and links source generator.
* "yc_parms.dat" - Contains user input test parameters for all tests.
* "yc_rtglg.ada" - Generates the global file "yc_rtgl2.ada" based on the input test parameters in "yc_parms.dat".
* "yc_rtcmp.com" - Compiles, links, and runs run-time tests.
* "yc_rtgl1.ada" - Contains run-time global package declarations.
* "yc_rtgl2.ada" - Contains run-time global input test parameters.
* "yc_rt01_.ada" - Tests for number of elements in an array.
* "yc_rt02_.ada" - Tests for number of dynamically created tasks.
* "yc_rt03_.ada" - Tests for depth of subprogram calling.
* "yc_rt04_.ada" - Tests for number of non-task type dynamically allocated objects.
* "yc_rt05_.ada" - Tests for size of a stack declared array.
* "yc_rt06_.ada" - Tests for size of a heap declared array.
* "yc_rt07_.ada" - Tests for size of a library declared array.
* "yc_rt08_.ada" - Tests for size of a collection.
* "yc_rt09_.ada" - Tests for size of a data segment.
PREPARING TO TEST:
Have these groups of files available for the compile-time tests. If Pretest Step 5 was completed, then "zg_glob*.*" files will be compiled and linked, and no further action on the user's part is required for these files.
* Global files:
+ "zg_glob1.ada"
+ "zg_glob2.ada"
+ zg_glob3 (".elg" or ".ell" or ".cpg" or ".cpl")
+ "zg_glob4.ada"
+ "zg_glob5.ada"
+ "yc_globl.ada"
* Command files:
+ "yc_compl.com/unx"
+ "yc_drivr.com/unx"
+ "yc_serch.com/unx"
+ "yc_adahs.com/unx"
+ "yc_linkh.com/unx"
+ "zc_adack.com/unx"
+ "zc_adaop.com/unx"
+ "zc_lnk.com/unx"
+ "zc_delsb.com/unx"
+ "zc_delso.com/unx"
+ "zc_delbo.com/unx"
+ "zc_setli.com/unx"
* Data file:
+ "yc_parms.dat"
* Control files:
+ "yc_front.ada"
+ "yc_bcknd.ada"
* Test files:
+ "yc_ct01g.ada" through "yc_ct26g.ada"
+ "yc_ct28g.ada" through "yc_ct32g.ada"
+ plus either
- "yc_ct27g.lab" when label'ADDRESS is supported or
- "yc_ct27g.gad" when label'ADDRESS is not supported
* Text file:
+ "yc_tmplt.txt"
The Ada files associated with compile-time capacity test "xx" are named "yc_ctxxg.ada". For example, "yc_ct01g.ada" is the test generator Ada source for testing the "Number of Names in a Compilation Unit". On systems with limited disk space, a user could load only those files needed for a particular test onto the host system and modify "yc_drivr.com" to run only the selected test.
NOTE: If the system under test requires that Ada source files have a suffix other than ".ada", then all the ".ada" files will have to be copied or renamed.
Have these groups of files available for the run-time tests:
* Global files:
+ "zg_glob1.ada"
+ "zg_glob2.ada"
+ "zg_glob4.ada"
+ "zg_glob5.ada"
+ "yc_rtgl1.ada"
* Command files:
+ "yc_rtcmp.com/unx"
+ "yc_adahs.com/unx"
+ "yc_linkh.com/unx"
+ "zc_setli.com/unx"
+ "zc_lnk.com/unx"
+ "zc_delsb.com/unx"
+ "zc_adack.com/unx"
* Data file:
+ "yc_parms.dat"
* Test files:
+ "yc_rt01_.ada" through "yc_rt09_.ada"
* Text file:
+ "yc_tmplt.txt"
The Ada files associated with run-time capacity test "xx" are named "yc_rtxxg.ada". For example, "yc_rt01g.ada" is the test generator Ada source for testing the "Number of Elements in an Array". On systems with limited disk space, a user could load only those files needed for a particular test onto the host or target system.
Fill out the descriptive information on the report form. The report form, "yc_tmplt.txt", asks for information on the identity of the system being tested, the hardware and software configuration used, the name of the tester, the date, and any other information a user may wish to note.
Step 1 - Set up library of global packages:
If Pretest was run, then zg_basln compiled the globals needed for the Capacity Tests have been compiled. It is sufficient to run Step 1 and Step 5 of the Pretest.
Step 2 - Adapt the procedures for each scenario:
* For compile-time:
There are two versions of yc_ct27g, one assuming label'ADDRESS is supported ("*.lab") and one which assumes that the user has adapted zg_getad function ("*.gad"). Depending on the version of zg_glob3 in the library, the "other assumption" may not compile.
If the target and host systems are different, the compile-time tests will need to have a host-based library (in addition to the library used for target compilations) containing the packages compiled by "zg_base1.com" adapted for the host-based compilation system so that the test generators (yc_ct01g through yc_ct032g) and test control (yc_front and yc_bcknd) programs, when compiled and linked, can run ON the host system.
For embedded systems the package DIRECT_IO needs adapting so that instead of writing the test pass indication to the intermediate file ("yc_inter.txt") it will output a message (calling ZG_GLOB2.PUT_COMMENT with an adapted TEXT_IO package) to the terminal indicating the test has passed. If the pass indication is not output, the test failed. In addition, another adapted version of "yc_glob1.ada" is needed for target compilations which contains only INTER_REC_TYPE, the package body and the functions IDENTI and IDENTIF. The removed routines are used by the host-based test generator procedures and may use functions unavailable to the embedded target compiler.
* For run-time:
All run-time tests except for "yc_rt02_.ada" and "yc_rt03_.ada" use 32-bit integer types (ZG_GLOB5.INTEGER32) in their processing. If the system under test does not support this then an adaptation will be required to use 16-bit integer types (ZG_GLOB1.INTEGER16).
If the target is an embedded system the procedure CALC_NEXT in file "yc_rtg11.ada" may have to be adapted. This procedure uses the function ZG_GLOB1.FLOAT6_IO.GET to accomplish an even/odd check. If ZG_GLOB1.FLOAT6_IO.GET is unavailable, use ZG_GLOB5.INTEGER32 or multiple 16 bit integers to represent the floating point working number and the mod function to accomplish the check.
Step 3 - Adapt the command files for each scenario:
Sample capacity assessor command language files are distributed for two compilation systems: DEC Ada under VMS (file with a .com suffix) and Verdix Ada under Silicon Graphics UNIX (file with a ".unx" suffix). The user will have to adapt the file to use the compilation system being evaluated, and to use a host-based compilation system. The adaptations for the target-based compilation system will have been performed during pretest in adapting the "zc_cmp*.com" and "zc_ada*.com" files. Adaptations for host-based compilations and links may be needed for "yc_adahs.com" and "yc_linkh.com" (on self-targeted systems, this would be identical to the "zc_adack.com" and "zc_lnk.com" files). No adaptations for specific tests should be necessary (unless the user wants to work around errors discovered in the system being evaluated).
Note that the test generators produce source code files with the ".ada" suffix, and the command scripts "yc_serch", "yc_compl", and "yc_rtcmp" use this suffix. If your compilation system requires a different suffix, then you must adapt these files. See the comments (in the ".unx" versions) containing "*** POSSIBLE MODIFICATION".
The file "yc_drivr.com" is a high-level driver command file which calls on lower-level command files "yc_compl.com", "yc_serch.com" and "yc_rtcmp.com" to compile, link and run the compile-time and run time tests. Instructions about how to adapt and interpret test results are contained in the low-level command files. A structured English description of file "yc_drivr.com" follows.
yc_drivr.com
begin
identify the default directory
identify the Ada library
disable error checking
invoke command file yc_compl.com to compile compile-time tests
invoke command file yc_serch.com to process test yc_ct01
.
.
.
invoke command file yc_serch.com to process test yc_ct32
invoke command file yc_rtcmp.com to compile and execute run-time tests
end yc_drivr
If the target and host systems are different, create and use two Ada libraries, one for the host and one for the target compiles; adapt DIRECT_IO and yc_glob1 for the target; and compile them just before "yc_serch.com" is invoked for yc_ct01.
The command file "yc_compl.com" compiles, links and cleans up the library for the compile-time related tests. The following describes the processing in this command file:
yc_compl.com begin
identify the default directory
identify the ada library
disable error checking
compile yc_globl.ada using host based compilation system
compile yc_front.ada using host based compilation system
link yc_front using host based system
delete yc_front spec and body from library
compile yc_bcknd.ada using host based compilation system
delete yc_bcknd spec and body from library
link yc_bcknd using host based system
compile yc_ct01g.ada using host based compilation system
link yc_ct01g using host based system
delete yc_ct01g spec and body from library
.
.
.
compile yc_ct26g.ada using host based compilation system
link yc_ct26g using host based system
delete yc_ct26g spec and body from library
compile yc_ct27g.lab using host based compilation system
link yc_ct27g using host based system
delete yc_ct27g spec and body from library
compile yc_ct27g.gad using host based compilation system
link yc_ct27g using host based system
delete yc_ct27g spec and body from library
compile yc_ct28g.ada using host based compilation system
link yc_ct28g using host based system
delete yc_ct28g spec and body from library
.
.
.
compile yc_ct32g.ada using host based compilation system
link yc_ct32g using host based system
delete yc_ct32g spec and body from library
end yc_compl.com
The file "yc_serch.com" identifies the test currently being run by creating "yc_inter.txt"; runs the test generator; compiles, links and runs each test; and tests the test result in "yc_inter.txt" to determine when to terminate the test generation process. The description of this file is shown below. This file must be adapted by each compilation system. The process was designed with concern for ease of porting. If the process could assume a portable approach to having a main program read parameters (and files) and set condition codes on output, a simpler control structure could have been used -- but such an approach would not be easily adaptable to embedded systems.
yc_serch.com
begin
identify the default directory
set offset_of_test_result for use in extracting test_result
if a passed test name is reasonable
then
create intermediate data storage file yc_inter.txt
open file yc_inter.txt for writing
write test name to file yc_inter.txt in columns 1 through 4
close file yc_inter.txt
delete any existing generated yc_ctxx_.ada files for current test
delete any existing generated yc_ctxx.exe files for current test
delete any existing generated yc_ctxxr.txt files for current test
run yc_front to set up data in yc_inter.txt for use by tests
open yc_inter.txt
read parameter line in yc_inter.txt
close yc_inter.txt
extract test_result
if test result is "continue" then
go to loop_top
if test_result is "exit" then
go to loop_exit
exit com file
loop_top
run on host system yc_ctxxg to generate next test source file yc_ctxx_.ada
compile yc_ctxx_.ada using target-based compilation system
turn off system messages
link generated test yc_ctxx using target-based system
turn on system messages
run generated test yc_ctxx on target-based system
delete generated test file yc_ctxx_.ada
delete generated test file yc_ctxx_.exe
delete all yc_inter.txt files except for the last one
run yc_bcknd to process test results on host-based system
turn off system messages
delete yc_ctxx generated units from library
turn on system messages
open yc_inter.txt
read parameter line yc_inter.txt
close yc_inter.txt
extract the test_result(15th parameter in yc_inter.txt)
if test result is "continue"
goto loop_top
if test result is "exit" go to loop_exit
output anomaly message
exit com file
loop_exit
list final results file to standard output
delete file yc_inter.txt
end if
end yc_serch.com
If the target and host systems are different, the downloading and running on the target system could be outside the control of "yc_serch.com". For this situation the user can adapt "yc_serch.com" to check compiler/linker status codes (when available) and defer execution of the test programs until finding a compile/link limit. It is still important to verify on cross-targeted systems that the largest program accepted by the compiler/linker executes properly. If executing this "compile/link" program for the target reveals a run-time failure, then the testing procedure should be modified to include executing all programs generated by "yc_serch.com". This requires additional effort for the user, but is a safer testing procedure. If it is decided to perform a search with test values chosen by the user, it is helpful to set the input minimum and maximum parameters to single test values so that one test program at a time is generated on the host and run on the target. Even if the download and run steps could be incorporated into "yc_serch.com", the user must take care in dealing with linker errors. Some linkers produce map files with text descriptions of linker errors (as opposed to status codes). These errors may have to be inspected manually.
The user may have to create separate command files unique to the machine debugger to automatically download, run and collect output messages from the tests on embedded systems.
The command file "yc_serch.com" reads TEST_RESULT from file "yc_inter.txt" to determine whether to continue the search loop or not. If there is a problem extracting TEST_RESULT in "yc_serch.com" then adapt Program SAVE_INTERMEDIATE_DATA in file "yc_bcknd.ada" and add new statements to write the variable test_result to another file by itself (the existing code to write inter_rec to "yc_inter.txt" must remain to provide parameters needed for the next test). Command file "yc_serch.com" would be adapted accordingly to read this new file in place of reading "yc_inter.txt".
If the system does not place TEST_RESULT at the expected offset in the file "yc_inter.txt", a message is output indicating its position when a test is run. The user must adapt the value of OFFSET_OF_TEST_RESULT in "yc_serch.com" to match this value.
The command file "yc_rtcmp.com" compiles, links and executes run-time tests. A structured English description of this file is:
yc_rtcmp.com
begin
identify the default directory
identify the ada library
disable error checking
compile file yc_rtglg.ada on host-based compilation system to generate
yc_rtgl2.ada
link yc_rtglg using host based system
delete yc_rtglg from library
run yc_rtglg on host system
compile file yc_rtgl2.ada using target-based compilation system
if error in compile of yc_rtg12.ada then exit com file
compile file yc_rtgl1.ada using target-based compilation system
compile file yc_rt01_.ada using target-based compilation system
link yc_rt01 using target based system
delete library spec and body for yc_rt01
remove prior version of yc_rt01.exe
run yc_rt01 on target system
.
.
.
compile file yc_rt09_.ada using target based compilation system
link yc_rt09 using target based system
delete library spec and body for yc_rt09
remove prior version of yc_rt09.exe
run yc_rt09 on target system
end yc_rtcmp.com
If target and host systems are different, the file "yc_rtcmp.com" will require adaptation so that the run-time tests can run on the target processor. This particularly true when the target is an embedded system.
Step 4 - Adapt the input parameters file:
Adapt "yc_parms.dat" if there are any changes to the minimum or maximum test size, or maximum test time.
Step 5 - Run the Capacity Assessor:
After adaptation of the files, invoking "yc_drivr.com" will run the compile and run-time tests. If the default time limits in "yc_parms.dat" are used, this assessor should execute in approximately eight hours.
Step 6 - Complete the Capacity Assessor Test Report:
The Capacity Assessor Report form ("yc_tmplt.txt") should be filled out with the results from attempting each scenario. It could be modified with an editor, or printed and the hardcopy filled in. When the capacity assessor is complete, the filled-in form will form a summary report for future reference (note that the form has provisions for entering general comments).
Command files can generally be executed interactively or submitted as batch jobs. Because the execution times for some of the tests using a large feature size will be long, it may be more useful to run the capacity tests as batch jobs (this also provides for saving output logs).
If users observe that running capacity tests crashes the system, they may choose to discontinue these tests.
EXECUTING THE TEST:
The general steps for testing each library scenario are described as follows:
1. Run zg_basln (Pretest Step 5).
2. Adapt the procedures (if needed).
3. Adapt "yc_drivr.com", "yc_compl.com", "yc_serch.com" and "yc_rtcmp.com".
4. Review and change the default input test parameters in "yc_parms.dat".
5. Run "yc_drivr.com" and wait for completion.
ANALYZE/RECORD RESULTS:
For the compile-time tests, examine results in file "yc_ctxxr.txt". The data written to these files is in the format required for the Capacity Test Report; the user may then copy the file directly into the Capacity Test Report form and enter comments as appropriate. Users should include a comment on the report form for all tests whose execution crashes the program or the operating system.
As each compile-time capacity test executes, the control program will write to standard output text identifying what capability is being tested and providing status information on the progress of the testing process. This status information will permit users to determine the extent of testing done if the program crashes before it reaches normal completion. In addition, if the system crashes the user can inspect "yc_inter.txt" to determine the state of the test.
For Run-Time tests, copy test results summary from log output to Capacity Test Report form ("yc_tmplt.txt") and enter comments onto form as appropriate. Users should include a comment on the report form for all tests whose execution crashes the program or the operating system.
When the input parameters are changed, the procedure yc_rtglg needs to be rerun to regenerate the file "yc_rtgl2.ada" since it is through this package that the run-time test obtains the input parameters. Of course, the user will need to recompile "yc_rtgl2.ada" and all dependent files. The simplest way to insure that all the proper steps are performed is to edit the file "yc_rtcmp.com", excluding or including individual tests as desired (using control language branching may require many fewer lines to be modified than commenting and uncommenting individual statements). As each run-time capacity test executes, the control program will write to standard output text identifying what capability is being tested, status information on the progress of the testing process and the results at the test completion. Status information in the log output will permit users to determine the extent of testing if the program crashes before it reaches normal completion.
NOTE: If test yc_rt07 is unable to reach the user-specified limit, then log information is output, but no test results summary is displayed. This is a result of an expected exception which terminates the program when encountering a storage error.
When the capacity tests are completed the user will need to clean up the files in the directory as defined by "aces_working_directory". This normally includes deleting files used for the test generators and the run time-related tests. The user might want to ensure all log files and results files are saved in another directory prior to cleaning up the working directory.
ADA COMPILER EVALUATION SYSTEM Version 2.0
ADA CAPACITY ASSESSOR REPORT
Evaluator's Name:____________________________________Date:____________
Host
Compiler:____________________________________________Version:_________
Host
Operating
System:______________________________________________Version:_________
Host
Hardware:____________________________________________Model:___________
System
Memory:__________
Target
Hardware:____________________________________________Model:___________
System
Memory:__________
Disk Free
Devices:_____________________________________________Memory:__________
Units for disk size measurement ( bytes in a block): _________________
Other
Information:__________________________________________________________
======================================================================
Note: This assessor does not distinguish between system and compiler limits, but reports when limits are found in a particular configuration of a system with a certain set of resources for Ada compilations.
ADA COMPILER EVALUATION SYSTEM Version 2.0
ADA CAPACITY ASSESSOR REPORT
TEST OUTPUT
CT01 Number_of_names_in_a_compilation_unit
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT02 Number_of_simple_variables
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT03 Number_of_literals_in_an_enumeration_type
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT04 Number_of_elements_in_an_aggregate
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT05 Alternates_in_a_CASE_statement
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
ADA COMPILER EVALUATION SYSTEM Version 2.0
ADA CAPACITY ASSESSOR REPORT
TEST OUTPUT
CT06 Alternatives_in_a_SELECT_statement
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT07 Number_of_constrained_formal_parameters
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT08 Number_of_unconstrained_formal_parameters
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT09 Number_of_tasks
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT10 Number_of_simple_operands_in_arithmetic_expression
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
ADA COMPILER EVALUATION SYSTEM Version 2.0
ADA CAPACITY ASSESSOR REPORT
TEST OUTPUT
CT11 Levels_of_parenthesis_in_arithmetic_expression
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT12 Levels_of_nesting_of_actual_parameters
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT13 Number_of_characters_in_a_line
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT14 Depth_of_nested_subprogram
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT15 Depth_of_nested_IF_statements
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
ADA COMPILER EVALUATION SYSTEM Version 2.0
ADA CAPACITY ASSESSOR REPORT
TEST OUTPUT
CT16 Depth_of_nested_CASE_statements
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT17 Depth_of_nested_BLOCK_statements
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT18 Depth_of_nested_ACCEPT_statements
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT19 Depth_of_nested_variants_in_record
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT20 Statements_in_a_compilation_unit
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
ADA COMPILER EVALUATION SYSTEM Version 2.0
ADA CAPACITY ASSESSOR REPORT
TEST OUTPUT
CT21 Number_of_non-declarative_statements_in_block
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT22 Number_of_characters_in_a_qualified_name
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT23 Number_of_executable_statements_in_a_program
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT24 Number_of_dimensions_in_an_array
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT25 Nested_aggregates
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
ADA COMPILER EVALUATION SYSTEM Version 2.0
ADA CAPACITY ASSESSOR REPORT
TEST OUTPUT
CT26 Nested_subunits
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT27 Nested_INLINE_subprograms
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT28 Nested_generic_subprograms
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT29 Nested_generic_packages
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT30 Size_of_the_literal_pool_in_a_compilation_unit
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
ADA COMPILER EVALUATION SYSTEM Version 2.0
ADA CAPACITY ASSESSOR REPORT
TEST OUTPUT
CT31 Size_of_statically_sized_subprogram_declarative_region
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
CT32 Statically_sized_library_package_declarative_region
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
RT01 Number_of_elements_in_an_array
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
RT02 Number_of_dynamically_created_tasks
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
RT03 Depth_of_subprogram_calling
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
ADA COMPILER EVALUATION SYSTEM Version 2.0
ADA CAPACITY ASSESSOR REPORT
TEST OUTPUT
RT04 Number_of_non-task_type_dynamically_allocated_objects
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
RT05 Size_of_a_stack_declared_array
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
RT06 Size_of_a_heap_declared_array
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
RT07 Size_of_a_library_declared_array
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
RT08 Size_of_a_collection
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
ADA COMPILER EVALUATION SYSTEM Version 2.0
ADA CAPACITY ASSESSOR REPORT
TEST OUTPUT
RT09 Size_of_a_data_segment
INPUT PARAMETERS TEST RANGE MIN/MAX : _______ / _______
MAX PROCESSING TIME(SEC): _____
RESULTS TIME LIMIT EXPIRED(Y/N) : _
LIMIT FOUND(Y/N) : _
MIN FAILED/MAX PASSED : _______ / _______
ELAPSE TIME(SEC) : _____
USER COMMENTS :
----------------------------------------------------------------------
General comments
Impressions