The UCI Graph Editing Framework is a library of Java classes that make it easier to develop new applications that involve diagram editing and connected graph editing.
The editor supports basic diagram editing options as drawing lines, rectangles, circles, and text. The objects can be selected, moved, deleted. The editor offers a possibility to change the colors of the objects, as well as to change the text font.
The real merit of the GEF is that it also supports connected graph editing. Each node in the graph is a composite object, which has several ports which are the inputs or outputs of a node. New nodes can be created graphicaly.
GEF structure
The design of the GEF consists of clearly decoupled layers such as:
The connection between each two layers is established using the Observer/ Obserable pattern.
GEF basic concepts
The main concepts in the framework are:
Applications developed on top of GEF
Argo
Argo is a Software Architecture Design Environment for C2 style software architectures. The nodes in the graph are software components, with a certain interface. As the graph, i.e. the software architecture is build, a list of advices for the architect, as well as short description of the issues that he/she must address is presented in a separate To Do List window.
WebFlow front end
The front end of the WebFlow is a visual authoring tool for computational
dataflow graphs by integrating the existing software modules in the public
domain. The nodes in the graph are modules that are supported by WebFlow
system, with inputs and outputs represented as ports. The application supports
authoring of computational graphs and their execution. The results of the
execution can be followed through the viewers, which are special modules
for visualization of the data traffic in the graph.