|
|
 |
|
Formal Methods Seminar by David Coppit |
 |
Date: May 13, 2005
Time: 10:30am
Location: NIA, Rm 404
Speaker: David Coppit, The College of William & Mary
Subject: "Software Plans: A New Approach for Separating Tangled Concerns"
Much of the complexity of software arises from interactions between disparate concerns. Programmers address this complexity by separating loosely coupled concerns into modules using programming abstractions such as functions, classes, and (recently) aspects. However, all of these techniques fail when concerns are tangled together within a module. Attempting to modularize such concerns would violate the principle of low inter-module coupling, and would likely require complex integration semantics. For example, debugging code is tangled with the base code of a module in complex, highly context-dependent ways.
We present an editor-based approach to this problem called "software plans." The idea, inspired by architectural design, is to develop the software as multiple views that each present the code for concerns of interest in their proper context. Programmers can develop independent plans, then reconcile them to create the final system. We present data from two case studies that investigate how different programmers identify and relate concerns in software, as well as data from a third case study that investigates how software plans might be used during development. We also present a model of code that replaces the traditional sequence-of-bytes representation with one that explicitly represents concerns within code blocks that are potentially shared among plans. We discuss the interaction of editing operations with that model, and present a prototype implementation.
|
|
|