SEI Documents List
[2007] [2006] [2005] [2004] [2003] [2002] [2001] [2000] [1999] [1998] [1997] [1996] [1995] [1994] [1993] [1992] [1991] [1990] [1989] [1988] [1987] [1986] [PDF]
1993 Reports
Curriculum Modules and Support Materials
SEI-CM-27-1.0,
ADA265201
Formal Specification and Verification of Concurrent Programs
Berry, D.
This module introduces formal specification of concurrent software and verification of the consistency between concurrent programs and their specifications. First, what one might want to be able to prove about a concurrent program is discussed. Then, a number of formal descriptions of the concept are presented. These vary in their coverage of the phenomena, and some can be used as the bases of formal specification of programs. Next, techniques for carrying out the proof of consistency between the specification and the program are described. Finally, it is noted that some of the these techniques have automated tools such as verifiers associated with them.
http://www.sei.cmu.edu/publications/documents/cms/cm.027.html
Educational Materials
CMU/SEI-93-EM-009,
ADA266959
Lecture Notes on Engineering Measurement for Software Engineers
Ford, G.
Measurement is a fundamental skill for engineers. To facilitate teaching software engineering measurement, materials are provided to support three lectures: introduction to engineering measurement, measurement theory, and software engineering measures. These materials include lecture notes suitable for class handouts and additional information for instructors-educational objectives, pedagogical considerations, suggestions for class projects, an annotated bibliography, and transparency masters for use in the delivery of the lectures.
http://www.sei.cmu.edu/publications/documents/ems/93.em.009.html
CMU/SEI-93-EM-008,
ADA265200
Lecture Notes on Software Process Improvement
Werth, L.
Software process improvement is not usually covered in standard software engineering textbooks. However, because it is a topic of great interest to the software industry, both faculty and students should be familiar with it. The goal of this package is to provide the basis for an introductory 30 to 60 minute lecture on the software process and its improvement.
http://www.sei.cmu.edu/publications/documents/ems/93.em.008.html
CMU/SEI-93-EM-007,
ADA264273
Materials for Teaching Software Inspections
Tomayko, J. & Murphy, J.
This educational materials package was developed for instructors of software verification techniques in graduate and undergraduate software engineering courses, and for those who teach industrial continuing education courses on the meaning and methods of software inspections.
Software inspections are a low-tech, highly effective verification technique. Research has consistently shown that the defect detection rate of inspections is higher than that of many traditional testing techniques. This package includes materials for demonstrating how to perform an inspection and also for "selling" students on the effectiveness of inspections. It complements EM-5 "Scenes of Software Inspections," providing additional background material and exercises for using that set of educational materials.
http://www.sei.cmu.edu/publications/documents/ems/93.em.007.html
Special Reports
CMU/SEI-93-SR-004,
ADA267103
Dependable Software Technology Exchange
Weinstock, C. & Schneider, F.
On March 18 and 19, 1993, the Dependable Real-Time Software Project hosted a Dependable Software Technology Exchange. The exchange, sponsored by the Air Force Space and Missile Systems Center and the Office of Naval Research, brought together researchers and system developers, providing an opportunity for the researchers to learn the needs of the developers and for the developers to learn about techniques being investigated by the researchers. This report summarizes what transpired at the meeting.
http://www.sei.cmu.edu/publications/documents/93.reports/93.sr.004.html
CMU/SEI-93-SR-021,
ADA275642
Process Guide for the Domain-Specific Software Architectures (DSSA) Process Life Cycle
Armitage, J.
This document describes the prototype domain-specific software architecture (DSSA) process life cycle developed by GTE as part of the ARPA, formerly DARPA DSAA program. It is a high-level process description and represents a snapshot of the process as it was in the fall of 1992.
http://www.sei.cmu.edu/publications/documents/93.reports/93.sr.021.html
CMU/SEI-93-SR-005,
ADA267117
Reengineering: An Engineering Problem
Feiler, P.
This paper discusses a plan that addresses how the Software Engineering Institute (SEI) may assist the Department of Defense (DoD) in reengineering its large software-intensive systems. This plan is based on a view of reengineering as an engineering problem to improve the cost-effective evolution of large software-intensive systems. This view of reengineering, which takes the whole software engineering process into account, fosters a growth path by leveraging promising emerging software engineering technologies. Reengineering also builds on the industry's improvement in its ability to manage the software engineering process, an accomplishment of SEI work in the Capability Maturity Model® (CMM®) and its key process areas.
http://www.sei.cmu.edu/publications/documents/93.reports/93.sr.005.html
CMU/SEI-93-SR-020,
ADA336276
Results of a Workshop on Research in Incident Handling
Longstaff, T.
This document contains the results of the first CERT® Invitational Workshop on Research in Incident Handling, held at the Software Engineering Institute in November 1992. The workshop was convened to address a wide spectrum of computer, network, and information security topics from the perspective of incident handling, both in the present and in the future. The intent was to bring together researchers, incident handling specialists, users, system administrators, and managers to encourage an exchange of information and experience. Specifically, it was intended to identify lucrative areas for research and development in improving the practice of incident handling and in applying the experience- and information-base that the CERT Coordination Center has amassed during its existence.
http://www.sei.cmu.edu/publications/documents/93.reports/93.sr.020.html
CMU/SEI-93-SR-007,
ADA268059
Software Process Framework for the SEI Capability Maturity Model® Repeatable Level, A
Olson, T.; Parker Gates, L.; Mullaney, J.; Over, J.; Reizer, N.; Kellner, M.; Phillips,
R.; & DiGennaro, S.
This document describes a Software Process Framework (SPF) based on the Software Engineering Institute's (SEI) Capability Maturity Model® (CMM®) for the Repeatable Level (Level 2). The purpose of the SPF is to provide guidance for designing, analyzing, and reviewing software processes (consisting of standards, processes, procedures, training, and tools) so that they are consistent with the CMM. As a thesaurus is a companion book to a dictionary (both are useful for different purposes) the SPF is a companion guide to the CMM for defining software processes. For each key process area in the CMM, the SPF defines roles, entry and exit criteria, inputs and outputs, activities, reviews and audits, measurements, etc. This information can also be used to help build process models and process guides that are consistent with the CMM. The primary audiences of the SPF are software engineering process groups (SEPGs), process engineers, process action teams, and software quality assurance groups. Secondary audiences include anyone interested in software process improvement, or anyone using the CMM.
http://www.sei.cmu.edu/publications/documents/93.reports/93.sr.007.html
Technical Reports
CMU/SEI-93-TR-028,
ADA276466
Acquisition Process for the Management of Risks of Cost Overrun and Time Delay Associated with Software Development, An
Haimes, Y. & Chittister, C.
The ability to quantify risk is essential to the process of budgeting and scheduling. During the process of hiring to complete specified tasks, customers must be able to verify contractor estimates and to make sound judgments on the risks of cost overruns and time delays. The following two questions are central to this paper: Do developers with little experience over-estimate or under-estimate the complexity of the task because of their past experience, the assumptions they make, the models they select, and how they define the model parameters? What are the sources of risk associated with project cost estimation? How can such risk be quantified? To address these questions, this paper proposed a systematic acquisition process that is aimed at assessing and managing the risks of cost overruns and time delays associated with software development.
The proposed acquisition process, which is composed of four phases (listed below), is grounded on the following three basic premises: a) Any single-value estimate of cost or completion time is inadequate to capture and represent the variability and uncertainty associated with cost and schedule. Probabilistic quantification is advocated, using, in this paper, the fractile method and triangular distribution. b) The common expected value when used as a measure of risk, is inadequate; further, if used as the sole measure of risk, it may lead to inaccurate results. The conditional expected value of risk of extreme events is adopted to supplement and complement the common unconditional expected value. c) Probing the sources of risks and uncertainties associated with cost overruns and time delays in software development is essential for the ultimate management of technical and nontechnical risks. The Taxonomy-Based Questionnaire developed by the Software Engineering Institute is adopted.
These basic premises have led to the development of the following four phases in the proposed acquisition process: Phase I, constructing the probability density functions; Phase II, probing the sources of risks and uncertainties; Phase II, analyzing and regarding the likelihood of technical and non-technical risks; and Phase IV, drawing conclusions on the basis of the accumulated evidence and ultimately selecting the contractors most likely to complete the project without major cost overruns or time delays. The three example problems are presented to demonstrate the construction of the probability density functions in Phase I and to explain in a more general way the effort involved in Phases II through IV.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.028.html
CMU/SEI-93-TR-019,
ADA277169
ADA Binding to the SAFENET Lightweight Application Services, An
Meyers, B. & Chastek, G.
This document describes an ADA binding to the Survivable ADAptable Fiber Optic Embedded Network (SAFENET) lightweight application services. The major goal in the design of the binding was schedulability. The document contains the ADA package specifications for the binding as well as a rationale for the design.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.019.html
CMU/SEI-93-TR-012,
ADA268058
AMORE: The Advanced Multimedia Organizer for Requirements Elicitation
Christel, M.; Wood, D.; & Stevens, S.
The advent of larger and more complex software systems has resulted in the need to reconsider the ways in which information pertaining to those systems is stored, visualized, organized, and retrieved. The Software Engineering Information Modeling Project of the Software Engineering Institute is integrating existing and new technologies with the intent of demonstrating feasible technical directions for modeling and managing large amounts of data in multiple media formats. This paper introduces the Advanced Multimedia Organizer for Requirements Elicitation (AMORE), a system that embodies a synthesis of technologies adapted specifically for application to requirements elicitation processes and models.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.012.html
CMU/SEI-93-TR-024,
ADA263403
Capability Maturity Model® for Software (Version 1.1)
Paulk, M.; Curtis, B.; Chrissis, M.; & Weber, C.
In November 1986, the Software Engineering Institute (SEI) with assistance from the Mitre began developing a process maturity framework that would assist organizations in improving their software process. This effort was initiated in response to a request to provide the federal government with a method for assessing the capability of their software contractors. In September 1987, the SEI released a brief description of the process maturity framework and a maturity questionnaire (CMU/SEI-87-TR-023). The SEI intended the maturity questionnaire to provide a simple tool for identifying areas where an organization's software process needed improvement. Unfortunately, the questionnaire was too often regarded as "the model" rather than as a vehicle for exploring process maturity issues.
After four years of experience with the software process maturity framework and the preliminary version of the maturity questionnaire, the SEI has evolved the software process maturity framework into a fully defined model.
This model will be used in a systematic, principled way to derive a maturity questionnaire. By fully elaborating the maturity framework, a model has emerged that provides organizations with more effective guidance for establishing process improvement programs than was offered by the maturity questionnaire. Using knowledge acquired from software process assessments and extensive feedback from both industry and government, an improved version of the process maturity framework has been produced called the Capability Maturity Model® for Software (CMM®). This paper is an introduction to the revised model.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.024.html
CMU/SEI-93-TR-026,
ADA277289
Case Studies of Software Process Improvement Methods
Paulish, D.
This report describes the case studies approach applied at a number of Siemens software development organizations to observe the impact of software process improvement methods. In addition, the report provides guidance to software development organizations that want to improve their processes. A set of organization performance measures are defined to help an organization observe its software process improvement over time. An approach is given for selecting software process improvement methods. The report concludes with a description of common implementation problems, and recommendations for organizations to improve their software processes.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.026.html
CMU/SEI-93-TR-009,
ADA266994
Concepts on Measuring the Benefits of Software Process Improvement
Rozum, J.
The software community initially became aware of process improvement from the works of Deming, Juran, and Crosby. The current awareness and activity regarding software process improvement was sparked by the Software Engineering Institute (SEI) with the release of its original software process maturity model. Following the advice of the SEI, many software organizations initiated software process improvement efforts to improve the quality of their products by improving the processes that produce those products. The question that many managers are continually asking today, though, is: How much has my organization benefited from the changes we have made? Unfortunately, many organizations did not include a method of measuring those benefits in their improvement activities. This report describes some concepts that organizations can tailor and build upon to develop a method for determining the benefits they have received from their software process improvement activities.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.009.html
CMU/SEI-93-TR-031,
ADA275637
Conceptual Framework for Software Technology Transition, A
Fowler, P. & Levine, L.
We present a conceptual framework that integrates and describes the intersections of three life cycles of software technology transition; research and development, new product development, and adoption and implementation in organizations. We then apply the framework to the technology transition experiences of the Software Engineering Institute.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.031.html
CMU/SEI-93-TR-002,
ADA226519
Distributed Real-Time System Design: Theoretical Concepts and Applications
Sha, L. & Sathaye, S.
Distributed real-time system design raises new theoretical issues and application challenges, beyond those of centralized systems. Rate monotonic scheduling (RMS) theory has been successfully applied in the scheduling of centralized systems. RMS and its generalizations have been adopted by national high technology projects such as the Space Station and has recently been supported by major open standards such as the IEEE Futurebus+ and POSIX.4. In this paper, we describe the use of generalized rate monotonic scheduling theory for the design and analysis of a distributed real- time system. We review the recent extensions of the theory to distributed system scheduling, examine the architectural requirements for use of the theory, and finally provide an application example.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.002.html
CMU/SEI-93-TR-010,
ADA273769
The Use of ASN.1 and XDR for Data Representation in Real-Time Distributed Systems
Meyers, B. & Chastek, G.
This report provides an overview of two standards that are used for data specification and representation in distributed systems. The standards considered are the Abstract Syntax Notation One (ASN.1) and the external data representation (XDR). Standards for data representation are appropriate for the development of real-time distributed systems, particularly loosely coupled, heterogeneous systems. The report presents an example of the use of each standard. Several performance metrics are also introduced that are suitable for comparing the space and time costs of using the different standards. Several issues are discussed that are appropriate to a system designer. an ADA implementation of ASN.1 encode and decode routines for floating point types is included in an appendix.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.010.html
CMU/SEI-93-TR-007,
ADA280916
SEI and NAWC: Working Together to Establish a Software Measurement Program, The
Rozum, J.
In 1990, the Software Engineering Institute (SEI) and the then Naval Air Development Center (NADC) in Warminster, Pennsylvania (now Naval Air Warfare Center, Aircraft Division, Warminster) signed an agreement to jointly develop a software measurement program for NADC - Warminster. To help with that development, a software measurement process action team (SMPAT) was formed with members from the SEI and NADC. The SMPAT's responsibility was to plan, develop, and assist in the implementation of the measurement program. The purpose of this technical report is to document and make available to the software community the process and methods used, experience gained, and some lessons learned in establishing the software measurement program at NADC.
This report is meant to help organizations that desire to start a software measurement program or have been struggling with such a program by providing an example of one organization that has also struggled to establish a software measurement program. To help an organization, real-life examples of how software measures were defined, collected, and used to improve the management process are included.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.007.html
CMU/SEI-93-TR-016,
ADA267896
Establishing a Software Measurement Process
McAndrews, D.
This report presents guidelines for establishing a measurement process as part of an organization's overall software process. Methods are suggested that can be used to design a repeatable measurement process that is focused on goal setting, data analysis, and decision making rather than on just data collection and numbers. Examples are included to illustrate these methods in the context of some common software process management issues involving basic measures of size, effort, and schedule. This report also suggests some steps for starting a measurement program. These steps focus on identifying an organizational strategy for improvement and designing a process for measurement to support this strategy.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.016.html
CMU/SEI-93-TR-011,
ADA29342
Integrating 001 Tool Support into the Feature-Oriented Domain Analysis Methodology
Krut, R.
This report addresses the need for additional tool support for the Feature-Oriented Domain Analysis (FODA) methodology, developed at the Software Engineering Institute (SEI). Previous FODA studies relied on multiple tools to represent the components of a domain model. This report discusses the ability to represent an analyzed domain within the confines of a single support tool. This discussion was based on the transformation of a recently completed domain analysis from a multi-tool, multi-view representation into a single tool which represents the multiple views of a FODA domain model. This report also describes the potential for prototyping of systems using the FODA domain analysis products and the supporting tool.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.011.html
CMU/SEI-93-TR-015,
ADA272441
Investigation into the State of the Practice of CASE Tool Integration, An
Rader, J.; Brown, A.; & Morris, E.
In the second half of 1992 a team of the SEI CASE Environments Project conducted a study into the state of the practice with respect to the operational use of integrated Computer-Aided Software Engineering (CASE) tools. After many false starts, we interviewed a number of examples of large organizations with integrated CASE tools in operational use on software development projects. Compared to the state of the art described in much of the literature, what was found might be considered modest. Compared to industry norms, it was quite impressive, representing significant commitment, ingenuity, and significant attention to end user needs.
This report details our observations and analyzes the current state of the practice of CASE tool integration as revealed by our study. It also speculates on reasons for the modest state of the practice.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.015.html
CMU/SEI-93-TR-025,
ADA263432
Key Practices of the Capability Maturity Model® Version 1.1
Paulk, M.; Weber, C.; Garcia, S.; Chrissis, M.; & Bush, M.
This document provides the key practices that correspond to each maturity level of the Capability Maturity Model® and information on how to interpret the key practices. It is an elaboration of what is meant by maturity at each level of the CMM® and a guide that can be used for software process improvement, software process assessments, and software capability evaluations.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.025.html
CMU/SEI-93-TR-001,
ADA265202
Overview of PCTE: A Basis for a Portable Common Tool Environment, An
Long, F. & Morris, E.
Environment framework technologies are becoming increasingly popular as aids to the construction of software engineering environments populated with integrated CASE tools. PCTE, a framework technology, is generating significant interest among environment users and builders as a mechanism for data management. This report details the history and current status of PCTE and PCTE-based environments. The major capabilities of PCTE are identified, and the techniques for integration of tools into PCTE are discussed.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.001.html
CMU/SEI-93-TR-004,
ADA26103
Process-Centered Development Environments: An Exploration of Issues
Christie, A.
Software development environments are beginning to move from research communities to commercial applications. As this occurs, the need to address process issues related to such environments is becoming increasingly apparent. Thus there is a growing awareness of the need for process-centered development environments (PCDEs). This report addresses process definition and enactment issues which pertain to the specification and design of a PCDE. The first part of the report explores some of the required characteristics of an enactable graphical language and the relationship between process definition and enactment. This process language naturally led to the ability to perform process verification, i.e., a verification that the actual process path taken throughout a project conforms to the defined process. The issue of process verification is thus also explored. The success of PCDEs rests heavily on end-user acceptance. Because of this, the report concludes with a review of user-oriented process and social issues relevant to the successful adoption of PCDEs.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.004.html
CMU/SEI-93-TR-023,
ADA275169
Reference Model for Project Support Environments (Version 2.0)
The U.S. Navy has embarked on the next Generation Computer Resources (NGCR) program to fulfill its need for standard computing resources. The program revolves around the selection of interface standards in six areas. The interface standards will be based on existing industry standards with multi-vendor support. The objective is to restructure the Navy's approach to take better advantage of commercial advances and to reduce cost and duplication of computer resources. This document is part of the NGCR program.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.023.html
CMU/SEI-93-TR-005,
ADA266993
Safety-Critical Software: Status Report and Annotated Bibliography
Place, P. & Kang, K.
Many systems are deemed safety-critical and these systems are increasingly dependent on software. Much has been written in the literature with respect to system and software safety. This report summarizes some of that literature and outlines the development of safety-critical software. Techniques for hazard identification and analysis are discussed. Further, techniques for the development of safety-critical software are mentioned. A partly annotated bibliography of literature concludes the report.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.005.html
CMU/SEI-93-TR-003,
ADA266995
Software Architectures for Shared Information Systems
Shaw, M.
Software system design takes place at many levels. Different kinds of design elements, notations, and analyses distinguish these levels. At the software architecture level, designers combine subsystems into complete systems. This paper studies some of the common patterns, or idioms, that guide these configurations. Results from software architecture offer some insight into the problems of systems integration-the task of connecting individual, isolated, pre-existing software systems to provide coherent, distributed solutions to large problems. As computing has become more sophisticated, so too have the software structures used in the integration task. This paper reviews historical examples of shared information systems in three different applications whose requirements share some common features about collecting, manipulating, and preserving large bodies of complex information. These applications have similar architectural histories in which a succession of designs responds to new technologies and new requirements for flexible, highly dynamic responses. A common pattern, the shared information system evolution pattern, appears in all three areas.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.003.html
CMU/SEI-93-TR-018,
ADA269922
Software Capability Evaluation (SCE) Version 1.0 Implementation Guide
Software Capability Evaluation (SCE) offers a means to evaluate an organization's software process capability-that is, how well an organization manages the process it used to create software. SCE provides a way to compare an offeror's software capability against a predefined standard. This document is an implementation guide: it is intended as a set of practical information which program managers can use to guide them through the process of using SCE in an acquisition.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.018.html
CMU/SEI-93-TR-017,
ADA267895
Software Capability Evaluation (SCE) Version 1.5 Method Description
Averill, E.; Byrnes, P.; Dedolph, M.; Maphis, J.; Mead, W.; & Puranik, R.
This report describes Version 1.5 of the Software Capability Evaluation (SCE) method, as taught at the Software Engineering Institute (SEI) from January 1992 to June 1993. This version of the SCE method is based on the process maturity framework defined in Characterizing the Software Process: A Maturity Framework (CMU/SEI-87-TR-011), which predates Version 1.0 of the Capability Maturity Model® (CMM®) described in Capability Maturity Model for Software (CMU/SEI-93-TR-024). The document includes a background overview of the SCE method and its evolution, a detailed description of the activities performed during an SCE, and a discussion of the characteristics of the method and their implications for the use of the method. This "as built" description provides a baseline for future evolution of the SCE method.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.017.html
CMU/SEI-93-TR-013,
ADA272570
Software Product Liability
Armour, J. & Humphrey, W.
Voyne Ray Cox settled into the radiation machine for the eighth routine treatment of his largely cured cancer. The operator went to the control room and pushed some buttons. Soon, the machine went into action and the treatment began. A soft whir and then an intense searing pain made him yell for help and jump from the machine. The doctors assured him there was nothing to worry about. What they didn't know was that the operator had inadvertently pushed an unusual sequence of controls that activated a defective part of the software controlling the machine. He didn't die for six months but he had received a lethal dose of radiation. This software defect actually killed two patients and severely injured several others. The final decisions in the resulting lawsuits have not been made public.
Software defects are rarely lethal and the number of injuries and deaths is now very small. Software, however, is now the principle controlling element in many industrial and consumer products. It is so pervasive that it is found in just about every product that is labeled "electronic." Most companies are in the software business whether they know it or not. The question is whether their products could potentially cause damage and what their exposures would be if they did.
While most executives are now concerned about product liability, software introduces a new dimension. Software, particularly poor quality software, can cause products to do strange and even terrifying things. Software bugs are erroneous instructions and, when computers encounter them, they do precisely what the defects instruct. An error could cause a 0 to be read as a 1, an up control to be shut down, or, as with the radiation machine, a shield to be removed instead of inserted. A software error could mean life or death.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.013.html
CMU/SEI-93-TR-014,
ADA271348
Structural Modeling: An Application Framework and Development Process for Flight Simulators
Abowd, G.; Bass, L.; Howard, L.; & Northrop, L.
In this paper, we present the structural modeling approach, an application framework and development process for the construction of flight simulators. Structural modeling was developed to address functional, nonfunctional, and process requirements for flight simulators. It has been successfully used in the development of large scale (one million lines of ADA code) flight simulators for the United States Air Force. A structural model promotes a simple and coherent software architecture with a small number of specialized structural elements obeying a few systemwide coordination strategies. It is this simplicity coherence of the software architecture that enables analysis to demonstrate the quality of the system.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.014.html
CMU/SEI-93-TR-008,
ADA269923
Study in Software Maintenance, A
Dart, S.; Christie, A.; & Brown, A.
In an effort to find out more about the tools, procedures, and techniques project personnel use in their work, the Computer-Aided Software Engineering (CASE) Environments Project interviewed personnel in eight software maintenance projects within an agency of the U.S. government. These interviews highlighted problems that we believe are typical of many software maintenance organizations (i.e., the need for more effective software maintenance tools, lack of communication between individuals working on similar projects, low status of maintenance personnel, and lack of a design-for-maintenance philosophy during the software development phase). This report highlights the findings of these interviews, provides our analysis of the findings, and makes recommendations directed at the agency for improvement in the areas of tools, people, and process. We believe that what we observed is very typical of the state of the practice in these areas and as such that this report and its recommendations are applicable to other large or small software maintenance projects.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.008.html
CMU/SEI-93-TR-027,
ADA278595
Survey of Commonly Applied Methods for Software Process Improvement, A
Austin, R. & Paulish, D.
This report describes a number of commonly applied methods for improving the software development process. Each software process improvement method is described by surveying existing technical literature citations. Each method description contains background information concerning how the method works. Documented experience with the method is described. Suggestions are given for implementing the method, and a list of key references is given for further information. The methods are described in the context of the SEI Capability Maturity Model,® and suggestions are given to assist organizations in selecting potential improvement methods based upon their current process maturity.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.027.html
CMU/SEI-93-TR-006,
ADA266992
Taxonomy-Based Risk Identification
Carr, M.; Konda, S.; Monarch, I.; Ulrich, F.; & Walker, C.
This report describes a method for facilitating the systematic and repeatable identification of risks associated with the development of a software-dependent project. This method, derived from published literature and previous experience in developing software, was tested in active government-funded defense and civilian software development projects for both its usefulness and for improving the method itself. Results of the field tests encouraged the claim that the described method is useful, usable, and efficient. The report concludes with some macro-level lessons learned from the field tests and a brief overview of future work in establishing risk management on a firm footing in software development projects.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.006.html
CMU/SEI-93-TR-034,
ADA279014
Taxonomy of Coordination Mechanisms Used in Real-Time Software Based on Domain Analysis, A
Fernandez, J.
A taxonomy of the coordination mechanisms for the synchronization and communication of concurrent processes is proposed. The taxonomy deals with the issues of a real-time software architecture that are application domain independent. The taxonomy will help the designer to find the appropriate coordination mechanism for building a real- time domain specific software architecture.
Features Oriented Domain Analysis methodology has been used to describe the taxonomy. While ADA is the programming language that has been used here, some of the attributes and guidelines are still valid for other programming languages.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.034.html
CMU/SEI-93-TR-030,
ADA317598
Technology Transition Pull: A Case Study of Rate Monotonic Analysis (Part 2)
Fowler, P. & Levine, L.
This case study reports on efforts to introduce a software technology, rate monotonic analysis, into several software- intensive programs at one site within a multinational firm. We describe lessons learned and success factors in the early use of rate monotonic analysis (RMA).
We also present evidence that supports the requirements for an internal capability-in the form of technical expertise and infrastructure-to adopt and assimilate this new technology. Finally, the study applies the "whole product" concept for understanding technology adoption and use, showing how one form compensated for lack of a whole product in its adoption of RMA.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.030.html
CMU/SEI-93-TR-029,
ADA275616
Technology Transition Push: A Case Study of Rate Monotonic Analysis (Part 1)
Fowler, P. & Levine, L.
This case study reports on efforts to transform rate monotonic scheduling theory from an academic theory into a practical analytical technique and to transition that technique into routine practice among developers and maintainers of software embedded in real-time systems.
http://www.sei.cmu.edu/publications/documents/93.reports/93.tr.029.html
[2007] [2006] [2005] [2004] [2003] [2002] [2001] [2000] [1999] [1998] [1997] [1996] [1995] [1994] [1993] [1992] [1991] [1990] [1989] [1988] [1987] [1986] [PDF]