welcome

2005 MCS Divisional Seminars & Colloquia


Software Plans: Achieving Fine-Grained Separation of Concerns

   David Coppit

 College of William and Mary

  Hosted by  Paul Hovland

10:30 AM, March 10, 2005
Building 221,  Room A216


Abstract

Much of the complexity of software arises from interactions between disparate concerns. Even when such concerns are largely independent, they are compressed into a single representation of the source code. This increases the complexity of the code and obfuscates its overt functionality. Unfortunately, it is not always feasible to simply introduce a new programming abstraction, as concern code may be tightly coupled to its surrounding context. Attempting to modularize such code would violate the principle of low inter-module coupling, and would likely require complex integration semantics. For example, debugging code is tightly coupled to its context and is tangled with other concerns throughout the software system.

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, and 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. We also present a formal 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.  

[MCS | Research | Resources | People | Collaboration | Software | Publications | Information]
Last updated on February 10, 2005
Disclaimer
Security/Privacy Notice
webmaster@mcs.anl.gov