Skip to main content

Non-synchronous Communications in Process Algebraic Architectural Description Languages

  • Conference paper
Software Architecture (ECSA 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5292))

Included in the following conference series:

Abstract

Architectural description languages are a useful tool for modeling complex software systems at a high level of abstraction and, if based on formal methods, for enabling the early verification of various properties among which correct component coordination. This is the case with process algebraic architectural description languages, as they have been equipped with several techniques for verifying the absence of coordination mismatches in the case of synchronous communications. The objective of this paper is twofold. On the modeling side, we show how to enhance the expressiveness of a typical process algebraic architectural description language by including the capability of representing non-synchronous communications, in such a way that the usability of the original language is preserved. On the analysis side, we show how to modify the compatibility check for acyclic topologies and the interoperability check for cyclic topologies, in such a way that both checks can still be applied in the presence of non-synchronous communications.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

  3. Bernardo, M., Ciancarini, P., Donatiello, L.: Architecting Families of Software Systems with Process Algebras. ACM Trans. on Software Engineering and Methodology 11, 386–426 (2002)

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  5. Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and Evaluation of a Wide-Area Event Notification Service. ACM Trans. on Computer Systems 19, 332–383 (2001)

    Article  Google Scholar 

  6. Gelernter, D.: Generative Communication in Linda. ACM Trans. on Programming Languages and Systems 7, 80–112 (1985)

    Article  MATH  Google Scholar 

  7. Inverardi, P., Wolf, A.L., Yankelevich, D.: Static Checking of System Behaviors Using Derived Component Assumptions. ACM Trans. on Software Engineering and Methodology 9, 239–272 (2000)

    Article  Google Scholar 

  8. Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. Wiley, Chichester (1999)

    MATH  Google Scholar 

  9. Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  10. Oquendo, F.: π-ADL: An Architecture Description Language Based on the Higher-Order Typed π-Calculus for Specifying Dynamic and Mobile Software Architectures. ACM Software Engineering Notes 29(3), 1–14 (2004)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ron Morrison Dharini Balasubramaniam Katrina Falkner

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bernardo, M., Bontà, E. (2008). Non-synchronous Communications in Process Algebraic Architectural Description Languages. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds) Software Architecture. ECSA 2008. Lecture Notes in Computer Science, vol 5292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88030-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88030-1_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88029-5

  • Online ISBN: 978-3-540-88030-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics