Southern Methodist University Department of Computer Science and Engineering Modeling Value-Based Process with Object Petri-Nets LiGuo Huang lghuang@engr.smu.edu Department of Computer Science & Engineering Southern Methodist University 03/17/08 1 Southern Methodist University Department of Computer Science and Engineering Value-Based Software Quality Achievement (VBSQA) Process Success-Critical Stakeholders Build-to Plans (Life Cycle Architecture) Top Level Plans (Life Cycle Objectives) System Acquirer DB Administrator Developer Software Maintainer LCA Execute Plans (Construction) … LCO Mission objectives, scenarios (including software Q-attributes goals); cost/benefit analysis Q-tradeoff Q-attributes analysis; conflict, risks; negotiate risk mitigation agreements; spirals; solution options V&V Q-attributes Q-tradeoff conflict, risks; analysis; risk mitigation negotiate spirals; solution agreements; V&V options V&V plans Feedback IOC … … Execution Feedback Usage Feedback 03/17/08 2 Southern Methodist University Department of Computer Science and Engineering Neusoft DIMS Upgrade Project • Document and Image Management System (DIMS) upgrade from version 6.0 to 7.0 • Change of database schema – add, remove or update DB attributes • Change of database platforms – new capability of data migration 03/17/08 3 Southern Methodist University Department of Computer Science and Engineering Initial Experiment of VBSQA Process Application • Objective: Tailor VBSQA process framework to ERP software development in China • Two week tutorials on VBSQA Process and WinWin Spiral Model – Developed a process instance composed of 22 ERP software development activities 6 misplaced activities due to misinterpretation 4 missing activities 03/17/08 4 Southern Methodist University Department of Computer Science and Engineering Experience of Initial VBSQA Process Application • Feedback from project managers of ERP solution providers – – – – – Shorten the new process learning curve Maintain the flexibility of the process Identify the flaws in a process instance Tradeoffs among conflicting software Q-attributes Determine stakeholders’ perspectives and interaction points 03/17/08 5 Southern Methodist University Department of Computer Science and Engineering Model VBSQA Process Using Object Petri Nets (OPN) • Inherit the merits of Petri Nets (PN) – – – – Formal semantics despite the graphical nature State-based instead of event-based Abundance of analysis techniques Model concurrent process activities • Support separation of concerns among various stakeholders’ perspectives – Object-oriented approach – Model VBSQA Process Framework as the System Net (SN) – Model each stakeholder’s process instance in a separate Object Net (ON) Process activities in ONs are inherited from process steps/milestones in SN – Interaction/negotiation among stakeholders and the SN/ON synchronization can be defined, analyzed, and integrated concurrently 03/17/08 6 Southern Methodist University Department of Computer Science and Engineering Value-Based Process and OPN System Net (VBSQA Process Framework) n t Se 03/17/08 tio Object Net (Stakeholder Process Instance) ac a n r te In er t In io ct t e S …... Object Net (Stakeholder Process Instance) 7 Southern Methodist University Department of Computer Science and Engineering Formal Definitions of VBSQA-OPN • An OPN is a 3-tuple OPN ( SN , ONs , ) – System Net: SN ( P, T , W ) is a Petri Net with its tokens referring to Object Nets – Object Nets: ON s (ON 1 , ON 2 , ON n ) (n>1) – SN and ONs synchronize via “channels” ρ • VBSQA-OPN = ( SN , ON s , ) – System Net: SN ( P, T ,W ) , VBSQA Process Framework or its tailoring – Object Nets: ON s (ON 1 , ON 2 , ON n ) (n>1) represents a set of process instances of stakeholders, ON i ( Bi , Ei , Fi ) – Synchronization relation between SN and ONs: Tsyn Esyn (Esyn : {Eisyn | 1 i n}) , a mapping between VBSQA process framework steps/milestones and ERP software development activities. – Guard functions: activation condition(s) of transitions – Constraint 1: Inheritance of chronological order – Constraint 2: Critical Path Dependency 03/17/08 8 Southern Methodist University Department of Computer Science and Engineering OPN Notations Elements Description Software Process Modeling Place: current state (the marking) Place: current state (the marking) of the of a system; places contain tokens System Net (VBSQA process framework) or an object net (a stakeholder’s process instance) Token: pre- or post- condition of firing a transition Token: 1) pre- or post- condition of activating a process step/milestone in System Net (SN) or an activity in Object Net (ON); 2) refer to an object net Transition: events or actions System Net: steps and milestones of which cause the change of system state VBSQA process framework or its tailoring Object Net: activities of ERP software development Arc: connects a place with a transition or a transition with a place 03/17/08 9 Southern Methodist University Department of Computer Science and Engineering VBSQA-OPN System Net – VBSQA Process Framework Initiate project (α) Mission objectives and stages Project cost/benefit analysis (β) Terminate or redefine project Launch project Project SCS classes & Business Cases Risk analysis & Architecture/ technology evaluation (δ) Legend (System Net) synchronous transitions status transitions SCS define acceptable&desired values for Q-attributes (γ) SCS: Success Critical Stakeholders Q-: Quality Architecture/ technology combination(s) CAN satisfy all Q-attribute requirements? System top-level design (η) LCO: Life Cycle Objective FRD: Feasibility Rationale Description Architecture/ technology combination(s) CANNOT satisfy all Q-attribute requirements? Identify conflicting Q-attributes & perform tradeoff analysis (ε) SCS adjust acceptable values for Q-attributes (ζ) LCO phase rework or extra work (ι) LCO Fail LCO Pass 03/17/08 Deliverables: System top-level design and FRD LCO Review (θ) (Exit criteria: Provide at least one feasible architecture) 10 Southern Methodist University Department of Computer Science and Engineering VBSQA-OPN Object Nets – Stakeholders’ Process Instances Developer’s Object Net Acquire system upgrade requirements (α) Mission objectives and stages Estimate system upgrade schedule/cost & develop DMR results chain (β) System Acquirer’s Object Net Schedule/cost not accepted Issue project bidding (α) Schedule/cost accepted Project SCS classes & Business Cases Architecture/ technology combination(s) CAN satisfy all Q-attribute requirements? Architecture/ technology combination(s) CANNOT satisfy all Q-attribute requirements? Identify conflicting Q-attributes & perform tradeoff analysis (ε) External prototype evaluation (δ) Peer review system top-level design & other documents LCO Fail Requirement elicitation meeting (γ) Architecture/ technology combination(s) CAN satisfy all Q-attribute requirements? Architecture/ technology combination(s) CANNOT satisfy all Q-attribute requirements? Stakeholder renegotiation (ζ) LCO phase rework or extra work (ι) Identify conflicting Q-attributes & perform tradeoff analysis (ε) 03/17/08 LCO Review (θ) (Exit criteria: Provide at least one feasible architecture) Stakeholder renegotiation (ζ) Deliverables: System top-level design and FRD LCO Fail Deliverables: System top-level design and FRD LCO Pass LCO Pass Launch project Project SCS classes & Business Cases Requirement elicitation meeting (γ) System top-level design (η) Terminate or redefine project System Acquirer Developers External prototype evaluation (δ) Mission objectives and stages Verify system upgrade schedule/cost & DMR results chain (β) Legend (Object Net) object-autonomous transitions synchronous transitions LCO Review (θ) (Exit criteria: Provide at least one feasible architecture) status transitions 11 Southern Methodist University Department of Computer Science and Engineering VBSQA Process Generator – Based on VBSQA-OPN Model Simulation Results VBSQA Process Creator VBSQA Process Checker VBSQA Process Simulator A Mapping between ERP Software Development Activities and VBSQA Process Framework 03/17/08 12 Southern Methodist University Department of Computer Science and Engineering VBSQA Process Creator – Map ERP Software Development Activities into VBSQA Process Framework Objectives: • To shorten the VBSQA process learning curve • To reduce the flaws in generated process instances • To adapt to the changes in ERP software development activities and/or workflows VBSQA Process Framework Steps/Milestones (System Net) Project cost/benefit analysis ERP Software Development Activities (Object Nets) Estimate system upgrade cost & develop DMR results chain (Developer) Verify system upgrade cost (System Acquirer) SCS define acceptable & desired values for Q-attributes Requirement elicitation meeting LCA Review Selected architecture internal review (Developer) Groupware WinWin negotiation Selected architecture external review CCD Internal core capability demo (Developer) Onsite core capability demo 03/17/08 13 Southern Methodist University Department of Computer Science and Engineering VBSQA Process Creator – Creating an ERP VBSQA Process Instance 03/17/08 14 Southern Methodist University Department of Computer Science and Engineering VBSQA Process Checker – Identifying the Flaws in a VBSQA Process Instance • Maintain the flexibility of the process – Allow to remove a step in SN (VBSQA process framework) Violate critical path activity dependencies due to missing activities • VBSQA Process Checker – Formal properties defined in VBSQA-OPN System Net (SN) and implemented in the VBSQA Process Checker • Examples of the activity dependency constraints in the SN – SCS define acceptable & desired values for Q-attributes must be completed before Risk analysis & architecture/technology evaluation – Risk analysis & architecture/technology evaluation must be completed before System top-level design – System top-level design must be completed before LCO Review 03/17/08 15 Southern Methodist University Department of Computer Science and Engineering VBSQA Process Simulator • ROI of Synchronous Stakeholder Interaction Activities – ROI = (Value – Cost)/Cost – Value: m n i 1 j 1 Value (((1 (1 Eij )) Ri ) V V: the total value of the project; Eij (0-1): the effectiveness of a specific process activity on mitigating the risk of Q-attribute i if it is performed in phase j; Ri (0-1): the risk of Q-attribute i to the total value of the project. – Cost = Activity Cost + Rework Cost • Various combinations of synchronous stakeholder interaction activities and developer internal activities 03/17/08 16 Southern Methodist University Department of Computer Science and Engineering VBSQA Process Simulator – ROI of Synchronous Stakeholder Interaction Activities DIMS Top-Priority Q-attributes: Performance, Evolvability 03/17/08 17 Southern Methodist University Department of Computer Science and Engineering VBSQA Process Simulator – ROI of Synchronous Stakeholder Interaction Activities ROI Process Activity Combinations Worst-Case Scenario Best-Case Scenario 1 LCO(i)\ LCA(i) \ CCD(i) \ IOC(s) -0.223 — 2 LCO(s)\ LCA(i) \ CCD(i) \ IOC(s) -0.045 6.23 3 LCO(i)\ LCA(s) \ CCD(i) \ IOC(s) 0.162 2.414 4 LCO(i)\ LCA(i) \ CCD(s) \ IOC(s) -0.09 0.149 5 LCO(s)\ LCA(s) \ CCD(i) \ IOC(s) 0.194 6.165 6 LCO(s)\ LCA(i) \ CCD(s) \ IOC(s) 0.002 5.765 7 LCO(i)\ LCA(s) \ CCD(s) \ IOC(s) 0.205 2.33 8 LCO(s)\ LCA(s) \ CCD(s) \ IOC(s) 0.215 5.48 03/17/08 18 Southern Methodist University Department of Computer Science and Engineering Value/Petri Process Costs and Benefits VBSQA-OPN Modeling Costs and Benefits 100 90 80 70 Hours 60 50 56 Many Hours! 40 30 20 10 24 0 Mutual Learning 6 2 6 4 3 Developing Plan V&V of Plan Improving Plan VBSQA-OPN Modeling Costs (hrs) Early vs. Late Plan Rework VBSQA-OPN Modeling Benefits (Saved hrs) Southern Methodist University Department of Computer Science and Engineering Discussion 03/17/08 20 Southern Methodist University Department of Computer Science and Engineering Process V&V • Enforce the chronological order of process steps and milestones • Identify the violation of critical path activity dependency 03/17/08 21 Southern Methodist University Department of Computer Science and Engineering Ambiguity Tolerance • Process framework: steps, milestones and their order – Process checker: defect identification • Pre and post conditions – Process simulation 03/17/08 22 Southern Methodist University Department of Computer Science and Engineering Scalability • Number of process steps: 12 • Number of stakeholders/process instances: 4 • Model cross-organizational processes 03/17/08 23 Southern Methodist University Department of Computer Science and Engineering Extensibility • Need expertise on Petri-Nets in modeling new capabilities 03/17/08 24 Southern Methodist University Department of Computer Science and Engineering Flexibility • Separation of concerns of different stakeholders/parties on the process • Can add activities for individual process instance • Support coordination among process instances 03/17/08 25 Southern Methodist University Department of Computer Science and Engineering Coverage • Process simulator – estimate project schedule – estimate project budget – analyze quality attribute tradeoffs – optimize the project plan in terms of ROI – possible future extension: generate templates for deliverables • Model multi-views of processes • Model cross-organizational processes 03/17/08 26 Southern Methodist University Department of Computer Science and Engineering Dynamism • Defect introduction and removal 03/17/08 27