  The framework of promise theory offers an alternative way of understanding
programming models, especially in distributed systems. We show that promise
theory can express some familiar constructs and resolve some problems in
program interface design, using fewer and simpler concepts than the Unified
Modelling Language (UML).
