CD-Edit: a constraint diagrams editor
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
Microsoft(R) Power Point(R) (ppt) format:
Adobe(R) Portable Document Format(R) (pdf):
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
A single file in CD-Edit (spd) format:
A ZIP archive (168K),
containing files in Encapsulated Postscript (eps) format
Software and resources used and developed in this
An interactive visual editor was written, named CD-Edit (constraint diagrams editor).
How to build and run the project:
Platform: Microsoft Windows NT version 4.0 (service pack 4), or Microsoft
Development Environment: Microsoft Visual C++ 6.0
Language: C++ with MFC support
Download the sources, unpack zip file into a separate directory.
Open Cdeditor.dsw file in the Microsoft Visual C++ (by double clicking this
file in the Explorer or by selecting "Open Workspace" in the "File" menu
of the Microsoft Visual C++).
Select a mode of compilation (Release or Debug) and build the project.
Microsoft Visual C++ normally creates all intermediate files, like .obj, and
also the final executable called Cdeditor.exe in the sub-directory "Release"
or "Debug" according to the compilation mode.
Run the executable.