CIDER is a generic component-based system which is designed to be easily embedded in Java or C applications. It provides automatic interpretation of diagrams as they are constructed and manipulated, structure preserving manipulation, and a powerful transformation system for specifying diagram manipulations and user interaction.

CIDER's main innovation is its component-based approach to SDE development which provides substantially increased architectural flexibility to the application programmer.

Smart Diagram Environments (SDEs) are software applications that use structured diagrams to provide a natural visual interface that behaves as if the computer ``understands'' the diagram. Unfortunately, despite their potential usefulness, SDEs are not easy to build. This has motivated the creation of CIDER, a Java toolkit for building SDEs which greatly simplifies this task.


How GraphNode and GraphEdge symbols are interpreted by Cider.