Programming constraints by demonstration

Research output: Contribution to journalReview articlepeer-review


The executable constraint is proposed to offer designers a way to define a new set of constraints on top of an editing tool. It aims mainly to maintain the integrity of data structures such as diagrams that users create, during an edit session. When a part of the structure is modified by a user, the computer modifies other parts as a consequence of the user's instructions given in advance. Executable constraints are sequences of editing operations whose fixed points give relations to be maintained. They are constructed from primitive editing operations by demonstration to avoid textual form of expression, so that non-programmers can define new relations. Priority and condition are introduced to cope with over-constrained or conditional situations.

Original languageEnglish
Pages (from-to)79-96
Number of pages18
JournalJournal of Visual Languages and Computing
Issue number1
Publication statusPublished - 2003 Feb


  • Constraint
  • Constraint solving
  • End-user programming
  • Extensible editor
  • Programming by demonstration

ASJC Scopus subject areas

  • Language and Linguistics
  • Human-Computer Interaction
  • Computer Science Applications


Dive into the research topics of 'Programming constraints by demonstration'. Together they form a unique fingerprint.

Cite this