Location types for safe distributed object-oriented programming

  • Authors:
  • Yannick Welsch;Jan Schäfer

  • Affiliations:
  • University of Kaiserslautern, Germany;University of Kaiserslautern, Germany

  • Venue:
  • TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

In distributed object-oriented systems, objects belong to different locations. For example, in Java RMI, objects can be distributed over different JVM instances. Accessing a reference in RMI has crucial different semantics depending on whether the referred object is local or remote. Nevertheless, such references are not statically distinguished by the type system. This paper presents location types, which statically distinguish far from near references. We present a formal type system for a minimal core language. In addition, we present a type inference system that gives optimal solutions. We implemented location types as a pluggable type system for the ABS language, an object-oriented language with a concurrency model based on concurrent object groups. An important contribution of this paper is the combination of the type system with the flexible inference system and a novel integration into an Eclipse-based IDE by presenting the inference results as overlays. This drastically reduces the annotation overhead while providing full static type information to the user. The IDE integration is a general approach of its own and can be applied to many other type system extensions.