A Framework for Modular Linking in OO Languages

  • Sean McDirmid
  • Wilson C. Hsieh
  • Matthew Flatt
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4228)

Abstract

The successful assembly of large programs out of software components depends on modular reasoning. When the linking of component code is modular, components can be compiled and type checked separately, deployed in binary form, and are easier to reuse. Unfortunately, linking is not modular in many mainstream OO languages such as Java. In this paper we propose an intuitive and formal framework for enhancing a language with modular linking, which is applied to the specific problem of making linking in Java modular. In our proposed framework, the degree to which components can be reasoned about modularly is adversely affected by language features that limit abstraction. We show that most of Java’s core language features, such as inheritance, permit a high degree of modular linking even in the presence of cyclic dependencies.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Sean McDirmid
    • 1
  • Wilson C. Hsieh
    • 2
  • Matthew Flatt
    • 2
  1. 1.École Polytechnique Fédérale de Lausanne (EPFL)LausanneSwitzerland
  2. 2.University of UtahSalt Lake CityUSA

Personalised recommendations