1
UML-Based Rule Modeling Language REWERSE 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 type custom er PR value >= 1000 type <> ’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 /rentalcarscheduled forservice DR A PR attr A attr:= 10 DR B DR A DR PR RR Payment Request

UML-Based Rule Modeling Language REWERSE Working Group I1 Brandenburg University of Technology Strelka – An URML Modeling Tool The Strelka tool supports

Embed Size (px)

Citation preview

Page 1: UML-Based Rule Modeling Language REWERSE Working Group I1 Brandenburg University of Technology Strelka – An URML Modeling Tool The Strelka tool supports

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