Sharing objects through object references gives object-oriented
programming much of its power, efficiency and flexibility, but because
objects can be modified via any alias, object-oriented programs are
hard to reason about. Object-oriented techniques promote software
reuse, but do not promote modular reasoning capabilities.
In this seminar we present some of the key ideas for bringing
discipline to the aggregation and sharing of objects. In particular
our notion of a sharing context promises to offer a mechanism for
scoping effects in object-based systems.
First, we investigate the structural relationships inherent in object
graphs defined by inter-object references. For an arbitrary object
graph we construct an ownership tree determined by reachability
properties of the object graph. We identify a containment invariant,
under which new reference attachments may be formed without affecting
the ownership tree. Implementing containment in this way provides
natural definitions of clone and equality operations. Through a
prototype object graph visualisation system we will demonstrate a
benefit of capturing the implicit structure.
Second, we outline a static type system that can guarantee the
containment invariant mentioned above. Programming languages
incorporating such a type system will be able to offer compiler-based
implementations of the natural clone and equality operations, together
with localised automatic memory management. Furthermore, the type
system introduces a programming discipline whereby the sharing context
for objects is made explicit. These sharing contexts can be extended
annotations for specifying constraints on concurrency, distribution,
mobility and access control. We hope that such extensions will
preserve the flexibility and reusability characteristics of the
object-oriented paradigm yet permit modularised reasoning about systems
constructed from reusable components.
From back@dfki.de Fri Jan 29 09:42 MET 1999
Organization: DFKI Saarbruecken GmbH, D 66123 Saarbruecken
X-Sender: back@master.ags.uni-sb.de
X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.5 (32)
Date: Fri, 29 Jan 1999 09:38:46 +0100
To: kiesel@mpi-sb.mpg.de, all@dfki.de,
vortraege@cs.uni-sb.de;cl-all@coli.uni-sb.de;;;;, ags=omega@dfki.de
From: Agnes Back <back@dfki.de>
Subject: DFKI-Kolloquium, h e u t e 11.00
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by mpi-sb.mpg.de id JAA12372
Sharing objects through object references gives object-oriented
programming much of its power, efficiency and flexibility, but because
objects can be modified via any alias, object-oriented programs are
hard to reason about. Object-oriented techniques promote software
reuse, but do not promote modular reasoning capabilities.
In this seminar we present some of the key ideas for bringing
discipline to the aggregation and sharing of objects. In particular
our notion of a sharing context promises to offer a mechanism for
scoping effects in object-based systems.
First, we investigate the structural relationships inherent in object
graphs defined by inter-object references. For an arbitrary object
graph we construct an ownership tree determined by reachability
properties of the object graph. We identify a containment invariant,
under which new reference attachments may be formed without affecting
the ownership tree. Implementing containment in this way provides
natural definitions of clone and equality operations. Through a
prototype object graph visualisation system we will demonstrate a
benefit of capturing the implicit structure.
Second, we outline a static type system that can guarantee the
containment invariant mentioned above. Programming languages
incorporating such a type system will be able to offer compiler-based
implementations of the natural clone and equality operations, together
with localised automatic memory management. Furthermore, the type
system introduces a programming discipline whereby the sharing context
for objects is made explicit. These sharing contexts can be extended
annotations for specifying constraints on concurrency, distribution,
mobility and access control. We hope that such extensions will
preserve the flexibility and reusability characteristics of the
object-oriented paradigm yet permit modularised reasoning about systems
constructed from reusable components.
THE SPEAKER:
John Potter is head of the Object Technology Group at Microsoft
Research Institute. His research interests include computational models
for objects, concurrency and distribution, reusability and rigorous
approaches to software design.
Microsoft Research Institute is an independent body at Macquarie
University in Sydney established with the support of the Microsoft
Australian subsidiary in 1996. The object technology group is focused
on object-oriented computation models, component composition,
concurrent objects and security.