Unformatted text preview:

EECE 276 – Embedded Systems1EECE 276Embedded SystemsDesign:Software propertiesEngineering principlesEECE 276 – Embedded Systems2Properties of SoftwareO Reliability: measure of dependabilityO RT systems:» “Downtime is lower than 1 hr per year”» “Accuracy is within 1E-3”» “Deadlines are met consistently”O Statistical metric: (T: time of fault)r(t) = P(T > t) => The probability that the SW system will operate without a failure for specified period of time. r(t) = 1 => never fails,10E-9/hour => r(t) = (0.99999999)^t : “Manned systems”EECE 276 – Embedded Systems3Properties of SoftwareO “Failure functions” (physical systems)» Inverse exponential (decreasing)» “Bathtub” curveO For SW: not a good model!O Correctness:» Compliance with all (incl. real-time) requirementsO Performance» Algorithmic complexity (scaling)» Temporal domain performanceEECE 276 – Embedded Systems4Properties of SoftwareO Usability» “Human factors”O Interoperability » Working together with other systemsO Maintainability» Evolvability & repairabilityO Portability» How easy is it to port it to other systems/platformsO Verifiability» Can we verify that it performs as expected?EECE 276 – Embedded Systems5Properties of SoftwareSoftware monitorsVerifiabilityUser feedback from surveys, problem reportsUsabilityProbabilistic measures, MTBF, MTFFReliabilityAnecdotal observationsPortabilityAlgorithmic complexity analysis, direct measurement, simulationsPerformanceAnecdotal observation of resources spentMaintainabilityCompliance with accepted standardsInteroperabilityProbabilistic measures, MTBF, MTFFCorrectnessMeasurement ApproachQuality metricEECE 276 – Embedded Systems6Software Engineering PrinciplesO Rigor and formality» Precision and (possibly) mathematical techniques in all phases of the project» Real-time systems: interactions with the physical world and human usersO Separation of concerns» Modularization of code (see below)» Aspect-oriented programming (see AOP)O Modularity» Cohesion: intramodule connectivity» Coupling: intermodule connectivityEECE 276 – Embedded Systems7ModularityRight way: high cohesion, low couplingWrong way: low cohesion, high couplingEECE 276 – Embedded Systems8Software Engineering PrinciplesO Anticipation of change» Real-time systems often have a long life cycle.» Changes in HW/SW infrastructure, specifications, etc. must be anticipatedO Generality» “General” solutions through modularizationO Incrementality» Iterative/rapid prototyping development styleO Traceability» Linking requirements to design artifacts, etc.EECE 276 – Embedded Systems9Summary: The Design ProcessO Hardware/software trade-off analysisO Designing interfaces to external componentsO Designing interfaces between componentsO Deciding between centralize and distributed processing schemesO Defining concurrency executionO Designing control strategiesO Designing data storage, maintenance, and allocation strategiesO Designing database structures and handling routinesO Designing the startup and shutdown processingO Designing algorithms for functional processingO Designing error processing and handlingO Conducting performance analysesO Specifying the physical location of components and dataO Designing test softwareO Creating documentation for the system: Operator/User/Programmer’s Manual(s)O Conducting internal reviewsO Developing a detailed design for the components of the software architectureO Developing test cases and procedures for formal acceptance testingO Documenting the software architecture in a design documentO Presenting the design details in formal design


View Full Document

VANDERBILT EECE 276 - Study Guide

Download Study Guide
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Study Guide and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Study Guide 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?