[comp.doc.techreports] tr-input/sei1

leff@smu.UUCP (Laurence Leff) (02/23/89)

These  reports  are  available from Technical Information Center (DTIC) and the
National Technical Information Service (NTIS).  To obtain a copy of any of  the
reports,  please  contact  DTIC  or  NTIS directly, providing them with the ADA
number for the desired report.  (For example, _ADA169705_ is  the  DTIC  number
for  the  SEI  report  _Toward  a  Reform  of  the  Defense Department Software
Acquisition Policy_.)






Software Engineering Institute                       Carnegie Mellon University
                                                         Information Management
                                                 Pittsburgh, Pennsylvania 15213


1 January 1987 -- 31 December 1987        Annotated list of available documents 
				 			    for public release.


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

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

-------------------------------------------------------------------------------
1987 Technical Reports
-------------------------------------------------------------------------------

ADA180905
Weiderman, Habermann, Borger, Klein, M., Landherr, Smeaton, Altman,
D'Ippolito, Kochmar, Sun
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.
-------------------------------------------------------------------------------

ADA178971
Martin A., Deasy
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.
-------------------------------------------------------------------------------
ADA178178
Johnson
SEI Software Engineering Education Directory

The  purpose  of  this directory is twofold.  First, it should help people make
rational choices among software engineering courses  and  software  engineering
degree  programs  by presenting a detailed listing of what courses and programs
are available.  The other major purpose is to establish contact between the SEI
and the institutions which offer these courses and programs.
-------------------------------------------------------------------------------

ADA182982
Druffel, Wood, Pethia, Greenberger, Shuba
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.
-------------------------------------------------------------------------------

ADA181853
Cooper
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.
-------------------------------------------------------------------------------
ADA181852
Feiler
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.
-------------------------------------------------------------------------------
ADA181156
Newcomer
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.
-------------------------------------------------------------------------------

ADA182003
Ford, Gibbs, Tomayko
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.
-------------------------------------------------------------------------------

ADA182023
Foreman, Goodenough
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.
-------------------------------------------------------------------------------

ADA182895
Firth, Mosley, Pethia, Roberts, Wood, W.
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.
-------------------------------------------------------------------------------

ADA182895
Humphrey
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.
-------------------------------------------------------------------------------

ADA185742
A. Martin, Deasy
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.
-------------------------------------------------------------------------------

ADA200601
Meyers, Cappellini
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-dependent
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.
-------------------------------------------------------------------------------

ADA188925
Meyers, Cappellini
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.
-------------------------------------------------------------------------------

ADA183429
Humphrey, Kitson
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  (SEI)  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.
-------------------------------------------------------------------------------

ADA188926
Meyers, Cappellini
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.
-------------------------------------------------------------------------------

ADA200602
Meyers, Cappellini
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.
-------------------------------------------------------------------------------

ADA200603
Tomayko
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.
-------------------------------------------------------------------------------

ADA185697
Altman, Weiderman
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.
-------------------------------------------------------------------------------

ADA187231
Altman
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.
-------------------------------------------------------------------------------

ADA187230
Humphrey, Sweet
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.
-------------------------------------------------------------------------------

ADA200542
Dart, Ellison, Feiler, Habermann
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.
-------------------------------------------------------------------------------

ADA200611
Klein, D., Firth
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.
-------------------------------------------------------------------------------

ADA191096
Weiderman, Borger, Cappellini, Dart, Klein, M., Landherr
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.
-------------------------------------------------------------------------------

ADA200607
Donohoe
Ada Performance Benchmarks on the MicroVAX II:  Summary and Results

This report documents the results  obtained  from  running  the  University  of
Michigan  and  the  ACM  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.
-------------------------------------------------------------------------------
ADA200608
Donohoe
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).
-------------------------------------------------------------------------------
ADA188100
Mark Borger
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.
-------------------------------------------------------------------------------
ADA188932
Weiderman
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.
-------------------------------------------------------------------------------

ADA200609
Weiderman, 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.
-------------------------------------------------------------------------------

ADA200612
Borger
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?
-------------------------------------------------------------------------------

ADA200604
Landherr, 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.
-------------------------------------------------------------------------------

ADA200605
M. Klein, Landherr
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.
-------------------------------------------------------------------------------

ADA188928
Van Scoy
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).
-------------------------------------------------------------------------------

ADA188929
D'Ippolito, Lee, K., Plinta, Rissman, Van Scoy
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).
-------------------------------------------------------------------------------

ADA188930
Van Scoy, Plinta, Coddington, T., D'Ippolito, Lee, K.
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.
-------------------------------------------------------------------------------
ADA188931
Van Scoy, Plinta, D'Ippolito, Lee, K., Rissman
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.
-------------------------------------------------------------------------------

ADA191095
Van Scoy
Prototype Real-Time Monitor: Ada Code

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

ADA200610
Donohoe
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.
-------------------------------------------------------------------------------
ADA200606
Firth, Wood, Pethia, Roberts, Mosley, Dolce
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.
-------------------------------------------------------------------------------
ADA199877
Hefley
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?
-------------------------------------------------------------------------------
ADA191097
Lee, Rissman, D'Ippolito, Plinta, Van Scoy
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.
-------------------------------------------------------------------------------

ADA188927
Ford, 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.
-------------------------------------------------------------------------------

ADA188923
Nestor
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.
-------------------------------------------------------------------------------

ADA188924
Nestor
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.
-------------------------------------------------------------------------------
ADA188922
Stone, Nestor
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.
-------------------------------------------------------------------------------

ADA199634
Engle, Firth, Graham, Wood, B.
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.
-------------------------------------------------------------------------------
-- 
Carnegie Mellon University
Software Engineering Institute
(412) 268-6378