Comments
Yuxiang's blog
Summary
This paper discusses the LADDER system which is a domain-description language for shapes. LADDER has some limitations which are that it only describe shapes with a fixed graphical grammar, the shapes must be composed of the primitive constraints, it can only describe domains that have few curves and shapes which have a lot of regularity and not too much details.
The main features in shape definitions are components, constraints, aliases, editing behavior and display properties. The shapes can also be defined in Hierarchical shape definitions. It also allows the definition of abstract shapes and shape groups.
The language also has some primitive shapes such as Point, Path, Line, Bezier curve, Curve, Arc, Ellipse and spiral. Predefined shapes derived from primitive include Rectangle, Diamond etc. The language also has an abstract 'Shape' from which all the shapes are derived to have some common properties.
The language also has some predefined constraints such as perpendicular, parallel, collinear, same side etc. There are also some predefined editing behaviors eg dragInside. The user can also define more editing behaviors, action and triggers.
Recognition of primitive shapes is done in a bottom-up approach and domain shapes is done by a Jess-rule based system. Editing recognition is done by first identifying if the editing gesture is defined for the shape, and if the mouse is over the shape and the particular editing gesture is made the drawing gesture is short circuited and the editing gesture takes over.
LADDER has been used to for a variety of domains including UML class diagrams, mechanical engineering diagrams, finite state machines, flowcharts and a simplified version of the course of action diagrams.
Discussion
LADDER is an innovative system which depends on a powerful low level recognizer. The ability to define shapes with a language is really the highlight of the system. This also allows the definition of domains comprised of a particular set of shapes. I would really like to see the LADDER system to have the ability to define more complex shapes which a richer grammar.
Subscribe to:
Post Comments (Atom)

2 comments:
I agree that the language could go further to define more complex shapes. I'd also like it to be generated for me.
As Daniel was saying, a visual interface for defining shapes and having it translated to the grammar seems useful if you want to incorporate more than just programmers in process of defining recognized shapes.
Also, I would say the editing and display features of this language are important highlights and make it incredibly useful for UI designers.
Post a Comment