(nur auf Englisch)

JKogge is the successor of the Meta-CASE system Koblenzer Generator für graphische Entwurfsumgebungen (KOGGE). Building upon the experience gained in the KOGGE project, JKogge allows to create individual software tools for visual languages. These tools are adapted to the specific application domain in question.

Tools built with JKogge comprise three core parts (base system, plug-in-components for specific tasks, documents for controlling and as repository). These parts can be installed locally or can be downloaded via the Internet. Due to the fact that the components and documents principally do not have to reside on the same server, it is possible to collaboratively work through the Internet.


The base system is the core of any tool built with JKogge. It provides an environment for loading components and documents and for connecting them. The base system can provide user management and check access permissions for documents and plug-ins. The actual functionality of a JKogge tool is defined by the plug-ins.

Documents are represented by distributed graphs, that can be loaded from any place reachable via an URL. Connections between distributed graphs are realised by shared vertices and connecting edges. The documents are loaded into the system when needed during run-time, for example, when a connecting edge is to be traversed to a not yet loaded document.

Components are realised by JKogge plug-ins. These are tools performing a well-defined task or which are created to process documents of a specific type. Examples for plug-ins are editors, visualiser components for graphical user interfaces or for graphical symbols, and interpreters. Like documents, plug-ins can be loaded on runtime.


Documents and plug-ins are made accessible by the base system through a well-defined and simple interface. This yields high flexibility, because any document or plug-ins obeying this interface can be integrated into the system.


JKogge is implemented in Java 2, thus beeing highly portable. The GUI is realised with the Swing classes. Symbols for the visual languages are rendered using the Java3D or Java2D library. JKogge runs on any system that provides a Java runtime environment and the neccessary libraries (at present, this is Windows 95/98, Windows NT, Windows 2000, Linux, Solaris).

Fields of application

One JKogge tool has been developed for the CeraNet project. It is an authoring environment for data in the ceramics production domain. Using CeraNet, one can generate Web sites for ceramics companies that allow easy access to information about the production process and about possible faults during this process.

Besides the base system, several plug-ins have been developed that provide a commonly used set of functionality. One group of plug-ins creates windows and dialog boxes from declarative descriptions. These descriptions are represented by graphs interpreted at runtime. A second group of plug-ins creates visual representations of the symbols needed for a visual language. The symbol definitions are graphs as well, generated from a declarative description. Using these plug-ins, one can change the graphical user interface or the set of representable symbols without having to re-build the application. We have developed further plug-ins, e.g., interpreters for ER-diagrams, GRAL consistencies and statecharts.

The CeraNet authoring software consists of these common plug-ins as well as specific ones, yielding a graphical editor for phase models, dialog boxes for managing structured data and XML/HTML generators.




Ebert, Jürgen; Süttenbach, Roger; Uhe, Ingar (1999): JKogge: a Component-Based Approach for Tools in the Internet. In: Proceedings STJA '99. Erfurt:


Behling, Michaela; Süttenbach, Roger (1998): Verteilte Graphen in der JKogge. Koblenz: Institut für Informatik, Universität Koblenz-Landau. Nr. 4/98. Projektbericht.

Süttenbach, Roger (1998): Entwicklung von PlugIns für die JKogge. Koblenz: Institut für Informatik, Universität Koblenz-Landau. Nr. 2/98. Projektbericht.