Balloon types: controlling sharing of state in data types
Up one levelPaulo Sérgio Almeida. Balloon types: controlling sharing of state in data types. Proceedings ECOOP'97, volume 1241 of LNCS, pages 32--59. 6/1997. Springer-Verlag.
Current data abstraction mechanisms are not adequate to control sharing of state in the general case involving objects in linked structures. The pervading possibility of sharing is a source of errors and an obstacle to language implementation techniques. We present a general extension to programming languages which makes the ability to share state a first class property of a data type, resolving a long-standing flaw in existing data abstraction mechanisms. Balloon types enforce a strong form of encapsulation: no state reachable (directly or transitively) by a balloon object is referenced by any external object. Syntactic simplicity is achieved by relying on a non-trivial static analysis as the checking mechanism. Balloon types are applicable in a wide range of areas such as program transformation, memory management and distributed systems. They are the key to obtaining self-contained composite objects, truly opaque data abstractions and value types---important concepts for the development of large scale, provably correct programs.
@InProceedings{Almeida97,
author = "Paulo S\'ergio Almeida",
title = "Balloon Types: Controlling Sharing of State in Data Types",
pages = "32--59",
booktitle = "Proceedings {ECOOP}'97",
month = jun,
year = "1997",
series = "LNCS",
volume = "1241",
publisher = "Springer-Verlag",
}
Please read the Copyright Notice before downloading.