search menu icon-carat-right cmu-wordmark

Discovering Architectures from Running Systems: Lessons Learned

Technical Report
This report describes a technique that uses automatically generated runtime observations of an executing system to construct an architectural view of the system.
Publisher

Software Engineering Institute

CMU/SEI Report Number
CMU/SEI-2004-TR-016
DOI (Digital Object Identifier)
10.1184/R1/6573176.v1

Abstract

One of the challenging problems for software developers is guaranteeing that a system as built is consistent with its architectural design. This report describes a technique that uses automatically generated runtime observations of an executing system to construct an architectural view of the system. In this technique, mappings are developed that exploit regularities in system implementation and architectural style. These mappings describe how low-level system events can be interpreted as more abstract architectural operations. In addition, this report describes the current implementation of a tool, called DiscoTect, that uses these mappings, and it shows how DiscoTect can highlight inconsistencies between implementations and architectures. Furthermore, two case studies are provided that illustrate how DiscoTect works and how it can be applied to real-world systems.

Cite This Technical Report

Yan, H., Aldrich, J., Garlan, D., Kazman, R., & Schmerl, B. (2004, December 1). Discovering Architectures from Running Systems: Lessons Learned. (Technical Report CMU/SEI-2004-TR-016). Retrieved March 2, 2024, from https://doi.org/10.1184/R1/6573176.v1.

@techreport{yan_2004,
author={Yan, Hong and Aldrich, Jonathan and Garlan, David and Kazman, Rick and Schmerl, Bradley},
title={Discovering Architectures from Running Systems: Lessons Learned},
month={Dec},
year={2004},
number={CMU/SEI-2004-TR-016},
howpublished={Carnegie Mellon University, Software Engineering Institute's Digital Library},
url={https://doi.org/10.1184/R1/6573176.v1},
note={Accessed: 2024-Mar-2}
}

Yan, Hong, Jonathan Aldrich, David Garlan, Rick Kazman, and Bradley Schmerl. "Discovering Architectures from Running Systems: Lessons Learned." (CMU/SEI-2004-TR-016). Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, December 1, 2004. https://doi.org/10.1184/R1/6573176.v1.

H. Yan, J. Aldrich, D. Garlan, R. Kazman, and B. Schmerl, "Discovering Architectures from Running Systems: Lessons Learned," Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, Technical Report CMU/SEI-2004-TR-016, 1-Dec-2004 [Online]. Available: https://doi.org/10.1184/R1/6573176.v1. [Accessed: 2-Mar-2024].

Yan, Hong, Jonathan Aldrich, David Garlan, Rick Kazman, and Bradley Schmerl. "Discovering Architectures from Running Systems: Lessons Learned." (Technical Report CMU/SEI-2004-TR-016). Carnegie Mellon University, Software Engineering Institute's Digital Library, Software Engineering Institute, 1 Dec. 2004. https://doi.org/10.1184/R1/6573176.v1. Accessed 2 Mar. 2024.

Yan, Hong; Aldrich, Jonathan; Garlan, David; Kazman, Rick; & Schmerl, Bradley. Discovering Architectures from Running Systems: Lessons Learned. CMU/SEI-2004-TR-016. Software Engineering Institute. 2004. https://doi.org/10.1184/R1/6573176.v1