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
and programs.
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.
News
Jan, 2016: RelView version 8.2 has been released. In this minor update there
are some bugs fixed and some functions added to the system.
You can obtain the newest version here.
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
to 8.0:
- 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.
Most changes to the RelView system are under the hood and are only
interesting for developers:
- 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.
Download
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.
Documentation
A list of available base functions is
available here. Further details can be
found on the documentation page.
Screenshots
Some screenshots showing the RelView system in action are
available here.
Related Software and Libraries
RelView and the Kure library has been used in and has motivated some
other software projects.
- Kure2
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
domain-specific language.
- Kure1 library: Previous
version of the Kure2 library. Deprecated.
- KURE-Java: Java interface for
the Kure1 library.
- RelClipse:
Windows-based Eclipse plugin that makes available some of RelView's
features within Eclipse. Based on the Kure1 library.
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
P. Rademaker
(2008). The following (incomplete) list can serve as a starting point:
- CrocoPat:
"A Tool for Simple and Efficient Relational Programming". Also
based on BDDs. LGPL license.
- RScript:
"A Relational Approach to Software Analysis".
- GReQL
2: Graph Repository Query Language.
Applications and Related Documents
You can find some interesting papers using relation algebra and
RelView here.
Example Programs
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.
Local Installation
RelView is available from the SunOS terminals at the Department of
Computer Science. The most recent executable is
/home/progsys/stbRELVIEW/bin/relview-8.1
Previous versions are available as well. More information is available here.
Contact
Please send any comments, bug reports and feature requests to:
Rudolf Berghammer,
e-mail: rub@informatik.uni-kiel.de.