OBJECT-ORIENTED PROGRAMMING, SYSTEMS, LANGUAGES and APPLICATIONS
 
 
Program
 


Program (2mb PDF)

Explore
  Invited Speakers
  Onward!
  Panels
  Workshops
Discover
  Research Papers
  Student Research Comp.
  Posters
  Doctoral Symposium
  Educators' Symposium
  Wiki Symposium
  Dynamic Lang. Symp.
Understand
  Tutorials
  Essays
  Practitioner Reports
  Demonstrations
Create
  DesignFest
  Lightning Talks
  FlashBoF
  Instant Arts School Exp.
 
Other Events
 
Resort Map (364kb PDF)
 
Resort Map (JPG)

 

 
Basket
 

view, help

"Using Dependency Models to Manage Complex Software Architecture"

 

 
Page
 

Printer-friendly

 
 
  > Research Papers > Archetypal Architectures

 : Tuesday

Using Dependency Models to Manage Complex Software Architecture

San Diego Room
Tuesday, 17:00, 30 minutes

 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

Neeraj Sangal, Lattix, Inc.
Ev Jordan, Lattix, Inc.
Vineet Sinha, Massachusetts Institute of Technology
Daniel Jackson, Massachusetts Institute of Technology

This paper describes a new approach, based on the Design Structure Matrix (DSM), which uses inter-module dependencies to specify and manage the architecture of large software systems. The system is decomposed into a hierarchy of subsystems with the dependencies between the subsystems presented in the form of an adjacency matrix. The hierarchic decomposition allows a succinct definition of design rules to specify allowable dependencies.

This yields a number of key benefits: Our adaptation of the DSM to represent dependencies with subsystem hierarchies appears to overcome scaling problems commonly associated with directed graph representations. DSM also provides an intuitive framework to specify and view design rules. It is easy to identify and enforce common architectural patterns such as layering and the use of components. A variety of algorithms are available to help organize the matrix in a form that reflects the architecture and highlights patterns and problematic dependencies.

A tool has been developed and applied to a number of large systems; this paper describes its application to the reengineering of Haystack, an information retrieval system.

 
.