9708913 Complex, evolved software is constructed from a tight-knit composition of computational structures, called strands, each of which is responsible for achieving some requirement, goal, or subset of system functionality. Program strands are interwoven and sometimes even merged in order to share resources. This phenomenon is called interleaving, and understanding how interleaved strands compose is the purpose of the proposed work. There are two key objectives to the research: to formulate a rigorous characterization of the compositional relationships among interleaved strands and to design a new representation for expressing their composition. To form a rigorous characterization, a case study of an existing corpus of software will be performed in which interleaving of design patterns will be investigated and compositional mechanisms will be classified. Existing formalisms for representing strands and their relationships will be surveyed and extended to create a new formalism that expresses strand composition. The understanding gained will suggest what types of documentation, programming language features, and design abstractions are needed to enable software engineers to make interleaving decisions explicit. This will alert future maintainers of interleaved software to the fact that the interleaving was intentionally introduced and mitigate problems with understanding it. ***

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
9708913
Program Officer
Frank D. Anger
Project Start
Project End
Budget Start
1997-08-01
Budget End
1999-12-31
Support Year
Fiscal Year
1997
Total Cost
$160,000
Indirect Cost
Name
Georgia Tech Research Corporation
Department
Type
DUNS #
City
Atlanta
State
GA
Country
United States
Zip Code
30332