©ABB-Page1CompanyConfidentialPart06SoftwareDesignHeidiFuglumCertifiedFunctionalsafetyengineer1dayintrotraininginFunctionalsafety©ABB-Page206Softwaredesign©ABB-Page3SoftwaredesignInthemoduleSoftwarelifecycleHardware,softwarerelationshipAtypicalsoftwareproblemSafesoftwareThreetypesofsoftwareThreetypesofdevelopmentlanguagesSoftwaretools©ABB-Page4SafetyLifecycle,wherearewe11ExternalRiskReductionFacilitiesRealization1Concept2OverallScopeDefinition3Hazard&RiskAnalysis4OverallSafetyRequirements5SafetyRequirementsAllocation15OverallModification&Retrofit16Decommissioning12OverallInstallation&Commissioning13OverallSafetyValidation14OverallOperation&Maintenance9Safety-relatedsystems:E/E/PESRealization10Safety-relatedsystems:OtherTechnologyRealizationOverallInstallation&CommissioningPlanning678OverallOperation&MaintenancePlanningOverallValidationPlanningOverallPlanningBacktoappropriateOverallSafetyLifecyclephaseSILDeterminationHazardIdentificationSoftwaredesignOverallOperation&MaintenancePlanningOverallOperation&MaintenanceOverallModification&Retrofit©ABB-Page5SafetyLifecycle,wherearewe©ABB-Page6HardwareSoftwareRelationship©ABB-Page7SoftwareexampleAclientorderconstTVp*©ABB-Page8SoftwareexampleInthespecificationReqirement1.2.83CalculatethepressurewiththefollowingformulaTheprogrammerProgramsaccordingto1.283Testsrequirement1.2.83ProgramisdoneaccordingtothespecificationTV*cp©ABB-Page9SoftwareexampleWhatcangowrong?Isthespecificationcorrect?Thisprojectnot…WastheprogramcorrectYes,thetestshowedthattheprogramwascorrectaccordingtothespecWasthetestcorrect?Wasthetestverified?Whoverifiedthetest?Didweactuallydothetest?Whoverifiedtheresult?©ABB-Page10SoftwareexampleSoftwaretestingisNotabouteverysinglelineofcodeAbouthavingtherightprocessandmethodstotestWhatweneedtoachieveissafesoftwareSoftwareissafeifThesafetysystemcanexecutethesafetyfunctionevenunderfaultyconditionsNotonlysoftwarefaultsbutalsohardwarefaults©ABB-Page11FaultFreeSoftwareHowdowedothat?ConsidersoftwareengineeringpracticesandqualityassuranceSelectappropriatemeasurestoavoidfailuresIEE61508,part3,tableAndBPeriodicallyreviewtheeffectivenessofthemethodstoavoidfaultsduringsoftwaredevelopmentStandard,lookattheABBstandardportalorattheLCCdatabaseStandardsforABBinternaluseonly©ABB-Page12ThreeTypesofDevelopmentSoftwareIEC61508dealswithFullvariabilitylanguages(FVL)C,C++,AssemblerIEC61511dealswithLimitedvariabilitylanguages(LVL)Functionblocks,ladderlogicFixedprogramminglanguages(FPL)AsensorwithonlyanupanddownbuttontosetalimitIEC61511DonotdifferentiatebetweenSIL1,2or3software,allrequirementsuitableforSIL3©ABB-Page13Lifecycleconcept–ABBproductdevelopmentImplementationVerificationG3G4G5PlanningG2G0G1ReviewRecordsDesignDescrSystemDesignComponentDesignRequirementsAnalysisImplementationFunctionSpecDesignDescrCode&HardwareProd/ProjReqSpecFunctionSpecPlanningRequirementsAnalysisMarketReqSpecTypeTestPlan&DescriptionsTypeTestPlan&DescrTypeTestRecordsDesignTestTestedmoduleIntegrationIntegratedproductIntegration&IntegrationtestIntegr&testedcomponentComponentTypeTestVerifiedcomponentProductTypeTestValidatedProd.BCRAT©ABB-Page14V-modelSummaryoftheV-modelLeftbranchesrepresentspecification,designandcodingRightbranchesrepresenttestandverificationphasesFeedbackbetweenphasessrequiredDesignandtestarelinkedviaverificationactivities©ABB-Page15MeasurestoControlFailuresExamplesHardwarearchitectureSelfTestmeasuresforsystemsandsubsystemCPUBusandSignalsRAM,EEPROM,ROM,flashSystemwatchdogwithindependenttimebaseProgramflowmonitoringSafetyprotocolsfordatatransmissionpathsRedundantand/orinversedatastorage©ABB-Page16SummaryInthismoduleSafetysoftwareismoreabouttheprocessofsoftwredevelopmentthanthesoftwareitselfSystematicapproachviaV-modelMeasuretocontrolandavoidfailueresneedtobeapplied©ABB-Page17CompanyConfidential