Skip to main content

Component-Oriented Functional Verification

  • Chapter
  • First Online:
  • 605 Accesses

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. A. Aldini and M. Bernardo, On the Usability of Process Algebra: An Architectural View, Theoretical Computer Science 335:281–329, 2005.

    Article  MathSciNet  MATH  Google Scholar 

  2. R. Allen and D. Garlan, A Formal Basis for Architectural Connection, ACM Transactions on Software Engineering and Methodology 6:213–249, 1997.

    Article  Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Article  Google Scholar 

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

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. A. Bracciali, A. Brogi, and C. Canal, A Formal Approach to Component Adaptation, Journal of Systems and Software 74:45–54, 2005.

    Article  Google Scholar 

  11. C. Canal, E. Pimentel, and J.M. Troya, Compatibility and Inheritance in Software Architectures, Science of Computer Programming 41:105–138, 2001.

    Article  MathSciNet  Google Scholar 

  12. E.M. Clarke, O. Grumberg, and D.A. Peled, Model Checking, MIT Press, Cambridge (MA), 1999.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. D. Garlan, R. Allen, and J. Ockerbloom, Architectural Mismatch: Why Reuse Is So Hard, IEEE Software 12(6):17–26, 1995.

    Article  Google Scholar 

  15. 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.

    Article  MATH  Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Article  Google Scholar 

  18. 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.

    Google Scholar 

  19. M. Tivoli and P. Inverardi, Failure-Free Coordinators Synthesis for Component-Based Architectures, Science of Computer Programming 71:181–212, 2008.

    Article  MathSciNet  MATH  Google Scholar 

  20. D.M. Yellin and R.E. Strom, Protocol Specifications and Component Adaptors, ACM Transactions on Programming Languages and Systems 19:292–333, 1997.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alessandro Aldini .

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics