UML-Based Rule Modeling Language
REWERSE Working Group I1 Brandenburg University of Technology
Background
Where are rules used? Rules play an important role in information systems engineering, especially in the specification of functional requirements where business rules are the foundation for capturing and modeling business application logic; Rules are a critical technology component for the early adoption and for applications of knowledge-based techniques in e-business, especially enterprise integration and B2B e-commerce; Semantic Web. Why Visual Rules Modeling? The modeling language, used in the communication between domain analysts and domain experts for analyzing and documenting system requirements must not be 'technical', but should allow (semi-)visual and/or natural-language-like rule expressions, which can be understood by domain experts without extensive technical training.
Example: defining an association
“If rental car is stored at the branch and it is not assigned to a rental and rental car is not rental car scheduled for service, then rental car is available at the branch.”
storage branch 1 branch
3 is stored at 3 /is available at
* rental car 0..1
DR rental
* assigned to is
/rental car scheduled for service
The rule has 3 conditions: • rental car is stored at the branch, which is an condition; • rental car is not assigned to rental, which is association condition; • rental car is not rental car scheduled for service, negated classification condition. Rule conclusion: rental car is available at the branch, which is an conclusion. association a negated which is a association
About REWERSE Working Group I1
The REWERSE working group on "Rule Modeling and Markup" performs extensive research in the areas of metamodeling and visualization of rules. Research activities include: Development of a visual language for rule modeling, as an extension of UML; • Development of components for verbalization and markup generation; • Support of the reasoning languages developed in REWERSE; • Development of rule modeling tool.
Example: production rule assign action
1 customer type
type <> ’gold’
“If customer is not a gold customer and it has an order for more than 1000, then give a discount of 10.”
URML - I1 Approach to Rules Modeling
URML – UML-Based Rules Modeling Language: • Supports modeling of derivation, production and reaction rules; • Based on UML, which makes it usable for software engineers; • Accommodate main concepts of UML, OCL and Semantic Web languages like RDF, OWL, SWRL and RuleML.
order A value discount := 10 /discount
value >= 1000
The rule has 2 conditions: • customer is not a ‘gold’ customer, which is a classification condition with the filter expression type<>’gold’; • order value is more than 1000, which is a classification condition with filter expression value>=1000; Rule action: give a discount of 10, assign action, which assigns the value 10 to the attribute discount.
*
PR
Strelka – An URML Modeling Tool
The Strelka tool supports modeling of derivation, production and reaction rules. In order to allow rule modeling in UML class diagrams, the following modeling constructs have been added:
Derivation rule Production rule Reaction rule Rule condition arrow Rule conclusion arrow Rule action arrow Rule event
DR PR RR
A
DR
DR
PR
B
attr := 10
A A attr
Screenshot of the Rule Modeling Tool Strelka, developed on Fujaba platform. The rule on the screen: if a male is not a husband, then he is a bachelor.
Payment Request
REWERSE Working Group I1: http://www.rewerse.net/I1