OBJECT-ORIENTED PROGRAMMING, SYSTEMS, LANGUAGES and APPLICATIONS
 
 
Program
 


Program (2mb PDF)

Explore
  Invited Speakers
  Onward!
  Panels
  Workshops
Discover
  Research Papers
  Student Research Comp.
  Posters
  Doctoral Symposium
  Educators' Symposium
  Wiki Symposium
  Dynamic Lang. Symp.
Understand
  Tutorials
  Essays
  Practitioner Reports
  Demonstrations
Create
  DesignFest
  Lightning Talks
  FlashBoF
  Instant Arts School Exp.
 
Other Events
 
Resort Map (364kb PDF)
 
Resort Map (JPG)

 

 
Basket
 

view, help

"Parametric Polymorphism for Software Component Architectures"

 

 
Page
 

Printer-friendly

 
 
  > Research Papers > Archetypal Architectures

 : Tuesday

Parametric Polymorphism for Software Component Architectures

San Diego Room
Tuesday, 16:30, 30 minutes

 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

Cosmin Oancea, University of Western Ontario
Stephen Watt, University of Western Ontarion

Parametric polymorphism has become a common feature of mainstream programming languages, but software component architectures have lagged behind and do not support this feature. We examine the problem of providing parametric polymorphism in this setting.

The details of generics, templates or functors, as they are variously called, differ significantly in different programming languages. We have investigated how to resolve different binding times and parametric polymorphism semantics in a range of representative programming 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 can be easily adapted to work on top of various software component architectures in use today (e.g., CORBA, JNI, DCOM). We have implemented and tested our extension on top of CORBA.

We present Generic Interface Description Language (GIDL), an extension to CORBA-IDL, supporting generic types, and our language bindings for C++, Java, and Aldor. We describe our implementation of GIDL, consisting of a GIDL to IDL compiler and tools for generating linkage code under the language bindings. Furthemore, we describe how this architecture can be used to expose C++'s STL and Aldor's BasicMath libraries to a multi-language environment, and discuss our mappings in the context of automatic library interface generation.

Using GIDL, component-based applications can enjoy the accepted benefits of generic programming: provide clearer and more precise specifications, eliminating ambiguities in the object interface definition, and ultimately exhibit a greater degree of component re-use.

KEYWORDS: Parametric polymorphism, generics, software component architecture, multi-language programming, interface definition languages

 
.