|
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.
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 |
- 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.
|
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.
|
|
|