This paper is intended for an audience familiar with the structural and operational aspects of software architectures. It offers a solid and systematic explanation of its topics, and applies a common architectural vocabulary, Extensible Markup Language (XML), and colored Petri nets.
The authors outline the challenge of creating and adopting an agile software architecture to continuously represent an implemented system. This is an ambiguous requirement for dynamic structures and behaviors. The approach chosen, however, is an interpretative one; it is an approach described in previously published work. Also described in previously published papers are the limitations of such a formalized approach in reflecting changed components and connectors. The latest developments, like schema evolution and partial compilation, never appear, either as ideas or in the reference list. Another big minus is the omission of any architectural operations.
In their introduction, the authors describe the challenges and benefits of dynamically detecting software architectural structures. The tool DiscoTect, for discovering dynamic architectures, is introduced in section 2. Section 3 addresses implementation details, and is followed by an overview of related work (section 4). In their conclusion, the authors sum up the drawbacks of the chosen approach, and the discrepancies between their vision and realized work.
The authors employ a well-defined, homogeneous vocabulary, which allows the reader to follow their explanations easily. The clear structure of the paper, and the systematic description of the tool DiscoTect, enables the reader to easily identify and understand the method applied and the results achieved. The graphical and formal means of expression, which are consistently applied throughout the entire text, illustrating the structure and operation of DiscoTect, are solidly reproducible.