A technique for illustrating dynamic component level interactions within a software architecture

  • Authors:
  • Chris Pal

  • Affiliations:
  • Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada N2L 3G1 and Computing Research Laboratory for the Environment (CRLE), University of Guelph, Guelph, Ontario, Canad ...

  • Venue:
  • CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

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).