Promises: Limited Specifications for Analysis and Manipulations

by Edwin C. Chan, John T. Boyland and William L. Scherlis.


Structural change in a large system is hindered when information is missing about portions of the system, as is often the case in a distributed development process. An annotation mechanism called promises is described for expressing properties that can enable many kinds of structural change in systems. Promises act as surrogates for an actual component, and thus are analogous to ``header'' files, but with more specific semantic information. Unlike formal specifications, however, promises are designed to be easily extracted from systems and managed by programmers using automatic analysis tools. Promises are described for effects, unique references, and use properties. By using promises, a component developer can offer additional opportunity for change (flexibility) to clients, but at a potential cost in flexibility for the component itself. This suggests the possibility of using promises as a means to allocate flexibility among the components of a system.

BibTeX entry

  author = {Edwin C. Chan and John T. Boyland and William L. Scherlis},
  title = {Promises: Limited Specifications for Analysis and Manipulation},
  booktitle = {20th International Conference on Software Engineering},
  city = {Kyoto, Japan},
  date = apr # { 19--25, 1998},
  month = apr,
  year = 1998,
  pages = {167--176},
  publisher = IEEE,
  address = {Los Alamitos, CA})

How to get a copy

The paper appeared in the proceedings of the 20th International Conference on Software Engineering, published by the IEEE. An electronic reprint is available according to the copyright policy of the IEEE. This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.


This material is based upon work supported by the National Science Foundation under Grant No. CCR-9504339 and by the Defense Advanced Research Projects Agency and Rome Laboratory, Air Force Materiel Command, USAF, under agreement number F30602-97-2-0241.


The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Defense Advanced Research Projects Agency, Rome Laboratory, the National Science Foundation or the U.S. Government.

Last Modified: June 4, 1998

Promises: Limited Specifications for Analysis and Manipulations /