ACM Home Page
Please provide us with feedback. Feedback
Using dependency models to manage complex software architecture
Full text PdfPdf (646 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
San Diego, CA, USA
SESSION: Archetypal architectures table of contents
Pages: 167 - 176  
Year of Publication: 2005
ISBN:1-59593-031-0
Also published in ...
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): 31,   Downloads (12 Months): 166,   Citation Count: 10
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/1094811.1094824
What is a DOI?

ABSTRACT

An approach to managing the architecture of large software systems is presented. Dependencies are extracted from the code by a conventional static analysis, and shown in a tabular form known as the 'Dependency Structure Matrix' (DSM). 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 hierarchical structure obtained in part by such algorithms, and in part by input from the user, then becomes the basis for 'design rules' that capture the architect's intent about which dependencies are acceptable. The design rules are applied repeatedly as the system evolves, to identify violations, and keep the code and its architecture in conformance with one another. The analysis has been implemented in a tool called LDM which has been applied in several commercial projects; in this paper, a case study application to Haystack, an information retrieval system, is described.


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
Steven D. Eppinger, "Innovation at the Speed of Information", Harvard Business Review, January 2001.
 
2
 
3
 
4
 
5
Parnas, D.L., "Designing Software for Ease of Extension and Contraction", Transaction on Software Engineering, SE-5(2), 1979
 
6
Jackson, D., "Module Dependences in Software Design", Post-workshop Proceedings of the 2002 Monterey Workshop: Radical Innovations of Software and Systems Engineering in the Future (Venice, Italy October 7-11, 2002). Springer Verlag, 2003.
7
 
8
 
9
Gebala, David A. and Eppinger, Steven D., "Methods for Analyzing Design Procedures", Proceedings of the ASME Third International Conference on Design Theory and Methodology, pp. 227--233, 1991.
 
10
Warfield, John N., "Binary Matrices in System Modeling" IEEE Transactions on Systems, Man, and Cybernetics, vol. 3, pp. 441--449, 1973.
 
11
 
12
The Haystack Project. MIT Computer Science and Artificial Intelligence Laboratory. http://haystack.lcs.mit.edu/.
 
13
Browning, T. "Applying the Design Structure Matrix to System Decomposition and Integration problems: A Review and New Directions". IEEE Transactions on Engineering management, Vol. 48, No. 3, August 2001.
 
14
Pimmler, Thomas U. and Eppinger, Steven D., "Integration Analysis of Product Decompositions", Proceedings of the ASME Sixth International Conference on Design Theory and Methodology, Minneapolis, MN, Sept., 1994.
 
15
Fernandez, CIG, "Integration Analysis of Product Architecture to Support Effective Team Co-location", Master's Thesis (ME), MIT 1998.
 
16
H. A. Muller, K. Wong, and S. R. Tilley. "Understanding software systems using reverse engineering technology." The 62nd Congress of L'Association Canadienne Francaise pour l'Avancement des Sciences Proceedings (ACFAS 1994).
 
17
18
 
19
Alan MacCormack, John Rusnak and Carliss Baldwin, "Exploring the Structure of Complex Software Designs: An Empirical Study of Open Source and Proprietary Code", Harvard Business School Working Paper Number 05-016.
 
20
 
21
 
22
Yassine, Ali, "An Introduction to Modeling and Analyzing Complex Product Development Processes Using the Design Structure Matrix (DSM) Method", Quaderni di Management (Italian Management Review), www.quaderni-di-management.it, No.9, 2004.

CITED BY  11

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