Upload
octavia-walsh
View
218
Download
3
Embed Size (px)
Citation preview
UML-Based Rule Modeling LanguageREWERSE Working Group I1
Brandenburg University of Technology
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:
REWERSE Working Group I1: http://www.rewerse.net/I1
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.
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.
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.
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.”
The rule has 3 conditions: • rental car is stored at the branch, which is an association
condition;• rental car is not assigned to rental, which is a negated
association condition;• rental car is not rental car scheduled for service, which is a
negated classification condition.Rule conclusion:rental car is available at the branch, which is an association
conclusion.
value/discount
order
typecustomer
PR
value >= 1000type <> ’gold’
discount := 10
1*
A
Example: production rule assign action“If customer is not a gold customer and it has an order for more than 1000, then give a discount of 10.”
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.
Derivation rule
Production rule
Reaction rule
Rule condition arrow
Rule conclusion arrow
Rule action arrow
Rule event
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.
branch rental car
storage branch 1 *3 is stored at
3 /is available at
rental
0..1
*is assigned to
/rental car scheduled for service
DR
APR
attr
Aattr := 10
DR B
DRA
DR
PR
RR
Payment Request