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.
Preview
Unable to display preview. Download preview PDF.
References
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.
R. Allen and D. Garlan. Formalizing architectural connection. In Proceedings of the Sixteenth International Conference on Software Engineering, pages 71–80, 1994.
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.
C. Bidan and V. Issarny. Security Benefits from Software Architecture. In Proceedings of Coordination'97: Coordination Languages and Models, 1997. LNCS.
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.
J. R. Callahan and J. M. Purtilo. A packaging system for heterogeneous execution environments. IEEE Transactions on Software Engineering, 17(6):626–635, 1991.
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.
C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12:576–580, 1969.
C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall International, 1985.
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.
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.
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.
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.
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.
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.
J. Magee, J. Kramer, and M. Sloman. Constructing distributed systems in Conic. IEEE Transactions on Software Engineering, 15(6):663–675, 1989.
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.
M. Moriconi, X. Qian, and R. A. Riemenschneider. Correct architecture refinement. IEEE Transactions on Software Engineering, 21(4):356–372, 1995.
OMG. Object Management Architecture Guide (OMA Guide). Technical Report 92.11.1, OMG, 1992. ftp: omg.org.
OMG. Common Object Services Specification, Volume 1 — Revision 1.0. Technical Report 94.1.1, OMG Document, 1994. ftp: omg.org.
OMG. Object Transaction Service. Technical Report 94.8.4, OMG Document, 1994. ftp: omg.org.
OMG. The Common Object Request Broker: Architecture and Specification Revision 2.0. Technical report, OMG Document, 1995. ftp: omg.org.
D. E. Perry. The Inscape environment. In Proceedings of the Eleventh International Conference on Software Engineering, pages 2–12, 1989.
J. M. Purtilo. The Polylith software bus. ACM Transactions on Programming Languages and Systems, 16(1):151–174, 1994.
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.
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.
T. Saridakis and V. Issarny. Towards formal reasoning on failure behaviors. In Second European Research Seminar on Advances In Distributed Systems (ERSADS), 1997.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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