ACM Home Page
Please provide us with feedback. Feedback
Architecting families of software systems with process algebras
Full text PdfPdf (359 KB)
Source ACM Transactions on Software Engineering and Methodology (TOSEM) archive
Volume 11 ,  Issue 4  (October 2002) table of contents
Pages: 386 - 426  
Year of Publication: 2002
ISSN:1049-331X
Authors
Marco Bernardo  University of Urbino---Italy
Paolo Ciancarini  University of Urbino---Italy
Lorenzo Donatiello  University of Bologna---Italy
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 88,   Citation Count: 10
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/606612.606614
What is a DOI?

ABSTRACT

Software components can give rise to several kinds of architectural mismatches when assembled together in order to form a software system. A formal description of the architecture of the resulting component-based software system may help to detect such architectural mismatches and to single out the components that cause the mismatches. In this article, we concentrate on deadlock-related architectural mismatches arising from three different causes that we identify: incompatibility between two components due to a single interaction, incompatibility between two components due to the combination of several interactions, and lack of interoperability among a set of components forming a cyclic topology. We develop a process algebra-based architectural description language called PADL, which deals with all three causes through an architectural compatibility check and an architectural interoperability check relying on standard observational equivalences. The adequacy of the architectural compatibility check is assessed on a compressing proxy system, while the adequacy of the architectural interoperability check is assessed on a cruise control system. We then address the issue of scaling the architectural compatibility and interoperability checks to architectural styles through an extension of PADL. The formalization of an architectural style is complicated by the presence of two degrees of freedom within the set of instances of the style: variability of the internal behavior of the components and variability of the topology formed by the components. As a first step towards the solution of the problem, we propose an intermediate abstraction called architectural type, whose instances differ only for the internal behavior of their components. We define an efficient architectural conformity check based on a standard observational equivalence to verify whether an architecture is an instance of an architectural type. We show that all the architectures conforming to the same architectural type possess the same compatibility and interoperability properties.


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
 
3
 
4
5
 
6
Bernardo, M. 2002. TwoTowers 2.0 User Manual. http://www.sti.uniurb.it/bernardo/twotowers/.
7
 
8
 
9
 
10
 
11
 
12
Bravetti, M. and Bernardo, M. 2000. Compositional asymmetric cooperations for process algebras with probabilities, priorities, and time. In Proceedings of the 1st International Workshop on Models for Time Critical Systems (MTCS 2000). ENTCS, vol. 39(3). Elsevier, Amsterdam, The Netherlands.
 
13
 
14
 
15
Davio, M. 1981. Kronecker products and shuffle algebra. IEEE Trans. Comput. 30, 116--125.
 
16
 
17
DeRemer, F. and Kron, H. H. 1976. Programming-in-the-large versus programming-in-the-small. IEEE Trans. Softw. Eng. 2, 80--86.
 
18
van Glabbeek, R. J. 2001. The linear time-branching time spectrum I. The semantics of concrete, sequential processes. In Handbook of Process Algebra, Bergstra, J. A., Ponse, A., and Smolka, S. A., Eds. Elsevier, 3--99.
 
19
 
20
 
21
22
 
23
 
24
 
25
 
26
 
27
28
 
29
 
30

CITED BY  10


REVIEW

"Carlos G. Said : Reviewer"

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 re  more...

Collaborative Colleagues:
Marco Bernardo: colleagues
Paolo Ciancarini: colleagues
Lorenzo Donatiello: colleagues