loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
26th International Conference on Software Engineering (ICSE'04)
Design of Large-Scale Polylingual Systems
Edinburgh, Scotland, United Kingdom
May 23-May 28
ISBN: 0-7695-2163-0
Mark Grechanik, University of Texas at Austin
Don Batory, University of Texas at Austin
Dewayne E. Perry, University of Texas at Austin

Building systems from existing applications written in two or more languages is common practice. Such systems are polylingual. Polylingual systems are relatively easy to build when the number of APIs needed to achieve language interoperability is small. However, when the number of distinct APIs become large, maintaining and evolving polylingual systems becomes a notoriously difficult task.

In this paper, we present a simple, practical, and effective way to develop, maintain, and evolve large-scale polylingual systems. Our approach relies on recursive type systems whose instances can be manipulated by reflection. Foreign objects (i.e. objects that are not defined in a host programming language) are abstracted as graphs and path expressions are used for accessing and manipulating data. Path expressions are implemented by type reification — turning foreign type instances into first-class objects and enabling access to and manipulation of them in a host programming language. Doing this results in multiple benefits, including coding simplicity and uniformity that we demonstrate in a complex commercial project.

Citation:
Mark Grechanik, Don Batory, Dewayne E. Perry, "Design of Large-Scale Polylingual Systems," icse, pp.357-366, 26th International Conference on Software Engineering (ICSE'04), 2004
Usage of this product signifies your acceptance of the Terms of Use.