Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall...
Transcript of Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall...
![Page 1: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/1.jpg)
Design of Embedded Systems
José Costa
Software for Embedded Systems
Departamento de Engenharia Informática (DEI)Instituto Superior Técnico
2013-02-24
José Costa (DEI/IST) Design of Embedded Systems 1
![Page 2: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/2.jpg)
Outline
Challenges in Embedded Systems Design
The Embedded System Design ProcessRequirementsSpecificationArchitectureComponent DesignSystem Integration
Formalisms for System DesignUnified Modeling Language
José Costa (DEI/IST) Design of Embedded Systems 2
![Page 3: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/3.jpg)
Challenges in Embedded Systems Design
How much hardware do we need?
How do we meet deadlines?
How do we minimize power consumption?
How do we design for upgradeability?
Does it really work?
José Costa (DEI/IST) Design of Embedded Systems 3
![Page 4: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/4.jpg)
Difficulties in Design and Development
Complex testing
run a real machine to have proper datasystem must be tested in the embedded machine
Limited observability and controllability
sometimes no keyboard or screen!in real-time systems it’s not easy to stop the system to see whatis going on
Restricted development environments
much more limited than in PCsusually compile code in PC and download it to embedded system
José Costa (DEI/IST) Design of Embedded Systems 4
![Page 5: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/5.jpg)
Design Methodologies
A design methodology is a procedure for designing a system
Understanding your methodology helps you ensure you didn’tskip anything
Compilers, software engineering tools, computer-aided design(CAD) tools, etc., can be used to
help automate methodology stepskeep track of the methodology itself
Better communication between team members
what they are supposed to dowhat they should receivewhen they have completed their assigned steps
José Costa (DEI/IST) Design of Embedded Systems 5
![Page 6: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/6.jpg)
Levels of Abstraction
Requirements
Specification
Architecture
ComponentDesign
SystemIntegration
José Costa (DEI/IST) Design of Embedded Systems 6
![Page 7: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/7.jpg)
Top-down vs. Bottom-up
Top-down design
start from most abstract descriptionwork to most detailed
Bottom-up design
work from small components to bigsystem
Real design uses both techniques
Requirements
Specification
Architecture
ComponentDesign
SystemIntegration
José Costa (DEI/IST) Design of Embedded Systems 7
![Page 8: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/8.jpg)
Design Goals
Performance
Overall speed, deadlines
Functionality and user interface
Manufacturing cost
Power consumption
Other requirements (physical size, etc.)
Requirements
Specification
Architecture
ComponentDesign
SystemIntegration
José Costa (DEI/IST) Design of Embedded Systems 8
![Page 9: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/9.jpg)
Stepwise Refinement
At each level of abstraction, we must
analyze the design to determinecharacteristics of the current state of thedesign
refine the design to add detail
verify that it meets all system goals
cost, speed, . . .
Requirements
Specification
Architecture
ComponentDesign
SystemIntegration
José Costa (DEI/IST) Design of Embedded Systems 9
![Page 10: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/10.jpg)
Requirements
Requirements
Plain language description of what the user wants and expects to get
May be developed in several ways
talking directly to customerstalking to marketing representativesproviding prototypes to users for comment
Requirements end up being the specification
containing enough information to begin designing the systemarchitecture
José Costa (DEI/IST) Design of Embedded Systems 10
![Page 11: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/11.jpg)
Requirements vs Specification
Consumers:
are not embedded system designers
see mostly users’ interactions
most of the time have unrealistic expectations as to what can bedone within their budgets
have a different language
Translating from requirements to specification (from the consumer’slanguage to the designer’s)
capturing a consistent set of requirements from the customer
massaging those requirements into a more formal specification
José Costa (DEI/IST) Design of Embedded Systems 11
![Page 12: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/12.jpg)
Functional vs. Non-functional Requirements
Functional requirements
output as a function of input
Non-functional requirements
time required to compute outputcostsize, weight, etc.power consumptionreliability. . .
José Costa (DEI/IST) Design of Embedded Systems 12
![Page 13: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/13.jpg)
Non-functional Requirements
Performance
major consideration for the usability of the system and itsultimate costmay be a combination of soft performance metrics and harddeadlines
Cost
manufacturing costs (e.g. components, assembly)nonrecurring engineering (NRE) costs (e.g. personnel, designingthe system)
Physical size and weight
depends on the application
Power consumption
important not only in battery-powered systemsspecified in terms of battery life
José Costa (DEI/IST) Design of Embedded Systems 13
![Page 14: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/14.jpg)
Validating The Requirements
Requires understanding what people want and how theycommunicate it
User interface requirements can be refined by using a mock-up
may be executed on a PC
Physical, nonfunctional models of devices can also help
better idea of size and weight
José Costa (DEI/IST) Design of Embedded Systems 14
![Page 15: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/15.jpg)
Sample Requirements Form (1/3)
name
purpose
inputs and outputs
functions
performance
manufacturing costs
power
physical size/weight
José Costa (DEI/IST) Design of Embedded Systems 15
![Page 16: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/16.jpg)
Sample Requirements Form (2/3)
name
purpose
one- or two-line description
inputs and outputs
types of data: analog? digital? mechanical?. . .data characteristics: periodic? occasional? how many bits?. . .types of I/O devices: buttons? A/D converters? videodisplays?. . .
functions
more detailed descrition of the systemwhen the system receives an input, what does it do?how do interface inputs affect these functions?how do different functions interact?
José Costa (DEI/IST) Design of Embedded Systems 16
![Page 17: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/17.jpg)
Sample Requirements Form (3/3)
performance
must be identified earlier to ensure that the system worksproperly
manufacturing costs
cost has substantial influence on architecturework with some idea of the cost range
power
battery powered? plugged into a wall?
physical size/weight
more or less flexibility in the components to use
José Costa (DEI/IST) Design of Embedded Systems 17
![Page 18: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/18.jpg)
Beyond The Requirements Form
The requirements form should be theintroductory of a longer document
After writing the requirements you shouldcheck for internal inconsistency
forget to assign functions to an input/output?considered all modes of operation?unrealistic number of features into abattery-powered, low-cost machine?
Requirements form
name
purpose
inputs andoutputs
functions
performance
manufacturingcosts
power
physicalsize/weight
José Costa (DEI/IST) Design of Embedded Systems 18
![Page 19: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/19.jpg)
Example: GPS Moving Map Requirements
Moving map obtains position from GPS
Paints map from local database
José Costa (DEI/IST) Design of Embedded Systems 19
![Page 20: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/20.jpg)
GPS Moving Map Needs (1/2)
Functionality
for automotive useshow major roads and landmarks
User interface
at least 400 x 600 pixel screenthree buttons maxpop-up menu
Performance
map should scroll smoothlyno more than 1 sec power-uplock onto GPS within 15 seconds
José Costa (DEI/IST) Design of Embedded Systems 20
![Page 21: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/21.jpg)
GPS Moving Map Needs (2/2)
Cost
¤ 100 street price = approx. ¤ 30 cost of goods sold
Physical size/weight
should fit in dashboard
Power consumption
current draw comparable to CD player
José Costa (DEI/IST) Design of Embedded Systems 21
![Page 22: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/22.jpg)
GPS Moving Map Requirements Form
name: GPS moving map
purpose: consumer-grade moving map for driving
inputs: power button, two control buttons
outputs: back-lit LCD 400x600
functions: 5-receiver GPS; displays current lat/lon
performance: updates screen within 0.25 sec of movement
manufacturing costs: ≈ 30¤ cost-of-goods-sold
power: 100mW
physical size/weight: no more than 5cm x 15cm, 350g
José Costa (DEI/IST) Design of Embedded Systems 22
![Page 23: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/23.jpg)
Specification
Specification
Serves as the contract between the customer and the architects.
A more precise description of the system
should not imply a particular architectureprovides input to the architecture design process
May include functional and non-functional elements
May be executable or may be in mathematical form for proofs
José Costa (DEI/IST) Design of Embedded Systems 23
![Page 24: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/24.jpg)
Specification
Should be understandable enough
so that someone can verify that it meets system requirementsand overall expectations of the customer
Should be unambiguous
Problems of unclear specifications
implementation of wrong functionality
system architecture may be inadequate to meet the needs of theimplementation
José Costa (DEI/IST) Design of Embedded Systems 24
![Page 25: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/25.jpg)
GPS Specification
Should include
what is received from GPS
map data
user interface
operations required to satisfy user requests
background operations needed to keep the system running
e.g. operating the GPS receiver
José Costa (DEI/IST) Design of Embedded Systems 25
![Page 26: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/26.jpg)
Specification vs Architecture Design
The specification does not say how the system does things, onlywhat the system does
The purpose of the architecture is to describe how the systemimplements the functions
The architecture is a plan for the overall structure of the system
it will be used later to design the components
The creation of the architecture is the 1st phase of the so called“design”
José Costa (DEI/IST) Design of Embedded Systems 26
![Page 27: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/27.jpg)
Architecture Design
What major components go satisfying the specification?
Hardware components
CPUs, peripherals, etc.
Software components:
major programs and their operations
Must take into account functional and non-functionalspecifications
José Costa (DEI/IST) Design of Embedded Systems 27
![Page 28: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/28.jpg)
GPS Moving Map Block Diagram
José Costa (DEI/IST) Design of Embedded Systems 28
![Page 29: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/29.jpg)
GPS Moving Map Hardware Architecture
José Costa (DEI/IST) Design of Embedded Systems 29
![Page 30: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/30.jpg)
GPS Moving Map Software Architecture
José Costa (DEI/IST) Design of Embedded Systems 30
![Page 31: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/31.jpg)
Designing Hardware and Software
Components
Must spend time architecting the system before you start coding
Some components are ready-made
CPU, memory chips, . . .some are software components
Some can be modified from existing designs
Others must be designed from scratch
at least you may have to design the boardcustom programming
José Costa (DEI/IST) Design of Embedded Systems 31
![Page 32: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/32.jpg)
Identifying Existing Hardware And Software
Components
Much of the design process is composition of existing modules
Hardware boards and peripheral interfacesSoftware modules
Operating System or run-time environmentMiddleware (ex. Communications layers, RFID coding)Applications
Usually designers try to keep their usual developmentenvironment
Processors and low-level toolsOperating systems or run-time environments
José Costa (DEI/IST) Design of Embedded Systems 32
![Page 33: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/33.jpg)
System Integration
Put together the components (hardware blocks and softwaremodules)
Not as easy as it sounds. . .
Many bugs appear only at this stageDebugging facilities are limited
Have a plan for integrating components to uncover bugs quickly,test as much functionality as early as possible
build up the system in phasesdebug only a few modules at a time
José Costa (DEI/IST) Design of Embedded Systems 33
![Page 34: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/34.jpg)
Formalisms For System Modeling
Need languages to describe systems
useful across several levels of abstractionunderstandable within and between organizations
Block diagrams are a start, but don’t cover everything
José Costa (DEI/IST) Design of Embedded Systems 34
![Page 35: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/35.jpg)
Object-Oriented Design
Object-oriented (OO) design: A generalization of object-orientedprogramming
encourages design to be described as a number of interactingobjectssome objects will correspond to real pieces of software
Object = state + methods
State provides each object with its own identityMethods provide an abstract interface to the object
José Costa (DEI/IST) Design of Embedded Systems 35
![Page 36: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/36.jpg)
Object Oriented Concepts
Objects represent an entity and the basic building block
Class is the blueprint of an object
Abstraction represents the behavior of a real world entity
Encapsulation is the mechanism of binding the data togetherand hiding them from outside world
Inheritance is the mechanism of making new classes fromexisting one
Polymorphism defines the mechanism of one class existing indifferent forms
José Costa (DEI/IST) Design of Embedded Systems 36
![Page 37: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/37.jpg)
UML - Unified Modeling Language
UML is a standard language for specifying, visualizing,constructing, and documenting the artifacts of software systems
UML was created by Object Management Group (OMG) andUML 1.0 specification draft was proposed to the OMG inJanuary 1997
A picture is worth a thousand words.
José Costa (DEI/IST) Design of Embedded Systems 37
![Page 38: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/38.jpg)
Conceptual Model of UML
Building Blocks
ThingsRelationshipsDiagrams
Rules
Common Mechanisms
SpecificationsAdornmentsCommon DivisionsExtensibility Mechanisms
José Costa (DEI/IST) Design of Embedded Systems 38
![Page 39: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/39.jpg)
UML Building Blocks
Things
Structural
Behavioral
Grouping
Annotational
Relationships
Dependency
Association
Generalisation
Realization
Diagrams
Class Diagram
Object Diagram
Use Case Diagram
Sequence Diagram
Collaboration Diagram
Statechart Diagram
Activity Diagram
Component Diagram
Deployment Diagram
José Costa (DEI/IST) Design of Embedded Systems 39
![Page 40: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/40.jpg)
Structural Things
Structural things are the static parts of the system.
Class - an abstraction of a set of things in the problem domainthat have similar properties and/or functionality
Interface - a collection of operations that specify the servicesrendered by a class or component
Collaboration - a collection of UML building blocks (classes,interfaces, relationships) that work together to provide somefunctionality within the system
Use Case - an abstraction of a set of functions that the systemperforms; a use case is “realized” by a collaboration
José Costa (DEI/IST) Design of Embedded Systems 40
![Page 41: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/41.jpg)
Structural Things
Active Class - a class whose instance is an active object; anactive object is an object that owns a process or thread (units ofexecution)
Component - a physical part (typically manifests itself as a pieceof software) of the system
Node - a physical element that exists at run-time and representsa computational resource (typically, hardware resources)
José Costa (DEI/IST) Design of Embedded Systems 41
![Page 42: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/42.jpg)
Behavioral Things
Behavioral things are usually the dynamic parts of the system.
Interaction - some behaviour constituted by messages exchangedamong objects;
State machine - a behaviour that specifies the sequence of“states” an object goes through, during its lifetime
José Costa (DEI/IST) Design of Embedded Systems 42
![Page 43: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/43.jpg)
Grouping Things
Grouping things provides a higher level of abstraction.
Package - a general-purpose element that comprises UMLelements - structural, behavioral or even grouping things
José Costa (DEI/IST) Design of Embedded Systems 43
![Page 44: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/44.jpg)
Annotational Things
Annotational things add information/meaning to the model elements.
Note - a graphical notation for attaching constraints and/orcomments to elements of the model
José Costa (DEI/IST) Design of Embedded Systems 44
![Page 45: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/45.jpg)
Relationships
Relationships articulates the meaning of the links between things.
Dependency - a semantic relationship where a change in onething causes a change in the semantics of the other thing
Association - a structural relationship that describes theconnection between two things
Generalisation - a relationship between a general thing and amore specific kind of that thing, such that the latter cansubstitute the former
Realization - a semantic relationship between two things whereinone specifies the behaviour to be carried out, and the othercarries out the behaviour.
José Costa (DEI/IST) Design of Embedded Systems 45
![Page 46: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/46.jpg)
Diagrams
Diagrams are the graphical presentation of the model.
Class Diagram - models the static view of the system
Object Diagram - models the instances of things contained in aclass diagram
Use Case Diagram - models what the system is expected to do
Sequence Diagram - models the flow of control by time-ordering
José Costa (DEI/IST) Design of Embedded Systems 46
![Page 47: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/47.jpg)
Diagrams
Collaboration Diagram - models the interaction between objects,without the temporal dimension
Statechart Diagram - shows the different state machines and theevents that leads to each of these state machines
Activity Diagram - shows the flow from activity to activity
Component Diagram - shows the physical packaging of softwarein terms of components and the dependencies between them
Deployment Diagram - shows the configuration of the processingnodes at run-time and the components that live on them
José Costa (DEI/IST) Design of Embedded Systems 47
![Page 48: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/48.jpg)
Elevator - Use Case
José Costa (DEI/IST) Design of Embedded Systems 48
![Page 49: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/49.jpg)
Class Diagram - Object Construction
José Costa (DEI/IST) Design of Embedded Systems 49
![Page 50: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/50.jpg)
Class Diagram - Software
José Costa (DEI/IST) Design of Embedded Systems 50
![Page 51: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/51.jpg)
Class Diagram - System
José Costa (DEI/IST) Design of Embedded Systems 51
![Page 52: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/52.jpg)
Use Case - Call Car
José Costa (DEI/IST) Design of Embedded Systems 52
![Page 53: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/53.jpg)
Use Case - Car Position
José Costa (DEI/IST) Design of Embedded Systems 53
![Page 54: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/54.jpg)
State Chart - Door Control
José Costa (DEI/IST) Design of Embedded Systems 54
![Page 55: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/55.jpg)
State Chart - Drive Control
José Costa (DEI/IST) Design of Embedded Systems 55
![Page 56: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/56.jpg)
UML
Modeling should capture the system in its entirety
Modeling facilitates quick and efficient analysis and design andhelps communicate the overall system architectureunambiguously
Principles of modeling
model must be chosen well
model should encapsulate different granularities
models can make simplifying assumptions, but not hideimportant facts
no single model can capture all dimensions of the complexity
José Costa (DEI/IST) Design of Embedded Systems 56
![Page 57: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/57.jpg)
Outline
Challenges in Embedded Systems Design
The Embedded System Design ProcessRequirementsSpecificationArchitectureComponent DesignSystem Integration
Formalisms for System DesignUnified Modeling Language
José Costa (DEI/IST) Design of Embedded Systems 57
![Page 58: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/58.jpg)
References
Computers as Components: Principles of Embedded ComputingSystem Design , Wayne Wolf. Morgan Kaufman, 2001. Ch. 1.3
José Costa (DEI/IST) Design of Embedded Systems 58
![Page 59: Design of Embedded Systems - ULisboa · PDF fileThe architecture is a plan for the overall structure of the system ... Class Diagram Object Diagram Use Case Diagram Sequence Diagram](https://reader031.fdocuments.in/reader031/viewer/2022021818/5aa5959b7f8b9ae7438d9f29/html5/thumbnails/59.jpg)
Next Class
Architecture of Embedded Systems
José Costa (DEI/IST) Design of Embedded Systems 59