|
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
|
|
|
|
|
Neeraj Sangal , Ev Jordan , Vineet Sinha , Daniel Jackson, Using dependency models to manage software architecture, Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
|
|
|
|
|
|
|
|
|
|
|
Vineet Sinha , Elizabeth L. Murnane , Scott W. Kurth , Edy S. Liongosari , Rob Miller , David Karger, Understanding code architectures via interactive exploration and layout of layered diagrams, Companion to the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications, October 19-23, 2008, Nashville, TN, USA
|
|
|
|
|
|
Bedir Tekinerdogan , Frank Scholten , Christian Hofmann , Mehmet Aksit, Concern-oriented analysis and refactoring of software architectures using dependency structure matrices, Proceedings of the 15th workshop on Early aspects, March 03-03, 2009, Charlottesville, Virginia, USA
|
|
|
|
|
|
|
|
|
|
|