jUCMNav – Eclipse based editor for Use Case Maps

What is jUCMNav and what are Use Case Maps?

jUCMNav is a graphical editor for the Use Case Map (UCM) notation. This notation is gaining in popularity and in notoriety. Whether you consider them as causal scenarios, as architectural entities, or as behaviour patterns, they can help you to describe and understand emergent behaviour of complex and dynamic systems.

The basic idea of UCMs is very simple and is captured by the phrase causal paths cutting across organizational structures. The realization of this idea produces a lightweight notation that scales up, while at the same time covering all of the foregoing complexity factors in an integrated and manageable fashion. The notation represents causal paths as sets of wiggly lines that enable a person to visualize scenarios threading through a system without the scenarios actually being specified in any detailed way (e.g. with messages). Compositions of wiggly lines (which may be called behaviour structures) represent large-scale units of emergent behaviour cutting across systems, such as network transactions, as first-class architectural entities that are above the level of details and independent of them (because they can be realized in different detailed ways).

As stated previously, jUCMNav is a graphical editor for this notation. Instead of describing the tool’s behaviour textually, we have created a few demonstrations to allow newcomers to quickly grasp what the tool actually does. These demonstrations are available as annotated Flash videos and require the Macromedia Flash 7 plugin, available for all major browsers.

Who created jUCMNav?

Five software engineering students at the University of Ottawa gave birth to jUCMNav in the course of their software engineering capstone project, under the supervision of Daniel Amyot.

How is the tool built?

jUCMNav is an Eclipse plug-in project which uses both the Graphical Editing Framework (GEF) and the Eclipse Modeling Framework (EMF). For the uninitiated, the Eclipse platform is a java-based open-source general purpose editor developed with extensibility in mind. Developers worldwide are using the platform as the starting point for creating their own editors.

GEF is a plug-in that greatly simplifies the development of graphical editors under the Eclipse platform. EMF generates code from a UML metamodel, creating the underlying model layer used by jUCMNav.

Illustration 1: Deployment Diagram

Why? - Replacing an existing tool

UCMNav, which stands for Use Case Map Navigator, is a tool written in C++ allowing the editing and exploring of Use Case Map models (UCM). The UCM notation is currently undergoing standardisation within ITU-T. The current version requires an X Window server, the XForms libraries and a Unix variant (Solaris, Linux, and Windows/Cygwin are supported). The program presents several problems. Developed as a prototype, it has greatly evolved over the years, mostly in an ad-hoc manner, and is now impossible to maintain. In addition, the user interface is not very friendly. As this is the only UCM editor available, its deficiencies are slowing down the adoption of the notation. Our project aims to fulfill the following goals:
  1. Break away from dependencies on XForms and X Window servers.
  2. Re-architect the system with an eye towards maintainability.
  3. Provide a user friendly interface to aid the adoption of the tool and the notation.

Download / Additional information

Topic revision: r3 - 26 Aug 2005, JasonKealey
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback