Fachgruppe
Praktische Informatik of the Department 12
(Electrical Engineering and Computer Science) at the University of Siegen
Java Applications based upon H-PCTE
This page describes several applications which have been built on
the basis of H-PCTE. The available
applications can be classified as follows:
- programming exercises: The distribution packages contain the
source code files of several small examples (s. $HPCTE/demo).
The main purpose of these examples is to serve as first
experience when developing H-PCTE-based applications.
-
administration tools of H-PCTE
-
(simplified) real life applications
-
software development tools or environments
-
document editing tools in other domains
The first and second category are not discussed in detail here.
Some of the applications are freely available.
The applications can be available in two different forms:
-
only Java front ends (only for applications written in
Java): these applications are Java applications which access an
object base running at our site. In order to test the application,
you just have to download the Java front-end, there in no
need to install a database at your site.
- complete installation: this includes in addition
a database schema and a script which installs an initial
object base; this requires a complete H-PCTE installation to
be installed at the server site.
Administration tools
An essential tool to inspect an H-PCTE object base at a low level is the
standard browser. This tool has recently been completely rewritten in Java.
The following picture shows the login window and the main window after
login.
(Simplified) Real Life Applications
-
Telephone
directory of the University of Siegen (a Java-based front end to an
H-PCTE object base; no longer maintained)
- A (distributed) address book; see following picture.
Detailed description of the address book with
download instructions.
The main purpose of this application is to show the visible effects
which are realized by OMS functions, in particular:
- Notification: one can start this application
several times (at different sites); each modification
through one of the windows is immediately propagated to all
other windows.
- Fine-grained locking: the application runs as a
semi-protected transaction. If one writes an attribute, it
acquires an exclusive lock for this attribute. Another
application can write a different attribute of the same
address (i.e. object), but not on the same attribute. Trying
to does this leads, after a delay, to a message that a lock
could not be acquired.
- Recovery: the undo and redo buttons of the
application are realized by partial rollback and rollforward
of the running transaction.
Software development tools or environments
- PI-SET
PI-SET is an Integrated Software Development
Tool SET which exploits the services offered by the H-PCTE
object management system (i.e. views, notification, access controls, locking).
At the moment, PI-SET includes tools
for ER documents, class diagrams, and state diagrams. Additional tools are
under development.
PI-SET tools are developed using the genform
framework. genform includes generic tool components which
allow for the efficient construction of software development tools.
For questions and comments mail to
Prof. U. Kelter or
Marc Monecke.
Tools and SDEs developed by external institutions
- Repository of the software development environment PIROL
(Tech. Univ. of Berlin)
- Software repository of a Haskell workbench (Univ. of
Bremen)
Tools with GUIs written in Java
These are tools and SDEs developed by ourselves, with Java front ends.
They exhibit the same features like the address book (s. above).
- a simple project management tool which offers tasks
lists, persons, responsibilities
Detailed description of the project management tool and download instructions.
-
a forms-oriented ER browser: this tool allows one to browse and edit entity
relationship models; it offers a multiple window GUI.
Detailed description of the ER browser and download
instructions.
Here are some general hints on tools with GUIs written in Java
(e.g. how to cut and paste between these tools and other
applications).
Tools based on the X window system
- ToolFrame. ToolFrame is an
environment based on H-PCTE and ET++. From a user's point of
view, ToolFrame is a typical `upper CASE environment' and
covers methods like OOA, ER modelling, Data Flow Diagrams,
modular design etc. For each document type, ToolFrame
offers
- graphical and/or textual editors, which allow users to
create and modify documents
- analysers, which check whether a document contains
incorrect parts and which display one or several parts of
the document with the incorrect parts highlighted.
Further information and a user manual (in German) is available. The internal
architecture of ToolFrame differs significantly from
conventional architectures. One of the most prominent features
is that all the tools directly operate on the object base, they
do not produce transient copies of a document in main memory.
This allows tools to be much ``smaller'' than usual. Additional
information about ToolFrame can be found in [DaK95, HeK96JT,
KeD96EDBT, PlK96] (see references). ToolFrame is still available for H-PCTE
version 2.9.1, but is no longer maintained.
Document editing tools in other
domains
- The B1
database: A database of literary films in the German TV,
compiled by the subproject B1 of DFG-Sonderforschungsbereich 240 "Bildschirmmedien"
- Data acquisition in subproject A12 of DFG-Sonderforschungsbereich
240 "Bildschirmmedien"; the following picture shows a
complex GUI intended to capture data about news
programmes.
-
An H-PCTE object base is being used to store descriptions of multimedia
teaching materials; the following picture shows a window which shows a
table of contents of one production. The directory tree displayed in the
window directly corresponds to a tree of objects in the object base.