Skip to search boxSkip to navigationSkip to main content

SoD: Design Locality: A Concept for Controlling the Design Complexity of Large Software Systems

  • David H. Lorenz(PI)
    ,
  • Dana D.H. Brooks(CoPI)
    ,
Grant:
Research project
Project status
Finished

About the Project

ABSTRACT 0438971 PI: David H. Lorenz Co-PI's: Paul C. Attie, Dana H. Brooks Northeastern University SoD: Design Locality: A Concept for Controlling the Design Complexity of Large Software Systems Large software systems are extremely difficult to design correctly. This difficulty stems largely from the exponential number of ways in which components can interact. This project's objective is to develop a design methodology for constraining interaction in large complex software systems. The central idea is design locality: synthesis, verification and analysis are applied to small subsystems; local properties are verified for subsystems in isolation and then combined to deduce global properties. Our approach is ``design for verifiability'': design a large system so that verification is tractable. A mixed methodology will be developed: top-down for design, bottom-up for analysis and verification. A well-designed system can be decomposed top-down into small subsystems while its global properties follow bottom-up from subsystem properties. A goal is systems representation in "pairwise normal form": code that synchronizes a pair of components is cleanly separated from code that synchronizes other (even overlapping) pairs. Pairwise composition is a separation of concerns solution that facilitates modularity, modifiability, and maintenance, applicable to component assembly. Our test cases are aspect-oriented programming and the SCIRun software, which builds dataflow networks of components for integrated and interactive scientific computation and visualization.

Project Information

Project Type

Research project

Project Managed By

Time Period

08/31/2005 – 11/30/2008

Status

Finished

Funding Details

SoD: Design Locality: A Concept for Controlling the Design Complexity of Large Software SystemsAward
FunderAmount
National Science Foundation
-