[comp.doc.techreports] tr-input/sei90.6

leff@CSVAX.SEAS.SMU.EDU (Laurence Leff) (07/10/90)

Software Engineering Institute
Information Management
Annotated list of available documents for external distribution.
Part I of VI

1 January 1986 - 29 June 1990



Technical reports that have DTIC numbers are available from the Defense 
Technical Information Center (DTIC) and the National Technical Information 
Service (NTIS). (As an example, ADA169705 is the DTIC number for the 
SEI report Toward a Reform of the Defense Department Software 
Acquisition Policy.) If you wish to request a copy of one of 
the following reports, please contact either DTIC or NTIS directly.

DTIC:	Defense Technical Information Center
	ATTN: FDRA Cameron Station
	Alexandria VA 22304-6145

NTIS:	National Technical Information Service
	U.S. Department of Commerce
	Springfield, VA 22161





Technical Reports


CMU/SEI-86-TR-1, ADA169705
Samuelson, P.
Toward a Reform of the Defense Department Software Acquisition Policy



A series of about 120 interviews were conducted with DoD personnel 
and others recommended by them. This report is an organized catalog 
of software acquisition problems reported, along with some assessments 
of their seriousness.



CMU/SEI-86-TR-2, ADA182093
Samuelson, P. et al
Proposal for a "New Rights in Software" Clause for Software Acquisitions 
by the Department of Defense



This report recommends three distinct regulatory strategies for addressing 
difficulties the DoD has been experiencing with respect to legal issues 
related to software acquisitions. First, the report reiterates the 
Software Licensing Project's earlier recommendation that the DoD adopt 
the proposed Federal Acquisition Regulation (FAR) data rights provisions 
instead of the proposed revisions to the 
DoD supplement to the FAR (DoD FAR SUPP). Secondly, in the event 
that the DoD chooses to adopt a data rights procurement policy different 
from that found in the data rights provisions of the proposed FAR, 
this report recommends that the DoD adopt a separate "Rights in 
Software" clause for software acquisitions, rather than continuing 
the present practice of handling software procurements under the "Rights 
in Technical Data" clause. Reasons in support of a separate software 
acquisition policy, as well as a beginning model "Rights in Software" 
clause are offered. Finally, in the event that the DoD elects to retain 
the procurement format presently found in the DoD FAR SUPP provisions 
governing software and technical data acquisitions, this report offers 
several concrete recommendations for changes to those regulations 
which should result in a procurement policy which more effectively 
meets the mission needs of the Defense Department.



CMU/SEI-86-TR-3, ADA178975
Barbacci, M.
Durra: A Task-Level Description Language Preliminary Reference Manual



Durra is a language designed to support the development of large-grained 
parallel programming applications. This document is a preliminary 
reference manual for the syntax and semantics of the language.



CMU/SEI-86-TR-4, ADA178769
Barbacci, M. and Wing, J.
Specifying Functional and Timing Behavior for Real-Time Applications



We present a notation and a methodology for specifying the functional 
and timing behavior of real-time applications for a heterogeneous 
machine. In our methodology, we build upon well-defined, though isolated, 
pieces of previous work: Larch and Real-Time Logic. In our notation, 
we strive to keep separate the functional specification from the timing 
specification so that a task's functionality can be understood independent 
of its timing behavior. We show that while there is a clean separation 
of concerns between these two specifications, the semantics of both 
pieces as well as their combination are simple.



CMU/SEI-86-TR-5, ADA200085
Harvey, H.
Summary of the SEI Workshop on Software Configuration Management



This report summarizes the discussion held during the Software Configuration 
Management meeting at the Software Engineering Institute in Pittsburgh 
on 16 July 1986.



CMU/SEI-86-TR-6, ADA178771
Stockton, R.
The Heterogeneous Machine Simulator



The heterogeneous machine simulator is a program which attempts to 
simulate the proposed hardware for the heterogeneous machine at a 
high level, along with the low level programming abstractions which 
have been proposed. This will, hopefully, provide: 1) a reasonable 
basis for programmers to evaluate application designs in the absence 
of the actual machine; and 2) a testbed for designers to experiment 
with various reconfigurations which might be difficult to perform 
on the machine itself. This document presents a basic description 
of the system, and an example of how a simulation may be run.



CMU/SEI-87-TR-1, ADA180905
Weiderman, N. et al
Evaluation of Ada Environments



The full report provides a detailed description of the methodology 
and examples of its usage. Chapter 1 gives an extended cross-environment 
analysis of the results of the project. For each of five experiment 
groups, it compares three APSEs. The chapter provides an overview 
of the results of all the experiments and is written for the technical 
manager. Chapter 2 describes in detail the methodology used for evaluating 
the environments, along with some of the background information and 
references to previous work in environment evaluation. Chapters 3 
through 8 provide detailed descriptions of the six experiment groups. 
Here one can find the information on particular criteria, questions, 
and life cycle activities that were tested for each experiment, as 
well as test scripts, checklists, and resulting data that were collected.



CMU/SEI-87-TR-2, ADA178971
Martin, A. and Deasy, K.
The Effect of Software Support Needs on DoD Software Acquisition Policy: 
Part 1:  A Framework for Analyzing Legal Issues



This report summarizes the significant technical and managerial considerations 
that affect the maintenance and enhancement of software. Prior work 
suggested that it is often in the acquisition of intellectual property 
needed to maintain and enhance software that data rights disputes 
arise between DoD and the private sector. For this reason, an understanding 
of DoD's maintenance and enhancement requirements is a necessary predicate 
toward shaping a data rights/software acquisition policy that achieves 
the proper balance between the intellectual property needs of DoD 
and the proprietary interests of private industry. A survey of software 
engineering literature revealed no study that addressed this important 
subject. Accordingly, the Software Licensing Project undertook to 
examine the issue itself. Although this report discusses technical 
and managerial issues, it is principally intended as a guide for lawyers 
and policymakers who deal with, and have regulatory responsibility 
for, software and data rights acquisition issues.



CMU/SEI-87-TR-4, ADA182982
Druffel, L. et al
Software and System Warranty Issues 



This report addresses technical and administrative issues associated 
with the system warranty process, and recommends a straightforward, 
two-page generic system warranty clause that covers software, not 
in isolation, but as part of a warranted system. The report describes 
one approach to relieving problems of system failure, and addresses 
legal, technical, and administrative issues that support warranty 
enforcement. The goal is to ease the government's burden of proving 
the existence of a defect for which the warranty clause provides a 
remedy. The key to satisfying that goal is to develop technical tests 
and specifications that provide objective and demonstrable standards 
against which a claim for breach of warranty can be measured.



CMU/SEI-87-TR-5, ADA181853
Cooper, E.
Distributed Systems Technology Survey



This report is one of a series of survey reports. It is not intended 
to provide an exhaustive discussion of topics pertinent to the area 
of distributed systems technology. Rather, it is intended as an informative 
review of the technology surveyed. These surveys were conducted in 
late 1985 and early 1986.

One of the core technology areas in which project members were 
interested is distributed systems technology. This report surveys 
the technical issues involved in designing distributed systems, with 
particular emphasis on those aspects that affect software engineering 
environments.



CMU/SEI-87-TR-6, ADA181852
Feiler, P.
User Interface Technology Survey


This report is one of a series of survey reports. It is not intended 
to provide an exhaustive discussion of topics pertinent to the area 
of distributed systems technology. Rather, it is intended as an informative 
review of the technology surveyed. These surveys were conducted in 
late 1985 and early 1986.


One of the core technology areas in which project members conducted 
a survey was user interface technology. This report attempts to do 
two things: specify an understanding of user interfaces by presenting 
a taxonomy that encompasses the various aspects of user interfaces, 
and indicate the state of the technology today by highlighting some 
of the major issues.



CMU/SEI-87-TR-7, ADA181156
Newcomer, J.
Tool Interface Technology



This report is one of a series of survey reports. It is not intended 
to provide an exhaustive discussion of topics pertinent to the area 
of user interface technology. Rather, it is intended as an informative 
review of the technology surveyed. These surveys were conducted in 
late 1985 and early 1986.



CMU/SEI-87-TR-8, ADA182003
Ford, G. et al
Software Engineering Education: An Interim Report from the Software 
Engineering Institute



The goals and activities of the Software Engineering Institute's Education 
Program are described. Two curriculum recommendations are presented, 
one for a professional Master of Software Engineering degree program, 
and the other for an undergraduate project course in software engineering. 
Also presented is an organizational structure for software engineering 
curriculum content.



CMU/SEI-87-TR-9, ADA182023
Foreman, J. and Goodenough, J.
Ada Adoption Handbook



The Ada Adoption Handbook provides program managers with information 
about how best to tap Ada's strengths and manage this new software 
technology. Although the issues are complex, they are not all unique 
to Ada. Indeed, many of these issues must be addressed when using 
any language for building sophisticated systems. The handbook addresses 
the advantages and risks inherent in adopting Ada. Significant emphasis 
has been placed on providing information and suggesting methods that 
will help program and project managers succeed in adopting Ada across 
a broad range of application domains.

The handbook focuses on the following topics: program management issues 
including costs and technical and program control; Ada's goals and 
benefits; software tools with emphasis on compiler validation and 
quality issues; the state of Ada technology as it relates to system 
engineering; the application of special purpose languages; issues 
related to mixing Ada with other languages; possible productivity 
benefits resulting from software reuse; and implications for education 
and training.

CMU/SEI-87-TR-10
Firth, R. et al
A Guide to the Classification and Assessment of Software Engineering 
Tools



Software engineering tools are computer programs that assist people 
in doing the work of software engineering. As understanding of the 
software engineering process has broadened and the need to solve problems 
has intensified, there has been increasing interest in using software 
engineering tools. Understanding what a tool does and comparing it 
to similar tools are difficult tasks given the diversity of functionality 
that exists. This report describes a tool classification technique 
that helps those investigating tools decide where a tool fits in the 
software engineering process and identify what a tool does or doesn't 
do. It also provides guidance to the tool evaluation process and lists 
specific criteria that should be considered when evaluating tools.



CMU/SEI-87-TR-11, ADA182895
Humphrey, W.
Characterizing the Software Process:  A Maturity Framework



Improvement in the performance of software development organizations 
is an essential national need. The improvement process has five basic 
elements: 1. an understanding of the current status of the development 
process, 2. a vision of the desired process, 3. a prioritized list 
of required improvement actions, 4. a plan to accomplish these actions, 
and 5. the resources and commitment to execute the plan. This paper 
addresses the first three of these elements by providing a model for 
software organizational improvement. The structure of this model provides 
five maturity levels, identifies the key improvements required at 
each level, and establishes a priority order for implementation. This 
model has been tested with a number of organizations and found to 
reasonably represent the status and needs of actual software development 
groups.



CMU/SEI-87-TR-12
Hansen, G. et al
The Analysis of the Technical Order Production Process at Ogden Air 
Logistics Center and Recommendations for the Improvement of the Process



This report details the process used by Ogden Air Logistics Center 
to maintain Operational Flight Program Technical Orders for the F-16 
airplane. It is of general interest because it makes recommendations 
for the improvement of the process and also recommendations for technology 
insertion. Since the Technical Order modification process is not entirely 
different from documentation maintenance activities in industry, this 
report is widely applicable.



CMU/SEI-87-TR-13, ADA185742
Martin, A. and Deasy, K.
Seeking the Balance Between Government and Industry Interests in Software 
Acquisition.  Volume I.  A Basis for Reconciling DoD and Industry 
Needs for Rights in Software



The policy under which the Department of Defense (DoD) acquires rights 
in software and technical data has, in the past, been imbalanced in 
the direction of obtaining more rights than necessary to meet its 
needs. As noted by the Packard Commission, a more balanced policy 
is in the interests of both the DoD and industry. The DoD has recently 
adopted a new policy for acquiring rights in technical data, and is 
developing a separate policy for acquiring rights in software. This 
report offers several recommendations for achieving a balanced policy 
as to government funded software, privately funded software, and mixed 
funding software that will meet the mission needs of the DoD while 
enabling contractors to protect their proprietary interests, and commercialize 
their software products.



CMU/SEI-87-TR-14, ADA200601
Meyers, C., and Cappellini, A.
The Use of Representation Clauses and  Implementation-Dependent Features 
in Ada: I.  Overview



This report, the first in a series, presents an overview of the aspects 
of the Ada language relating to representation clauses and implementation-depen
dent features. Particular emphasis is given to the use of Ada for 
application to packed data structures. This report is in part tutorial, 
and several examples from real-time, mission-critical systems are 
discussed in detail. A brief discussion of design guidelines for the 
use of representation clauses and implementation-dependent features 
is included.



CMU/SEI-87-TR-15, ADA188925
Meyers, C. and Cappellini, A.
The Use of Representation Clauses and Implementation-Dependent Features 
in Ada:  IIA.  Evaluation Questions



This report is the second in a series on the use of representation 
clauses and implementation-dependent features in Ada. It is the purpose 
of this document to specify a set of questions relevant to the assessment 
of the support of representation clauses and implementation-dependent 
features provided by an Ada compiler. The questions identified are 
categorized according to functionality and address both qualitative 
and quantitative aspects.



CMU/SEI-87-TR-16, ADA183429
Humphrey, W. and Kitson, D.
Preliminary Report on Conducting SEI-Assisted Assessments of Software 
Engineering



Characterizing the state of software engineering practice within an 
organization is a necessary prerequisite to orderly, meaningful, and 
sustainable improvement of the organizations ability to produce or 
support cost-effective, high quality software products. The Software 
Engineering Institute is developing a methodology for conducting SEI-assisted 
assessments of software engineering capability. The assessment methodology 
has five phases: 1. selecting the candidate organization, 2. preparing 
for the assessment, 3. conducting the assessment, 4. communicating 
final assessment findings and action recommendations, and 5. post-assessment 
follow-up activities. This report describes the methodology in detail.



CMU/SEI-87-TR-17, ADA188926
Meyers, C. and Cappellini, A.
The Use of Representation Clauses and Implementation-Dependent Features 
in Ada: IIIA.  Qualitative Results for VAX Ada



This report, one in a series, provides a qualitative assessment of 
the support of representation clauses and implementation-dependent 
features in Ada provided by the VAX Ada compiler, Version 1.3. The 
evaluation questions that were presented in a previous report of this 
series form the basis of the qualitative assessment. A subjective 
evaluation of the support provided for these features is also presented.



CMU/SEI-87-TR-18, ADA200602
Meyers, C. and Cappellini, A.
The Use of Representation Clauses and Implementation-Dependent Features 
in Ada: IIB.  Experimental Procedures



This report is one in a series dealing with the use of representation 
clauses and implementation-dependent features in Ada. The purpose 
of this report is to discuss detailed experimental procedures to assess 
compiler support. It is readily acknowledged that the domain of 
possible experimentation is large. To facilitate the experimentation, 
a methodology is proposed that relies on program generators and automated 
analysis tools. An example of the methodology is presented in some 
detail.



CMU/SEI-87-TR-19
Meyers, C. and Cappellini, A.
The Use of Representation Clauses and Implementation-Dependent Features 
in Ada: IVA. Qualitative Results for Ada/M(44)



This report, one in a series, provides a qualitative assessment of 
the support of representation clauses and implementation-dependent 
features in Ada provided by the Ada/M(44) compiler, Version 1.6. The 
evaluation questions that were presented in a previous report of this 
series form the basis of the qualitative assessment. A subjective 
evaluation of the support provided for these features is also presented.



CMU/SEI-87-TR-20, ADA200603
Tomayko, J.
Teaching a Project Intensive Introduction to Software Engineering



This report is meant as a guide to the teacher of the introductory 
course in software engineering. It contains a case study of a course 
based on a large project. Other models of course organization are 
also discussed. Additional materials used in teaching the course and 
samples of student-produced documentation are also available.



CMU/SEI-87-TR-21, ADA185697
Altman, N. and Weiderman, N.
Timing Variation in Dual Loop Benchmarks



Benchmarks that measure time values using a standard system clock 
often employ a dual loop design. One of the important assumptions 
of this design is that textually identical loop statements will take 
the same amount of time to execute. This assumption was tested on 
two bare computers with Ada test programs and has been demonstrated 
to be inaccurate in these specific test cases.



CMU/SEI-87-TR-22, ADA187231
Altman, N.
Factors Causing Unexpected Variations in Ada Benchmarks



Benchmarks are often used to describe the performance of computer 
systems. This report considers factors that may cause Ada benchmarks 
to produce inaccurate results. Included are examples from the ongoing 
benchmarking efforts of the Ada Embedded Systems Testbed (AEST) Project 
using bare target computers with several Ada compilers.



CMU/SEI-87-TR-23, ADA187230
Humphrey,  W. and Sweet, W.
A Method for Assessing the Software Engineering Capability of Contractors



This document provides guidelines and procedures for assessing the 
ability of potential DoD contractors to develop software in accordance 
with modern software engineering methods. It includes specific questions 
and a method for evaluating the results.



CMU/SEI-87-TR-24, ADA200542
Dart, S. et al
Software Development Environments



"Environment" refers to the collection of hardware and software 
tools that a system developer uses to build software systems. As technology 
improves and user expectations grow, an environment's 
functionality tends to change. Over the last 20 years, the set 
of software tools available to developers has expanded considerably. 
We can illustrate this change by observing some distinctions in the 
terminology. "Programming environment" and "software development 
environment" are often used synonymously, but here we make a distinction 
between the two.



CMU/SEI-87-TR-25, ADA200611
Klein, D. and Firth, R.
Final Evaluation of MIPS M/500 Final Report for the RISC Insertion 
Project



In response to a request from the DoD, an analysis of a Reduced Instruction 
Set Computer (RISC) processor, the MIPS M/500, was performed. All 
aspects of processor capabilities and support software were evaluated, 
tested, and compared to familiar Complex Instruction Set Computer 
(CISC) architectures. In all cases, the RISC computer and its support 
software performed better than a comparable CISC computer. This report 
provides the general and specific results of these analyses, along 
with the recommendation that the DoD and other government agencies 
seriously consider this or other RISC architectures as a highly viable 
and attractive alternative to the more familiar but less efficient 
CISC architectures.



CMU/SEI-87-TR-26, ADA191096
Weiderman, N. et al
Ada for Embedded Systems:  Issues and Questions



This report addresses issues and questions related to the use of Ada 
for embedded systems applications; it contains some preliminary recommendations 
for compilation system implementors, application developers, program 
managers, and Ada policy makers. The issues and questions provide 
the context for the Real-Time Embedded Systems Testbed (REST) Project 
at the SEI, where staff members are investigating software development 
and performance issues for real-time embedded systems.



CMU/SEI-87-TR-27, ADA200607
Donohoe, P.
Ada Performance Benchmarks on the MicroVAX II:  Summary and Results



This report documents the results obtained from running the University 
of Michigan and the SIGAda Performance Issues Working Group (PIWG) 
Ada performance benchmarks on a DEC VAXELN MicroVAX II using the DEC 
VAXELN Ada compiler. A brief description of the benchmarks and the 
test environment is followed by a discussion of some problems encountered 
and lessons learned. The output of each benchmark program is also 
included.



CMU/SEI-87-TR-28, ADA200608
Donohoe, P.
A Survey of Real-Time Performance Benchmarks for the Ada Programming 
Language



This survey provides a summary description of some of the major Ada 
benchmarks currently available and an evaluation of their applicability 
to the Real-Time Embedded Systems Testbed Project at the SEI. The 
benchmarks discussed are the University of Michigan benchmarks, the 
ACM Performance Issues Working Group (PIWG) benchmarks, and the prototype 
Ada Compiler Evaluation Capability (ACEC) of the Institute for Defense 
Analyses (IDA).



CMU/SEI-87-TR-29, ADA188100
Borger, M.
VAXELN Experimentation:  Programming a Real-Time Clock and 
Interrupt Handling Using
VAXELN Ada 1.1



This report describes the results of implementing an interrupt 
handler totally in Ada for a MicroVAX II/VAXELN 2.3 target system, 
the VAXELN 1.1 Ada compiler, and a KWV11-C programmable real-time 
clock. It provides an overview of VAXELN interrupt handlers and the 
operation of the real-time clock; discusses and demonstrates the use 
of VAXELN kernel services to establish a link between the clock's 
interrupt and the starting address of an interrupt service routine; 
presents an Ada package of interfaces to the KWV11-C device; provides 
Ada source code examples demonstrating the use of this package; and 
presents relevant observations, recommendations, and measurement results.



CMU/SEI-87-TR-30, ADA188932
Weiderman, N.
Criteria for Constructing and Using an Ada Embedded System Testbed



The purpose of this report is to list some of the criteria used in 
five aspects of the project: the hardware configuration, the software 
configuration, the real-time application, the Ada real-time experiments, 
and the benchmarking and instrumentation techniques. Each criterion 
will include a rationale. Each of the criteria listed in this report 
will be categorized as either essential, highly desirable, or desirable.



CMU/SEI-87-TR-31, ADA200609
Weiderman, N., et al.
Annual Technical Report for Ada Embedded Systems Testbed Project



The purpose of the Ada Embedded Systems Testbed Project (now called 
the Real-Time Embedded Systems Project) is to investigate some of 
the critical issues in using Ada for real-time embedded applications, 
particularly the extent and quality of the runtime support facility 
provided by Ada implementations. The project's objective has been 
to generate new information about using Ada in real-time embedded 
systems. This information is in the form of benchmark test results, 
higher level experiment results, and lessons learned in designing 
and implementing real-time applications in Ada. This technical report 
provides an overview of the results produced in the first year of 
the project (through September 30, 1987). Details of these results 
are contained in other referenced technical reports.



CMU/SEI-87-TR-32, ADA200612
Borger, M.
VAXELN Experimentation: Programming a Real-Time Periodic Task Dispatcher 
Using VAXELN Ada 1.1



The purpose of this paper is to provide the reader with some technical 
information and observations, Ada source code, and measurement results 
based on experimentation with respect to developing a real-time periodic 
task dispatcher in Ada. In this context, a periodically scheduled 
task set implies that each task in the set is executed at its own 
fixed frequency; a periodic task dispatcher is a software component 
that schedules the individual tasks at their implied runtime frequency. 
The results presented here are specific to a MicroVAX-II/VAXELN 2.3 
target system, the VAXELN 1.1 Ada compiler, and a KWV11-C programmable 
real-time clock. Specifically, these results provide answers to the 
question: How can one achieve the effect of scheduling a set of periodic 
Ada tasks when the runtime frequency of some of the individual tasks 
is less than the clock-cycle frequency supported by an Ada runtime 
implementation?



CMU/SEI-87-TR-33, ADA200604
Landherr, S. and Klein, M.
Inertial Navigation System Simulator: Behavioral Specification



The Real-Time Embedded Systems Testbed Project at the SEI is 
specifying and developing a representative real-time application. 
This document augments an original set of specifications written by 
a Navy affiliate. The purpose of this behavioral specification is 
to clarify and augment the original.



CMU/SEI-87-TR-34, ADA200605
Klein, M. and  Landherr, S.
Inertial Navigation System Simulator Program: Top-Level Design



A real-time Ada application, an Inertial Navigation System (INS) simulator, 
is being developed by the Real-Time Embedded Systems Testbed Project 
as a vehicle to analyze issues regarding the use of Ada in the real-time 
embedded domain and to provide a context for future experimentation. 
The technical philosophy behind developing a real-time Ada artifact 
is to: (1) select a representative (e.g., strict timing demands, multiple 
concurrent activities, low-level I/O, error handling, interrupts, 
and periodic activities) real-time application; (2) use Ada tasks 
as the unit of concurrency for the real-time design; and (3) apply 
any relevant practical results being produced by the real-time scheduling 
research community. In particular, the INS simulator must satisfy 
a set of timing requirements that are similar to an INS with respect 
to data updating, message transmission, and message reception. This 
document discusses the top-level design of this application from three 
points of view: data flow perspective, concurrency and control perspective, 
and the Ada module perspective.



CMU/SEI-87-TR-35, ADA188928
Van Scoy, R.
Prototype Real-Time Monitor: Executive Summary



This report summarizes the history, goals, and conclusions of the 
prototype real-time monitor development effort. This effort was undertaken 
to address two specific technical questions: 1) How can user tools 
find, access, and display data hidden in the bodies of Ada applications? 
2) How can user tools be layered on top of Ada applications? The effort 
resulted in a generally usable prototype, which is documented by four 
other SEI reports (CMU/SEI-87-TR-36 through CMU/SEI-87-TR-39).



CMU/SEI-87-TR-36, ADA188929
D'Ippolito, R. et al
Prototype Real-Time Monitor: Requirements



The requirements imposed by flight simulators and good software engineering 
practice on Ada systems force software engineers to seek new solutions 
to the problem of monitoring executing software. This report examines 
some of these requirements and, based on these requirements, defines 
a subset for implementation as a prototype real-time monitor (RTM).



CMU/SEI-87-TR-37, ADA188930
Van Scoy, R. et al
Prototype Real-Time Monitor: User's Manual



This report defines the user interface to the prototype real-time 
monitor (RTM). It defines the concepts and commands needed by a software 
engineer to use the RTM. In addition to defining the user interface, 
the report explains the steps needed to tailor the RTM to work with 
the user's application.



CMU/SEI-87-TR-38, ADA188931
Van Scoy, R. et al
Prototype Real-Time Monitor: Design



This report describes the software design used to implement the prototype 
real-time monitor requirements. The design is presented at three levels: 
system level, object level, and package 
architecture level. The report concludes with a discussion of 
the key implementation obstacles that had to be overcome to develop 
a working prototype: determining system addresses, communicating with 
an executing application, accessing application memory, converting 
data into human-readable form, and distributed CPU architectures.



CMU/SEI-87-TR-39, ADA191095
Van Scoy, R.
Prototype Real-Time Monitor: Ada Code



This report documents the Ada code of the prototype real-time monitor 
(RTM).



CMU/SEI-87-TR-40, ADA200610
Donohoe, P.
Ada Performance Benchmarks on the Motorola MC68020: Summary and Results



This report documents the results obtained from running the ACM SIGAda 
Performance Issues Working Group (PIWG) and the University of Michigan 
Ada performance benchmarks on a Motorola MC68020 microprocessor (MVME133 
VMEmodule Monoboard Microcomputer), using the Systems Designers Ada-Plus, 
the TeleSoft TeleGen2, and the Verdix VAX/VMS hosted cross-compilers. 
A brief description of the benchmarks and the test environment is 
followed by a discussion of some problems encountered and lessons 
learned. Wherever possible, the output of each benchmark program is 
also included.



CMU/SEI-87-TR-41, ADA200606
Firth, R. et al
A Classification Scheme for Software Development Methods



Software development methods are used to assist with the process of 
designing software for real-time systems. Many such methods have come 
into practice over the last decade, and new methods are emerging. 
These new methods are more powerful than the old ones, especially 
with regard to real-time aspects of the software. This report describes 
a classification scheme for software development methods, includes 
descriptions of the major characteristics of such methods, and contains 
some words of advice on choosing and applying such methods.



CMU/SEI-87-TR-42, ADA199877
Hefley, B.
Issues in Software:  A Blue Two Visit Feasibility Assessment



The SEI participated in a series of fact-finding meetings sponsored 
by the Air Force Coordinating Office for Logistics Research to gather 
information necessary to set the scope for and to implement one or 
more Blue Two Visits on software. The purpose of a Blue Two Visit 
(BTV) is to introduce to industry's top design engineers and program 
managers the day-to-day constraints Air Force maintainers face on 
front-line operations bases. The participants experience first-hand 
the effects of design on maintenance. This exposure has been significant 
in bridging the gap between DoD and industry in understanding, documenting, 
and supporting Air Force weapon system requirements to increase combat 
supportability. This report documents discussions that attempt to 
address the following questions for a software-oriented BTV: 1) Do 
software maintainers and users have messages for software designers 
and programmers? 2) What are these messages? 3) How can these messages 
be best communicated? 4) To whom should these messages be targeted? 
5) What should the BTV be called?


CMU/SEI-87-TR-43, ADA191097
Lee, K. et al
An OOD Paradigm for Flight Simulators



This report presents a paradigm for object-oriented implementations 
of flight simulators. It is a result of work on the Ada Simulator 
Validation Program (ASVP) carried out by members of the technical 
staff at the SEI.



CMU/SEI-87-TR-44, ADA188927
Ford, G. editor
Report on the SEI Workshop on Ada in Freshman Courses



The Undergraduate Software Engineering Education Project of the SEI 
Education Program sponsored a workshop on Ada in Freshman Courses 
in June 1987. The workshop brought together several educators to discuss 
how the software engineering content of beginning programming and 
data structures courses might be improved. This report describes the 
workshop and summarizes the discussions and conclusions, and it also 
includes the position papers prepared by the participants.



CMU/SEI-87-TR-45, ADA188923
Nestor, J.
Views for Evolution in Programming Environments



Programming environments have become a focal point for much of the 
work directed toward improving the practice of software engineering. 
Such environments must provide mechanisms for recording and organizing 
the complex set of persistent technical and management data associated 
with all parts of the life cycle of large software systems. This paper 
focuses on one important aspect of such persistent data: how to allow 
evolution when the existing information must be preserved without 
change to maintain history. First, the role of history in programming 
environments is discussed. Next, the additional demands of evolution 
are considered and shown to lead to a set of problems. View mechanisms 
are suggested as a solution to the problems. A simple example involving 
file system directory structure is presented to illustrate these problems. 
A simple view mechanism, called multidirectories, is introduced and 
shown to solve the illustrated problems.



CMU/SEI-87-TR-46, ADA188924
Nestor, J.
Evolving Persistent Objects in a Distributed Environment



This paper considers a class of objects, called incrementally mutable 
objects, that are intermediate between mutable and immutable objects. 
Intuitively, the only permitted modifications to an incrementally 
mutable object are those that add new information to the object while 
preserving existing information. Changes to incrementally mutable 
objects do not require central synchronization. When a network becomes 
partitioned, the same incrementally mutable object can be safely modified 
in each subnetwork. A mutable object can be modeled by a set of immutable 
objects that represent each value of the object over time and an incrementally 
mutable object that relates each immutable object to its successor. 
Multiple successors are permitted to represent parallel changes.



CMU/SEI-87-TR-47, ADA188922
Stone, D. and Nestor, J.
IDL:  Background and Status



This paper presents an overview of the Interface Description Language 
(IDL). We describe the language and its history. We also discuss the 
status of the IDL community.


CMU/SEI-87-TR-48, ADA199634
Engle, C. et al
Interfacing Ada and SQL



The SEI was asked by the Ada Joint Program Office to investigate the 
problem of interfacing programs written in Ada with database management 
systems implementing the SQL database language. The authors decided 
to concentrate on a description of the problems involved in producing 
an interface that would be worthy of becoming a standard. This document 
is meant to assist the reader in answering the question "What 
constitutes a good interface between Ada and SQL?" The document should 
be useful both in the production of a standard and in the analysis 
of any proposed standard.

--