320 likes | 558 Views
Metrics for Fault-Tolerant Real-Time Software. Afzel Noore Computer Science and Electrical Engineering West Virginia University. September 6, 2001. Outline. Literature Review and Background Extension of Function Point Metrics Software Fault-Tolerant Structures
E N D
Metrics for Fault-Tolerant Real-Time Software Afzel Noore Computer Science and Electrical Engineering West Virginia University September 6, 2001
Outline • Literature Review and Background • Extension of Function Point Metrics • Software Fault-Tolerant Structures • Proposed Metrics Framework • Summary • Future Work
Why Function Point Metrics? • Language independent • Provides better design visibility • Useful as an estimation technique • Used as a measure of productivity • Helpful in managing change of scope
Function Point Applications • Prediction of the maintenance efforts • Measurement of size and complexity of algorithms • Sizing and costing individual components of software • Useful for checking requirements completeness
Function Point Calculation • Identification of the subsystem boundaries • Identification of data functions • EIF (External Interface Files) • ILF (Internal Logical Files) • Identification of transactional functions • EI (External Input) • EO (External output) • EQ (External Enquiry) • Calculation of Unadjusted Function Point Count • UFPC = ΣEI*w + ΣEO*w + ΣEQ*w + ΣILF*w + ΣEIF*w • (w is the corresponding weight assigned)
Function Point Calculation ... • Determination of the Value Adjustment Factor • VAF = (TDI * 0.01) +0.65 • TDI is the Total Degree of Influence • Calculation of the Adjusted Function Point Count) • AFPC = VAF * UFPC
Limitations of Function Point Analysis • Does not provide accurate measures for real-time software • The number of sub-processes in a real-time software varies continuously • There are a large number of single-occurrence control variables, which can not be counted by FPA
Full Function Point and COSMIC In 1997, St-Pierre proposed the Full Function Points approach as an extension to the IFPUG standard to capture the functional size of real-time applications. Common Software Measurement International Consortium (COSMIC) Full Function Point The COSMIC initiative draws an international team of software metrics experts to establish principles of the new measurement method based on the best features of existing IFPUG, Mark II, and FFP methods.
Evolution of Function Point Metrics FFP1.0 FFP2.0 FFP2.1 St-Pierre 97 COSMIC 99, 2001 Mark II FPA Mark II FPA 1.3.1 Symons 88 UKSMA 98 FPA FPA 3.4 FPA 4.0 FPA 4.1 FPA Albrecht 84 IFPUG 90 IFPUG 94 IFPUG 99 Albrecht 79
Extension for RT & FT Software FFP1.0 FFP2.0 FFP2.1 St-Pierre 97 COSMIC 99, 2001 FPA FPA 3.4 FPA 4.0 FPA 4.1 FPA Albrecht 84 IFPUG 90 IFPUG 94 IFPUG 99 Albrecht 79 Mark II FPA Mark II FPA 1.3.1 Symons 88 UKSMA 98
Extension for RT & FT Software IFPUG FPA COSMIC FFP EFP
Design or Selection of Metamodel Management Process – FPA EI : External Input EO: External Output EQ: External Inquiry ILF: Internal Logical File EIF: External Interface File Control Process – FFP ECE: External Control Entry ECX: External Control Exit ICR : Internal Control Read ICW: Internal Control Write RCG: Read-only Control Group UCG: Updated Control Group
Design or Selection of Metamodel... Control Implementation – EFP CIS: Control Implementation Structure RDS: Redundant Data Sets RA: Redundant Algorithms AC: Algorithmic Complexity VSA: Version Sequential Arrangement TC: Timing Constraints
Characterization of Software Control Implementation Structure RB: Recovery Block NVP: N-Version Programming CRB: Consensus Recovery Block DRB: Distributed Recovery Block EDRB: Extended Distributed Recovery Block RFCS: Roll-Forward CheckPointing Scheme NSCP: N Self-Checking Programming NCP: N-Copy Programming RTB: Retry Block
EXTERNAL CONTROL EXIT LA Req.38 Req.35 Req.37 Req.79 LB 1 1 1 1 1 1 1 1 1 1 LC Req.100: Req.100: Req.100: Req.100: Req.100: Req.100: Req.100: EXTERNAL CONTROL ENTRY FA Req.79 Trip FB FC FD SP1 Req.86 Req.87 SP2 Nuclear Reactor Algorithm: 2 out of 4 Power Flux (FA,FB,FC,FD) must be greater than High Power Flux Set-Point (SP2). F: Power Flux A,B,C,D. SP: High Power Flux Set-Point
Recovery Block - Software Structure • BEGIN • ENSURE acceptance test; • BY Primary alternative; • ELSE • IF NOT <time-out> THEN • BY 2nd alternative; • ELSE error; • FI • ELSE • IF NOT <time-out> THEN • BY 3rd alternative; • ELSE error; • FI
Recovery Block - Software Structure ... • …… • ELSE • IF NOT <time-out> THEN • BY n’th alternative; • ELSE error; • FI • ELSE • Error; • END • Structural Complexity: O(n)
Recovery Block - Design Diversity CIS: Control Implementation Structure RDS: Redundant Data Sets RA: Redundant Algorithms AC: Algorithmic Complexity VSA: Version Sequential Arrangement TC: Timing Constraints Recovery Block Average High High High High
N Copy Programming - Data Diversity CIS: Control Implementation Structure RDS: Redundant Data Sets RA: Redundant Algorithms AC: Algorithmic Complexity VSA: Version Sequential Arrangement TC: Timing Constraints NCP High N / A Average N / A N / A
Retry Block - Data Diversity CIS: Control Implementation Structure RDS: Redundant Data Sets RA: Redundant Algorithms AC: Algorithmic Complexity VSA: Version Sequential Arrangement TC: Timing Constraints Retry Block High N / A Average N / A High
Function Point Calculations …. Definition of numerical assignment rules CIS = RDS + RA + AC + VSA + TC 1.The lowest CIS * Percentage > 1 in both category. 2.The lowest CIS * Percentage (Design Diversity) > the highest CIS * Percentage (Data Diversity) CIS Factor = (RDS + RA + AC + VSA + TC) * Diversity Percentage 30% for Diversity Percentage in Design Diversity Category 22% for Diversity Percentage in Data Diversity Category EFP = Management FP + Control FP * CIS Factor
Representation of Requirements Functional users requirements Software Functional processes Sub-process Data transform type Data movement type and
Factors for Extended Metrics Framework • Structural complexity • Functional size • Fault tolerant requirements • Algorithm complexity • Algorithm implementation • Reused-algorithms • Connectivity • Effort
Summary and Future Work • By augmenting new elements based on FFP and FPA techniques, a new Extensive Function Point composite metrics has been proposed for software with real-time and fault-tolerant attributes. • Future work will focus on data collection and validation of the proposed metrics framework.