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.
View
psa-ecoop97.ps
(PostScript document
639Kb)
@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.