home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / point / apseeval.inf < prev    next >
Encoding:
Text File  |  1988-05-03  |  38.6 KB  |  1,178 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                        GENERIC APSE EVALUATION QUESTIONS
  7.  
  8.                                  by Paul Dobbs
  9.                                General Dynamics
  10.                                 Fort Worth, TX
  11.  
  12.                                 December, 1983
  13.  
  14.  
  15. A. APSE CONFIGURATION:
  16.  
  17.    1. What tools exist in your system which are directly user-accessible?
  18.  
  19.    2. What tools and packages are not directly user-accessible?
  20.  
  21.    3. Briefly describe each tool.
  22.  
  23.    4. What  tool  or  combination  of tools (if any) support the following
  24.       functions?
  25.  
  26.          - Command input
  27.  
  28.          - On-line assistance
  29.  
  30.          - Editing
  31.  
  32.          - Text formatting
  33.  
  34.          - Configuration control
  35.  
  36.          - Compilation
  37.  
  38.          - Assembly
  39.  
  40.          - Source code formatting
  41.  
  42.          - Statistical profiling
  43.  
  44.          - Cross reference generation
  45.  
  46.          - Library management
  47.  
  48.          - Linking
  49.  
  50.          - Downloading to target systems
  51.  
  52.          - Requirements processing
  53.  
  54.          - Data dictionary management
  55.  
  56.          - Rapid prototyping
  57.  
  58.          - Design language processing
  59.  
  60.          - Target environment simulation
  61.  
  62.          - Debugging of programs
  63.  
  64.          - Text management
  65.  
  66.          - Cost estimation
  67.  
  68.          - Scheduling
  69.  
  70.          - Tracking
  71.  
  72.          - Auditing
  73.  
  74.          - Complexity measurement
  75.  
  76.    5. What functions not listed above are provided, and what tools provide
  77.       those functions?
  78.  
  79.    6. Are any predefined packages other than  those  defined  in  the  Ada
  80.       standard  provided  for  inclusion  in  programs developed using the
  81.       system?
  82.  
  83. B. KAPSE:
  84.  
  85.    1. Do the interfaces to the KAPSE conform totally to the CAIS?
  86.  
  87.    2. If the answer to question 1 is no, do they conform to  a  subset  of
  88.       the CAIS?
  89.  
  90.    3. If so, what CAIS packages are fully implemented?
  91.  
  92.    4. What CAIS packages are only partially implemented or modified?
  93.  
  94.    5. In  what  way  are  the  packages  listed  in response to question 4
  95.       incomplete or modified?
  96.  
  97.    6. What additional non-CAIS interfaces to the KAPSE exist?
  98.  
  99.    7. Is the KAPSE run on the bare machine, or does  it  function  through
  100.       some underlying operating system?
  101.  
  102.    8. If  the  KAPSE  is built on an underlying operating system, is there
  103.       provision for bypassing the KAPSE  and  accessing  operating  system
  104.       functions directly?
  105.  
  106. C. COMMAND LANGUAGE:
  107.  
  108.    1. What language is the command language interpreter written in?
  109.  
  110.    2. What are the interfaces between the command language interpreter and
  111.       the KAPSE?
  112.  
  113.    3. Are  all  interfaces  from  the command language interpreter and the
  114.       tools through the KAPSE?
  115.  
  116.    4. If not, what interfaces are not?
  117.  
  118.    5. If there is an operating  system  underlying  the  KAPSE,  does  the
  119.       command  language  interpreter  support  a mechanism to allow direct
  120.       access to the functions of the underlying operating system?
  121.  
  122.    6. Is the command language a menu system?
  123.  
  124.    7. If so, are there methods by which experienced users  can  skip  menu
  125.       steps or otherwise expedite their path through the menu?
  126.  
  127.    8. If a menu system is used, can an experienced user escape to a normal
  128.       command language?
  129.  
  130.    9. Is the command language host dependent?
  131.  
  132.   10. Is the command language target dependent?
  133.  
  134.   11. Is the syntax of the command language consistent with Ada syntax?
  135.  
  136.   12. Is  there  a provision for a user defined startup command file to be
  137.       executed at log on?
  138.  
  139.   13. Does the command language interpreter provide  facilities  for  user
  140.       defined  profiles  (default  settings)  which  are  retained between
  141.       sessions?
  142.  
  143.   14. Does the command language interpreter provide a  facility  by  which
  144.       the user can query the system for information on his environment?
  145.  
  146.   15. Does  the  command  language  interpreter  provide  facilities which
  147.       support team programming efforts?
  148.  
  149.   16. Does the command language interpreter allow  a  user  to  create  or
  150.       define a "working directory"?
  151.  
  152.   17. Can a user change working directories?
  153.  
  154.   18. If the answer to question 14 is yes, what restrictions are placed on
  155.       such movement?
  156.  
  157.   19. Can the user query system information such as date and time?
  158.  
  159.   20. Is  user  access  to  all tools in the environment controlled by the
  160.       command language or can the user bypass such controls by  using  the
  161.       underlying operating system (if any)?
  162.  
  163.   21. Is the tool invocation command format consistent across all tools in
  164.       the environment?
  165.  
  166.   22. When invoking a tool, what restrictions are placed on parameters?
  167.  
  168.   23. Do default parameters exist for any of the tools?
  169.  
  170.   24. Can  a  user  change  or  modify  such default parameters in his own
  171.       environment?
  172.  
  173.   25. Are default parameters displayed at tool invocation?
  174.  
  175.   26. Are any tools restricted from invocation by levels of privilege?
  176.  
  177.   27. If so, what are the levels of privilege, and who or what  determines
  178.       the level of privilege for a user?
  179.  
  180.   28. Does  the  command language interpreter provide execution results to
  181.       the user after a tool has completed execution?
  182.  
  183.   29. Are such results consistent throughout the environment?
  184.  
  185.   30. Are facilities provided by the command language to test the  results
  186.       of the execution of a tool?
  187.  
  188.   31. What  (if  any)  facility  is  provided  to  request  that a tool be
  189.       executed in background mode?
  190.  
  191.   32. If a tool is executed in  background,  is  the  user  provided  with
  192.       execution results upon completion of processing?
  193.  
  194.   33. May a user query the status of a tool executing in background?
  195.  
  196.   34. If  background execution is allowed, what restrictions are placed on
  197.       the number of executing background tasks?
  198.  
  199.   35. Can a user terminate the execution of an  arbitrary  tool  which  is
  200.       executing in background?
  201.  
  202.   36. Is a batch execution ability provided?
  203.  
  204.   37. If  so,  can  the  user halt the execution of a previously submitted
  205.       batch process?
  206.  
  207.   38. Can the user remove a previously submitted batch  process  from  the
  208.       queue before it begins execution?
  209.  
  210.   39. Are  the  commands  for accomplishing the operations in questions 34
  211.       and 35 the same?
  212.  
  213.   40. If not, how do they differ?
  214.  
  215.   41. How does the user display the status of a batch process?
  216.  
  217.   42. Can the user examine the batch queue in its entirity?
  218.  
  219.   43. Can the user submit a command file which contains  multiple  command
  220.       language interpreter commands for batch execution?
  221.  
  222.   44. Can  the  user submit a command file which contains multiple command
  223.       language interpreter commands for background execution?
  224.  
  225.   45. Can the user submit a command file which contains  multiple  command
  226.       language interpreter commands for foreground execution?
  227.  
  228.   46. Can  the  user  temporarily  delay  the  execution  of  a previously
  229.       submitted batch process?
  230.  
  231.   47. Can the user specify that a batch process only be executed after the
  232.       execution of another batch process has terminated?
  233.  
  234.   48. Can the user specify that a batch process only  execute  if  another
  235.       batch process terminates successfully?
  236.  
  237.   49. Can  the  user  abort  the  processing  of  a  tool being run in the
  238.       foreground?
  239.  
  240.   50. Can the user suspend the processing of a tool in foreground?
  241.  
  242.   51. Can the user resume the processing of a suspended foreground tool?
  243.  
  244.   52. Can the user accomplish the functions in questions 47 and 48  for  a
  245.       tool executing in background?
  246.  
  247.   53. Can  the  user accomplish the functions in questions 47 and 48 for a
  248.       batch execution?
  249.  
  250.   54. Are the commands  in  a  command  file  which  is  executed  in  the
  251.       foreground echoed to the user's console?
  252.  
  253.   55. Does the user have control over the echoing of such commands?
  254.  
  255.   56. What branching and control mechanisms are allowed in command files?
  256.  
  257.   57. Can  the  user  control  the  issuing of error messages from command
  258.       files?
  259.  
  260.   58. Can a command file take action based on errors in its own execution?
  261.  
  262.   59. Are macro or parameter facilities provided for use with user defined
  263.       command files?
  264.  
  265.   60. If so, what restrictions are placed on their use?
  266.  
  267.   61. Does the command language interpreter provide facilities for a  user
  268.       to input comments?
  269.  
  270.   62. Does the comment syntax conform to Ada comment syntax?
  271.  
  272.   63. Does the command language interpreter recognize string literals?
  273.  
  274.   64. Does the command language interpreter perform expression evaluation?
  275.  
  276.   65. Does the command language interpreter perform arithmetic operations?
  277.  
  278.   66. If  so,  does  the  operator  precedence  conform  to  Ada  operator
  279.       precedence?
  280.  
  281.   67. If not, what is the operator precedence?
  282.  
  283.   68. Does the command language interpreter perform boolean operations?
  284.  
  285.   69. If so, does the boolean operator precedence conform to Ada  operator
  286.       precedence?
  287.  
  288.   70. If not, what is the boolean operator precedence?
  289.  
  290.   71. Does the command language interpreter perform string operations?
  291.  
  292.   72. Are all Ada string operations performed?
  293.  
  294.   73. Does  the  string  operation  precedence  conform  to  Ada  operator
  295.       precedence?
  296.  
  297.   74. If macro substitution capability is provided for command files,  are
  298.       there any predefined substitutions?
  299.  
  300.   75. If so, list them.
  301.  
  302.   76. Can a user redefine these predefined substitutions?
  303.  
  304.   77. Is a facility provided for user symbol definition?
  305.  
  306.   78. Is  a  distinction  made  between local and global symbols and macro
  307.       substitution definitions?
  308.  
  309.   79. Can the user record all terminal I/O in a user specified file?
  310.  
  311.   80. Can the user redirect the input or output of a tools to/from a  user
  312.       defined file?
  313.  
  314.   81. Can the user redirect the output of diagnostic and error messages to
  315.       a file?
  316.  
  317.   82. Does  the  command  language  interpreter  provide the capability to
  318.       construct Unix-like pipes?
  319.  
  320.   83. Does the command language interpreter provide a branching  mechanism
  321.       such as an IF statement?
  322.  
  323.   84. Does  the command language interpreter provide a multi-way branching
  324.       mechanism such as a CASE statement?
  325.  
  326.   85. Does  the  command  language  interpreter  provide  a   LOOP   WHILE
  327.       mechanism?
  328.  
  329.   86. Does  the  command  language  interpreter provide an indexed looping
  330.       mechanism?
  331.  
  332.   87. Is the nesting of the above mechanisms allowed?
  333.  
  334.   88. Are any restrictions placed on the nesting of such constructs?
  335.  
  336.   89. Are conditional  or  unconditional  exiting  or  cycling  mechanisms
  337.       provided for loops?
  338.  
  339.   90. Does  the  command  language  interpreter provide for the display of
  340.       commands after macro/parameter  substitutions  have  been  made  but
  341.       before execution?
  342.  
  343.   91. Does  the  command  language  interpreter provide for the display of
  344.       commands after expression evaluation has  taken  place,  but  before
  345.       execution?
  346.  
  347.   92. How does the user end an interactive session?
  348.  
  349.   93. Can  the user automatically execute command procedures as part of or
  350.       after logoff?
  351.  
  352.   94. What additional capabilities are provided to the user by the command
  353.       language interpreter?
  354.  
  355. D. ON-LINE ASSISTANCE:
  356.  
  357.    1. Is the help facility hierarchical in nature?
  358.  
  359.    2. If the facility is hierarchical, can the user move up and  down  the
  360.       hierarchy at will?
  361.  
  362.    3. Can the user execute sideways movement in the hierarchy?
  363.  
  364.    4. Does  the  help facility provide both tutorials and explanatory text
  365.       for all commands?
  366.  
  367.    5. Does the help facility provide the required format for  all  command
  368.       language commands?
  369.  
  370.    6. How does the help facility react to requests for information that it
  371.       does not have?
  372.  
  373.    7. Is  the  help  facility  easily  modified to add information for new
  374.       tools or to delete information for tools no longer offered?
  375.  
  376.    8. Are all interfaces of the help facility routed through the KAPSE?
  377.  
  378.    9. Does the help facility have a capability to expand upon and  explain
  379.       all  the  error  and  diagnostic  messages which are produced by the
  380.       command language interpreter and by all the tools?
  381.  
  382. E. EDITING:
  383.  
  384.    1. What tools exist for the entry and revision of text in the system?
  385.  
  386.    2. What languages are these tools written in?
  387.  
  388.    3. Are the interfaces from these tools through the KAPSE?
  389.  
  390.    4. List and explain any interfaces which are not through the KAPSE.
  391.  
  392.    5. What on-line assistance is provided for the user of these tools?
  393.  
  394.    6. Can this assistance be invoked without leaving these tools?
  395.  
  396.    7. Does the system contain an Ada syntax directed editor?
  397.  
  398.    8. If so, what special hardware does this editor require to operate?
  399.  
  400.    9. Can the user escape from syntax oriented editing to screen  or  text
  401.       oriented editing?
  402.  
  403.   10. Does this editor output text or some other form of the program?
  404.  
  405.   11. Can program text originally entered on a text editor be edited using
  406.       this editor?
  407.  
  408.   12. If so, does any special processing have to take place beforehand?
  409.  
  410.   13. Does the system contain a full screen editor?
  411.  
  412.   14. If so, what special hardware does this editor require to operate?
  413.  
  414.   15. Does this editor display text exactly as it would be printed out?
  415.  
  416.   16. Does the system contain a line oriented editor?
  417.  
  418.   17. Does this editor require any special hardware to operate?
  419.  
  420.   18. What occurs when the user attempts to access a non-existent file?
  421.  
  422.   19. If a file is created when the user attempts to access a non-existent
  423.       file, does the user have the opportunity to abort this action?
  424.  
  425.   20. What  occurs  when the user attempts to access an inappropriate type
  426.       of file?
  427.  
  428.   21. What types of files are considered inappropriate for editing?
  429.  
  430.   22. What happens when the user attempts to access a file for  which  the
  431.       user does not have access rights?
  432.  
  433.   23. Is  there  a  facility  by  which the user can browse through a file
  434.       which cannot be changed?
  435.  
  436.   24. Is there a facility by which the user can recover from an abnormally
  437.       terminated editing session?
  438.  
  439.   25. If so, describe this  facility,  giving  special  attention  to  its
  440.       granularity  (how  fine  is  the  detail  which  is  saved, is every
  441.       keystroke saved, is the entire file resaved  every  so  often,  does
  442.       this slow the user during editing, etc.)?
  443.  
  444.   26. What  other  facilities  are provided with the system for text entry
  445.       and revision?
  446.  
  447. F. TEXT FORMATTING:
  448.  
  449.    1. What tools exist in the environment for the formatting of text?
  450.  
  451.    2. What languages are these tools written in?
  452.  
  453.    3. Are all the interfaces from these tools through the KAPSE?
  454.  
  455.    4. List and describe any interfaces which are not through the KAPSE.
  456.  
  457.    5. What on-line assistance is given to the user of the text  formatting
  458.       tools?
  459.  
  460.    6. If  the  tools  are  interactive  in  nature, can this assistance be
  461.       obtained without terminating operation of the tools?
  462.  
  463.    7. What special hardware is required for the output of the tools?
  464.  
  465.    8. Do the tools provide both left and right justification?
  466.  
  467.    9. Do the tools provide line centering?
  468.  
  469.   10. Do the tools provide page headers and footers?
  470.  
  471.   11. Do the tools provide automatic page numbering?
  472.  
  473.   12. Do the tools generate indexes and tables of contents?
  474.  
  475.   13. Do the tools provide variable line spacing?
  476.  
  477.   14. Do the tools provide variable margins?
  478.  
  479.   15. What other text formatting functions do the tools provide?
  480.  
  481. G. CONFIGURATION CONTROL:
  482.  
  483.    1. Is configuration control an integral part  of  the  environment,  or
  484.       must the user invoke special tools to achieve configuration control?
  485.  
  486.    2. If special tools are used, list them.
  487.  
  488.    3. What languages are these tools written in?
  489.  
  490.    4. What are the interfaces between these tools and the KAPSE?
  491.  
  492.    5. Are all interfaces to configuration control through the KAPSE?
  493.  
  494.    6. If not, list and explain those which are not.
  495.  
  496.    7. What  on-line  assistance  is  provided  to  users  with  regard  to
  497.       configuration control?
  498.  
  499.    8. Are new revisions of objects automatically  created  each  time  the
  500.       objects are modified?
  501.  
  502.    9. If so, are previous revisions still available?
  503.  
  504.   10. If  previous  revisions  of  objects  are  still available, are they
  505.       stored in toto, or as a list of  changes  and  revisions  from  some
  506.       base?
  507.  
  508.   11. If  versions  are  stored  as a list of changes and revisions from a
  509.       base, is the base the original object, the current  version  of  the
  510.       object, or some other version?
  511.  
  512.   12. Can earlier versions of an object be changed by the user?
  513.  
  514.   13. Can earlier versions of an object be changed by any of the tools?
  515.  
  516.   14. If  earlier  versions  of  objects can be changed, does this cause a
  517.       branching of the revision history?
  518.  
  519.   15. Can a version be frozen so that it is safe from change?
  520.  
  521.   16. Can a frozen version be unfrozen?
  522.  
  523.   17. What privilege level is required to accomplish these actions?
  524.  
  525.   18. Can the entire data  base  for  a  project  or  for  the  system  be
  526.       archived?
  527.  
  528.   19. What  facilities  are available to archive a selected portion of the
  529.       data base?
  530.  
  531.   20. Is the user allowed to record comments about the reason for a change
  532.       to an object under the configuration control system?
  533.  
  534.   21. Are the time and date of  changes  automatically  recorded  for  all
  535.       changes to objects?
  536.  
  537.   22. Is the identity of the user making a change recorded?
  538.  
  539.   23. Can a history of an object and its changes be output?
  540.  
  541.   24. Can  the  configuration  control system automatically insert version
  542.       and date information in text form into an object under its control?
  543.  
  544.   25. What additional configuration control capabilities are provided?
  545.  
  546. H. COMPILER:
  547.  
  548.    1. What language is the compiler written in?
  549.  
  550.    2. Are all interfaces from the compiler through the KAPSE?
  551.  
  552.    3. List and describe any interfaces which are not through the KAPSE.
  553.  
  554.    4. What target machines does the compiler compile to?
  555.  
  556.    5. Does the compiler compile to the host computer?
  557.  
  558.    6. What on-line assistance is available to the user of the compiler?
  559.  
  560.    7. Has the compiler passed the ACVC validation suite?
  561.  
  562.    8. If not, has it been submitted for validation?
  563.  
  564.    9. What percentage of the ACVC tests does the compiler pass?
  565.  
  566.   10. How large is the compiler?
  567.  
  568.   11. Is the compiler ever completely in memory?
  569.  
  570.   12. If not, how large a portion of the compiler  is  in  memory  at  any
  571.       time?
  572.  
  573.   13. What is the processing rate of the compiler?
  574.  
  575.   14. How was this rate obtained?
  576.  
  577.   15. For each target, does the compiler directly output object code?
  578.  
  579.   16. For each target, does the compiler output assembly language?
  580.  
  581.   17. For  each  assembly  language  output by the compiler, is a standard
  582.       version of the assembly language used, and if so, which one?
  583.  
  584.   18. Does the compiler support  distributed  machine  targets?    If  so,
  585.       explain for what targets this is true.
  586.  
  587.   19. Is DIANA used as an intermediate language?
  588.  
  589.   20. Is  the  DIANA  generated  by  the  various  parts  of  the compiler
  590.       available for use by other tools?
  591.  
  592.   21. Can the compiler front end be run separately  as  a  front  end  for
  593.       other tools?
  594.  
  595.   22. What  global optimization capabilities are provided by the compiler?
  596.       List specific optimizations.
  597.  
  598.   23. What local optimization capabilities are provided by  the  compiler?
  599.       List specific optimizations.
  600.  
  601.   24. To what extent does the user control these optimizations?
  602.  
  603.   25. Can the user specify optimization for minimal memory usage?
  604.  
  605.   26. Can the user specify optimization for maximum speed of execution?
  606.  
  607.   27. Can the user specify the use or non-use of specific optimizations?
  608.  
  609.   28. What control does the user have over listings?  Can the user control
  610.       each of the following (on and off):
  611.  
  612.          - listing of the source text
  613.  
  614.          - reformatting of the source text
  615.  
  616.          - listing of text brought in with an "include" pragma
  617.  
  618.          - listing of the private parts of packages
  619.  
  620.          - listing of the attributes of all symbols in the source text
  621.  
  622.          - listing of a cross reference of symbols by locations used
  623.  
  624.          - listing  of  statistics  concerning  usage  of  symbols and Ada
  625.            language constructs
  626.  
  627.          - listing of machine code or assembly language generated
  628.  
  629.          - listing of  the  intermediate  language  generated  at  various
  630.            stages of compilation
  631.  
  632.          - listing of diagnostic and informational messages
  633.  
  634.          - listing of compilation statistics
  635.  
  636.   29. Can calls into the runtime support packages be clearly distinguished
  637.       in the machine code listing or assembly code listing?
  638.  
  639.   30. Does  the  compiler generate a history file which records the person
  640.       who performed the compilation and the date/time of the compilation?
  641.  
  642.   31. Does the compiler record the versions of all compilation units  used
  643.       in the compilation?
  644.  
  645.   32. Can  the  user  halt  the  compilation after some stage, examine the
  646.       current state of the compiler output, and restart the compiler?
  647.  
  648.   33. Will the compiler generate code to automatically trace the execution
  649.       of a statement, group of statements, or module?
  650.  
  651.   34. Will the compiler generate code to track changes  in  value  of  any
  652.       variable and print such changes?
  653.  
  654.   35. Will  the  compiler  generate  code  to  provide  statistics  on the
  655.       execution time/frequency of usage of any segment of code?
  656.  
  657.   36. Are there various levels of diagnostic messages?
  658.  
  659.   37. List the levels of diagnostic messages, give their meanings, and the
  660.       result,  if  any  of  their  occurrence  in  a  program  unit  under
  661.       compilation.
  662.  
  663.   38. Can   the   user  control  the  level  of  error  which  will  abort
  664.       compilation?
  665.  
  666.   39. Can the user control  the  level  of  error  which  will  abort  the
  667.       generation of object code?
  668.  
  669.   40. Will  the  compiler generate code which will trace the occurrence of
  670.       exceptions and the level at which they are handled?
  671.  
  672.   41. Will the compiler generate code which will provide  the  same  trace
  673.       for exceptions which are not handled?
  674.  
  675.   42. Do these facilities exist for programmer defined exceptions?
  676.  
  677.   43. List  and  explain any pragmas which the compiler provides which are
  678.       not specified in the language reference manual.
  679.  
  680.   44. How many passes over the code does the compiler make?
  681.  
  682.   45. Name and explain these passes.
  683.  
  684.   46. What other capabilities are provided by the compiler?
  685.  
  686. I. ASSEMBLER:
  687.  
  688.    1. What tools are available in the environment to do assembly?
  689.  
  690.    2. What languages are these tools written in?
  691.  
  692.    3. What machines are these assemblers targeted to?
  693.  
  694.    4. Are all the interfaces from these assemblers through the KAPSE?
  695.  
  696.    5. List and explain any interfaces which are not through the KAPSE.
  697.  
  698.    6. What  on-line  assistance  is  available  to  the  user   of   these
  699.       assemblers?
  700.  
  701.    7. For  each  target,  does  the  assembler  accept a standard assembly
  702.       language?  If so, what standard?
  703.  
  704.    8. Can modules assembled by these  assemblers  be  interfaced  to  code
  705.       produced by the Ada compiler?
  706.  
  707.    9. Do these assemblers have a macro capability?
  708.  
  709.   10. Do these assemblers have a conditional assembly capability?
  710.  
  711.   11. What other capabilities do these assemblers provide?
  712.  
  713. J. SOURCE CODE FORMATTING:
  714.  
  715.    1. What  tools  exist in the system to provide formatting of Ada source
  716.       code?
  717.  
  718.    2. What languages are these tools written in?
  719.  
  720.    3. Are all interfaces for these tools through the KAPSE?
  721.  
  722.    4. List and describe any interfaces which are not through the KAPSE.
  723.  
  724.    5. What on-line assistance is available to users of these tools?
  725.  
  726.    6. Does the formatting standard imposed by these tools comply with that
  727.       suggested by the language reference manual?
  728.  
  729.    7. Does the user have the ability to customize  this  standard  in  any
  730.       way?
  731.  
  732.    8. How do these tools react to structural errors in the input program?
  733.  
  734.    9. What  occurs when the user attempts to use these tools to reformat a
  735.       file of an inappropriate type?
  736.  
  737.   10. What occurs when the user attempts to access a file  for  which  the
  738.       user does not have the access privilege?
  739.  
  740.   11. What additional capabilities are provided by these tools?
  741.  
  742. K. Ada LIBRARY MANAGEMENT:
  743.  
  744.    1. Is  library  management an integral part of the environment, or does
  745.       the user  have  to  invoke  specific  tools  to  accomplish  library
  746.       management?
  747.  
  748.    2. If the user must invoke specific tools, list these tools.
  749.  
  750.    3. What language are these tools written in?
  751.  
  752.    4. Are all interfaces used by these tools routed through the KAPSE?
  753.  
  754.    5. List and explain any interfaces not through the KAPSE.
  755.  
  756.    6. Are all Ada objects automatically part of an Ada library?
  757.  
  758.    7. Can the user specify the library to be used as a current library?
  759.  
  760.    8. Can the name of the current library be displayed?
  761.  
  762.    9. What  on-line  assistance is provided to the user with regard to the
  763.       library system?
  764.  
  765.   10. Is the configuration control  system  integrated  with  the  library
  766.       system?
  767.  
  768.   11. Are all library objects automatically under configuration control?
  769.  
  770.   12. Can the user rename a library object?
  771.  
  772.   13. Can the user create a library object?
  773.  
  774.   14. Can the user delete a library object?
  775.  
  776.   15. Can the user freeze an entire library?
  777.  
  778.   16. Are  there  any  privilege level restrictions on the manipulation of
  779.       library objects?
  780.  
  781.   17. How are objects grouped and related within a library?
  782.  
  783.   18. Can the user directly access and manipulate objects in libraries?
  784.  
  785.   19. How do objects in libraries differ from other data base objects?
  786.  
  787.   20. Does  the  library  provide  a  mechanism  for  determining   "with"
  788.       dependencies among library objects?
  789.  
  790.   21. What additional facilities in library management are provided?
  791.  
  792. L. LINKER:
  793.  
  794.    1. What  tools  exist  on the system to allow the user to link together
  795.       modules compiled which have been separately compiled?
  796.  
  797.    2. What languages are these tools written in?
  798.  
  799.    3. Are all interfaces from these tools through the KAPSE?
  800.  
  801.    4. List and describe any interfaces which are not through the KAPSE.
  802.  
  803.    5. What on-line assistance is available to the user of these tools?
  804.  
  805.    6. Are  the  linkers for the various targets of the system separate, or
  806.       is a single (possibly parameterized) universal linker used?
  807.  
  808.    7. Do these linkers support overlaying of code?
  809.  
  810.    8. Do these linkers support linking of modules produced from  different
  811.       languages?
  812.  
  813.    9. Do these linkers support distributed targets?
  814.  
  815.   10. What other capabilities are provided by these tools?
  816.  
  817. M. DOWNLOADING:
  818.  
  819.    1. What   tools   are   available  in  the  environment  to  accomplish
  820.       downloading of linked code to separate target systems?
  821.  
  822.    2. What languages are these tools written in?
  823.  
  824.    3. Are all interfaces from these tools through the KAPSE?
  825.  
  826.    4. List and describe any interfaces which are not through the KAPSE.
  827.  
  828.    5. What on-line assistance is available to the user of these tools?
  829.  
  830.    6. What special hardware or interfaces are required by these tools?
  831.  
  832.    7. What software has to exist in the target systems to allow the use of
  833.       these tools?
  834.  
  835.    8. What additional capabilities are provided by these tools?
  836.  
  837. N. REQUIREMENTS PROCESSING:
  838.  
  839.    1. What tools are available in the environment to process requirements?
  840.  
  841.    2. What languages are these tools written in?
  842.  
  843.    3. Are all interfaces from these tools through the KAPSE?
  844.  
  845.    4. List and describe any interfaces which are not through the KAPSE.
  846.  
  847.    5. What on-line assistance is available to the user of these tools?
  848.  
  849.    6. Are any of these tools graphics based?
  850.  
  851.    7. If so, is graphics used in the input or the output of these tools?
  852.  
  853.    8. Is any special hardware required to support these tools?
  854.  
  855.    9. Describe and explain these tools.
  856.  
  857. O. DATA DICTIONARY MANAGEMENT:
  858.  
  859.    1. What tools are provided for the management of data dictionaries?
  860.  
  861.    2. What languages are these tools written in?
  862.  
  863.    3. What are the interfaces between these tools and the KAPSE?
  864.  
  865.    4. Are all interfaces between these tools through the KAPSE?
  866.  
  867.    5. If the answer to the previous question was no, what  interfaces  are
  868.       not through the KAPSE?
  869.  
  870.    6. What  on-line assistance is given to the user of the data dictionary
  871.       system?
  872.  
  873.    7. How is a data dictionary created?
  874.  
  875.    8. Are data dictionaries automatically under configuration control?
  876.  
  877.    9. How is a data item description added to the data dictionary?
  878.  
  879.   10. Must all data items be fully defined, or can a data item  be  listed
  880.       as TBD?
  881.  
  882.   11. Can data items be defined hierarchically?
  883.  
  884.   12. Can  data  items  be  defined  in a logical (that is, implementation
  885.       independent) manner?
  886.  
  887.   13. If data items are defined in  an  implementation  dependent  manner,
  888.       does this conform to Ada syntax?
  889.  
  890.   14. Can data dictionaries be used throughout the life cycle?
  891.  
  892.   15. Can a data dictionary be renamed by the user?
  893.  
  894.   16. Are  there  any privilege level restrictions placed on manipulations
  895.       of data dictionaries?
  896.  
  897.   17. Can data dictionaries be reused by similar projects?
  898.  
  899.   18. Does the data dictionary system allow automated lookup of data  item
  900.       descriptions by name?
  901.  
  902.   19. Does the data dictionary system allow automated lookup of data items
  903.       by keywords from their descriptions or associated comments?
  904.  
  905.   20. What other facilities does the data dictionary system provide to the
  906.       user?
  907.  
  908. P. RAPID PROTOTYPING:
  909.  
  910.    1. What tools exist in the system to do rapid prototyping?
  911.  
  912.    2. What languages are these tools written in?
  913.  
  914.    3. Are all interfaces to these tools through the KAPSE?
  915.  
  916.    4. List and describe any interfaces which are not through the KAPSE.
  917.  
  918.    5. What on-line assistance is available to the user of these tools?
  919.  
  920.    6. Describe and explain the functioning of these tools.
  921.  
  922. Q. DESIGN LANGUAGE PROCESSING:
  923.  
  924.    1. What  tools  are  available  in  the  environment  to process design
  925.       languages?
  926.  
  927.    2. What languages are these tools written in?
  928.  
  929.    3. Are all interfaces from these tools through the KAPSE?
  930.  
  931.    4. List and describe any interfaces which are not through the KAPSE.
  932.  
  933.    5. What on-line help is available to the user of these tools?
  934.  
  935.    6. To what extent is the design language recognized by these tools Ada?
  936.  
  937.    7. Do these tools produce cross references of variables which appear in
  938.       their input?
  939.  
  940.    8. Do these tools produce  cross  references  of  program  units  which
  941.       appear in their input?
  942.  
  943.    9. Can  these  tools produce other cross references as specified by the
  944.       user?
  945.  
  946.   10. Do these tools produce module calling trees  which  show  the  calls
  947.       made by all modules in their input?
  948.  
  949.   11. Do  these tools reformat the input according to the same standard as
  950.       used by the system's source formatting tools?
  951.  
  952.   12. What action do these tools take  when  they  discover  a  structural
  953.       error in their input?
  954.  
  955.   13. What  action  do these tools take when the user attempts to access a
  956.       file of the improper type?
  957.  
  958.   14. What other capabilities are provided by these tools?
  959.  
  960. R. TARGET ENVIRONMENT SIMULATION:
  961.  
  962.    1. What tools exist in the environment to simulate target environments?
  963.  
  964.    2. What languages are these tools written in?
  965.  
  966.    3. Are all interfaces from these tools through the KAPSE?
  967.  
  968.    4. List and describe any interfaces which are not through the KAPSE.
  969.  
  970.    5. What on-line assistance is available to users of these tools?
  971.  
  972.    6. Do these  tools  provide  facilities  for  halting  simulations  and
  973.       examining the status of the simulation?
  974.  
  975.    7. Can  these  tools  capture a trace of the simulation in a file which
  976.       can be printed out later?
  977.  
  978.    8. Can these tools be used  with  the  source  level  debugger  of  the
  979.       environment (if one exists)?
  980.  
  981.    9. What other capabilities are provided by these tools?
  982.  
  983. S. DEBUGGER:
  984.  
  985.    1. What  tools  are available in the environment for debugging programs
  986.       developed on the environment?
  987.  
  988.    2. What languages are these tools written in?
  989.  
  990.    3. Are all interfaces from these tools through the KAPSE?
  991.  
  992.    4. List and describe any interfaces which are not through the KAPSE.
  993.  
  994.    5. What on-line assistance is available to users of these tools?
  995.  
  996.    6. Are these debuggers at the machine  level  or  at  the  source  code
  997.       level?
  998.  
  999.    7. If  the  debuggers  are  at the source code level, can a user insert
  1000.       breakpoints at specific statements?
  1001.  
  1002.    8. Can  the  user  ask  for a program interruption each time a specific
  1003.       variable is changed?
  1004.  
  1005.    9. After a program interruption has been issued, can the user query the
  1006.       value of specific variables by name?
  1007.  
  1008.   10. Does the debugger provide a mechanism by which the  user  can  query
  1009.       the  values of large pointer-connected structures without repeatedly
  1010.       typing long path names?
  1011.  
  1012.   11. Can the user ask that the value of a specific  variable  be  printed
  1013.       each time that it is changed?
  1014.  
  1015.   12. Do  these tools work with programs run directly on the host machine,
  1016.       run in simulated target environments which run on the host  machine,
  1017.       or run on a remote host?
  1018.  
  1019.   13. If  the  tools work with programs run on a remote host, what special
  1020.       hardware is required for their operation?
  1021.  
  1022.   14. What other capabilities are provided by these tools?
  1023.  
  1024. T. TEST MANAGEMENT:
  1025.  
  1026.    1. What tools are available to the user  to  accomplish  management  of
  1027.       testing?
  1028.  
  1029.    2. What languages are these tools written in?
  1030.  
  1031.    3. Are  the  interfaces  between these tools, between the tools and the
  1032.       other tools in the system, and between the tools and  the  user  all
  1033.       through the KAPSE?
  1034.  
  1035.    4. List and describe any interfaces which are not through the KAPSE.
  1036.  
  1037.    5. Does the test management system aid in the generation of tests?
  1038.  
  1039.    6. Does  the  test management system aid in the generation of stubs for
  1040.       testing?
  1041.  
  1042.    7. Does the test management system compare the results of testing  with
  1043.       the expected results and deliver a report on success/failure?
  1044.  
  1045.    8. Does   the   test   management   system   keep  a  record  of  tests
  1046.       attempted/passed/failed?
  1047.  
  1048.    9. Can the test mangement system report  on  the  percentage  of  tests
  1049.       completed?
  1050.  
  1051.   10. Does the test mangement system provide a driver for unit testing?
  1052.  
  1053.   11. What other functions are provided by the test management system?
  1054.  
  1055.   12. What  on-line  assistance  is  available  to  the  user  of the test
  1056.       management system?
  1057.  
  1058. U. COST ESTIMATION:
  1059.  
  1060.    1. What tools are provided in the system to support cost estimation?
  1061.  
  1062.    2. What languages are these tools written in?
  1063.  
  1064.    3. Are the tool to tool and tool to user interfaces through the KAPSE?
  1065.  
  1066.    4. List and describe any interfaces which are not through the KAPSE.
  1067.  
  1068.    5. What on-line help is available to the  user  in  dealing  with  cost
  1069.       estimation?
  1070.  
  1071.    6. What type of model is used in cost estimation?
  1072.  
  1073.    7. What is the primary input on which the cost is based?
  1074.  
  1075.    8. What other factors can be input to modify the cost estimate?
  1076.  
  1077.    9. Can  the  user  print  a justification of the cost estimate which is
  1078.       derived automatically from the input data?
  1079.  
  1080.   10. Are there any privilege level restrictions in the use  of  the  cost
  1081.       estimation system?
  1082.  
  1083.   11. Is  the  cost  estimation  system  linked to the schedule generating
  1084.       system?
  1085.  
  1086.   12. What other functions are supported by the cost estimation sytem?
  1087.  
  1088. V. SCHEDULE MANAGEMENT:
  1089.  
  1090.    1. What tools are available to aid in schedule generation?
  1091.  
  1092.    2. What languages are these tools written in?
  1093.  
  1094.    3. Are all interfaces from these tools through the KAPSE?
  1095.  
  1096.    4. List and describe any interfaces which are not through the KAPSE.
  1097.  
  1098.    5. Does the schedule system allow for the generation of a critical path
  1099.       analysis, showing which tasks are part of the longest  path  through
  1100.       the schedule?
  1101.  
  1102.    6. Does  the  schedule  system  allow  for  the generation of alternate
  1103.       schedules by changing parameters and assumptions?
  1104.  
  1105.    7. Is the generated schedule displayed in a graphic format?
  1106.  
  1107.    8. Does the display or printing of the  schedule  require  any  special
  1108.       hardware?
  1109.  
  1110.    9. What other functions does the scheduling system provide?
  1111.  
  1112. W. TRACKING:
  1113.  
  1114.    1. What  tools  are  provided to assist with management tracking of the
  1115.       software development process?
  1116.  
  1117.    2. What languages are these tools written in?
  1118.  
  1119.    3. Are the interfaces from these tools through the KAPSE?
  1120.  
  1121.    4. List and describe the interfaces which are not through the KAPSE.
  1122.  
  1123.    5. Does the tracking system allow the tracking of project expenditures?
  1124.  
  1125.    6. Does the tracking system allow the tracking of manhours?
  1126.  
  1127.    7. Does the tracking system allow the tracking of the use  of  computer
  1128.       resources?
  1129.  
  1130.    8. Does  the  tracking sytem allow the comparison of project milestones
  1131.       achieved versus scheduled milestones?
  1132.  
  1133.    9. Does the tracking system support graphical  output  for  histograms,
  1134.       line  charts,  activity  charts,  milestone charts and/or other such
  1135.       reports?
  1136.  
  1137.   10. What other features does the tracking system provide?
  1138.  
  1139. X. AUDITING:
  1140.  
  1141.    1. What tools are provided in the system for doing auditing?
  1142.  
  1143.    2. What languages are these tools written in?
  1144.  
  1145.    3. Are the interfaces from the auditing function through the KAPSE?
  1146.  
  1147.    4. List and explain any interfaces which are not through the KAPSE.
  1148.  
  1149.    5. What on-line assistance facilities are  available  to  the  user  of
  1150.       auditing?
  1151.  
  1152.    6. What standards and rules are checked for by the auditor?
  1153.  
  1154.    7. Can these standards be easily changed by the user?
  1155.  
  1156.    8. Are  there  any  privilege level restrictions involved in the use of
  1157.       the auditor?
  1158.  
  1159. Y. COMPLEXITY MEASUREMENT:
  1160.  
  1161.    1. What  tools  are  provided  in  the  system  for  doing   complexity
  1162.       measurement?
  1163.  
  1164.    2. What languages are these tools written in?
  1165.  
  1166.    3. Are  the interfaces from the complexity measurement function through
  1167.       the KAPSE?
  1168.  
  1169.    4. List and explain any interfaces which are not through the KAPSE.
  1170.  
  1171.    5. What on-line assistance facilities are  available  to  the  user  of
  1172.       complexity measurement?
  1173.  
  1174.    6. What  metrics  are  used  for  complexity  measurement? (for example
  1175.       McCabe's Cyclomatic Complexity or Halstead's Software Science)
  1176.  
  1177.    7. What other capabilities are provided by these tools?
  1178.