PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG...

47
PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH

Transcript of PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG...

Page 1: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

PROTOS A TOOL TO SPECIFY AND VERIFY CROSS

ORGANIZATIONAL BUSINESS MODELS

ANUP KALIA PANKAJ TELANG MUNINDAR SINGH

Page 2: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

BUSINESS MODEL PATTERNS

• Conditional Offer Pattern• Commercial Transaction Pattern• Outsourcing Pattern• Standing Service Contract Pattern

Page 3: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CONDITIONAL OFFER PATTERN

FORMALIZATION

Commitment

Roles

Cc( Proposer, Client, antecedent, consequent)

Page 4: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

COMMERCIAL TRANSACTION PATTERN

FORMALIZATION

C1 C(Partner1, Partner2, antecedent, consequent)

C2 C(Partner2, Partner1, consequent, antecedent)

Page 5: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

OUTSOURCING PATTERN

Page 6: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

FORMALIZATION

C1 C(Outsourcer, Client, antecedent, task)

C2 C(Contractor, Client, T, task)

C3 C( Outsourcer, Contractor, antecedent, task)

C4 C(Contractor, Outsourcer, payoff, create(c2)

Page 7: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

STANDING SERVICE CONTRACT PATTERN

Page 8: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

FORMALIZATION

C1 C(Consumer ,Provider ,create(C3), payoff)

C2 C(Provider ,Consumer ,payoff, create(C3))

C3 C(Provider, Consumer ,request[i] ^ ¬expired ^ (i < maxInstance ), service[i])

Page 9: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

PURPOSE OF CREATING PROTOS

• To provide a platform for a user to design Business Models

• To create Business Interactions for each such models

• To provide automatic generation for CTL Specification for Business Models

• To provide automatic generation for FSM for Business Interactions

• Finally to verify if Business Interactions correctly supports the Business Models

Page 10: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

MAIN COMPONENTS OF PROTOS

THIRD PARTY TOOLS

OPEN SOURCE TOOLS

• NuSMV – A software tool for the formal verification of finite state systems

• Eclipse GMF – Provides a Model Driven approach to generate graphical editors in Eclipse

• IBM RATIONAL SOFTWARE ARCHITECT V8 – Provides advanced application design, modeling and development tool for end-to-end software delivery.

PROTOS PARSER Set of Algorithms for parsing Business models and Business Interactions and generating CTL specifications and FSM transitions respectively

Page 11: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

VERFICATION PROCESSIT AnalystsBusiness

Analysts

Eclipse GMF IBM RSA

Operational ModelBusiness Models

PARSER

SMV File

NuSMV Success !!

Fails Fails

Page 12: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

ECLIPSE GMF PLUG-IN FOR DESIGNING BUSINESS MODELS

canvas

Commitment

Antecedent

Consequent

Roles

Page 13: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

METAMODEL FOR CREATING BUSINESS MODEL

Page 14: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

IBM RATIONAL SOFTWARE ARCHITECT v8 FOR DESIGINING BUSINESS INTERACTIONS

Roles

Messages

Message that created the Commitment C1

Consequent

Antecedent

ALT Combined Fragment

Page 15: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

LIFE CYCLE OF A COMMITMENT

expired null

pendingterminated

violated satisfied

conditional detached

Antecedent_timeout create Create & antecedent

antecedent

reactivate suspend cancel release Cancel V consequent_tconsequent

Commitment

Page 16: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

STANDARD CODE GENERATION FOR CTL SPECIFICATION

MODULEMODULE commitment(create ,antecedent ,consequent ,suspend ,reactivate ,release ,cancel ,ant_t ,con_t)

CONSTANTSCONSTANTS NULL, CONDITIONAL, EXPIRED, PENDING, DETACHED, SATISFIED, VIOLATED, TERMINATED;

DEFINEstatus := case

!create :NULL;create & !antecedent &!consequent & ((!suspend & !reactivate)|(suspend &

reactivate)) & !release & !cancel & !ant_t &!con_t :CONDITIONAL;create & !antecedent & !consequent & ((!suspend & !reactivate)|(suspend &

reactivate)) & ant_t & !release & !cancel & !con_t :EXPIRED;create & antecedent & !consequent & ((!suspend & !reactivate)|(suspend &

reactivate)) & !ant_t & !release & !cancel & !con_t :DETACHED;create & antecedent & !consequent & ((!suspend & !reactivate)|(suspend &

reactivate)) & !ant_t & !release & (cancel | con_t) :VIOLATED;create & consequent & !release & !ant_t & !con_t :SATISFIED;create & !consequent & suspend & !reactivate & !cancel & !release & !ant_t & !

con_t :PENDING;create & !consequent & !ant_t & !con_t & ((!suspend & !reactivate)|( suspend &

reactivate)) & (release | cancel) :TERMINATED;esac ;

Page 17: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

STANDARD CODE GENERATION FOR CTL SPECIFICATION

Checking for legal commitment state transitionsCTLSPEC

AG(status = NULL -> AX(status = NULL | status =CONDITIONAL | status = DETACHED));CTLSPEC

AG(status = CONDITIONAL -> AX(status = CONDITIONAL| status = EXPIRED | status = PENDING | status TERMINATED | status = DETACHED | status = SATISFIED));CTLSPEC

AG(status = SATISFIED -> AX(status = SATISFIED));CTLSPEC

AG(status = EXPIRED -> AX(status = EXPIRED));CTLSPEC

AG(status = PENDING -> AX(status = PENDING | status = CONDITIONAL | status = DETACHED));CTLSPEC

AG(status = TERMINATED -> AX(status = TERMINATED));CTLSPEC

AG(status = DETACHED -> AX(status = DETACHED | status = SATISFIED | status = VIOLATED |status= TERMINATED |status= PENDING));CTLSPEC

AG(status = VIOLATED -> AX(status = VIOLATED));CTLSPEC

AG(status = DETACHED -> AF(status = SATISFIED | status = TERMINATED));

Page 18: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

NON - STANDARD CODE GENERATION FOR CTL SPECIFICATION

MODULE main

C1 : commitment(accept, goods, pay, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);

Page 19: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

NON - STANDARD CODE GENERATION FOR FSM

DEFINEseq1Condition := quote & accept;seq2Condition := quote & accept;

VARreqForQuote : boolean ;quote : boolean ;accept : boolean ;pay : boolean ;goods : boolean ;

INIT!reqForQuote & !quote & !accept & !pay & !goods ;

Page 20: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

DERIVING NuSMV FSM FROMUML SEQUENCE DIAGRAMS

Page 21: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

PARSING THE UML 2.0 SEQUENCE DIAGRAM

Message Sequence Chart XMI document

Packaged Element Node

Owned Behavior Node

XMI TREE

Lifeline Node Fragment Node

Operand Node Invariant Node

Guard Node Fragment Node

Specification Node

Guard Node

Minint Node Maxint Node

Page 22: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

PARSING THE UML

Fragment Node Message

Interaction Operator

ALT OPTION LOOP

• If Interaction Operator is ‘ALT’ then Fragment Node has 2 Operand Nodes• If Interaction Operator is ‘Opt’ then Fragment Node has 1 Operand Node• If Interaction Operator is ‘Loop’ then Fragment Node has 1 Operand Node

Page 23: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CLASSES USED

MessageSequenceChart AltOperator

OptionOperatorLoopOperator

• ArrayList interactions • String ownID• ArrayList parentID• ArrayList interactions

• Int minValue• Int maxValue• String ownID• ArrayList ParentID• ArrayList

Interactions

• String guardConditon• String ownID• Int loopFlagON• ArrayList parentID• ArrayList interactions

Page 24: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

GENERATING FSM TRANSITION• A transition is generated for each message in a Message Sequence Chart (MSC)• Each transition has following parts i. Current Guard of the message of the current MSC ii. Guards of Current Guard of the message iii. Messages that have not occurred ( 2 kinds ) a. The messages that have not occurred of the current MSC b. The messages of all the MSCs that have not occurred excluding the

current MSC(only in Alt case) iv. Messages that have already occurred of the current MSC v. Current message of the current MSC that will occur v. Messages that will occur ( 2 kinds) a. The messages of the current MSC that may occur b. The messages of all the MSCs excluding current MSC that may occur• Another transition representing all messages of all MSCs that have already occurred and again

all the messages of all MSCs that are about to occur.

G

MN

MO

MM

MW

MO MM

Page 25: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

GENERATING FSM TRANSITION

For m1 in MSC1!m1 & next(m1)=true & next(m2)=m2 & next(m3)=m3 & next(m4)=m4For m2 in MSC1m1 & !m2 & next(m2)=true & next(m1)=m1 & next(m3)=m3 & next(m4)=m4For m3 in MSC2!m3 & next(m3)=true & next(m4)=m4 & next(m1)=m1 & next(m2)=m2 For m4 in MSC2m3 & !m4 & next(m4)=true & next(m3)=m3 & next(m1)=m1 & next(m2)=m2Finallym1 & m2 & m3 & m4 & next(m1)=m1 & next(m2)=m2 & next(m3)=m3 & next(m4)=m4

Page 26: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

FSM

Page 27: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

• Customer purchases goods either from CISCO or from Reseller• Reseller sells the goods, install goods and provide services to

Customer• Reseller purchases goods either from Distributor or from CISCO• Distributor always purchase goods from CISCO• Distributor may stock the goods in its warehouse• For building CISCO utilizes sets of Manufacturers and for shipping set

of transportation providers

Page 28: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

C1 (Customer, Reseller, install & shipGoodsE, payR)C2(Reseller, Customer, payR, install)C3(Reseller, Customer, payR, shipGoodsE)

Page 29: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

C4 (Reseller, Distributor, create(C6), payD)C5 (Distributor, Reseller, payD, create(C6))C6 (Distributor, Customer, confirmShipCD, shipGoodsE)

Page 30: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 31: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

C7 (Distributor, Shipper1, create(C9), payS )C8 (Shipper1, Distributor, payS, create(C9))C9 (Shipper1, Customer, confirmShipCS1, shipGoodsE)

Page 32: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 33: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

C10 (Distributor, CISCO, shipGoodsD, payX )C11 (CISCO, Distributor, payX, shipGoodsD)

Page 34: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 35: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

C12 (CISCO, Shipper2, create(C14), payS2 )C13 (Shipper2, CISCO, payS2, create(C14))C14 (Shipper2, Distributor, confirmShipDS2, shipGoodsD)

Page 36: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 37: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

C15 (Customer, CISCO, create(C17), payX1 )C16 (CISCO, Customer, payX1, create(C17))C17 (CISCO, Customer, reqService, service)

Page 38: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 39: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 40: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 41: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 42: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 43: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 44: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 45: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 46: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS

Page 47: PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS ANUP KALIA PANKAJ TELANG MUNINDAR SINGH.

CISCO’s QUOTE TO CASH BUSINESS PROCESS