Specification of Symbols and Implementation of Their Constraints in JKogge

There are numerous CASE-tools and editing tools for visual languages. Since most of them are restricted to a specific method or language, metaCASE systems or frameworks which are capable of generating a tool for a specific visual language from its specification were introduced. Examples for this are VisPro, GenEd, DiaGen, VLCC, Progres, MetaEdit and KOGGE. All of these tools do have a means of describing the visual language, like graph grammars or graph schemata, but they focus on the abstract syntactic aspects of the language. Our system JKogge, which is based on KOGGE, does not only cover this aspect but we do also offer facilities to specify visual aspects of the tool, like the windows needed, but especially regarding the look of the symbols needed for the language in question. Symbols can be described regarding their geometry, their appearance and aspects like their connection behavior at runtime. Constraints are used to maintain geometric relationships of the symbols like their size and position to each other when the user makes changes to the diagram. Drawing and manipulation is supported by some plugins (modules) of JKogge. The possibilities to specify the symbols and the description of the runtime support is subject of this paper.