Title: Concurrent Engineering
1Hardware/Software Codesign of Embedded Systems
CONCURRENT ENGINEERING
Voicu Groza SITE Hall, Room 5017 562 5800 ext.
2159 Groza_at_SITE.uOttawa.ca
2CONCURRENT ENGINEERING
- General Issues
- System Development Life Cycle
- System Categories
- Reactive Real-Time Embedded Systems
3Motivation for Concurrent Engineering
- Project size 5 500 people
- Time money
- Development time versus development cost
- Average product life time was 23 years
- For mobile phones it is 6 to 12 months
- 60 of Ericssons profit comes from products
younger than 3 years - Late arrivers loose market share
- Phase and activity overlapping is crucial
- Communication and documentation are essential
- The development task must be partitioned into
horizontal and vertical subtasks. - The development time must be shortened while
- - the design complexity increases and
- - the product quality level remains high.
4Definitions and Scope
- CE Paralleling of life cycle functions
Consensus Cooperation - CE Minimization of total product development
time - CE Global optimization of total product live
cycle (maximize quality, reduce lead time, lower
cost) - CE Integrate product and process design over
the entire enterprise
5Influencing Agents the 7 Ts
Tasks
Talents
Teamwork
CE
CE
CE
CE
CE
CE
Techniques
Tools
CE
Time
Technology
6Project Phases
Expression of need
Project definition
Abstraction
Planning organization
Project development
Project completion
Time
7Involved People
- Customers
- - Users
- - Marketing and sales personnel
- - Operators
- - Maintenance personnel
- Product manager
- Project manager
- Requirement definition engineer
- Specification engineer
- Designer
- Implementation engineer
- Test engineer
8Development Phases
- Requirement definition The most informal part
of a product development - Specification The first abstract description
of the product - Design Functional partitioning and
architecture selection - Implementation Implementation of components
and integration - System validation
- Production Experimentation with prototypes and
final product production - Operation Corrective, adaptive and preventive
maintenance
9Life Cycle Models
- Waterfall model
- V-cycle
- Spiral model
- Contractual model
10The Waterfall Model
Requirements Definition
Specification
Design
- Based on the assumption of document completion at
the end of each stage. This is problematic for
applications for which the requirements and
implementation are poorly understood.
Implementation
Testing Maintenance
11The V- Cycle Model
NEED
PRODUCT
Certification
Validation
Validation
DESIGN
VALIDATION
12The Spiral Model - Risk Driven
CUMULATIVE COST
Determination of objectives, alternatives and
constraints
Evaluate alternatives, identify resolve risks
Risk analysis
operational prototype
Risk analysis
prototype
RA
prototype
Life cycle plan
SW product design
concept
Detailed design
Development plan
requirement
Unit test
Design validation verification
Integration test
Integration test
Develop Verify
Planning next phases
Implementation
13Concurrency Between Process Phases
- Align each step as far to the left as possible
- Maintain the precedence of tasks
- Minimize the horizontal overlap between two
consecutive tasks - Maximize the independence of tasks
Product
14Design Phase OverlapWaterfall Model
TIME
15Design Phase OverlapConcurrent Engineering
EFFORT
Test
Implementation
Design
Specification
TIME
16Effort Distribution
17Error Correction Cost
COST
10000
Log scale
1000
100
10
1
0.1
Time of Error Detection
Specification Design Implementation Production
Operation
18Time to Market Cost Model
Revenue /mo
Market rise
Market fall
Time to market
Time
System concept
Production
19Productivity Factors
experience with design language
experience with tools
development of tools
design tools
high-level modeling
experience with the application
real time constraints
product complexity
team ability
Productivity
20Basic Principles of CE
- Early problem discovery Problems discovered
early are easier to solve. - Early decision making In the beginning the
design space and the potential to find global
optima is greater. - Work structuring Humans are not good on
working on multiple tasks simultaneously they
are good on systematically structuring their work
and the work environment so that each task is
independent. - Teamwork affinity Cooperation between persons
and teams is based on trust and positive
experience. - Knowledge leveraging Since the required
knowledge is distributed, the decision making
process must coordinate distributed knowledge. - Ownership The motivation is higher if teams or
persons own a problem and assume responsibility. - Consistent objectives Persons, groups, and
organizations have self interests which might not
be consistent with the companies objectives.
21Concurrency and Simultaneity
- Parallel product
- Concurrent resource scheduling
- Concurrent processing
- Minimize interfaces
- - Minimize product interfaces
- To facilitate handling, maintenance, testing, and
manufacturing - To facilitate concurrent activities
- - Minimize process interfaces
- - Automate data flow
- Efficient communication and efficient reviews
- Design documentation and design decision
documentation - Quick processing of individual activities
22Partitioning of Development Tasks Vertical
Slices
23Horizontal Partitioning Structural and
Functional Slices
STRUCTURAL COMPONENTS
Implementation
Specification
Integration
Validation
Design
- The number of interdependent tasks must be
minimized
24Functional Slicing
- Functional slices may or may not be implemented
by structural components - Functional slicing increases the potential for
concurrent activities - Functional slicing allows to start with system
simulation and system validation very early. - Early system level validation generates bug
reports and valuable feed back for the design of
individual components.
25Benefits of Concurrent Engineering
- Rationalization in the manufacturing process
- Working parallel
- Improved communication and providing better
input - Preempting errors and spotting problems early
- Flexibility to accommodate changes
- Decreased occurrence of obsolescence
- Cross training
- Better use of scarce technical resources
26Pitfalls
- Problem with handling of information and data
flow - Risk of wasted efforts due to parallel
activities - Error correction activities due to incomplete
and immature information - Increased development cost
27System Categories
- Embedded systems
- Real-time systems
- Distributed systems
- Interactive systems
- Reactive systems
- Communication systems (protocol processing,
switches, etc.) - Data processing systems (processing of signals,
pictures, voice, etc.)
28Embedded Systems
- Embedded electronic systems implement
application specific dedicated functions in a
special environment. - Dedicated systems
- Environment is complex
- Environment establishes various nonfunctional
constraints - Environment is not completely known
- Interfaces to other subsystems
- - Digital protocols
- - Analog interface
- - Mechanic interface
- - Chemical interface
- Sensors and actuators
29Real-time Systems
- Real-time systems have a well defined timing
behaviour imposed upon them by the environment. - Well defined timing behaviour
- Timing constraints
- - Local timing constraints
- - Input rate constraints
- - Output rate constraints
- Several simultaneous activities
- - Observe events
- - Evaluate decisions
- - Generate actions
- Synchronization facilities
30Distributed Systems
- Distributed systems implement an integrated
functionality at spatially separated locations. - Communication facilities and protocols
- - Specification. modeling, implementation, and
verification of communicating systems - - Synchronous and asynchronous communication
- - Shared memory
- - Shared bus
- - Point-to-point protocols and structures
- Distributed control threads
- - Parallel threads
- - Dynamic creation and destruction of threads
- - Remote procedure call (synchronous and
asynchronous) - High complexity
31Interactive Systems
- Interactive systems have an intense and versatile
data flow to I/O devices with soft timing
constraints on performance and response time. -
- Complex mixed HW/SW user interface
- Soft timing constraints which must be met on
average
32Reactive Systems
- Reactive systems are connected to the environment
via sensors and actuators and implement control
and data processing functionality. - Versatile interface and communication
facilities and protocols - - Interfaces to mechanical and analog devices
- - Many nonfunctional constraints (size, power,
shape, weight, etc.) - Hard timing constraints on response time
- The behaviour is well modeled by a finite state
machine
33Communication Systems
- Communication systems process and connect
streams of data according to protocols and
switching rules. - Tight performance constraints on throughput
- Moderate timing constraints on latency
- Large memory requirements with irregular access
pattern - Large number of internal interconnections and
I/O ports - Implementation of the multi-layer protocol
stack is partly in HW and partly in SW
34Data Processing Systems
- Data processing systems transform streams of data
according to complex mathematical transformations
with high performance requirements. - Tight performance constraints on throughput
- Varying memory requirements with regular access
pattern - Only one or few data streams
- Complex mathematical transformations
- Implementation is partly in custom HW and
partly in SW on DSPs
35Development Context
Activities
Company management
Projects
Project management
Project development
Resources