|
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).
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
|
|
| |
2
|
{2} I. Bowman, S. Siddiqi and M. C. Tanuan, Concrete Architecture of the Linux Kernel. Feb. 12, 1998. University of Waterloo, report for CS746, Software Architectures. Online (April 1998) http://plg.uwaterloo.ca/ ~itbowman/CS746G/a2
|
 |
3
|
Raymond J. A. Buhr , Ronald S. Casselman, Architectures with pictures, conference proceedings on Object-oriented programming systems, languages, and applications, p.466-483, October 18-22, 1992, Vancouver, British Columbia, Canada
|
| |
4
|
{4} C. L. Forgy, Rete: A Fast Algorithm for the Many Pattern/Many Object Pattern Match Problem. Artificial Intelligence vol. 19, pp. 17-37, 1982.
|
| |
5
|
{5} D. Garlan and M. Shaw, An Introduction to Software Architecture, Advances in Software Engineering and Knowledge Engineering, Volume 1, World Scientific Publishing Co., 1993.
|
| |
6
|
{6} J. C. Giarratano, The CLIPS Users Guide 6.05. November 1, 1997 Online (April 1998) http://www.ghgcorp.com/clips/download/ documentation/usrguide.pdf
|
 |
7
|
|
| |
8
|
|
| |
9
|
{9} M. Kamel, J. P. D. Keast and C. Pal, Concrete Architecture of the Linux Kernel. Feb. 12, 1998. University of Waterloo, report for CS746, Online (April 1998) http:// plg.uwaterloo.ca/~holt/cs/746/98/a2.keast.ps
|
| |
10
|
|
| |
11
|
Chung-Horng Lung , Sonia Bot , Kalai Kalaichelvan , Rick Kazman, An approach to software architecture analysis for evolution and reusability, Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research, p.15, November 10-13, 1997, Toronto, Ontario, Canada
|
| |
12
|
{12} J. Keast, An extraction of GAWK. report for CS746, Software Architectures. University of Waterloo. April 1998.
|
| |
13
|
{13} E. Koutsofios and S. C. North, The Dot Users Manual. AT&T Bell Laboratories, Murray Hill, NJ. November 20, 1996. Online (Sept 1998) http://www.research. att.com/sw/tools/graphviz/dotguide.ps.gz
|
| |
14
|
{14} S. Mancoridis, ISF: A Visual Formalism for Specifying Interconnection Styles for Software Design, International Journal of Software Engineering and Knowledge Engineering (to appear, 1998).
|
| |
15
|
{15} H. A. Müller, M. A. Orgun, S. R. Tilley, and J. S. Uhl. A reverse engineering approach to subsystem structure identification. Journal of Software Maintenance: Research and Practice, 5(4), pages 181-204, December 1993.
|
| |
16
|
|
| |
17
|
{17} M. Shaw and P. Clements, A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems, Manuscript, C.S. Dept and Software Engineering Institute, Carnegie Mellon Univ., Pittsburgh, PA 15213.
|
| |
18
|
{18} A. Tateishi, Filtering Run-Time Artifacts Using Software Landscapes. 1994, Masters Thesis. University of Toronto. Department of Computer Science. Online (April 1998) http://www.cs.toronto.edu/~ruhtra/
|
| |
19
|
{19} V. Tzerpos, R. C. Holt and G. Farmaner, Web-Based Presentation of Hierarchic Software Architecture. Workshop on Software Engineering, International Conference on Software Engineering 1997, Boston, May 19, 1997.
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.11
Software Architectures
Subjects:
Languages (e.g., description, interconnection, definition)
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.11
Software Architectures
Subjects:
Patterns (e.g., client/server, pipeline, blackboard)
D.2.6
Programming Environments
Subjects:
Graphical environments
General Terms:
Algorithms,
Design,
Experimentation,
Measurement,
Theory
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE conference on Design automation
Gwo-Dong Chen
, Daniel D. Gajski
|