![Page 1: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/1.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 1
System design techniques
Design methodologies.Requirements and specification.
![Page 2: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/2.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 2
Design methodologies (P.318)
Process for creating a system.Many systems are complex:
large specifications; multiple designers; interface to manufacturing.
Proper processes improve: quality; cost of design and manufacture.
![Page 3: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/3.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 3
Product metrics
Time-to-market: beat competitors to market; meet marketing window (back-to-
school).Design cost.Manufacturing cost.Quality.
![Page 4: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/4.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 4
Mars Climate Observer
Lost on Mars in September 1999.Requirements problem:
Requirements did not specify units. Lockheed Martin used English; JPL
wanted metric.Not caught by manual inspections.
![Page 5: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/5.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 5
Design flow (P.319)
Design flow: sequence of steps in a design methodology.
May be partially or fully automated. Use tools to transform, verify design. Such as compiler, CAD.
Design flow is one component of methodology. Methodology also includes management organization, etc.
![Page 6: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/6.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 6
Waterfall model
Early model for software development:
requirements
architecture
coding
testing
maintenance
![Page 7: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/7.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 7
Waterfall model steps
Requirements: determine basic characteristics.
Architecture: decompose into basic modules.
Coding: implement and integrate.Testing: exercise and uncover bugs.Maintenance: deploy, fix bugs,
upgrade.
![Page 8: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/8.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 8
Waterfall model critique
Only local feedback---may need iterations between coding and requirements, for example.
Doesn’t integrate top-down and bottom-up design.
Assumes hardware is given.
![Page 9: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/9.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 9
Spiral model (P.320)
requirementsdesigntest
system feasibility
specification
prototype
initial system
enhanced system
System life cycle
![Page 10: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/10.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 10
Spiral model critique
Successive refinement of system. Start with mock-ups, move through
simple systems to full-scale systems.Provides bottom-up feedback from
previous stages.Working through stages may take
too much time.
![Page 11: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/11.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 11
Successive refinement model
specify
architect
design
build
test
initial system
specify
architect
design
build
test
refined system
![Page 12: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/12.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 12
Hardware/software design flow
requirements andspecification
architecture
hardware design software design
integration
testing
![Page 13: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/13.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 13
Co-design methodology
Must architect hardware and software together: provide sufficient resources; avoid software bottlenecks.
Can build pieces somewhat independently, but integration is major step.
Also requires bottom-up feedback.
![Page 14: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/14.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 14
Hierarchical design flow (P.321)
Embedded systems must be designed across multiple levels of abstraction: system architecture; hardware and software systems; hardware and software components.
Often need design flows within design flows.
![Page 15: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/15.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 15
Hierarchical HW/SW flow
spec
SW architecture
detailed design
integration
test
hardware
spec
architecture
HW SW
integrate
test
system
spec
HW architecture
detailed design
integration
test
software
![Page 16: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/16.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 16
Concurrent engineering
Large projects use many people from multiple disciplines.
Work on several tasks at once to reduce design time.
Feedback between tasks helps improve quality, reduce number of later design problems.
![Page 17: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/17.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 17
Concurrent engineering techniques
Cross-functional teams.Concurrent product realization.Incremental information sharing.Integrated product management.Supplier involvement.Customer focus.
![Page 18: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/18.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 18
AT&T PBX concurrent engineering
Benchmark against competitors.Identify breakthrough improvements.Characterize current process.Create new process.Verify new process.Implement.Measure and improve.
![Page 19: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/19.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 19
Requirements analysis (P.324)
Requirements: informal description of what customer wants.
Specification: precise description of what design team should deliver.
Requirements phase links customers with designers.
![Page 20: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/20.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 20
Types of requirements
Functional: input/output relationships.Non-functional:
timing; power consumption; manufacturing cost; physical size; time-to-market; reliability.
![Page 21: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/21.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 21
Good requirements
Correct.Unambiguous.Complete.Verifiable: is each requirement
satisfied in the final system?Consistent: requirements do not
contradict each other.
![Page 22: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/22.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 22
Good requirements, cont’d.
Modifiable: can update requirements easily.
Traceable: know why each requirement exists; go from source documents to
requirements; go from requirement to implementation; back from implementation to requirement.
![Page 23: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/23.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 23
Setting requirements
Customer interviews.Comparison with competitors.Sales feedback.Mock-ups, prototypes.Next-bench syndrome (HP): design a
product for someone like you.
![Page 24: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/24.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 24
Specifications (P.325)
Capture functional and non-functional properties: verify correctness of spec; compare spec to implementation.
Many specification styles: control-oriented vs. data-oriented; textual vs. graphical.
UML is one specification/design language.
![Page 25: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/25.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 25
SDL
Used in telecommunications protocol design.
Event-oriented state machine model.
telephoneon-hook
dial tone
caller goesoff-hook
caller getsdial tone
![Page 26: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/26.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 26
Statecharts
Ancestor of UML state diagrams.Provided composite states:
OR states; AND states.
Composite states reduce the size of the state transition graph.
![Page 27: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/27.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 27
Statechart OR state
S1
S2
S3
S4
i1
i1
i2
i2
i2
traditional
S1
S2
S3
S4
i1
i1 i2
OR state
s123
![Page 28: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/28.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 28
Statechart AND state
S1-3 S1-4
S2-3 S2-4
S5
traditional
c
d
b a
r
d
c
b a
S1 S3
S2 S4
S5AND state
b a
r
b a
sab
![Page 29: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/29.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 29
AND-OR tables (P.327)
Alternate way of specifying complex conditions:
cond1 or (cond2 and !cond3)
cond1 T -cond2 - Tcond3 - F
AND
OR
![Page 30: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/30.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 30
TCAS II specification
TCAS II: aircraft collision avoidance system.
Monitors aircraft and air traffic info.Provides audio warnings and
directives to avoid collisions.Leveson et al used RMSL language to
capture the TCAS specification.
![Page 31: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/31.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 31
RMSL (P.328)
State description: Transition bus for transitions between many states:state1
inputs
state description
outputs
a
b
c
d
transition bus
![Page 32: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/32.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 32
TCAS top-level descriptionCAS
power-offpower-onInputs:TCAS-operational-status {operational,not-operational}
fully-operationalC
standby
own-aircraft
other-aircraft i:[1..30]
mode-s-ground-station i:[1..15]
![Page 33: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/33.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 33
Own-Aircraft AND stateCAS
Inputs:own-alt-radio: integer standby-discrete-input: {true,false}own-alt-barometric:integer, etc.
Effective-SL Alt-SL Alt-layer Climb-inibit Descend-inibit
Increase-climb-inibit
Increase-Descend-inibit
Advisory-Status
...
... ......
...
......
1
2
7
...
1
2
7
Outputs:sound-aural-alarm: {true,false} aural-alarm-inhibit: {true, false}combined-control-out: enumerated, etc.
![Page 34: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/34.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 34
CRC cards (P.330)
Well-known method for analyzing a system and developing an architecture.
CRC: Classes; Responsibilities of each class; Collaborators are other classes that work
with a class.Team-oriented methodology.
![Page 35: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/35.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 35
CRC card format
Class name:Superclasses:Subclasses:Responsibilities: Collaborators:
Class name:Class’s function:Attributes:
front back
![Page 36: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/36.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 36
CRC methodology (P.331)
Develop an initial list of classes. Simple description is OK. Team members should discuss their choices.
Write initial responsibilities/collaborators. Helps to define the classes.
Create some usage scenarios. Major uses of system and classes.
![Page 37: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/37.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 37
CRC methodology, cont’d.
Walk through scenarios. See what works and doesn’t work.
Refine the classes, responsibilities, and collaborators.
Add class relatoinships: superclass, subclass.
![Page 38: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/38.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 38
CRC cards for elevator (P.331)
Real-world classes: elevator car, passenger, floor control,
car control, car sensor.Architectural classes: car state, floor
control reader, car control reader, car control sender, scheduler.
![Page 39: © 2005 ECNU SEIPrinciples of Embedded Computing System Design1 System design techniques zDesign methodologies. zRequirements and specification](https://reader036.vdocuments.net/reader036/viewer/2022081418/5697c00d1a28abf838cc976e/html5/thumbnails/39.jpg)
© 2005 ECNU SEI Principles of Embedded Computing System Design 39
Elevator responsibilities and collaborators
class responsibilities collaborators
Elevator car* Move up and down Car control, carsensor, car controlsender
Car control* Transmits carrequests
Passenter, floorcontrol reader
Car state Reads currentposition of car
Scheduler, carsensor