Skip to main content

Component-Based Programming of Distributed Applications

  • Chapter
  • First Online:
Book cover Advances in Distributed Systems

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1752))

Abstract

The software architecture research domain arose in the early 90s and seeks solutions for easing the development of large, complex, software systems based on the abstract description of their software architectures. This research field is quite recent and there still does not exist a consensus on what should be the description of a software architecture. However, guidelines are already provided. In particular, it is now accepted that an architecture definition decomposes into three types of elements: component, connector, and configuration, which respectively correspond to a computation unit, an interaction unit and an architecture. It is also admitted that the description of an architecture should rely on a well-defined set of notations, generically referred to as architecture description languages. This document gives an overview of the capabilities offered by development environments based on the architecture paradigm. In a first step, we examine basic features of architecture description languages, which may be seen as their common denominator although existing languages already differ from that standpoint. We then concentrate on two specific environments, developed by members of the Broadcast working group, which aim at easing the implementation of distributed applications out of existing components. The Aster environment from the Solidor group at Inria-Irisa provides means for the systematic synthesis of middleware from non-functional requirements of applications. The Olan environment from the Sirac group at Inria-Grenoble offers support for the deployment of distributed applications composed of heterogeneous software elements.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. R. Allen. A Formal Approach to Software Architecture. PhD thesis, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, Pa, Usa, 1997.

    Google Scholar 

  2. R. Allen and D. Garlan. A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology, 6(3):213–249, 1997.

    Article  Google Scholar 

  3. R. Balter, L. Bellissard, F. Boyer, M. Riveill, and J.Y. Vion-Dury. Architecturing and configuring distributed applications with olan. In Proc. IFIP Int. Conf. on Distributed Systems Platforms and Open Distributed Processing (Middleware’98), 1998.

    Google Scholar 

  4. L. Bellissard, S. Ben Atallah, F. Boyer, and M. Riveill. Distributed application configuration. In Proc. 16th International Conference on Distributed Computing Systems, 1996.

    Google Scholar 

  5. L. Bellissard, S. Ben Atallah, A. Kerbrat, and M. Riveill. Component-based programming and application management with Olan. In Proceedings of the Object Based Distributed and Parallel Computation Franco-Japan Workshop (OBDPC’95), 1995.

    Google Scholar 

  6. L. Bellissard, F. Boyer, M. Riveill, and J. Vion-Dury. System services for distributed application configuration. In Proceedings of the Fourth International Conference on Configurable Distributed Systems, 1998.

    Google Scholar 

  7. P. A. Bernstein. Middleware: A model for distributed system services. Communications of the ACM, 39(2):86–98, 1996.

    Article  Google Scholar 

  8. C. Bidan and V. Issarny. Security benefits from software architecture. In Proceedings of Coordination’97: Coordination Languages and Models, pages 64–80, 1997.

    Google Scholar 

  9. C. Bidan and V. Issarny. Dealing with multi-policy security in large open distributed systems. In Proceedings of the Fifth European Symposium on Research in Computer Security, pages 51–66, 1998.

    Google Scholar 

  10. J. Bishop and R. Faria. Connectors in configuration programming languages: Are they necessary. In Proceedings of the Third International Conference on Configurable Distributed Systems, pages 11–18, 1996.

    Google Scholar 

  11. N. Bjorner, A. Browne, M. Colon, B. Finkbeiner, Z. Manna, M. Pichora, H. M. Sipma, and T. E. Uribe. STeP: The Stanford Temporal Prover Educational Release. Technical report, Stanford University, 1998. 1.4-a edition.

    Google Scholar 

  12. J. R. Callahan and J. M. Purtilo. A packaging system for heterogenous execution environments. IEEE Transactions on Software Engineering, 17(6):626–635, 1991.

    Article  Google Scholar 

  13. Y. Chen and B. H. C. Cheng. Facilitating an automated approach to architecture-based software reuse. In Proceedings of the IEEE International Conference on Automated Software Engineering, pages 238–245, 1997.

    Google Scholar 

  14. F. DeRemer and H. Kron. Programming-in-the-large versus programming-in-the-small. IEEE Transactions on Software Engineering, 2(2):80–86, 1976.

    Article  MathSciNet  Google Scholar 

  15. P. Donohe, editor. Software Architecture. Kluwer Academic Publishers, 1999.

    Google Scholar 

  16. D. Garlan, R. Allen, and J. Ockerbloom. Exploiting style in architectural design environments. In Proceedings of the ACM SIGSOFT’94 Symposium on Foundations of Software Engineering, pages 175–188, 1994.

    Google Scholar 

  17. D. Garlan, R. Monroe, and D. Wile. Acme: An architecture interchange language. Technical report, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, Pa, Usa, 1997. http://www.cs.cmu.edu/afs/cs/project/able/www/-papers.html

    Google Scholar 

  18. D. Garlan and D. E. Perry. Introduction to the special issue on software architecture. IEEE Transactions on Software Engineering, 21(4):269–274, 1995.

    Google Scholar 

  19. V. Issarny. Configuration-based programming systems. In Proceedings of SOFSEM’97: Theory and Practice of Informatics, pages 183–200, 1997.

    Google Scholar 

  20. V. Issarny, C. Bidan, and T. Saridakis. Achieving middleware customization in a configuration-based development environment: Experience with the Aster prototype. In Proceedings of the Fourth International Conference on Configurable Distributed Systems, pages 275–283, 1998.

    Google Scholar 

  21. V. Issarny, C. Bidan, and T. Saridakis. Characterizing coordination architectures according to their non-functional execution properties. In Proceedings of the Thirty First Hawaii International Conference on System Sciences, pages 275–285, 1998.

    Google Scholar 

  22. V. Issarny, T. Saridakis, and A. Zarras. Multi-view description of software architectures. In Proceedings of the Third ACM SIGSOFT Software Architecture Workshop, 1998.

    Google Scholar 

  23. B. Janssen and M. Spreitzer. ILU 2.0alpha10 Reference Manual. Technical report, Xerox Corporation, Palo Alto, CA, 1996.

    Google Scholar 

  24. J. Kramer and J. Magee. Exposing the skeleton in the coordination closet. In Proceedings of Coordination’97: Coordination Languages and Models, pages 18–31, 1997. LNCS 1282.

    Chapter  Google Scholar 

  25. D. Le Métayer. Software architecture styles as graph grammars. In Proceedings of the ACM SIGSOFT’96 Symposium on Foundations of Software Enineering, pages 15–23, 1996.

    Google Scholar 

  26. D. C. Luckham, J. J. Kenney, L. M. Augustin, J. Vera, D. Bryan, and W. Mann. Speciffication and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering, 21(4):336–355, 1995.

    Article  Google Scholar 

  27. J. Magee and J. Kramer. Dynamic structure in software architecture. In Proceedings of the ACM SIGSOFT’96 Symposium on Foundations of Software Engineering, pages 3–14, 1996.

    Google Scholar 

  28. J. Magee, J. Kramer, and M. Sloman. Regis: A constructive development environment for distributed programs. Distributed Systems Engineering, 1(5):663–675, 1994.

    Article  Google Scholar 

  29. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1992.

    Google Scholar 

  30. N. Medvidovic and R. Taylor. A framework for classifying and comparing architecture description languages. In Proceedings of the Joint European Software Engineering Conference-ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 60–76, 1997.

    Google Scholar 

  31. A. Mili, R. Mili, and R. Mittermeir. Storing and retrieving software components: A refinement based system. In Proceedings of the Sixteenth International Conference on Software Engineering, pages 91–100, 1994.

    Google Scholar 

  32. M. Moriconi, X. Qian, and R. A. Riemenschneider. Correct architecture refinement. IEEE Transactions on Software Engineering, 21(4):356–372, 1995.

    Article  Google Scholar 

  33. OMG. Object management architecture guide (oma guide). Technical Report 92.11.1, OMG, 1992. http://http.omg.org

  34. D. E. Perry. The Inscape environment. In Proceedings of the Eleventh International Conference on Software Engineering, pages 2–12, 1989.

    Google Scholar 

  35. D. E. Perry and A. L. Wolf. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes, 17(4):40–52, 1992.

    Article  Google Scholar 

  36. J. M. Purtilo. The Polylith software bus. ACM Transactions on Programming Languages and Systems, 16(1):151–174, 1994.

    Article  Google Scholar 

  37. Rossum Van R. Python Reference Manual. Technical report, Dept. AA., CWI, 1995.

    Google Scholar 

  38. T. Saridakis and V. Issarny. Developing dependable systems using software architecture. In Software Architecture, 1999.

    Google Scholar 

  39. M. Shaw, R. DeLine, D. Klein, T. Ross, D. Young, and G. Zelesnik. Abstractions for software architecture and tools to support them. IEEE Transactions on Software Engineering, 21(4):314–335, 1995.

    Article  Google Scholar 

  40. M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Disciplines. Prentice Hall, 1996.

    Google Scholar 

  41. J.-Y. Vion-Dury, L. Bellisssard, and V. Marangozov. A component calculus for modelling the olan configuration language. In Proc. Second Int. Conf. on Coordination Models and Languages, (COORDINATION’97), 1997.

    Google Scholar 

  42. A. Zarras and V. Issarny. A framework for systematic synthesis of transactional middleware. In Proceedings of Middleware98-IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing, pages 257–274, 1998.

    Google Scholar 

  43. A. Zarras, P. Tuma, and V. Issarny. Using software architecture for the systematic synthesis of middleware. Submitted for publication, 1999.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Issarny, V., Bellissard, L., Riveill, M., Zarras, A. (2000). Component-Based Programming of Distributed Applications. In: Krakowiak, S., Shrivastava, S. (eds) Advances in Distributed Systems. Lecture Notes in Computer Science, vol 1752. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46475-1_14

Download citation

  • DOI: https://doi.org/10.1007/3-540-46475-1_14

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67196-1

  • Online ISBN: 978-3-540-46475-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics