Abstract
We define a core language combining computational and architectural primitives, and study how static typing may be used to ensure safety properties of component composition and dynamic reconfiguration in object-based systems. We show how our language can model typed entities analogous of configuration scripts, makefiles, components, and component instances, where static typing combined with a dynamic type-directed test on the structure of objects can enforce consistency of compositions and atomicity of reconfiguration.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Abadi, M., Cardelli, L., Pierce, B., Plotkin, G.: Dynamic typing in a statically typed language. ACM Trans. on Progr. Languages and Systems 13(2) (April 1991)
Aldrich, J., Chambers, C., Notkin, D.: Architectural reasoning in archjava. In: Proc. of the European Conf. on Object-Oriented Programming. Springer-Verlag, Heidelberg (2002)
Ancona, D., Zucca, E.: A calculus of module systems. Journal of Functional Programming 12(2), 91–132 (2002)
Bierman, G., Hicks, M., Sewell, P., Stoyle, G.: Formalizing dynamic software updating. In: Proc. of the Int. Workshop on Unanticipated Software Evolution (2003)
Bono, V., Patel, A., Shmatikov, V.: A core calculus of classes and mixins. In: Proc. of the European Conf. on Object-Oriented Programming. Springer-Verlag, Heidelberg (1999)
Cardelli, L.: Program fragments, linking, and modularization. In: ACM Symp. on Principles of Programming Languages. ACM Press, New York (1997)
Drossopoulou, S., Damiani, F., Dezani-Ciancaglini, M., Giannini, P.: Fickle: Dynamic object re-classification. In: Proc. of the European Conf. on Object-Oriented Programming (2001)
Duggan, D.: Type-based hot swapping of running modules. In: Proc. of the Int. Conf. on Functional Programming (2001)
Fagorzi, S., Zucca, E.: A calculus for reconfiguration. In: On-line Proc. of the Int.Workshop Developments in Computational Models at ICALP (2005)
Flatt, M., Felleisen, M.: Units: Cool modules for HOT languages. In: Proc. Of the ACM SIGPLAN Conf. on Programming Language Design and Implementation (1998)
Hirschowitz, T., Leroy, X.: Mixin modules in a call-by-value setting. In: Proc. Of the Euro. Symp. on Programming (2002)
Hirschowitz, T., Leroy, X., Wells, J.B.: Call-by-value mixin modules: Reduction semantics, side effects, types. In: Proc. of the Euro. Symp. on Programming (2004)
Seco, J.C., Caires, L.: A basic model of typed components. In: Proc. of the European Conf. on Object-Oriented Programming, Cannes, France. Springer-Verlag, Heidelberg (2000)
Seco, J.C., Caires, L.: Subtyping First-Class Polymorphic Components. In: Proc. of the Euro. Symp. on Programming, Edinburgh. Springer-Verlag, Heidelberg (2005)
Seco, J.C., Caires, L.: Types for dynamic reconfiguration. Technical Report UNL-DI-1-2006, FCT-UNL (2006)
Sewell, P.: Modules, abstract types, and distributed versioning. In: ACM Symp. on Principles of Programming Languages, pp. 236–247. ACM Press, New York (2001)
Sreedhar, V.C.: Mixin’up components. In: Proceedings of the International Conference on Software Engineering. ACM Press, New York (2002)
Taha, W., Sheard, T.: Metaml and multi-stage programming with explicit annotations. Theoretical Computer Science 248(1-2), 211–242 (2000)
Wells, J., Vestergaard, R.: Confluent equational reasoning for linking with first-class primitive modules. In: Proc. of the Euro. Symp. on Programming (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Costa Seco, J., Caires, L. (2006). Types for Dynamic Reconfiguration. In: Sestoft, P. (eds) Programming Languages and Systems. ESOP 2006. Lecture Notes in Computer Science, vol 3924. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11693024_15
Download citation
DOI: https://doi.org/10.1007/11693024_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-33095-0
Online ISBN: 978-3-540-33096-7
eBook Packages: Computer ScienceComputer Science (R0)