Copyright © 2009 James Taylor. Visit the original article at First Look – RuleXpress.RuleXpress is a tool from RuleArts designed to allow business analysts to capture their vocabulary or terms and source business rules relevant to their business and their business problems. RuleXpress is not a business rules management system nor is it a modeling […]
RuleXpress is a tool from RuleArts designed to allow business analysts to capture their vocabulary or terms and source business rules relevant to their business and their business problems. RuleXpress is not a business rules management system nor is it a modeling tool in the sense of a UML modeling tool. It is a tool designed to bring a rule- and vocabulary-centric approach to analysis. RuleXpress helps non-technical users manage and document the vocabulary their rules use, and their rules, while avoiding anything that looks like programming or modeling.
RuleXpress is a repository-based tool that can be used offline or in a multi-user environment. Models are stored in a central repository and can be checked out to a local copy and then merged back. Within the tool the key organizing principle is that of a community – a group of people who share the same understanding about their vocabulary and rules. Within this you can have projects but the focus of the tool is on the activity of vocabulary/rule management as an ongoing task. The key activities are to manage vocabulary and rules or, more specifically terms, fact model, rules, decision tables and rule groups.
For terms, the tool displays a list of the defined terms and the user can see and manage the definition of each. All referenced terms (many terms are, of course, defined using other terms) are hyperlinked having been recognized automatically as they were typed. A usage tab shows where a term is used and this view is recursive so, for instance, you can see the rules that use a term then explore the terms that are used by those rules and so on. Terms can be words or phrases and can be disambiguated using a suffix. Users can also define synonyms and identify which terms are preferred, which ones are discouraged etc. – each synonym has an acceptability rating. Vocabularies are developed within a community but can be shared across them.
The tool really wants business people to use their own words so in general it warns after the fact rather than prevents. Quality rules exist and are applied to give each Term a quality summary. Each quality rule has a penalty score and these are summarized. Users can create quality profiles for an activity so they can define which quality rules need to be applied at which stage in analysis giving layers of quality checks.
Rules are managed in a similar style but instead of a definition there is a rule statement for each rule. Rules also have a different set of quality rules including such things as their use of preferred (rather than discouraged) synonyms. Decision tables are included as a very free form way to let users lay out a table or rules. The tool links terms but enforces few other restrictions on these tables. Similarly Rule Groups are also free format and available just as an organizing layer for rules.
Properties (meta data) for all objects are defined but can be extended by the user. For instance implementation details and document sources can be added. Properties can have pick lists and data types as well as multiplicity and nested properties so the user has complete control over the information being collected.
Reporting includes the option to produce an XML format (actually an intermediate step anyway) or go ahead and apply a style sheet to produce a finished report. The reporting framework gives some control over which classes to report, what relationships to include and a filter – a where clause if you like. Reports (and filters) are manageable items so they are stored in the repository, can be created locally, promoted and shared etc.
One of the biggest determinants of success in a business rules implementation project (using a BRMS to implement one of more decisions) is an understanding of the rules you need to implement. Being able to capture and manage the source rules that will drive the implementation in a tool like RuleXpress should help enormously.