The RelView-System is an interactive tool for computer-supported
manipulation of relations represented as Boolean matrices or
directed graphs, especially for prototyping relational specifications
It is developed at the Department of Computer Science
of the Christian-Albrechts-University
of Kiel. This Web-page describes how to get RelView and provides
some further information.
Sept, 2012: RelView version 8.1 has been released. This is a minor release incorporating a handful of new features and some bug fixes. Changes include:
- A new reference page for available base functions in RelView's language has been created. This document does also contain details on the following new features.
- Kure has been updated to version 2.2.
- Left tupling [|R,S} and and right tupling [R,S|] is available.
- Functions have been added to compute minimal and maximal elements. See minsets(v), minsets_upset(v), maxsets(v) and maxsets_downset(v).
- An alternative version of random has been added that takes two arguments.
May, 2011: RelView version 8 is available. Here is a brief
overview of the changes in the user's perspective from version 7.2
Most changes to the RelView system are under the hood and are only
interesting for developers:
- Better integration of the RelView programming language.
- Support to load third-party binary plugins during runtime.
- The graph drawing library is now available as an external
plugin and is no longer a part of the core RelView system.
- Some command line options like --verbose
and --version were added. See --help for details.
- RelView is now entirely based on
the Kure2 library which
implements relations and the operations on them. Kure2 also implements
the RelView programming language.
- GtkBuilder and Glade is used for the user interface.
- A configure script is now used to manage the library dependencies.
- Plugins can be written and loaded into RelView during
runtime. There are some examples in the download section.
- Many parts have been completely rewritten.
July, 2009: After a long time of development, the new version 7.2 is out. Here is
a brief overview of changes from version 7.0:
- Ported from GTK+-1.0 to GTK+-2.0.
- Added a new file format called Xdd, based on XML and BDDs. The DDD and XRV formats
should no longer be used and will be removed in future versions.
- It's now possible to cancel a running evaluation.
- A simple debugger and an ASSERT() statement were added.
- Editing graphs in the GUI has been simplified.
- TRUE()/FALSE() functions were added.
- Execution of WHILE loops has been fixed.
- Various minor changes and bug fixes.
See the download page for the most recent
version of the system. The system is available as binary packages for
some UNIX-based platforms and as a source distribution.
There is Emacs support for the Relview
programming language available.
A list of available base functions is
available here. Further details can be
found on the documentation page.
Some screenshots showing the RelView system in action are
Related Software and Libraries
RelView and the Kure library has been used in and has motivated some
other software projects.
There are also some more tools and libraries that use relation algebra
and/or relations in general. A survey about different approaches is
provided by the master thesis of
(2008). The following (incomplete) list can serve as a starting point:
library (@sourceforge.net): C
library that provides the relational foundations of the RelView system, that
is, representation of relations using BDDs, manipulation of relations and the
- Kure1 library: Previous
version of the Kure2 library. Deprecated.
- KURE-Java: Java interface for
the Kure1 library.
Windows-based Eclipse plugin that makes available some of RelView's
features within Eclipse. Based on the Kure1 library.
"A Tool for Simple and Efficient Relational Programming". Also
based on BDDs. LGPL license.
"A Relational Approach to Software Analysis".
2: Graph Repository Query Language.
Applications and Related Documents
You can find some interesting papers using relation algebra and
The following list provides some applications of the RelView
System. Please note that some of these programs use auxiliary
functions which are available in the start_up.prog.
RelView is available from the SunOS terminals at the Department of
Computer Science. The most recent executable is
Previous versions are available as well. More information is available here.
Please send any comments, bug reports and feature requests to:
Rudolf Berghammer -
28-Sep-2012, 20:21:57 MEST