the dresden ocl toolkit and the business rules...

36
The Dresden OCL Toolkit and the Business Rules Approach Birgit Demuth Technische Universität Dresden Fakultät Informatik

Upload: hoangdang

Post on 23-Aug-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

The Dresden OCL Toolkit and theBusiness Rules Approach

Birgit DemuthTechnische Universität Dresden

Fakultät Informatik

Page 2: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 2

Contents

IntroductionArchitecture of the Dresden OCL Toolkit

OCL1.3 basedOCL2.0 based

OCL in Business Rules SolutionsLessons Learned and Conclusions

Page 3: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 3

Introduction

Page 4: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 4

OCL at a Glance

Object Constraint Language (OCL) MOF related OMG standardPart of the Unified Modeling Language (UML)Language for defining constraints in different UML diagrams

DeclarativeFormalSide-effects-free

OCL adds precision to the mostly graphical/textualspecifications of software projectsGrowing acceptance by more running OCL tools in last years

Page 5: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 5

The EBRC Question

What kind of supportcan OCL provide

for the specification and evaluation of business rules?

(Software engineering perspective)

Page 6: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 6

Typical OCL Use Cases

Development of business applicationsSpecification and evaluation of business rulesSpecification and evaluation of modeling guidelines/„profiles“

Development of CASE toolsChecking the consistency of software models according to the UML metamodelProviding OCL support

Model-driven software engineering/MDASpecification of test cases and generation of test code

Page 7: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 7

OCL by a Business Rule Example(Invariant)

context Destination inv iRegion: hotelsInDestination->forAll(myRegion=self.regionOfDestination)

Page 8: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 8

OCL by a Business Rule Example(Pre/Post Condition)

context Hotel::upgradeStars()pre: stars>=0post: stars = stars@pre + 1

Page 9: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 9

OCL 2.0 as a Query Language

Specification of query operations in the UML model, e.g. the names of all hotels in a regioncontext Region::getNamesOfHotels:Bag(name)body: hotelsInRegion->collect(name)

Further new use cases of OCL2.0 expressions:Definition of reusable OCL expressions (attributes/ operations) (def)Derivation rules (derive) for attributes/association endsSpecification of initial values for attribute/ass. ends (init)

OCL Expression

Page 10: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 10

Examples forOCL Constraintsat the M2 Layer

Ensuring the consistency of software modelsWell-Formedness Rules (WFRs) in the UML metamodel, e.g. circular inheritance is not allowed:context GeneralizableElement: not self.allParents->includes(self)

UML Modeling guidelines/ProfilesJava specific, e.g. there should no multiple inheritance:context GeneralizableElement inv MR1:self.generalization->size<= 1

Page 11: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 11

Architecture of theDresden OCL Toolkit

OCL1.3 basedOCL2.0 based

Page 12: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 12

Dresden OCL Toolkit

Dresden OCL Toolkit available as Open Source:http://dresden-ocl.sourceforge.net/

Modular architecture with cleanly defined interfacesJava-basedIntention is the reuse in (mostly UML CASE) toolsthat are need in some manner thespecification/evaluation of OCL constraints

Page 13: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 13

Dresden OCL ToolkitAvailable Tools (OCL1.3 based)

OCLCore (editing, parsing, type checking, normalization)

OCL2Java (Java code generation)

OCLInjector4Java (Java code instrumentation)

OCL2SQL (SQL code generation)

OCLInterpreter (dynamic OCL constraint evaluation)

Page 14: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 14

Integration of OCL into a UML Tool

OCL by oneself is nothing! Constraints only live together with a UML model!Two ways of integration:

Tight integrationOCL tool as an add-in of the UML CASE tool

Loose integration by XMIXMI file as „Repository“ of the UML model

Page 15: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 15

Existing Integrations ofDresden OCL Tools

ArgoUMLPoseidonMetaBossTogether Control CenterRational Rose

Page 16: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 16

OCLCoreintegrated into Together

Page 17: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 17

MetaBoss

Page 18: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 18

Dresden OCL2 Toolkit(OCL2.0 based)

Redesign of the Dresden OCL Toolkit based on theproposed metamodel for OCL 2.0Already available

MOF repository implementationParserCode generator to generate Java expressions for theevaluation of WFRs (OCL invariants on meta models)

Under DevelopmentFull Java code generationApplication program instrumentationSQL code generation

Page 19: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 19

OCL in Business Rules Solutions

Page 20: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 20

OCL in Business Rules Solutions

Use of OCL in the UML-related world is recentlygrowing because of the availability OCL toolsTwo-step process

1st step: Specification of OCL constraints fordocumentation2nd step: Evaluation of OCL constraints for checkingbusiness rules

First examples of using OCLMetaBoss projects (metaboss.sourceforge.net, Australia)pleXX framework (www.exxcellent.de/plexx, Germany)Cemagref (www.cemagref.fr, Agricultural and environmental engineering, France) Further own case studies with Dresden OCL tools

Page 21: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 21

OCL Constraints vs.Business Rules (1)

Specification of Business Rules (BR) At the external level: How can BR be expressed by the userin a simple and comprehensible way?At the conceptual level: How can BR be represented insidethe system? At the internal level: How can BR be implemeted?

Unanimous position in literature and reportsOCL is useful for the specification of BROCL is too difficult for business modelersThere are already different running OCL implementations

OCL is a good candidate for the conceptual level ☺

Page 22: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 22

OCL Constraints vs.Business Rules (2)

ConsequencesTransformation of BR to OCL constraintsEvaluation OCL constraints by different implementationapproaches

Different approaches for user-friendly specification of BR, e.g.

Visual language for OCL (Constraint Trees, Kent et al 2002)Business Modeling (BM) syntax for OCL (Octopus, Warmer et al 2003)

Approaches for OCL implementationsDBMS based (SQL driven)Application language driven (e.g. Java)

Page 23: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 23

Dresden OCL Tools in aBusiness Rule Framework

UML/(Extended) Dresden OCL Tools

BMLanguage

VisualLanguage

NaturalLanguage

TemplateLanguage

DSL (e.g. UML-Profile)

SQL Java J2EE C#/.Net

. . .

. . .

Page 24: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 24

Basic Types of BR andTheir Mapping to OCL

Type of Business Rules

OCL concepts

Constraint Invariant

Derivation rule Derivation rule (derive)Query operation (body)(limited)

Reaction rule Extended OCL (Actions, XOCL)

Page 25: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 25

Scenario 1:Use a BR Language

Business Modeling (BM) Syntax for OCL as an example(Octopus, Warmer et al 2003)

SQL likeSupports all concepts of OCLUser-friendly notation for predefined operations on collections and for predefined iteratorsEasy to implement in the framework of the Dresden OCL2 Toolkit because of the separation of concreteand abstract OCL syntaxFurther other concrete syntax possible

Page 26: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 26

BM Example

One of our BR examples …

In standard OCLcontext Region::getNamesOfHotels:Bag(name)body: hotelsInRegion->collect(name)

In BM syntax of OCLcontext Region::getNamesOfHotels:Bag(name)body: collect h.name using h: Hotels

from hotelsInRegion

Page 27: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 27

Scenario 2:Design a DSL

Design of a Domain Specific Language (DSL) couldbe an approach to create a specialized BR languageGenerally valid built-in business rulesOften used technique is the creation of a UML Profile

StereotypesTagged values(OCL) Constraints

Page 28: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 28

Example: DSL for a Geographic IS (1)

DSL for GIS applications (Pinet et al, 2004)Definition of a UML profile

Typical business rules of a GIS are „hidden“ in theprofileCase study in an agricultural information system

Page 29: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 29

Example: DSL for a Geographic IS (2)

„Spatial OCL“ foruser-definedtopological constraintsImplemented byOCL2SQL

Page 30: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 30

Example: DSL for a Geographic IS (3)

Embedding of our Hotel Reservation System into a GIS

User-defined topological constraintcontext Region inv: destinationsInRegion ->

forAll(self.geometry.contains(geometry))

Page 31: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 31

Lessons Learned and Conclusions

Page 32: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 32

Lessons Learned (1)

Our case studies show that the road to a broad useof OCL in the professional software development isstill long.OCL is too difficult for most business modelers!BR/constraints should be executed, not only bedocumented!Subset of Business Rules can be implemented byOCL!Ideas are great, the realization of ideas by tools arebetter!

Page 33: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 33

Lessons Learned (2)

Strengths of Dresden OCL Toolkit: Open source under the LGPL licenseClean and small interfaces for extension of thetoolkit and exchange of modulesCode generation for Java and SQLConformance to OCL1.3 (in future to OCL2.0)OCL Syntax assistantMetamodel based OCL20 architectureAllows implementations of OCL languageextensions

Page 34: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 34

Lessons Learned (3)

Reuse in many research&development projects and in first business environmentsMaintenance at the university with minor ressourcesis difficultWe would be glad about further developers in theopen source community ☺Feedback using our toolkit is welcome!

Page 35: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 35

Conclusions

There are two scenarios using OCL in business rulessolutions:(1) Use a BR language and map the business rules internally to

OCL(2) Design a DSL with internally hidden OCL constraintsExtending OCL by actions covers a bigger set of business rules!Business rules projects should externally use OCL as long as no BR language exists!Dresden OCL Toolkit is reuseable for building toolswhich handles constraints in different forms

Page 36: The Dresden OCL Toolkit and the Business Rules Approachst.inf.tu-dresden.de/files/papers/EBRC2005_Demuth.pdf · Development of CASE tools ... Scenario 1: Use a BR Language Business

Birgit Demuth EBRC 2005 36

Outlook

Maintenance of Dresden OCL13 ToolkitFurther development of Dresden OCL20 ToolkitFurther case studiesResearch questions:

How to extend OCL for higher expressiveness?How to detect inconsistent specifications of constraints?Can the Semantic Web (OWL and similar languages) benefitfrom OCL?Clarification of the role of OCL in MDA and especially in themodel-driven development of business rules applications