* Validation questions (derived and project-validated compilers)
@ 1988-05-05 20:04 french
0 siblings, 0 replies; only message in thread
From: french @ 1988-05-05 20:04 UTC (permalink / raw)
Folks,
I have been reading the AJPO Validation Procedures and Guidelines
(issued on 1-Jan-1987) that I downloaded from the AdaIC bboard.
I have some questions that I would like to get opinions on.
1. Derived Compilers. Once an Ada compiler has a current validation
certificate, then variations or modifications to that Ada compiler
and/or its configuration (which includes the target run-time
system) result in a "Derived Compiler".
The AJPO guidelines and policies document describes a "Target
Run-Time System" as "The set of sub-programs, which may be invoked by
linking, loading, and executing object code generated by an Ada
compiler. If these sub-programs use or depend upon the services of
an operating system, then the target run-time system includes those
portions of that operating system."
A vendor may request to register a derived compiler. The procedures
are well-defined and extensive.
There are a number of issues relating to this current policy that
I am unclear on:
o If we use "extension fields" that are available in various Ada
runtime systems (such as user-defined extensions to the Task
Control Blocks, or hooks into special program startup and
shutdown procedures) does the compiler in this new configuration
now require "derived compiler" status?
If so, is it the _vendor's_ responsibility to register
the derived status? The guidelines document states that it is the
vendor's responsibility. However, if I made the change, I cannot
reasonably expect the vendor to do this for me, can I?
o The definition (above) of "Target Run-Time System" could include
such user-defined items as math functions, device interfaces, and,
in fact, any other user programmed library of commonly used
subprograms and packages. By carefully interpreting the wording we
can limit it to only those subprograms that the compiler causes to
be used directly (and not those subprograms that the user program
causes to be used). What is the true meaning of this definition?
2. Ada compilers for restricted targets. A "restricted target" is
defined as "a real system target on which not all ACVC test can be
executed but which can execute object code generated by a validated
compiler for an associated generic target in combination with
application-specific run-time libraries and/or runtime support."
The validated compiler for the generic target cannot generate
different code for the restricted target.
There are three conditions that allow an ada compiler to be called
a "project validated" compiler for a restricted target:
1. the project-validated compiler for the generic target is a
validated (or derived) Ada compiler.
2. All mandatory features of Ada that can be supported by the
hardware, or are emulated on the restricted target, are
supported by the compiler for the restricted target. (the
compiler should not be arbitrarily constrained to a subset of
the Ada language).
3. All application-specific run-time libraries for the restricted
target are contained within that application and do not affect
the Ada compiler for the generic target or the restricted
target when used to generate code for other applications.
Items 1. and 3. are acceptable, however, I am unclear on item 2.
Does this mean that if a target hardware configuration can support
Ada language features then they _must_ be supported? For example,
if an application is not going to use tasking in its application
(for any reason), but is planning to develop or modify a runtime
system that supports custom features of the application (such custom
features as multi-processor support, peculiar memory configurations,
unusual interrupt structures, security, etc.) then the runtime
modifications must be developed to support full Ada including
tasking, even though, in this application, it will not be used
with tasking? This could be costly and entail a significant amount
of unncessary extra work.
Thanks for the help in interpreting this.
-Stewart French
Texas Instruments
french@skacsl.ti.com (ignore the header information)
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1988-05-05 20:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1988-05-05 20:04 Validation questions (derived and project-validated compilers) french
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox