IntelligentEnterprise.gif (4003 bytes)
metaprise.gif (2616 bytes)
The Right Tool for the Job

Build an evaluation case study to match your organization with an appropriate business-rule tool


Terry Moriarty                
June 5, 2000

Selecting the business rule tools that best support your organization can be a daunting task. There may be many different products available, each with its own strengths and weaknesses. Add in the vendors' sales pitches, in which the truth is often liberally sprinkled with marketing hype, and you can easily become confused about what each tool can actually do.

You will be better able to maintain control over the evaluation when armed with this type of plan. Otherwise, you may fall prey to vendors' illusory presentations instead of seeing what actually exists.

Over my last several articles, I established the evaluation criteria for products that claim to be business rule tools. (See Resources.) Now it's time to develop a case study to test each product against the evaluation criteria. This case study must be:

For my evaluation, I turned to the car rental case study included in the Business Rules Group's (BRG) initial paper, “Defining Business Rules—What Are They Really?” The BRG, an independent group of experienced practitioners in the field of systems and business analysis methodology, promotes the business rule approach to business analysis and application development. It also develops standards about the nature and structure of business rules and the relationship of business rules to enterprise organization and system architecture.

The car rental case study, EU-Rents, has been used by a number of standards committees in Europe and by several GUIDE International projects. The BRG extended the EU-Rents case study to incorporate the business rule approach.

As the first task in developing the case study for the business rule product evaluations, I made sure that the industry case study contained the business rule types I wanted to test. To my surprise, the BRG's case study business rules, for the most part, are ramblings rather than atomic business rule statements; they fit into more than one business rule category. Consequently, I had to break down each statement from the BRG case study to expose the associated atomic business rules. Table 2  presents examples of the business rule statements from the BRG case study, decomposed into atomic, classified business rules.

Current State

Event

Business Rules Invoked

Expected Behavior

New State

Greg Loomis is a member of the Loyalty Program.

Make a reservation for a full-size car for 4/13/2000 at the Boston airport for 10 days.

"Bad experience" check.

Reservation is established.

Greg Loomis has a reservation.

Allison Morrison is a new renter.

Make a reservation for 4/13/2000 at Boston airport for 10 days.

None.

Reservation is established.

Allison Morrison has a reservation.

On 4/13/2000, only one full-size car is available at the Boston airport branch. Two reservations for a full-size car exist.

Assign cars to reservations.

If not enough cars are available in car class, but cars in the next higher-level class are available, upgrade to next higher-level class.

 

 

Loyalty program members have priority for upgrades.

Full-size car is assigned to Allison Morrison's reservation.

 

 

 

Car from the next higher-level class is assigned to Greg Loomis' reservation.

Cars are assigned to Allison Morrisons and Greg Loomis' reservations.

 

 

 

Greg Loomis has a rental agreement that is expected to end on 4/22/2000.

Greg Loomis returns the car early to the JFK branch on 4/20/2000.

If a car is returned to a different branch, transfer the ownership of the car to the returned-to branch.

Ownership of car is transferred to the JFK branch.

Car is now owned by the JFK branch.

Allison Morrison has a rental agreement that is expected to end on 4/22/2000.

Allison Morrison does not return the car until 4/25/2000 with no prior notification.

If car is not returned on due date without prior arrangement, after three days, cancel insurance coverage and notify police.

Cancel insurance.

 

File police report.

Allison Morrison has had "bad experiences."

 

 

 

Allison Morrison has had "bad experiences."

Make a reservation for a full-size car for 5/14/2000 for three days at the New Orleans downtown branch.

If a customer has had "bad experiences," the reservation can be declined.

Manager decides to decline the reservation.

No reservation is established.

A "bad experience" includes rentals where the car was returned late.

Change the criteria for the "bad experience" business rule to require more than three late returns before qualifying.

Check for conflicting or redundant business rules.

New version of business rule is created.

New business rule exists.

Allison Morrison is no longer considered to have had "bad experiences."

 

 

 

 

California regulations require all cars owned within the state must be registered in California.

Make business rule for California car ownership.

Check for conflicting or redundant business rules.

Potential conflicting business rule with respect to where cars can be returned to.

Conflicting business rules identified.

TABLE 1 Scenarios incorporating business rules to test.

 

Business Rule Statement

Business Rule Type

At each branch, cars, classified by car group, are available for rental.
1. Branch has available cars.
2. Cars are classified by car group.
3. Terms: Car Group, Available Cars

1. Association
2. Association
3. Term Definitions
4. Inference for Available Cars

Most rentals are by advance reservation. 1. Reservations can be made for some cars for a specific future date.
•Reservation has a rental period start date.
•Rental period start date can be in the future.
2. The rental period and the car group are specified at the time of reservation.
•Reservations identifies rental period.
•Reservation has the timestamp of when the reservation was placed.
•Reservation identifies the requested car group.
3. Terms: Reservation, rental period, time of reservation, advance reservation.

Term Definitions
Attribute Fact

A customer can have several reservations but only one car rented at a time.
1. A customer may have several reservations at one time.
2. A customer can only rent one car at a time.

Associations
Integrity Constraints

If there are not sufficient cars in a group to meet demand, a one-group free upgrade may be given
(that is, a car of the next higher group may be assigned at the same rental rate) if there is capacity.
1. If no cars are available for a requested car group and cars are available in the next higher car group,
assign a car from the higher group to the customer.
2. Terms: Upgrade

Action Assertion: Condition, Executive, Controlling Terms

Customers in the loyalty incentive scheme have priority for free upgrades.
1. If more than one reservation qualifies for an upgrade, the upgrade is given to customers
in the loyalty program first.
2. Terms: Loyalty Program

Action Assertion: Condition, Executive, Controlling

Cars rented from one branch of EU-Rent may be returned to a different branch. 1. Terms: Renting Branch, Returned-to Branch

Association
Terms

If a car is returned to a branch other than the one that rented it, ownership of the car is assigned
to the new branch.
1. Term: Ownership

Action Assertion, Integrity, Constraint, Executive, Controlling Terms

EU-Rent keeps records of customers, their rentals, and bad experiences such as late return, problems with
payment, and damage to cars. This information is used to decide whether to approve a rental.
1. A customer can have several "Bad Experience" records.
2. A "Bad Experience" includes late returns, problems with payment, damage to cars, and so forth.
3. If a customer has had "bad experiences." the car rental may be denied.
4. Terms: Bad Experience

1. Association and Action Assertion, Integrity
Constraint, Enabler, Controlling
2. Inference
3. Action Assertion, Condition, Executive,
Influencing

If a car is three days overdue and the customer has not arranged an extension, insurance coverage
lapses and the police must be informed.
1. If a car is three days overdue and the customer has not arranged an extension, cancel insurance coverage.
2. If a car is three days overdue and the customer has not arranged an extension, notify police.

1. Action Assertion, Condition, Executive, Controlling
2. Action Assertion, Condition, Executive, Controlling

TABLE 2 Business Rule Group's example business rules for EU-Rents.

After identifying the business rules to be tested, I incorporated them into scenarios that served as the basis of the evaluation. (See Table 1.) A scenario consists of five components: an event, the current state of the business objects the event affected, the business rules invoked, the behavior, and the final state of the affected business objects. Additional information about scenarios can be found in my two-part article in Database Programming & Design, “Scenario-Based Analysis” and “Scenario-Based Analysis, Part 2” (June and July 1998, respectively).

I chose to focus the evaluation on the business rules associated with making reservations, assigning cars to reservations, transferring ownership of a car between branches, and interacting with customers who have had bad experiences. I used this set of scenarios to evaluate the application development capabilities of the tools. I added two additional scenarios to test the essential business rule management facilities of version control and conflict management.

To evaluate the tools that build applications, I developed the data structures as the final component of the case study. I developed both an object class and data models, because some tools view the data structures as Java classes, while others access the database directly.

Figure 1 EU-Rents object class model


One objective of my evaluation was to develop criteria for deciding how best to implement a given business rule. My options were to support each business rule through parameters in database tables or through explicit statements in the tool's rules engine, or by using database facilities such as foreign keys, triggers, or stored procedures. Therefore, I designed the database to use the structures in my dynamic model. Figure 1 provides the object-class version of the dynamic model applicable to the case study. Figure 2 (see this figure at IntelligentEnterprise.com) provides the data-model version. I used Fox Data AB's System Architect 2001 to develop these models.

Figure 2 EU-Rents Data Model


The object model uses UML notation. I generated the first cut of the data model from the object model using System Architect 2001's Entity-Relationship Diagram (ERD) forward-engineering feature. The ERD notation is System Architect 2001's unique notation for information engineering a data model.

I now have everything required to conduct a thorough, unbiased evaluation of business rule tools. I'm certainly looking forward to finding out how each one fares.

Terry Moriarty, president of Inastrol, a San Francisco-based information management consultancy, specializes in customer relationship information and metadata management. She authored Enterprise View (originally the Repository Report and later the Data Architect) column for Database Programming & Design. You can reach her via email at terry@inastrol.com.

Copyright © 2000 Terry Moriarty ALL RIGHTS RESERVED
No Reproduction without permission