Siri(ID:1660/sir002)


Bruce Horn, CMU 1991. Object-oriented constraint language using a single abstraction mechanism.

A conceptual blend of BETA and Bertrand. Similar to Kaleidoscope.


Structures:
Related languages
Bertrand => Siri   Influence
BETA => Siri   Influence

References:
  • Horn, Bruce "Siri: A constrained-object language for reactive program implementation" Technical Report CMU-CS-91-152, Carnegie Mellon University, School of Computer Science, June 1991. view details Abstract: Siri is a small language intended to simplify the design and implementation of programs with graphical user interfaces such as those available for the Apple Macintosh. The interfaces for such programs are usually based on three concepts: accurate and appealing visual metaphors, interaction by direct manipulation, and immediate
    reflection of changes in the data. Programs based on these concepts are called reactive, after Alan Kay's Reactive Engine [Kay69]. A well-designed reactive program maintains an internal model that is kept consistent with an end user model. The end user's model is created and modified by direct manipulation, using an input device such as a mouse to alter a visual representation. This puts the user in control, rather than the computer.

    Implementing reactive programs is difficult, due to computational mechanisms that are rarely supported in existing programming languages. Siri addresses these needs in a simple and uniform way. The declarative nature of Siri bypasses many issues of control flow; dependency networks and constraint satisfaction will transparently sequence updates. Siri's single abstraction mechanism, the constraint pattern, supports multiple object views simultaneously; separate hierarchies for visual layout, encapsulation, and class/subclass; and multiple concurrent objects. In addition, Siri will provide a straightforward framework for creation and composition of Siri programs using direct manipulation
  • Horn, Bruce "Constraint Patterns as a Basis for Object-Oriented Constraint Programming" view details
          in [SIGPLAN] Proceedings of the Conference on Object Oriented Programming Systems, Languages and Applications, Oct 1992. (OOPSLA '92) view details
  • Horn, Bruce "Properties of user interface systems and the Siri programming language", Languages for developing user interfaces, A. K. Peters, Ltd., Natick, MA, 1992 view details
          in [SIGPLAN] Proceedings of the Conference on Object Oriented Programming Systems, Languages and Applications, Oct 1992. (OOPSLA '92) view details