Skip to main content

Configuration-based programming systems

  • Invited Papers
  • Conference paper
  • First Online:
SOFSEM'97: Theory and Practice of Informatics (SOFSEM 1997)

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

Abstract

This paper provides an overview of configuration-based programming, focusing primarily on associated formal methods aimed at easing the development of correct distributed applications. Briefly stated, configuration-based programming consists of describing an application using a configuration that defines interconnections between software components through connectors characterizing communication protocols. Existing work in the field of formal specification of configurations allows to verify that the interconnections of components are correct with respect to both the functional behaviors of components and the use of protocols within components. In addition, we discuss a way to specify nonfunctional properties provided by configuration elements, hence allowing to reason about the application behavior from the standpoint of resource management policies implemented by the underlying (distributed) runtime system.

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. G. Abowd, R. Allen, and D. Garlan. Using style to understand descriptions of software architecture. In Proceedings of the ACM SIGSOFT'93 Symposium on Foundations of Software Engineering, pages 9–20, 1993.

    Google Scholar 

  2. R. Allen and D. Garlan. Formalizing architectural connection. In Proceedings of the Sixteenth International Conference on Software Engineering, pages 71–80, 1994.

    Google Scholar 

  3. M. R. Barbacci, D. L. Doubleday, M. J. Gardner, R. W. Lichota, and C. B. Weinstock. Durra: A Task-Level Description Language-Reference Manual (Version 3). Technical Report 18, Software Engineering Institute, 1991.

    Google Scholar 

  4. C. Bidan and V. Issarny. Security Benefits from Software Architecture. In Proceedings of Coordination'97: Coordination Languages and Models, 1997. LNCS.

    Google Scholar 

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

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

    Google Scholar 

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

  8. C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12:576–580, 1969.

    Google Scholar 

  9. C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall International, 1985.

    Google Scholar 

  10. V. Issarny and C. Bidan. Aster: A corba-based software interconnection system supporting distributed system customization. In Proceedings of the Third International Conference on Configurable Distributed Systems, pages 194–201, 1996.

    Google Scholar 

  11. V. Issarny and C. Bidan. Aster: A framework for sound customization of distributed runtime systems. In Proceedings of the Sixteenth IEEE International Conference on Distributed Computing Systems, pages 586–593, 1996.

    Google Scholar 

  12. V. Issarny, C. Bidan, and T. Saridakis. Designing an open-ended distributed file system in Aster. In Proceedings of the Ninth International Conference on Parallel and Distributed Computing Systems, pages 163–168, 1996.

    Google Scholar 

  13. D. Le Metayer. Software architecture styles as graph grammars. In Proceedings of the ACM SIGSOFT'96 Symposium on Foundations of Software Engineering, pages 15–23, 1996.

    Google Scholar 

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

    Google Scholar 

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

  16. J. Magee, J. Kramer, and M. Sloman. Constructing distributed systems in Conic. IEEE Transactions on Software Engineering, 15(6):663–675, 1989.

    Google Scholar 

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

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

    Google Scholar 

  19. OMG. Object Management Architecture Guide (OMA Guide). Technical Report 92.11.1, OMG, 1992. ftp: omg.org.

    Google Scholar 

  20. OMG. Common Object Services Specification, Volume 1 — Revision 1.0. Technical Report 94.1.1, OMG Document, 1994. ftp: omg.org.

    Google Scholar 

  21. OMG. Object Transaction Service. Technical Report 94.8.4, OMG Document, 1994. ftp: omg.org.

    Google Scholar 

  22. OMG. The Common Object Request Broker: Architecture and Specification Revision 2.0. Technical report, OMG Document, 1995. ftp: omg.org.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  25. E. J. Rollins and J. M. Wing. Specifications as search keys for software libraries. In Proceedings of the Eighth International Conference on Logic Programming, pages 173–187, 1991.

    Google Scholar 

  26. T. Saridakis, C. Bidan, and V. Issarny. A programming system for the development of TINA services. In Proceedings of the Joint IFIP International Conference on Open Distributed Processing and Distributed Platforms, pages 3–14, 1997.

    Google Scholar 

  27. T. Saridakis and V. Issarny. Towards formal reasoning on failure behaviors. In Second European Research Seminar on Advances In Distributed Systems (ERSADS), 1997.

    Google Scholar 

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

    Google Scholar 

  29. TINA-C. Overall Concepts and Principle of Tina — Version 1.0. Technical Report TB_MDC.018_1.0-94, TINA-C Document, 1995. URL: http://www.tinac.com.

    Google Scholar 

  30. A. M. Zaremski and J. M. Wing. Specification matching of software components. In Proceedings of the ACM SIGSOFT'95 Symposium on Foundations of Software Engineering, pages 6–17, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

František Plášil Keith G. Jeffery

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Issarny, V. (1997). Configuration-based programming systems. In: Plášil, F., Jeffery, K.G. (eds) SOFSEM'97: Theory and Practice of Informatics. SOFSEM 1997. Lecture Notes in Computer Science, vol 1338. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63774-5_106

Download citation

  • DOI: https://doi.org/10.1007/3-540-63774-5_106

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-69645-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics