Communications of the ACM
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Tcl and the Tk toolkit
Introduction to Expert Systems
Introduction to Expert Systems
An approach to software architecture analysis for evolution and reusability
CASCON '97 Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research
Evaluating Architectural Extractors
WCRE '98 Proceedings of the Working Conference on Reverse Engineering (WCRE'98)
View Extraction and View Fusion in Architectural Understanding
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Hi-index | 0.00 |
Graphical descriptions of software architectures often focus on static call and data relationships between components gathered by parsing source code. These types of architecture graphs can exhibit extremely high connectivity and possess little contextual information with respect to the nature of the relationships between components. This paper illustrates a technique and notation for extracting and graphically representing dynamic component-level interactions obtained at runtime during important scenarios of code execution. A case study of the extraction of a concrete architecture and its fusion with runtime information to create dynamic architectural views is used to illustrate the technique and notation. In this technique, low level executable components are successively grouped into abstracted components using an architecture extraction tool. This grouping creates a static structural view of the system. Dynamic interactions or low-level call sequences are obtained from debugger call stack information. The grouping relationships allow interactions to be abstracted and depicted as ordered and directed edges between the higher level components. The illustration of dynamic interactions within the abstract concrete components has the potential to reduce the cognitive distance from the initial concept of a system to the concrete implementation details. The approach is illustrated using the C language integrated production rule system (CLIPS 5.1).