University of Southern California
    
Home   Contact Us    
Center for Systems and Software Engineering

About us
News
History
People
Events
Upcoming
Highlights
Past
Publication
Tech. Report
TR by Author
Research
Projects
Tools
Courses
Education
Degrees
Admissions
Affiliates
List of Affiliates
Private Area
Other Resources


Technical Reports

USC-CSE-92-501

Christine Braun, William Hatch, Theodore Ruegsegger, Bob Balzer, Martin S. Feather, Neil Goldman, Dave Wile, "Domain Specific Software Architectures-Command and Control," 1992 IEEE Symposium on Computer-Aided Control System Design (CACSD), Napa, CA, March 17-19, 1992, pp. 129-136 (pdf)

GTE is the Command and Control contractor for the Domain Specific Software Architectures program. The objective of this program is to develop and demonstrate an architecture-driven, component-based capability for the automated generation of command and control (C2) applications. Such a capability will significantly reduce the cost of C2 application development and will lead to improved system quality and reliability through the use of proven architectures and components.

A major focus of GTE's approach is the automated generation of application components in particular subdomains. Our initial work in this area has concentrated in the message handling subdomain; we have defined and prototyped an approach that can automate one of the most software-intensive parts of C2 systems development.

This paper provides an overview of the GTE team's DSSA approach and then presents our work on automated support for message processing.

Added June 25th, 2008


USC-CSE-92-500

Barry Boehm, William L. Scherlis, "Megaprogramming," Proceedings of the DARPA Software Technology Conference, Los Angeles, California, April 28-30, 1992, Meridien Corp., Arlington, Virginia, 1992 (pdf)

"Megaprogramming" refers to the practice of building and evolving computer software component by component. Megaprogramming builds on the processes and technologies of software reuse, software engineering environments, software architecture engineering, and application generation in order to provide a component-oriented product-line approach to software development In the product line approach, management incentives and technology support can be structured to favor the aggregate return on investment over a set of related software products, even when certain portions of the investment-whose benefits are realized across the product line-may be higher than they would be if products were managed individually.

Particular aspects of the megaprogramming approach are in use in specific sectors, with significant impact. The merits of architecture-oriented design and reuse of software assets are well understood. Experience has been gained, starting in the 1950's with user-group component libraries such as the IBM SHARE (Society to Help Avoid Redundant Effort) library, and through seminal papers on mass-produced software components such as [McIlroy1968], to major publications summarizing the state of the art and state of the practice in software reuse [Freeman1987, Tracz1988, Biggerstaffl989, Cusumanol991, STARS-Reusel991].

More often than not, however, the potential of reuse and related practices and technologies has not been realized. Reuse has been discussed and attempted many times as a solution for software productivity and quality problems. Specific features have been distinguished that characterize successful reuse, and it is around these features that the megaprogramming approach is based. Megaprogramming is not a silver bullet; it is a coordinated approach to a broad range of management and technology facets of software engineering practice. This paper examines these management and technology facets in the light of an analysis of economic factors and incentives.

Added June 24th, 2008


Copyright 2008 The University of Southern California

The written material, text, graphics, and software available on this page and all related pages may be copied, used, and distributed freely as long as the University of Southern California as the source of the material, text, graphics or software is always clearly indicated and such acknowledgement always accompanies any reuse or redistribution of the material, text, graphics or software; also permission to use the material, text, graphics or software on these pages does not include the right to repackage the material, text, graphics or software in any form or manner and then claim exclusive proprietary ownership of it as part of a commercial offering of services or as part of a commercially offered product.