TY - GEN
T1 - Parametric polymorphism for software component architectures
AU - Oancea, Cosmin Eugen
AU - Watt, Stephen M.
N1 - @inproceedings{Oancea:2005:PPS:1094811.1094823,
author = {Oancea, Cosmin E. and Watt, Stephen M.},
title = {Parametric Polymorphism for Software Component Architectures},
booktitle = {Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications},
series = {OOPSLA '05},
year = {2005},
isbn = {1-59593-031-0},
location = {San Diego, CA, USA},
pages = {147--166},
numpages = {20},
url = {http://doi.acm.org/10.1145/1094811.1094823},
doi = {10.1145/1094811.1094823},
acmid = {1094823},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {antiunification, generics, parametric polymorphism, software component architecture, templates},
}
PY - 2005
Y1 - 2005
N2 - Parametric polymorphism has become a common feature of mainstream programming languages, but software component architectures have lagged behind and do not support it. We examine the problem of providing parametric polymorphism with components combined from different programming languages. We have investigated how to resolve different binding times and parametrization semantics in a range of representative languages and have identified a common ground that can be suitably mapped to different language bindings. We present a generic component architecture extension that provides support for parameterized components and that can be easily adapted to work on top of various software component architectures in use today (e.g., corba, dcom, jni). We have implemented and tested this architecture on top of corba. We also present Generic Interface Definition Language (gidl), an extension to corba-idl supporting generic types and we describe language bindings for C++, Java and Aldor. We explain our implementation of gidl, consisting of a gidl to idl compiler and tools for generating linkage code under the language bindings. We demonstrate how this architecture can be used to access C++'s stl and Aldor's BasicMath libraries in a multi-language environment and discuss our mappings in the context of automatic library interface generation.
AB - Parametric polymorphism has become a common feature of mainstream programming languages, but software component architectures have lagged behind and do not support it. We examine the problem of providing parametric polymorphism with components combined from different programming languages. We have investigated how to resolve different binding times and parametrization semantics in a range of representative languages and have identified a common ground that can be suitably mapped to different language bindings. We present a generic component architecture extension that provides support for parameterized components and that can be easily adapted to work on top of various software component architectures in use today (e.g., corba, dcom, jni). We have implemented and tested this architecture on top of corba. We also present Generic Interface Definition Language (gidl), an extension to corba-idl supporting generic types and we describe language bindings for C++, Java and Aldor. We explain our implementation of gidl, consisting of a gidl to idl compiler and tools for generating linkage code under the language bindings. We demonstrate how this architecture can be used to access C++'s stl and Aldor's BasicMath libraries in a multi-language environment and discuss our mappings in the context of automatic library interface generation.
U2 - 10.1145/1094811.1094823
DO - 10.1145/1094811.1094823
M3 - Article in proceedings
SN - 1-59593-031-0
VL - 40
SP - 147
EP - 166
BT - Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA'05)
PB - ACM Sipgplan Notices
ER -