Project Summary

ORGANIZATION: Carnegie-Mellon University
  -David Garlan  (412) 268-5056
  -Mary Shaw  (412) 268-2589
  -Jeannette Wing  (412) 268-3068


Robert Allen, Craig Damon, Rob DeLine, Darrell Kindred,
Robert Monroe, Greg Morrisett, Scott Nettles, Robert O'Callahan, John Ockerbloom,
Eugene Rollins, Amy Zaremski, Greg Zelesnik

TITLE OF EFFORT: Composable Software Systems


Software techniques have developed enormously over the past 30-40 years, from primitive machine languages to sophisticated programming languages and tools for system configuration. This project is working on the next great leap, shifting focus from programming-at-the-module level to programming-at-the-system level. In the former activity one builds programs in terms of procedures and abstract data types using simple module interconnection as a way to compose modules; in the latter activity, one builds systems in terms of more sophisticated components, usually entire systems themselves, and connect them with more sophisticated abstractions for composition.


To provide a scientific and engineering basis for designing, building, and analyzing composable software systems. To provide languages, tools, environments, and techniques to support these activities.


The three research lines are software architecture, formal methods, and tractable software analysis. This project will develop new models, theories, methods, languages, and tools for classifying, specifying, analyzing, and designing software systems beyond the component level. This support could lead to substantial reduction in maintenance costs, improvement in software resuse, and increase in quality of software.


Prototype models, language designs, and tools have been developed and extended to richer situations.


Lectures, publications, other educational material, and prototype software tools.


-Co-developed ACME architectural interchange language -Demonstrated Aesop software architecture development system at 17th Conf. on Software Eng. (ICSE)

-Unicon system for defining heterogeneous architectures prototype installed at UniSys for evaluation and experimentation.

-Developed ChopShop, a reverse-engineering tool for understanding unfamiliar programs. It provides customized, modular, dataflow information, handles full ANSI C programs of over 30,000 lines, and produces accurate results in both textual and pictorial form.

-Developed a method (and tool Nitpick) for checking properties of software specifications by automatically enumerating cases and dramatically reducing the search space by using a variety of reduction mechanisms, such as eliminating isomorphs. Applied to small, but realistic examples, such as the style mechanism of Microsoft Word.

-Detailed performance evaluation of Venari/ML transactional system showing that our new concurrent garbage collection algorithm gives comparable or better performance than C's explicit memory management or other garbage collection algorithms.

DATE PREPARED: July 5, 1995

Comments? Gripes? Accolades? Mail the current maintainer of this page.

Last Modified: July 10, 1995