The value of approaching software design using architecture-based software methods is presented in this paper. Architecture description languages (ADLs) provide a well-defined syntax to define architectural entities. Each ADL has a formalism to represent the static and dynamic description of the elements of software architecture: system components, connectors (bindings), interfaces, and all that is needed by the ADL model. By using ADLs, we can do approximations with high-level models of software systems, not with the “source code.”
Most previous work has been done using static descriptions or dynamic ones where the specification does not scale. However, complex software systems (such as the reconfiguration of component connections) require that their architecture change at run time. Parallel architecture description language (PADL), outlined in the paper, is able to specify software architectures in a scalable way. In addition, the language has the capacity to construct and/or destruct components, with transparency for the architects.
This paper is primarily a research document, but could also be used as source material for classroom discussions in computer science or software engineering. The objective of the paper, to describe the advantages of PADL with respect to other ADLs, is clearly and precisely presented. This objective is fulfilled with clear explanations and examples that clarify and show the applicability of the author’s work.
This paper is a development of previous work proposed by the author in several forums. The references are good, and are sufficient for a basic understanding of the subject and problem.
This is a clear, precise paper on the evolution of ADLs. A background in algebra and logic is necessary in order to obtain maximum benefit from the work.