LADDER: A Sketch Recognition Language

We have created LADDER [5], a language to describe how sketched diagrams in a domain aredrawn, displayed, and edited. The difficulty in creating such a language is choosing a set of predefinedentities that is broad enough to support a wide range of domains, while remaining narrow enough tobe comprehensible. The language consists of predefined shapes, constraints, editing behaviors, and dis-play methods, as well as a syntax for specifying a domain description sketch grammar, ensuring thatshapes and shape groups from many domains can be described. The language allows shapes to be builthierarchically (e.g., an arrow is built out of three lines), and includes the concept of “abstract shapes”,analogous to abstract classes in an object oriented language. Shape groups describe how multiple do-main shapes interact and can provide the sketch recognition system with information to be used intop-down recognition. Shape groups can also be used to describe “chain-reaction” editing commandsthat effect multiple shapes at once. To test that recognition is feasible using this language, we havebuilt a simple domain-independent sketch recognition system that parses the domain descriptions andgenerates the code necessary to recognize the shapes.