Java Uniform Document Enviroment


Copyright (c) 2001 Massimo Zaniboni, e-mail:

Jude is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
Jude is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Jude; see the file COPYING.  If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

Jude uses different libraries and tools. See the distribuition package for more info about their license.

All the documentation is under the terms of GNU Free Documentation License.

Jude project is part of Massimo Zaniboni degree thesis for Department of Computer Science, University of Bologna, Italy. Relatore: Prof. Paolo Ciancarini, Correlatore Prof. Dario Braga.

What is Jude ?

Jude is a rapid application development tool that permits to formalize a problem and then obtain a full featured and easy to use data management, workgroup application that can be further adapted implementing specific agents.

Jude is based on a knowledge-base with an object-oriented structure on the server side and a compound-document, agent-based user interface on the client side.

Why would I use Jude instead of similar projects?

Relational database, Object-Oriented database, document-management systems, XML documents, compound-documents, declarative programming, agent-based systems and Java are well understood technologies but when you use them alone in order to build data-management applications you encounter many problems. For example relational databases management systems cannot support new data types and for some applications the allowed data are not sufficient. They lack support for long-transactions. The development of an application using object-oriented database management systems encourages procedural coding over declarative coding and this tends to produce code hard to maintain because there are many relationships between different parts of the program. Jude tries to join all benefits of these technologies in a coherent application framework.

Jude permits developers to specify an abstract, simplified view of the world we wish to represent using an high-level, declarative, object-oriented language and then to obtain a full functional work-group application. Jude try to join in a simple but powerful way many powerful programming paradigms: object-oriented, declarative, agent-based and compound-document.  Developers can extend application functionalities adding new agents to the system. Developers can reuse already specified knowledge-base clusters (there are already clusters related to physics, organization relationships, chemical). Developers can reuse already specified agents, in particular agents related to user interface.

Jude permits users to manage (view, edit, retrieve) documents and structured informations using a coherent and simple to grasp environment based on Java and Swing library.


This is a presentation of Jude system.

These are   screenshots  of Jude in action.

This is a detailed description of Jude. At the moment the document is written in a bad english and is a work in progress. If you want to help me, you can fix some problems reading directly from the lyx version and correcting all  bad chapters.

This is the Jude framework documentation extracts from JavaDoc comments. It is avaible only off-line (using "make doc" command) because it is bad written, change often and is huge to upload on SourceForge site.

 These  are the Java class resulting from the conversion of the SimpleLogic class specified in the knowledge-base. It is avaible only off-line (using "make doc" command). However the best source of information is the direct navigation in knowledge-base using Jude user interface.

Current Status

At the moment Jude is in alpha state. It is only a prototype. Its scope is to test pro and cons of underlying ideas. It doesn't implement yet all the mechanisms described in this paper and also the implemented mechanisms aren't real-world usage ready. Source code and documentation contains comments about the many things to do.

Jude is under the GNU public license, so you can improve it. This is the main page of Jude project at SourceForge site. In this page you can download it or found all current information about the project (last packages, last news, bugs, news groups etc.) If you want to partecipate actively at Jude project you are welcome !

If you are interested there are software metrics about Jude .


At Jude page on SourceForge site you can download latest released packages (stable version) or latest development releases directly from CVS.

Massimo's Thanks

I have developed Jude in order to make a workgroup application for Crystal Engineering Laboratory (Rieducational Lab for friends :-) at Bologna (Italy). The work at laboratory is wonderful thanks to spontaneity and happiness of Dario, Fabrizia, Lucia, Marco, Francesca, Chiara, Laura, Demis, Alex and all others boys. They give me many suggestions and motivations and I give them some worries for my endless degree thesis. :-) Thanks to Alessandro Ronchi, who has helped me particularly during the last month before thesis dissertation, when my energies were low but there were many thinks to do! But the most important thanks are for my family that doesn't know informatics but has believed in me!

About the Authors and Contributors


In order to build the first version of Jude I have used many useful free tools. Some of them are:

I'm searching co-developers and funds to continue the work on this project !