Strelka -- An URML-Based Visual Rule Modeling Tool

The languages used in the communication between system analysts and domain experts for analyzing and documenting system requirements should not be ’technical’, but should allow visual and/or natural-language-like vocabulary and rule expressions that can be understood by domain experts without extensive technical training.

The UML offers a visual language for specifying vocabularies. Integrity rules ("invariants") and derivation rules can be represented in UML models by means of textual annotations in the Object Constraint Language (OCL).

In order to allow visual rule modeling, the REWERSE Working Group I1 has developed

  • a UML-based Rule Modeling Language (URML), which extends UML class models by adding rules, and
  • Strelka, a tool for making graphical URML models.

Strelka supports serialization of URML models into the XML format R2ML. The new version of Strelka for Eclipse is available for download. The tool is also available as a plug-in for the open source UML case tool Fujaba. You may also find it on the download page.

Download page

Rule Modeling Examples

Modeling a Derivation Rule for Defining an Association

If a rental car is stored at a branch, is not assigned to a rental and is not scheduled for service, then the rental car is available at the branch.

Modeling a Derivation Rule for Defining a Subclass

If the return branch of a rental is different from the pickup branch, then the rental is a one way rental.

Modeling a Derivation Rule with a Role Condition

A bachelor is a male that is not a husband.

Modeling a Production Rule for Producing an Activity

If a customer has no items of type CD in her shopping cart, then add a CD page link to the customer page.

Modeling a Production Rule for Assigning an Attribute Value

If the reservation date of a rental is 5 days before the start date of a rental, then grant the rental a discount of 10.

Modeling a Production Rule for Deleting an Object

If a customer has a voucher whose value is greater than 4 and the customer's shopping cart has a discount of more than 10, then delete the voucher.

Modeling a Reaction Rule for Handling Book Requests

On customer book request, if the book is available, then approve the order and decrease the quantity of books in stock.