ACM Home Page
Please provide us with feedback. Feedback
Using dependency models to manage software architecture
Full text PdfPdf (204 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
San Diego, CA, USA
DEMONSTRATION SESSION: OOPSLA demonstrations table of contents
Pages: 164 - 165  
Year of Publication: 2005
ISBN:1-59593-193-7
Authors
Neeraj Sangal  Lattix, Inc.
Ev Jordan  Lattix, Inc.
Vineet Sinha  Massachusetts Institute of Technology
Daniel Jackson  Massachusetts Institute of Technology
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 54,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1094855.1094915
What is a DOI?

ABSTRACT

This demonstration will present a new approach, based on the Dependency Structure Matrix (DSM), which uses inter-module dependencies to specify and manage the architecture of 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 matrix representation is concise, intuitive and appears to overcome scaling problems that are commonly associated with directed graph representations. It also permits succinct definition of design rules to specify allowable dependencies.A tool, Lattix LDM, will be used to demonstrate this approach by loading actual open source Java applications to create DSMs that can represent systems with thousands of classes. We will show how algorithms can be applied to organize the matrix in a form that reflects the architecture and highlights problematic dependencies.We will demonstrate how design rules can be used to specify and enforce architectural patterns such as layering and componentization. We will examine the evolution of architecture by creating dependency models for successive generations of Ant, a popular Java utility. Finally, we will explore the application of this approach to the re-engineering of Haystack, an information retrieval system.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
Steven D. Eppinger, "Innovation at the Speed of Information", Harvard Business Review, January 2001.
 
3
Warfield, John N., "Binary Matrices in System Modeling" IEEE Transactions on Systems, Man, and Cybernetics, vol. 3, pp. 441--449, 1973.
 
4
 
5
The Haystack Project. MIT Computer Science and Artificial Intelligence Laboratory. http://haystack.lcs.mit.edu/.


Collaborative Colleagues:
Neeraj Sangal: colleagues
Ev Jordan: colleagues
Vineet Sinha: colleagues
Daniel Jackson: colleagues