USE logo
Overview
News
Documentation
Screen shot
System Requirements
Download
Mailing Lists
References

A UML-based Specification Environment

Overview

USE is a system for the specification of information systems. It is based on a subset of the Unified Modeling Language (UML) [1]. A USE specification contains a textual description of a model using features found in UML class diagrams (classes, associations, etc.). Expressions written in the Object Constraint Language (OCL) are used to specify additional integrity constraints on the model. A model can be animated to validate the specification against non-formal requirements. System states (snapshots of a running system) can be created and manipulated during an animation. For each snapshot the OCL constraints are automatically checked. Information about a system state is given by graphical views. OCL expressions can be entered and evaluated to query detailed information about a system state. The picture below gives a general view of the USE approach.

Overview of the USE approach

The USE specification language is based on UML and OCL. Due to the semi-formal definition of early OCL versions, there were language constructs whose interpretation was ambiguous or unclear [2]. In [3] and [4] we have presented a formalization of OCL which was designed to provide a solution for most of the problems and which became part of UML 1.4/1.5. The USE approach to validation is described in [5] and [6]. Several other papers of our group employing USE can be found in the publications of our group.

News
  • May, 2007 USE 2.3.1 documentation has been released. (Preliminary Version 0.1)
  • Aug, 2006 A comprehensive user documentation for USE is currently under development and will be released soon.
  • Aug, 2006 USE 2.3.1 has been released. Performance has been improved for large link sets. Several improvements to the GUI have been made, including an improved sequence diagram that is much more customizable now.
    The examples have been completely reorganized and are now categorized by feature (see examples/ directory). See the NEWS file for more details.
  • Sep, 2005 USE 2.3.0 has been released. USE now displays class diagrams. This version also incorporates some bug fixes (including the bug that sometimes caused the command line to hang). See the NEWS file for more details.
  • May, 2005 USE 2.2.0 has been released. This release supports UML association classes and provides several bug fixes. Furthermore, the Snapshot Generator [7,8] is now incorporated into USE. See the NEWS file for more details. A short description of improvements made in USE 2.2.0 can be found here.
  • May, 2004: USE 2.1.0 has been released. This release features some extensions for the command language and support for OCL 2.0 tuple types. The project has been restructured internally to make development easier. For example, the build system has been moved to Apache Ant and unit tests are now done with junit. See the NEWS file for more details. Note: It was necessary to make a small change in the command syntax that is incompatible with previous versions. The NEWS file describes how you can easily update your command files.
  • 8 June, 2001: USE 2.0.1 has been released. This is mainly a bug fix release. The only new feature is a change to the USE grammar that now allows classes, associations, and constraints to appear in any order in a specification file.
  • 19 March, 2001: USE 2.0.0 has been released. Major new features are support for pre- and postconditions, printing of diagrams, and automatic generation of UML sequence diagrams. There are also a number of improvements w.r.t. the USE and OCL syntax.
Documentation

The following documentation is available.

Screen shot

The screen shot below shows information about a system state generated with the USE tool. More detailed information is given in the quick tour. Click on the picture below to get an enlarged version.

Screenshot of USE
System Requirements

USE is implemented in Java(tm). Therefore, it should run on any platform on which a Java runtime system (e.g. the Sun JDK) is available. So far this has been tested mainly on Unix-like platforms (Solaris and Linux) but it should work also on Windows. If you're trying to install USE on any other platform, you are on your own, although this should not be too difficult.

The distribution of USE comes with full sources. If you want to compile USE yourself, you will need Sun's Java 2 Development Kit (JDK) version 1.4.2 or later (see http://java.sun.com) and Apache Ant 1.6.0 or later. Earlier versions of the JDK and ant may work but have not been tested. For running all tests, you will need some Unix tools like GNU make, perl, sed, etc. All of them should be available on any decent Linux distribution.

Download

Note that this is a release of a research prototype. There is no warranty of any kind.

The release is available in compressed tar and zip format. Both files have the same content. The gzipped tar file is somewhat smaller in size. After unpacking the release archive, please read the files README and INSTALL for further information. If you are updating your USE release, please read the file NEWS. It contains a short summary of changes between releases.

Older releases are still available.

Mailing Lists

If you want to get notifications about new releases, you should subscribe to the list use-announce. This is a moderated list only used for announcements.

To subscribe to the list, send "subscribe" in the body of a message to the appropriate *-request address:

To report problems with any of the mailing lists, send mail to owner-use@informatik.uni-bremen.de.

References

See also the complete list of publications of our group where most papers are available online.

[1] OMG Unified Modeling Language Specification, Version 1.3, June 1999. Object Management Group, Inc., Framingham, Mass., Internet: http://www.omg.org, 1999.
[2] Martin Gogolla and Mark Richters. On constraints and queries in UML. In Martin Schader and Axel Korthaus, editors, The Unified Modeling Language - Technical Aspects and Applications, pages 109-121. Physica-Verlag, Heidelberg, 1998.
[3] Mark Richters and Martin Gogolla. On formalizing the UML object constraint language OCL. In Tok Wang Ling, Sudha Ram, and Mong Li Lee, editors, Proc. 17th Int. Conf. Conceptual Modeling (ER'98), pages 449-464. Springer, Berlin, LNCS Vol. 1507, 1998.
[4] Mark Richters and Martin Gogolla. A metamodel for OCL. In Robert France and Bernhard Rumpe, editors, Proceedings of the Second International Conference on the Unified Modeling Language: UML'99, LNCS Vol. 1723. Springer, 1999.
[5] Mark Richters and Martin Gogolla. Validating UML models and OCL constraints. UML 2000 - The Unified Modeling Language. Advancing the Standard. Third International Conference, York, UK, October 2000, LNCS Vol. 1939. Springer, 2000.
[6] Mark Richters. A Precise Approach to Validating UML Models and OCL Constraints. Phd thesis. Universitaet Bremen. Logos Verlag, Berlin, BISS Monographs, No. 14. 2002.
[7] ASSL - A Snapshot Sequence Language
[8] Martin Gogolla, Jo¨rn Bohling, and Mark Richters. Validation of UML and OCL Models by Automatic Snapshot Generation. In Grady Booch, Perdita Stevens, and Jonathan Whittle, editors, Proc. 6th Int. Conf. Unified Modeling Language (UML'2003). Springer, Berlin, LNCS 2863, 2003.

Home|People|Teaching|Publications
Last change: 24.05.2007 by Mirco Kuhlmann (opti@informatik.uni-bremen.de)