Using SysML to Estimate SoS Engineering and Development Effort Jo Ann Lane Tim Bohn COCOMO Forum 2009
Overview System of Systems (SoS) cost estimation overview Systems Modeling Language (SysML) characterizations of SoS Generating SoS cost model inputs from SysML views Summary, conclusions, and future work 2
Systems Engineering for Systems of Systems 3 SoS : A set or arrangement of systems that results when independent and useful systems are integrated into a larger system that delivers unique capabilities Focus is on net-centric SoS…
SoSE Cost Model: Extension of COSYSMO Engineering Cost Model 4 Size Drivers Cost Factors Estimated Engineering Effort Calibration Number of System Requirements Number of System Interfaces Number of Algorithms Number of Operational Scenarios People characteristics Process characteristics Product characteristics COSYSMO SoSE cost model uses COSYSMO size drivers and cost factors
SoSE Capability Effort Calculation* Total Effort = SoSE effort + ∑ “affected CS” i effort Specific constituent systems (CSs) depend upon alternative selected CS i effort depends upon types of changes required for CS i ◦New interface(s)/interface change(s) ◦Internal algorithm change(s)/data conversions Size driver options ◦Number of requirements◦ Number of algorithms ◦Number of interfaces◦ Number of operational scenarios Each size driver characterized with respect to complexity All size drivers converted to equivalent # of nominal reqs 5 * See “backup charts” for details of lower-level SoSE calculations…
SoSE Estimation Steps for New Capability 1.Understand/review current CS capabilities 2.Identify new capability alternatives 3.For each alternative, identify ◦CSs that contribute to each alternative ◦For each contributing CS, changes needed to support alternative New interfaces/interface change(s) Data element/algorithm change(s) Capability size count(s) and associated complexity of each 4.Conduct alternative tradeoffs and finalize cost estimate for selected alternative 5.Identify CS changes required for desired architecture enhancements 6.Calculate COSYSMO effort multipliers at SoS and CS levels 7.Calculate SoSE effort for alternative 6
SoSE Estimation Steps for New Capability 1.Understand/review current CS capabilities 2.Identify new capability alternatives 3.For each alternative, identify ◦CSs that contribute to each alternative ◦For each contributing CS, changes needed to support alternative New interfaces/interface change(s) Data element/algorithm change(s) Capability size count(s) and associated complexity of each 4.Conduct alternative tradeoffs and finalize cost estimate for selected alternative 5.Identify CS changes required for desired architecture enhancements 6.Calculate COSYSMO effort multipliers at SoS and CS levels 7.Calculate SoSE effort for alternative 7 Focus of presentation
Primary SoS Core Elements Determining SoSE Size Drivers 8 SoS : A set or arrangement of systems that results when independent and useful systems are integrated into a larger system that delivers unique capabilities
SysML Models for Characterizing SoS/SoS Capabilities Use cases ◦Characterize both CS and SoS capabilities from the different user perspectives Sequence diagrams ◦Characterize and analyze the operational flow for an SoS capability Object blocks ◦Characterize each SoS CS and its capabilities Interface classes ◦Describe each CS interface Input/output entity classes ◦Express the associated data attributes of each data item transferred over that interface ◦May include units, coordinate system, reference frame, source algorithm, etc. 9
Example SoS: Regional Area Crisis Response SoS (RACRS) 10 Command Control Center (CCC) Context Diagram
Mission Scenarios: Use Cases and Sequence Diagrams
CCC Interface Class and Evacuate Area I/O Entities by Actor
SoSE Estimation Steps Understand/review current CS capabilities Identify capability alternatives For each alternative, identify ◦CSs that contribute to each alternative ◦CS changes needed to support alternative CS object class descriptions and context diagrams Use cases and sequence diagrams For each alternative ◦Sequence diagrams ◦Interface diagrams ◦I/O entity class descriptions 13 StepsSupporting SysML Elements
Summary and Conclusions Initial SoSE cost model work used “# of reqs” as size driver Prospective users asked for guidance for using other size drivers Showed how to use SysML models to ◦Evaluate alternatives ◦Estimate SoS size driver values Given that focus is on net-centric SoSs, key SysML models used ◦Context diagrams◦ Object blocks ◦Use cases◦ Interface classes ◦Sequence diagrams◦ I/O classes Used to identify SoS interface and CS algorithm changes ◦Not clear usefulness of “operational scenario” size driver since most SoS operational scenarios are typically complex, cross- cutting scenarios 14
Summary and Conclusions (continued) Alternative size driver values still must be converted to “nominal requirements” for the COSYSMO calculations When using developing/using models for an SoS, remember: ◦Each SoS is unique and the cost model needs to be calibrated for the SoS and its constituents SoS level Each constituent system (since each one is typically managed/maintained by a different organization) Complexity factors to convert all size driver values into “nominal requirements” with respect to the local calibration ◦Only model what is necessary to capture and understand the problem and its context… 15
Continuing SoSE Cost Model Research Looking for additional SoSs to refine cost model ◦Model development ◦Local calibration Contact: Jo Ann Lane 16
References Bohn, T., Nolan, B., Brown, B., Balmelli, L, Wahli, U. (2008); Model Driven Systems Development with Rational Products, IBM Redbooks, DOI= pen pen Dahmann, J., Asrat, W., Rebovich, G., Lane, J., and Lowry, R. (2009); Results of M&S Committee Survey on M&S and SoS SE. In Proceedings of the August 13, Meeting of the National Defense Industrial Association (NDIA) Modeling and Simulation (M&S) Committee. DOI= g/Pages/Modeling_and_Simulation_Committee.aspx g/Pages/Modeling_and_Simulation_Committee.aspx Department of Defense (DoD) (2008); Systems Engineering Guide for System of Systems, version 1.0. DOI= Object Management Group (2008); OMG System Modeling Language (SysML), version 1.1. DOI=
Backup Charts 18
SoS Effort Calculations SoSE Effort SoSE Effort = 38.55*[((SoS CR /SoS Treq )*(SoS Treq ) 1.06 *EM SoS-CR )+ ((SoS MR /SoS Treq )*(SoS Treq ) 1.06 * EM SoS-MR )/152] Where: Total SoSE requirements = SoS Capability Requirements + SoS “Monitored” Requirements SoS “monitored” reqs = [∑SE non-SoS requirements being addressed current upgrade cycles for all SoS constituent systems] * “Oversight Factor” “Oversight Factor” between 5% and 15% (these values are based on the COSYSMO reuse work and expert judgment from various CSSE affiliates and the SoS SE Guidebook team) SoS capability effort Oversight of CSs
SoS Effort Calculations (continued) Single Constituent System Effort Total single system reqs w-SoSE = SoS requirements allocated to system + SE reqs in upgrade cycle Single system SE Effort in an Acknowledged SoS = 38.55*[1.15*( (SoS CSalloc / CS TreqSoSE )*( CS TreqSoSE ) 1.06 * EM CS-CRwSOSE ) + (CS nonSoS / CS TreqSoSE )*( CS TreqSoSE ) 1.06 * EM CSnonSOS ] /152 Computed for each constituent system in the SoS... Approach is recursive: Can also model each constituent system as a complex system or SoS... SoS capability effort Constituent system upgrade effort CS “tax” to support SoSE team