Yan Sorkin

Project thesis

CD-Edit: a constraint diagrams editor

Supervisor: Dr. Joseph (Yossi) Gil

Table of contents:


    With the advent of the object-oriented paradigm, and the modernization of software design, came the Universal Modeling Language (UML) standard. However, expressive as it is, UML lacks the ability to describe system constraints and invariants. In our work we present the constraint diagrams (CD) visual language, which was introduced as an attempt to address this issue.

    The CD visual language is based on Venn-Pierce diagrams and Euler circles. Contours represent set relationships, spiders denote element membership, and arrows add invariants to the diagram. The containment, disjointness and intersection of sets and the topology of spiders describe the relationship of corresponding classes and objects.

    We present CD-Edit as a visual editor of constraint diagrams, with intuitive language-driven user interface. CD-Edit combines great flexibility of editing with advanced mechanisms for consistency checks of the diagram being edited. The consistency checks are run on the fly, and syntax errors are highlighted.

    CD-Edit was successfully used for documentation purposes. Several papers on the topic were produced using CD-Edit's ability to convert constraint diagrams to EPS and WMF formats. One can use CD-Edit as a tool for model checking, providing an add-on external software running semantical checks.

    In our work we present the constraint diagrams language along with CD-Edit's features and implementation details. We also discuss the human factor aspects of CD-Edit related to maintaining diagram consistency during streamlined editing.


Seminar lecture slides

The slides are available as

Final thesis paper

The English (main) part of the final paper, submitted to the Senate of the Technion, is available as The Hebrew part of the final paper (abstract, acknowledgements, lists of tables and figures, TOC), submitted to the Senate of the Technion, is available as The paper embeds a great amount of constraint diagrams produced by CD-Edit. Those diagrams are also available for download separately as

Software and resources used and developed in this project


An interactive visual editor was written, named CD-Edit (constraint diagrams editor). Project information: How to build and run the project: