Abstract
Enhancing the usability of process algebra on the modeling side must be accompanied by an analogous effort on the verification side. At the architectural design level, it is important to detect mismatches stemming from the inappropriate assembly of several software units, which are correct when considered in isolation. In this chapter, we present a topological reduction process based on behavioral equivalences called MismDet, which exploits their congruence properties for efficiency reasons and their modal logic characterizations for diagnostic purposes. It investigates the absence of architectural mismatches in a component-oriented fashion by examining star-shaped and cycle-shaped topological portions. The application of the two techniques corresponding to the two topological formats, called architectural compatibility check and architectural interoperability check, is exemplified through the verification of a compressing proxy system and of a cruise control system.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
A. Aldini and M. Bernardo, On the Usability of Process Algebra: An Architectural View, Theoretical Computer Science 335:281–329, 2005.
R. Allen and D. Garlan, A Formal Basis for Architectural Connection, ACM Transactions on Software Engineering and Methodology 6:213–249, 1997.
M. Bernardo and E. Bontà, Generating Well-Synchronized Multithreaded Programs from Software Architecture Descriptions, in Proc. of the 4th Working IEEE/IFIP Conf. on Software Architecture (WICSA 2004), IEEE-CS Press, pp. 167–176, Oslo (Norway), 2004.
M. Bernardo and E. Bontà, Preserving Architectural Properties in Multithreaded Code Generation, in Proc. of the 7th Int. Conf. on Coordination Models and Languages (COORDINATION 2005), Springer, LNCS 3454:188–203, Namur (Belgium), 2005.
M. Bernardo, E. Bontà, and A. Aldini, Handling Communications in Process Algebraic Architectural Description Languages: Modeling, Verification, and Implementation, Journal of Systems and Software, 2010 in press.
M. Bernardo, P. Ciancarini, and L. Donatiello, Architecting Families of Software Systems with Process Algebras, ACM Transactions on Software Engineering and Methodology 11:386–426, 2002.
A. Bertolino, F. Corradini, P. Inverardi, and H. Muccini, Deriving Test Plans from Architectural Descriptions, in Proc. of the 22nd Int. Conf. on Software Engineering (ICSE 2000), ACM Press, pp. 220–229, Limerick (Ireland), 2000.
A. Bertolino, P. Inverardi, and H. Muccini, An Explorative Journey from Architectural Tests Definition downto Code Tests Execution, in Proc. of the 23rd Int. Conf. on Software Engineering (ICSE 2001), ACM Press, pp. 211–220, Toronto (Canada), 2001.
E. Bontà, M. Bernardo, J. Magee, and J. Kramer, Synthesizing Concurrency Control Components from Process Algebraic Specifications, in Proc. of the 8th Int. Conf. on Coordination Models and Languages (COORDINATION 2006), Springer, LNCS 4038:28–43, Bologna (Italy), 2006.
A. Bracciali, A. Brogi, and C. Canal, A Formal Approach to Component Adaptation, Journal of Systems and Software 74:45–54, 2005.
C. Canal, E. Pimentel, and J.M. Troya, Compatibility and Inheritance in Software Architectures, Science of Computer Programming 41:105–138, 2001.
E.M. Clarke, O. Grumberg, and D.A. Peled, Model Checking, MIT Press, Cambridge (MA), 1999.
R. Cleaveland and O. Sokolsky, Equivalence and Preorder Checking for Finite-State Systems, in Handbook of Process Algebra, Elsevier, pp. 391–424, Amsterdam (The Netherlands), 2001.
D. Garlan, R. Allen, and J. Ockerbloom, Architectural Mismatch: Why Reuse Is So Hard, IEEE Software 12(6):17–26, 1995.
S. Graf, B. Steffen, and G. Lüttgen, Compositional Minimization of Finite State Systems Using Interface Specifications, Formal Aspects of Computing 8:607–616, 1996.
P. Inverardi and S. Uchitel, Proving Deadlock Freedom in Component-Based Programming, in Proc. of the 4th Int. Conf. on Fundamental Approaches to Software Engineering (FASE 2001), Springer, LNCS 2029:60–75, Genoa (Italy), 2001.
P. Inverardi, A.L. Wolf, and D. Yankelevich, Static Checking of System Behaviors Using Derived Component Assumptions, ACM Transactions on Software Engineering and Methodology 9:239–272, 2000.
J. Kramer and J. Magee, Exposing the Skeleton in the Coordination Closet, in Proc. of the 2nd Int. Conf. on Coordination Models and Languages (COORDINATION 1997), Springer, LNCS 1282:18–31, Berlin (Germany), 1997.
M. Tivoli and P. Inverardi, Failure-Free Coordinators Synthesis for Component-Based Architectures, Science of Computer Programming 71:181–212, 2008.
D.M. Yellin and R.E. Strom, Protocol Specifications and Component Adaptors, ACM Transactions on Programming Languages and Systems 19:292–333, 1997.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2010 Springer-Verlag London
About this chapter
Cite this chapter
Aldini, A., Corradini, F., Bernardo, M. (2010). Component-Oriented Functional Verification. In: A Process Algebraic Approach to Software Architecture Design. Springer, London. https://doi.org/10.1007/978-1-84800-223-4_5
Download citation
DOI: https://doi.org/10.1007/978-1-84800-223-4_5
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-84800-222-7
Online ISBN: 978-1-84800-223-4
eBook Packages: Computer ScienceComputer Science (R0)