Design of Large-Scale Polylingual Systems

9 years 6 months ago
Design of Large-Scale Polylingual Systems
Abstract. 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. Doi...
Mark Grechanik, Don S. Batory, Dewayne E. Perry
Added 09 Dec 2009
Updated 09 Dec 2009
Type Conference
Year 2004
Where ICSE
Authors Mark Grechanik, Don S. Batory, Dewayne E. Perry
Comments (0)