Skip to main content

Architectural Building Blocks for Plug-and-Play System Design

  • Conference paper
Component-Based Software Engineering (CBSE 2006)

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

Included in the following conference series:

Abstract

One of the distinguishing features of distributed systems is the importance of the interaction mechanisms that are used to define how the sequential components interact with each other. Given the complexity of the behavior that is being described and the large design space of various alternatives, choosing appropriate interaction mechanisms is difficult. In this paper, we propose a component-based specification approach that allows designers to experiment with alternative interaction semantics. Our approach is also integrated with design-time verification to provide feedback about the correctness of the overall system design. In this approach, connectors representing specific interaction semantics are composed from reusable building blocks. Standard communication interfaces for components are defined to reduce the impact of changing interactions on components’ computations. The increased reusability of both components and connectors also allows savings at model-construction time for finite-state verification.

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

Access this chapter

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

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. on Softw. Eng. and Methodol., 140–165 (1997)

    Google Scholar 

  2. Shaw, M., Garlan, D.: Softw. Architecture:Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    Google Scholar 

  3. Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying distributed software architectures. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989, pp. 137–153. Springer, Heidelberg (1995)

    Google Scholar 

  4. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  5. Holzmann, G.J.: The Spin Model Checker. Addison-Wesley, Boston (2004)

    Google Scholar 

  6. McMillan, K.L.: Symbolic Model Checking: An approach to the State Explosion Problem. Kluwer Academic Publishers, Dordrecht (1993)

    Google Scholar 

  7. Magee, J., Kramer, J.: Concurrency State Models and Java Programs. John Wiley and Sons, Chichester (1999)

    Google Scholar 

  8. Dwyer, M.B., Clarke, L.A., Cobleigh, J.M., Naumovich, G.: Flow analysis for verifying properties of concurrent software systems. ACM Trans. on Softw. Eng. and Methodol. 13(4), 359–430 (2004)

    Article  Google Scholar 

  9. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall Intl., Englewood Cliffs (1985)

    MATH  Google Scholar 

  10. Carriero, N., Gelernter, D.: Linda in context. Comm. ACM 32(4), 444–458 (1989)

    Article  Google Scholar 

  11. Snir, M., Otto, S., Huss-Lederman, S., Walker, D., Dongarra, J.: MPI: The Complete Reference. MIT Press, Cambridge (1996)

    Google Scholar 

  12. Wang, S., Avrunin, G.S., Clarke, L.A.: Architectural building blocks for plug-and-play system design. Technical Report UM-CS-2005-16, Dept. of Comp. Sci., Univ. of Massachusetts Amherst (2005)

    Google Scholar 

  13. Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch, or, why it’s hard to build systems out of existing parts. In: Proc. 17th Intl. Conf. on Softw. Eng., Seattle, Washington, pp. 179–185 (1995)

    Google Scholar 

  14. Inverardi, P., Wolf, A.L.: Uncovering architectural mismatch in component behavior. Science of Computer Programming 33(2), 101–131 (1999)

    Article  MATH  Google Scholar 

  15. Bálek, D., Plášil, F.: Software connectors and their role in component deployment. In: Proc. Third Intl. Working Conf. on New Developments in Distributed Applications and Interoperable Systems, Deventer, The Netherlands, pp. 69–84 (2001)

    Google Scholar 

  16. Gensler, T., Lowe, W.: Correct composition of distributed systems. In: Tech. of Object-Oriented Languages and Systems (1999)

    Google Scholar 

  17. Ray, A., Cleaveland, R.: Architectural interaction diagrams: AIDs for system modeling. In: Proc. 25th Intl. Conf. on Softw. Eng., pp. 396–406 (2003)

    Google Scholar 

  18. Arbab, F., Baier, C., Rutten, J.J.M.M., Sirjani, M.: Modeling component connectors in reo by constraint automata (extended abstract). Electr. Notes Theor. Comput. Sci. 97, 25–46 (2004)

    Article  Google Scholar 

  19. Mehta, N.R., Medvidovic, N., Sirjani, M., Arbab, F.: Modeling behavior in compositions of software architectural primitives. In: 19th IEEE Intl. Conf. on Automated Softw. Eng., pp. 371–374 (2004)

    Google Scholar 

  20. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-oriented software architecture: a system of patterns. John Wiley & Sons, Inc., New York, USA (1996)

    Google Scholar 

  21. Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)

    Google Scholar 

  22. Aldrich, J., Chambers, C., Notkin, D.: Archjava: Connecting software architecture to implementation. In: Proc. 26th Intl. Conf. on Softw. Eng., Orlando, FL, USA. ACM, New York (2002)

    Google Scholar 

  23. Spitznagel, B., Garlan, D.: A compositional formalization of connector wrappers. In: Proc. 2003 Intl. Conf. on Softw. Eng., Portland, Oregon (2003)

    Google Scholar 

  24. van der Linden, F.J., Müller, J.K.: Creating architectures with building blocks. IEEE Softw. 12(6), 51–60 (1995)

    Article  Google Scholar 

  25. Hirsch, D., Uchitel, S., Yankelevich, D.: Towards a periodic table of connectors. In: Proc. Third Intl. Conf. on Coordination Languages and Models, London, UK, p. 418 (1999)

    Google Scholar 

  26. Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: Proc. 22nd Intl. Conf. on Softw. Eng., Limerick, Ireland, pp. 178–187 (2000)

    Google Scholar 

  27. Garlan, D., Khersonsky, S., Kim, J.S.: Model checking publish-subscribe systems. In: Proc. 10th Intl. SPIN Workshop on Model Checking of Softw., Portland, Oregon (2003)

    Google Scholar 

  28. Bradbury, J.S., Dingel, J.: Evaluating and improving the automatic analysis of implicit invocation systems. In: Proc. 11th ACM Symp. on Found. of Softw. Eng., Finland (2003)

    Google Scholar 

  29. Zanolin, L., Ghezzi, C., Baresi, L.: An approach to model and validate publish/subscribe architectures. In: Proc. Specification and Verification of Component-Based Systems, Helsinki, Finland, pp. 35–41 (2003)

    Google Scholar 

  30. Giannakopoulou, D., Magee, J.: Fluent model checking for event-based systems. In: Proc. 9th European Softw. Eng. Conf. / 11th ACM SIGSOFT Intl. Symp. on Found. of Softw. Eng., Helsinki, Finland, pp. 257–266 (2003)

    Google Scholar 

  31. Childs, A., Greenwald, J., Ranganath, V.P., Deng, X., Dwyer, M.B., Hatcliff, J., Jung, G., Shanti, P., Singh, G.: Cadena: An integrated development environment for analysis, synthesis, and verification of component-based systems. In: Proc. of Fund. Approaches to Softw. Eng., 7th Intl. Conf., pp. 160–164 (2004)

    Google Scholar 

  32. Caporuscio, M., Inverardi, P., Pelliccione, P.: Compositional verification of middleware-based software architecture descriptions. In: Proc. 26th Intl. Conf. on Softw. Eng., Washington, DC, USA, pp. 221–230. IEEE Computer Society Press, Los Alamitos (2004)

    Chapter  Google Scholar 

  33. Sullivan, K.J., Notkin, D.: Reconciling environment integration and software evolution. ACM Trans. Softw. Eng. Methodol. 1(3), 229–268 (1992)

    Article  Google Scholar 

  34. Achermann, F., Lumpe, M., Schneider, J.G., Nierstrasz, O.: Piccola – a small composition language. In: Bowman, H., Derrick, J. (eds.) Formal Methods for Distributed Processing – A Survey of Object-Oriented Approaches, pp. 403–426. Cambridge University Press, Cambridge (2001)

    Google Scholar 

  35. Medvidovic, N., Rosenblum, D.S., Taylor, R.N.: A language and environment for architecture-based software development and evolution. In: Proc. 21st Intl. Conf. on Soft. Eng., Los Angeles, pp. 44–53 (1999)

    Google Scholar 

  36. van der Hoek, A., Mikic-Rakic, M., Roshandel, R., Medvidovic, N.: Taming architectural evolution. In: Inverardi, P. (ed.) Proc. 8th European Softw. Eng. Conf./ 9th Symp. on the Found. of Softw. Eng., Vienna, pp. 1–10 (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wang, S., Avrunin, G.S., Clarke, L.A. (2006). Architectural Building Blocks for Plug-and-Play System Design. In: Gorton, I., et al. Component-Based Software Engineering. CBSE 2006. Lecture Notes in Computer Science, vol 4063. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11783565_7

Download citation

  • DOI: https://doi.org/10.1007/11783565_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-35628-8

  • Online ISBN: 978-3-540-35629-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics