| | |
Summary: Permissions to Specify the Composite Design Pattern
Kevin Bierhoff Jonathan Aldrich
Institute for Software Research, Carnegie Mellon University
5000 Forbes Avenue, Pittsburgh, PA 15213, USA
{kevin.bierhoff,jonathan.aldrich} @ cs.cmu.edu
ABSTRACT
The Composite design pattern is a well-known implemen-
tation of whole-part relationships with trees of Composite
objects. This paper presents a permission-based specica-
tion of the Composite pattern that allows nodes in an object
hierarchy to depend on invariants over their children while
permitting clients to add new children to any node in the
hierarchy at any time. Permissions can capture the circular
dependencies between nodes and their children that arise in
this context. The paper also discusses verifying a Compos-
ite implementation and known limitations of the presented
specication.
Categories and Subject Descriptors
D.2.1 [Software Engineering]: Requirements/Specica-
tionLanguages; D.2.2 [Software Engineering]: Design
|