Business-Driven Software Engineering Lecture 9 Business Objects and Object Life Cycles



Similar documents
Consistency of Business Process Models and Object Life Cycles

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Ensuring Quality in Business-driven Development of IT Systems using Workflow Patterns

MODEL CONTRACT FOR PROVISION OF HEALTH CARE SERVICES. This Contract is entered into on / /, corresponding to / /1430H by and between:

CSE4213 Lecture Notes

Synthesizing Object Life Cycles from Business Process Models

Compliance and Requirement Traceability for SysML v.1.0a

Capacity & Demand Management Processes within the ITIL 2011 Update

BOC Express Cash Revolving Credit The Most Versatile Balance Transfer Program For Financial Management, Choose the BOC Express Cash Card

BPMN for OAGIS Scenarios

Chap 1. Introduction to Software Architecture

UML Activities & Actions. Charles ANDRE - UNSA

Willis & Ainsworth Ltd Terms and Conditions

External Transfer to a Friend Enrollment Form

Framing Requirements for Predictive Analytic Projects with Decision Modeling

GENERAL TERMS OF PURCHASE of Globe Chemicals GmbH valid for contracts with merchants effective May 1 st, 2005

IS 604: Contemporary Issues in IS Banking Enterprise Systems

A Brief Analysis of Web Design Patterns

Table of Contents. Introduction. Audience. At Course Completion. Prerequisites

Business Process Modeling

Using UML Part Two Behavioral Modeling Diagrams

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Business Process Modelling Languages, Goals and Variabilities

AUTO INSURANCE CLAIMS & CLAIMANTS RIGHTS

7. You agree to grant MCB a security interest in all your property in our possession to secure payment of your obligations under this Addendum.

The Community Mutual Group Visa Credit Card Conditions of Use

AUTO INSURANCE CLAIMS & RIGHTS

Modeling Workflow Patterns

Lluis Belanche + Alfredo Vellido. Intelligent Data Analysis and Data Mining. Data Analysis and Knowledge Discovery

Article 2. Offers and quotations

Profile 4 Basic Invoice Only. Version 2.0


CHANGE MANAGEMENT PROCEDURE

CST

International Payments

Data Management Implementation Plan

RED FLAGS IDENTITY THEFT PREVENTION PROGRAM. Raleigh Radiology Cedarhurst, Wake Forest and Clayton. May 1, 2009

STATE OF CONNECTICUT

Part I. Introduction

Process Modeling Notations and Workflow Patterns

UML-based Test Generation and Execution

Direct Payment Protocol Errors A Troubleshooter

Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)

Consolidated by Commercial Bank Schedule D Loans Origination

PROCEDURES FOR THE NEW JERSEY DEPARTMENT OF BANKING AND INSURANCE MEDIATION PROGRAM FOR INSURANCE CLAIMS FOLLOWING STORM SANDY

MUSIC RESOURCES TERMS AND CONDITIONS FOR SCHOOLS ( Conditions )

A Business Process Services Portal

System Modeling / Class Diagra Diagr m a Week 6

ATM Case Study Part 1

How To Pay A Bank Transfer At The University Of Central Florida

WINTERSHALL NORGE AS GENERAL TERMS & CONDITIONS I FOR ONSHORE GOODS. Table of Content

Frequently Asked Questions Re: Bank Change for taxpayers that make ACH credit payments

Data in Business Processes

Guidelines on the Reporting of Compliance with Specification

How To Renew A Life Insurance Policy

INTERNATIONAL BANK OF CHICAGO

General Terms & Conditions for the Registration of.vg Domain Names April 14, 2014

This can be checked on the Financial Services Register by visiting the FCA s website at reporting/register

Vectra Bank Colorado Personal Electronic External Transfer Enrollment Form

Flexible Engineering Process Automation Process: Continuous Integration & Test

Server and Direct Shared Protocols

ENT FEDERAL CREDIT UNION FUNDS TRANSFER AGREEMENT AND NOTICE

International Payments Terms & Conditions

means the Eligibility Criteria set forth in clause 4 of these Rules.

BPI SECURE PAY ecommerce MERCHANT AGREEMENT

Novo Service Desk Software

TOGAF Certification for People Training Course Accreditation Policy

ECM Recommendation Part 1 (ECR) Version 2.0, Issued Aug Replacements: Version 1.0

i. Node Y Represented by a block or part. SysML::Block,

The BPM to UML activity diagram transformation using XSLT

XCEL ENERGY S ebill AND ebill PAYMENT TERMS OF USE

Chargeback Reason Code List - U.S.

Issue Date: June 22, 2011 Due Date: July 22, 4:00p.m.

Loan Contract Terms and Conditions booklet with:

MTAT Business Process Management (BPM) (for Masters of IT) Lecture 2: Introduction to BPMN

Managing and Tracing the Traversal of Process Clouds with Templates, Agendas and Artifacts

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

City of Lathrop, California - Red Flags and Preventing Identity Theft

114CSR14 WEST VIRGINIA LEGISLATIVE RULE INSURANCE COMMISSIONER SERIES 14 UNFAIR TRADE PRACTICES

Web Services Credit Card Errors A Troubleshooter

Music Professional Liability Application

Oxford Life. Selling Agreement. 4. Include copy of Errors & Omissions Coverage. 6. Include NAIC 4 Hour Training (if applicable)

ViZion Installation Guide

WEBKINCSTAR ONLINE SECURITIES TRADING - TERMS AND CONDITIONS OF USE

Refactoring BPMN Models: From Bad Smells to Best Practices and Patterns

Chapter 6. Data-Flow Diagrams

Analytics for Performance Optimization of BPMN2.0 Business Processes

EXCESS EMPLOYERS LIABILITY. A Chubb liability insurance policy

Weber Human Services Identity Theft Prevention Policy

CREDIT CARD AGREEMENT AND DISCLOSURE STATEMENT

Important information about your credit card account (Account)

OneCentral Portal 2/10/2015 1

Web Services Credit Card Errors A Troubleshooter

RHODE ISLAND. Electronic Business Transactions (EBT) Standards. for Electronic Data Interchange (EDI) in a Restructured Electric Industry

Extending UML 2 Activity Diagrams with Business Intelligence Objects *

COMBINING PROCESS MODELLING AND CASE MODELLING

Treasury Management Services Product Terms and Conditions

Green Globe Certification Policy V1.6

Web Services Credit Card Errors A Troubleshooter

David Jones Storecard and David Jones American Express Card Member Agreement, Financial Services Guide and Purchase Protection. Terms and Conditions

Transcription:

Business-Driven Software Engineering Lecture 9 Business Objects and Object Life Cycles Jochen Küster jku@zurich.ibm.com

Agenda Introduction to Business Objects and Object Life Cycles Overview of Use Cases for Object Life Cycles Consistency of Business Process Models and Object Life Cycles Generation of a Business Process Model from Object Life Cycles Extraction of Object Life Cycles Resolution of Inconsistencies Summary and References 2

Business Process Models and Object Life Cycles 3

Business Objects A business object is a discrete entity that plays a role in business processes of an organization Examples:, Bill, Contract Objects can be associated with a number of distinct business object states Modeling of business objects UML class diagrams for capturing structure of business objects UML state diagrams for capturing dynamics of business objects 4

UML State Diagrams for capturing Object Life Cycle Object life cycles model allowed state transitions No events/conditions/actions as in conventional UML State Diagrams Instead event is replaced by the activity which performs the transition on the object granted settle grant settled registered register reject rejected d Object life cycle for object type 5

Business Process Models and Business Object Flow Make Payment Close Receive Evaluate X X Notify Refusal Business process models capture coordination of activities performed to achieve a business goal Activities work on data, they consume data and produce new data In some occasions it is necessary to model data more explicitly Some process modeling languages support business objects BPMN, UML 2.0 6

Business Objects in BPMN Receive Evaluate Receive Evaluate BPMN supports the modeling of object flow Business objects define input and output of activities Business objects can be given states Decoupled and connected option Too much object flow introduces cluttering into the diagram 7

Business Objects in UML 2.0 Receive Evaluate Receive Evaluate <<datastore>> UML 2.0 supports the modeling of object flow Explicit form of object flow: Object flow connections Object pins are used for outputting or reading a business object Implicit form of object flow (shorthand for this lecture): Datastores are used Connections between pins and datastores are omitted 8

Business Process Models and Business Object Flow Receive Evaluate granted rejected Make Payment Close <<datastore>> Notify Refusal <<datastore>> Payment Object pins and data stores support the modeling of business object flow Decision conditions can be specified in terms of the state of business objects (see Data-based Routing Pattern) 9

Overview of Use Cases for Object Life Cycles 10

Use Cases of Object Life Cycle Modeling (1) 1. Model both Business Process Models as well as Object Life Cycles To get an overview of how business objects are manipulated To complete the picture of the business process (another view) 2. Establish consistency between Business Process Models and Object Life Cycles To improve the quality of the overall model To ensure consistency with reference object life cycles 11

Use Cases of Object Life Cycle Modeling (2) 3. Generate a process model from existing object life cycles To understand better the hidden process behind object life cycles To follow a process-driven approach for implementation To ensure consistency of object life cycles with generated process model 4. Extract object life cycles from business process models To get an overview of how business objects are manipulated To ensure consistency of process model with extracted life cycles To follow an object-based approach for implementing processes 12

Techniques for Process Models and Object Life Cycles PM PM PM PM PM OLC OLC OLC OLC OLC 2a. check consistency 3. generate process model 4. extract object life cycles 2b. resolve inconsistencies A consistency concept for the two views (for checking consistency) Model transformations for generation and extraction Resolution of inconsistencies by predefined transformations 13

Consistency of Business Process Models and Object Life Cycles 14

Relationship between process models and object life cycles creates object / triggers initial transition registered triggers one of Offer Benefit Close granted rejected triggers Receive Evaluate settled d Object life cycle for object type triggers triggers Notify Refusal Process model for Handling process Process models and object life cycles represent overlapping behavior 15

Checking Consistency - Example granted settle grant settled registered register reject rejected d Object life cycle for object type Creates objects in state registered receive claim <<datastore>> <<datastore>> Payment Induces transitions from registered to granted and from registered to rejected for objects [granted, rejected] evaluate claim [granted] [rejected] [granted] [rejected, cancelled] notify refusal [granted, rejected] make payment [paid in full] [rejected, cancelled] Process model for Handling process Creates Payment objects in state paid in full can be in state d or rejected and Payment can be in state paid in full [granted, rejected, cancelled] claim [d] Does not induce transition from cancelled to rejected for objects 16

Checking Consistency Forms of Consistency register registered grant reject granted rejected settle settled d receive claim [granted, rejected] evaluate claim [granted] [rejected] [granted] [rejected, cancelled] [granted, [granted, rejected, rejected] cancelled] make payment [paid in full] notify refusal [rejected, cancelled] claim [d] corresponding elements transition target of initial transition final state induced transition first state last state Conformance: all induced transitions, first states and last states in process model have corresponding elements in object life cycle Coverage: all transitions, target states of initial transitions and final states in object life cycle must have corresponding elements in process model 17

Examples of possible inconsistencies registered granted rejected settled d receive claim [granted, rejected] evaluate claim [granted] [granted] [rejected] [rejected, cancelled] [granted, rejected] offer benefit [paid in full] notify refusal [granted, rejected, cancelled] [rejected, cancelled] claim [d] Non-conformant transitions: (1) offer benefit task induces transition from state granted to rejected and (2) claim task induces transition from state granted to state d, which are not defined in the object life cycle Non-conformant last state: (3) rejected is a last state in the process model, but it is not a final state in the object life cycle Non-covered transitions: (4) transitions from state granted to settled and (5) from state settled to d are not induced in the process model 18

Approaches to achieving consistency Requested Request Authorized Authorize Requested Pay Request PartiallySettled Settled Authorized Requested Settle Authorize Request Pay in full Pay PartiallySettled Authorized Authorize Settled Pay Settle PartiallySettled Pay in full SettledSettle Pay in full Object life cycles Register Check for new claim fraud Initiate [Possible fraud fraud] investigation [No Initiate fraud] fraud investigation Existing business process model Requested Request Authorized Authorize Requested Pay Request PartiallySettled Settled Authorized Requested Settle Authorize Request Pay in full Pay PartiallySettled Authorized Authorize Settled Pay Settle PartiallySettled Pay in full SettledSettle Pay in full Object life cycles 1. Process model generation Register Check for new claim fraud Initiate [Possible fraud fraud] investigation [No Initiate fraud] fraud investigation Initial business process model 1. Consistency checking!!!!!!!! Inconsistencies 3. Consistency Checking 2. Customization Register Check for new claim fraud Initiate [Possible fraud fraud] investigation [No Initiate fraud] fraud investigation Customized business process model 2. Resolution of inconsistencies!!! Inconsistencies Register Check for new claim fraud Initiate [Possible fraud fraud] investigation [No Initiate fraud] fraud investigation Consistency ensured 4. Resolution of inconsistencies Initiate [Possible fraud fraud] Register Check for investigation new claim fraud [No Initiate fraud] fraud investigation Consistency ensured 19

Generation of a Business Process Model from Object Life Cycles 20

Generation from one object life cycle register registered grant reject granted rejected settle settled d 1. For each event labeling a state transition in object life cycle, an activity is generated with appropriate input/output pins and object states [granted] [rejected] register grant reject [granted] [settled] [settled, rejected] [d] settle 21

Generation from one object life cycle register registered grant reject granted rejected settle settled d 1. For each event labeling a state transition in object life cycle, an activity is generated with appropriate input/output pins and object states 2. Order of activities is based on matching input/output object states [granted] [granted] grant settle [settled] [settled, rejected] [d] register reject [rejected] 22

Generation from one object life cycle register registered grant reject 1. For each event labeling a state transition in object life cycle, an activity is generated with appropriate input/output pins and object states granted settle settled rejected d 2. Order of activities is based on matching input/output object states 3. Control nodes are added for correct control flow [granted] [granted] grant settle [settled] [settled, rejected] [d] register reject [rejected] <<datastore>> 23

Generation from one object life cycle register registered grant reject evaluate granted rejected settle settled d 1. For each event labeling a state transition in object life cycle, an activity is generated with appropriate input/output pins and object states 2. Order of activities is based on matching input/output object states 3. Control nodes are added for correct control flow 4. Combination of selected activities [granted] [granted] [settled] [settled, [granted, grant settle [settled, rejected] rejected] rejected] [d] [granted] register evaluate [rejected] reject [rejected] <<datastore>> 24

Generation from a set of object life cycles register create created registered grant reject authorize stop authorized stopped granted rejected pay all settle pay installment settled paid in full partially paid stop d pay all pay installment synchronization 1. Identification of synchronization events (manual step) (I C 1,I P 2 ) register C grant C create P authorize P RG C P,I 2 GR C,CR P GR C,AU P C[RG] register C <<datastore>> C <<datastore>> P reject C C RJ C,I 2 P CL C,I 2 P C[RG] C[RG] C[RG] C[RG] reject C grant C create P refuse P GR C,RF P C[RJ] C[GR] P[CR] P[CR] P[CR] P[CR] refuse P stop P GR C,ST P P[RF] settle C pay all P SE C,PF P pay installment P stop P GR C,PP P C settle C pay all P pay installment P C[SE,RJ] C[GR] P[AU,PP] C settle C pay all P stop P C[CL] C[SE] P[ST] CL C,PF P P[AU,PP] P[PF] P[AU] P[CR] P[AU] P[AU,PP] P[PP] P[PP] P[AU] pay authorize P installment P P[AU] P[PP] P[PP] 2. Composition of object life cycles 3. Process model generation: Task generation Object state relation for tasks Process fragment generation Connection of process fragments 25

Identification of synchronization events A synchronization event is an event that triggers state transitions in more than one object life cycle Identifying synchronization events is necessary given several object life cycles, to ensure that invalid composite states cannot be reached grant C create P grant I 1 register registered reject grant C create create P created refuse authorize refused stop settle C authorized stopped granted rejected pay all P pay all pay installment settle stop settle C settled pay all pay all P d paid in full partially paid settle C pay all P pay installment Object life cycle for object type I 2 Object life cycle for Payment object type 26

Composition of object life cycles granted I 1 register grant C registered create P grant reject settle settle C settled pay all P rejected d paid in full I 2 grant C create create P created refused stop settle C authorized stopped pay all pay P all pay installment pay all settle C pay all P refuse authorize partially paid stop pay installment (I C 1,I 2P ) register C registered C I 2 P reject C rejected C I 2 P C d C I 2 P grant C create P refuse P granted C created P granted C refused P authorize P granted C authorized P stop P granted C stopped P settle C pay all P pay installment P stop P settled C paid in full P settle C pay all P granted C partially paid P pay installment P C d C paid in full P d C refused P d C stopped P 27

Process model generation [rejected] [settled, rejected] [d] C register C <<datastore>> reject C grant C create P [granted] [created] [created] [authorized] [authorized] [created] [created] authorize P [authorized] [authorized] [granted] settle C pay all P [authorized, [paid in full] partially paid] [authorized, [partially paid] partially paid] [partially paid] [authorized, partially paid] [settled] pay installment P [partially paid] [partially paid] [stopped] <<datastore>> Payment [created] refuse P [refused] stop P Transition and first state conformance with respect to both object life cycles are satisfied, but last state conformance is not All coverage conditions are satisfied here, but this is not guaranteed 28

Extraction of Object Life Cycles 29

Example for Extraction of Life Cycles [Requested] Register new claim [Registered] Evaluate [NotFraudulent, NeedsReevaluation] Check for fraud [Requested] [Granted] [Granted, Rejected, PreRejected] [PreRejected] [Fraudulent, NotFraudulent] [NotFraudulent] Prepare settlement [Rejected] Notify rejection [Fraudulent] [Authorized] [Granted] Initiate fraud investigation Carry out payment [Rejected] [Rejected, NeedsReevaluation] [NeedsReevaluation] [Settled] [Settled] [NeedsReevaluation] x [Settled, Rejected] Close Prepare for reevaluation [Closed] 30

Transformation Rules for Generation Rule 1 (objectcreation) Process model P A O [s 1,,s n ] Object life cycle OLC P for O A A s 1 s n Rule 2 (statechange) O [s 11,,s 1m ] A O [s 21,,s 2n ] A s 11 s 21 A A s 1m s 2n A Rule 3 (finalconsumption) O [s 1,,s n ] s 1 s n A A A Rule 4 (finalnode) O O [s s 1,,s n ] [s 1 s 1,,s n ] n x OR Rule 5 (processinput) O O [s 1,,s n ] START P s 1 START P s n Rule 6 (processoutput) O [s 1,,s n ] O END P END P s 1 s n 31

Generating object life cycles from s handling process Register new claim Registered Rule 1 (objectcreation) [Requested] Register new claim [Registered] Check for fraud [Requested] [Granted] [Fraudulent, NotFraudulent] [NotFraudulent] Prepare settlement [Fraudulent] [Authorized] Initiate fraud investigation Carry out payment [Settled] x 32

Generating object life cycles from s handling process Register new claim Check for fraud Registered Check for fraud Fraudulent NotFraudulent Register new claim Rule 2 (statechange) [Registered] Check for fraud [Fraudulent, NotFraudulent] [NotFraudulent] [Fraudulent] Initiate fraud investigation [Requested] [Requested] [Granted] Prepare settlement [Authorized] Carry out payment [Settled] x 33

Generating object life cycles from s handling process Register new claim Check for fraud Registered Check for fraud Fraudulent NotFraudulent Rule 3 (finalconsumption) Register new claim [Registered] Check for fraud [Fraudulent, NotFraudulent] [NotFraudulent] [Fraudulent] Initiate fraud investigation [Requested] [Requested] [Granted] Prepare settlement [Authorized] Carry out payment [Settled] x 34

Generated Object Lifecycles START P Requested Prepare settlement Authorized Carry out payment Settled Initiate fraud investigation Check for fraud Fraudulent Settle Settled Register new claim Registered Evaluate Granted Evaluate Close Check for fraud NotFraudulent Evaluate Evaluate PreRejected NeedsReevaluation Closed Notify rejection Notify rejection Evaluate Evaluate Close Rejected 35

Resolution of Inconsistencies 36

Examples of Inconsistencies granted settled registered under evaluation rejected d [granted] prepare settlement [under evaluation] open claim [granted] [granted, rejected] decide on claim [granted, reviewed] [needs review] [needs review, settled] settle review [settled] claim [rejected] notify rejection [granted] [reviewed] [d] Non-conformant transitions: transition from granted to needs review (ncnf_tran(settle, granted, needs review)) transition from needs review to reviewed (ncnf_tran(review, needs review, reviewed)) Non-covered transitions: transition from rejected to d (ncov_tran(rejected, d) 37

Inconsistency Resolution Rules [s,s k,..,s l ] a [s m,..,s n ] [s i,..,s j ] a [s,s m,..,s n ] x a y r 1 : remove s from input states r 2 : remove s from output states r 3 : remove action a [s k,..,s l ] a [s m,..,s n ] [s i,..,s j ] a [s m,..,s n ] x y inconsistency resolutions may be captured as resolution rules here: inconsistency resolutions for non-conformant transition application of the resolution rule leads to resolution of the inconsistency but: resolutions may introduce new inconsistencies as side effects and resolve other inconsistencies as side effects 38

Inconsistency Resolution Rules and Side Effects [s,s k,..,s l ] [s m,..,s n ] [granted, reviewed] [needs review, settled] a settle r 1 : remove s from input states [s k,..,s l ] a [s m,..,s n ] ncnf_tran(settle, granted, needs review): [reviewed] [needs review, settled] settle Potential side effect of resolution r1: introduction of a new non-covered transition (if the transition in the business process provided coverage for a transition in the object life cycle) Concrete side effect of resolution r1: ncov_tran(granted, settled) side effects can only be determined precisely for a given concrete model 39

Object Life Cycles and Business Process Models - Tools Object life cycles introduce a complementary view Consistency management with business process models is required Ideal solution: Process Modeling Environment supports both views and offers support for consistency management Suboptimal solution: Models are created in different Modeling Environments, no consistency management, unclear how they are related 40

Summary of Lecture and References Introduction to Object Life Cycles and their relationship to Process Models Consistency Checking of Process Model and Object Life Cycle Generation of Object Life Cycles from Process Models Generation of Process Model from a set of Object Life Cycles Further Reading: J. M. Küster and K. Ryndina and H. Gall: Generation of Business Process Models for Object Life Cycle Compliance, Proceedings 5th International Conference on Business Process Management, LNCS 4714, Springer, pages 165-181, October 2007. J. M. Küster and K. Ryndina: Improving Inconsistency Resolution with Sideeffect Evaluation and Costs In G. Engels, B. Opdyke, D. C. Schmidt, F. Weil (Eds.): Proceedings ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems, LNCS 4735, Springer, pages 136-150, October 2007. 41