A Embedded software component quality framework Fernando Ferreira de Carvalho Advisor: Silvio Romero de Lemos Meira Informatics Center - Federal University of Pernambuco C.E.S.A.R. - Recife Center for Advanced Studies and Systems 12-Junho-2008
Fernando Carvalho, PhD Candidate A Embedded software component quality framework Introduction / Motivation Embedded system is at the heart of many systems So, embedded system industry needs, Low production cost Short time to market High Quality to be more efficient and competitive (Brown, 2000) The CBD with reuse technique had been a nice direction to reach this objectives… But, Component reuse without quality assurance give catastrophic results [ariane].
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Introduction / Motivation The CBD technologies do not take into account the specifics needs of embedded- systems development: Timing, Memory, power, hardware constraints and others.
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Introduction / Solution o Certification is the future of software components [Wallnau, Heineman, Councill, Shaw] o According to Weber et al. (Weber et al., 2002), the need for quality assurance in software development has exponentially increased in the past few years
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Introduction / Motivation Benefits o More reliability o Short time-to-market; o More product quality; o higher quality levels, o reduced maintenance time, o investment return, o reduced time-to-market, among others o Wide used, where certification is mandatory (aircraft)
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Rise Framework
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Component Certification Process
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Component Certification Process focused in embedded systems An Embedded Computer System: A computer system that is part of a larger system and performs some of the requirements of that system; for example, a computer system used in an aircraft or rapid transit system. (IEEE,1992).
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Component Certification Process focused in embedded systems Embedded systems : Used for specifics propose Used to control systems (ex: mechanical machines) Ultra small devices with simple specific functionality Small systems with sophisticated functions Produced in large scale
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Component Certification Process focused in embedded systems Embedded systems has a specific requirements: - real-time - hi reliability - low power consumption - low data and code memory - low resources - low CPU capabilities - others
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Problem Formulation The CBD is an efficient and effective way for design of simple and complex embedded systems. However, quality assurance of components is must be done to take advantage of CBD. The Software industry still far to reach the maturity level the hardware industry which it have catalogues and datasheets available for its components. For this reason, a well-defined and consistent embedded software component quality assurance is essential for CBD and reuse adoption.
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Proposed solution An Embedded Software Component Quality Verification Framework It is composed of four inter-relation module:, based on a set of activities, metrics and guidelines. Embedded software component Quality Model (EQM) Maturity Level evaluation Techniques Metrics Approach Component Certification based on a set of activities, metrics and guidelines.
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Proposed solution This Framework is based in the standards ISO/IEC 9126, Quality Model for Software Product ISO/IEC 14598, Software Product Evaluation Process This two standards converged to: ISO/IEC 25010, Software product quality - requirements and evaluation the Framework adapted the quality model and evaluation to component context and embedded domain.
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Out of scope This Framework is part of broad context, some aspects were expected since initial definition. Nevertheless, other process can be added in the future. Cost Model Formal Proof Prediction of the component assembly
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP – Embedded System Design Embedded system design comprise: Ultra-small device x simple functionality Small system x sophisticated functions Large systems and distributed systems Systems produced in large quantities x low production cost Systems produced in low volume x important features
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP But the specifics requirements depends on the application (domain) - Industrial Automation - Automotive - Medical - Consumer electronics - Aircrafts - others … Component Certification Process focused in embedded systems
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Component Certification Process focused in embedded systems So, embedded component certification process must be different that general propose component, because the component evaluation is realized focused in other requirements We divided in two groups: General propose sw component certification process o desktops, servers, x86 architecture Specific propose sw component certification process (embedded systems, others architectures)
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Component Certification Process focused in embedded systems (requiriments) Industrial Automation (Crnkovic et al., 2005) In the lowest levels: availability, timeliness, and reliability At higher levels: performance, usability, and integrability
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Component Certification Process focused in embedded systems (requirements) Automotive (Åkerholm e.t. al, 2004) Extendibility Maintainability Usability Predictability Security Safety Reliability Testability Flexibility Efficiency
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Component Certification Process focused in embedded systems (requirements) Medical (Wijnstra e.t. al,2001) Reliability Safety Functionality Portability Modifiability Configurability Extensibility and Evolvability Testability Serviceability
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Certification is the future of software components [Wallnau, Heineman, Councill, Shaw] RiSE Approach 1.Embedded Component Quality Model (ECQM) Embedded Software Component Maturity Model (ESCMM) 2.Certification Techniques Framework Defining techniques for evaluate quality attributes of ECQM 3.Metrics Framework Track the properties of the ECQM, certification techniques and process. 4.Embedded Software Component Certification Process Defining the steps for certify a component Embedded Software Component Quality Process
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Embedded Component Quality Model (ECQM) o Embedded Software Component Maturity Model (ESCMM) o Based ISO/IEC (*) standard, with some news and extended characteristics. Embedded Component Certification Process *ISO/IEC Software Products Quality ISO/IEC Evaluation software product Development time Cost Time to market Targeted market Affordability Licensing Marketability Deployability Replaceability Adaptability Reusability Portability Analyzability Stability Changeability Testability Maintainability Time Behavior Resource behavior Scalability Efficiency Understandability Configurability Learnability Operability Usability Maturity Recoverability Fault Tolerance Reliability Suitability Accuracy Interoperability Security Compliance Self-contained Functionality Sub-CharacteristicsCharacteristics Changes in the Proposed Component Quality Model, in relation to ISO/IEC 25010
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Embedded Component Quality Model (ECQM) Embedded Component Certification Process Changes in the Proposed Component Qualit Model, in relation to ISO/IEC Development time Cost Time to market Targeted market Affordability Licensing Marketability Deployability Replaceability Adaptability Reusability Portability Analyzability Stability Changeability Testability Maintainability Time Behavior Resource behavior Scalability Efficiency Understandability Configurability Learnability Operability Usability Maturity Recoverability Fault Tolerance Reliability Suitability Accuracy Interoperability Security Compliance Self-contained Functionality Sub-CharacteristicsCharacteristics
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Certification Techniques Framework o Defining techniques for evaluate quality attributes of ECQM Guidelines for selecting evaluation level. Financial disasterMany people killedUnrecoverable environmental damage ESCMM V Large economic gross Threat to human livesRecoverable environment damage ESCMM IV Significant economic loss Large number of people disabled Damage properlyESCMM III Few economic lossFew people disabledSmall/Medium damage properly ESCMM II Negligible economic loss Few material damage; No specific risk No damageESCMM I EconomicSafety/SecurityEnvironment Level
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Certification Techniques Framework o Defining techniques for evaluate quality attributes of ECQM Guidelines for selecting evaluation level. Programming Language Facilities (Best Practices) Maturity analysis ESCMM II Fault tolerance analysis Error Manipulation analysis ESCMM III Formal Proof Reliability growth model Suitability analysis Reliability ESCMM VESCMM IVESCMM ILevel
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Metrics Framework o Track the properties of the ECQM, certification techniques and process. 0 <= x <= 1; which closer to 1 is betterInterpretation Precision on results / Amount of testsMetric Based on the amount of tests executed, how much test results return with precision? Question Evaluates the percentage of the results that were obtained with precision Goal CorrectnessQuality Attribute AccuracySub-Characteristic Functionality
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Embedded Software Component Certification Process o Defining the steps for certify a component 4.1 Establish Evaluation Requirements activity 4.2 Specify the Evaluation activity 4.3 Design the Evaluation activity 4.4 Execute the Evaluation activity
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Embedded Software Component Certification Process
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Establish Evaluation Requirements activity
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Specify the Evaluation activity
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Design the Evaluation activity
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Execute the Evaluation activity
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Submissão de artigo dia 05/06/ SBCARS
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Thank you ! Questions ? Fernando F. de Carvalho o
Fernando Carvalho, PhD Candidate A Embedded software component quality framework SAAP Embedded Component Certification Timeline