1 / 47

PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS

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.

rowa
Download Presentation

PROTOS A TOOL TO SPECIFY AND VERIFY CROSS ORGANIZATIONAL BUSINESS MODELS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. BUSINESS MODEL PATTERNS • Conditional Offer Pattern • Commercial Transaction Pattern • Outsourcing Pattern • Standing Service Contract Pattern

  3. CONDITIONAL OFFER PATTERN Commitment Roles FORMALIZATION Cc( Proposer, Client, antecedent, consequent)

  4. COMMERCIAL TRANSACTION PATTERN FORMALIZATION C1 C(Partner1, Partner2, antecedent, consequent) C2 C(Partner2, Partner1, consequent, antecedent)

  5. OUTSOURCING PATTERN

  6. 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)

  7. STANDING SERVICE CONTRACT PATTERN

  8. 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])

  9. 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

  10. MAIN COMPONENTS OF PROTOS 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 THIRD PARTY TOOLS • 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

  11. VERFICATION PROCESS Eclipse GMF IBM RSA IT Analysts Business Analysts PARSER Fails Fails Business Models Operational Model SMV File NuSMV Success !!

  12. ECLIPSE GMF PLUG-IN FOR DESIGNING BUSINESS MODELS Commitment Antecedent canvas Consequent Roles

  13. METAMODEL FOR CREATING BUSINESS MODEL

  14. IBM RATIONAL SOFTWARE ARCHITECT v8 FOR DESIGINING BUSINESS INTERACTIONS Roles Messages Message that created the Commitment C1 Consequent Antecedent ALT Combined Fragment

  15. LIFE CYCLE OF A COMMITMENT Commitment null expired Antecedent_timeout create Create & antecedent conditional antecedent detached consequent suspend release reactivate cancel Cancel V consequent_t pending violated satisfied terminated

  16. STANDARD CODE GENERATION FOR CTL SPECIFICATION MODULE MODULE commitment(create ,antecedent ,consequent ,suspend ,reactivate ,release ,cancel ,ant_t ,con_t) CONSTANTS CONSTANTS NULL, CONDITIONAL, EXPIRED, PENDING, DETACHED, SATISFIED, VIOLATED, TERMINATED; DEFINE status := 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 ;

  17. STANDARD CODE GENERATION FOR CTL SPECIFICATION Checking for legal commitment state transitions CTLSPEC 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));

  18. NON - STANDARD CODE GENERATION FOR CTL SPECIFICATION MODULE main C1 : commitment(accept, goods, pay, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);

  19. NON - STANDARD CODE GENERATION FOR FSM DEFINE seq1Condition := quote & accept; seq2Condition := quote & accept; VAR reqForQuote : boolean ; quote : boolean ; accept : boolean ; pay : boolean ; goods : boolean ; INIT !reqForQuote & !quote & !accept & !pay & !goods ;

  20. DERIVING NuSMV FSM FROM UML SEQUENCE DIAGRAMS

  21. PARSING THE UML 2.0 SEQUENCE DIAGRAM XMI TREE Packaged Element Node Owned Behavior Node Message Sequence Chart XMI document Lifeline Node Fragment Node Operand Node Invariant Node Guard Node Fragment Node Maxint Node Specification Node Minint Node Guard Node

  22. PARSING THE UML Message Fragment Node Interaction Operator OPTION LOOP ALT • 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

  23. CLASSES USED MessageSequenceChart AltOperator • ArrayList interactions • String ownID • ArrayList parentID • ArrayList interactions LoopOperator OptionOperator • Int minValue • Int maxValue • String ownID • ArrayList ParentID • ArrayList Interactions • String guardConditon • String ownID • Int loopFlagON • ArrayList parentID • ArrayList interactions

  24. 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 MW MM MO MM

  25. GENERATING FSM TRANSITION For m1 in MSC1 !m1 & next(m1)=true & next(m2)=m2 & next(m3)=m3 & next(m4)=m4 For m2 in MSC1 m1 & !m2 & next(m2)=true & next(m1)=m1 & next(m3)=m3 & next(m4)=m4 For m3 in MSC2 !m3 & next(m3)=true & next(m4)=m4 & next(m1)=m1 & next(m2)=m2 For m4 in MSC2 m3 & !m4 & next(m4)=true & next(m3)=m3 & next(m1)=m1 & next(m2)=m2 Finally m1 & m2 & m3 & m4 & next(m1)=m1 & next(m2)=m2 & next(m3)=m3 & next(m4)=m4

  26. FSM

  27. 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

  28. CISCO’s QUOTE TO CASH BUSINESS PROCESS C1 (Customer, Reseller, install & shipGoodsE, payR) C2(Reseller, Customer, payR, install) C3(Reseller, Customer, payR, shipGoodsE)

  29. CISCO’s QUOTE TO CASH BUSINESS PROCESS C4 (Reseller, Distributor, create(C6), payD) C5 (Distributor, Reseller, payD, create(C6)) C6 (Distributor, Customer, confirmShipCD, shipGoodsE)

  30. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  31. CISCO’s QUOTE TO CASH BUSINESS PROCESS C7 (Distributor, Shipper1, create(C9), payS ) C8 (Shipper1, Distributor, payS, create(C9)) C9 (Shipper1, Customer, confirmShipCS1, shipGoodsE)

  32. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  33. CISCO’s QUOTE TO CASH BUSINESS PROCESS C10 (Distributor, CISCO, shipGoodsD, payX ) C11 (CISCO, Distributor, payX, shipGoodsD)

  34. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  35. CISCO’s QUOTE TO CASH BUSINESS PROCESS C12 (CISCO, Shipper2, create(C14), payS2 ) C13 (Shipper2, CISCO, payS2, create(C14)) C14 (Shipper2, Distributor, confirmShipDS2, shipGoodsD)

  36. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  37. CISCO’s QUOTE TO CASH BUSINESS PROCESS C15 (Customer, CISCO, create(C17), payX1 ) C16 (CISCO, Customer, payX1, create(C17)) C17 (CISCO, Customer, reqService, service)

  38. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  39. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  40. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  41. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  42. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  43. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  44. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  45. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  46. CISCO’s QUOTE TO CASH BUSINESS PROCESS

  47. CISCO’s QUOTE TO CASH BUSINESS PROCESS

More Related