350 likes | 653 Views
Hardware/Software Codesign of Embedded Systems. CONCURRENT ENGINEERING. Voicu Groza SITE Hall, Room 5017 562 5800 ext. 2159 Groza@SITE.uOttawa.ca. CONCURRENT ENGINEERING . General Issues System Development Life Cycle System Categories Reactive Real-Time Embedded Systems.
E N D
Hardware/Software Codesign of Embedded Systems CONCURRENT ENGINEERING Voicu Groza SITE Hall, Room 5017 562 5800 ext. 2159 Groza@SITE.uOttawa.ca
CONCURRENT ENGINEERING General Issues System Development Life Cycle System Categories Reactive Real-Time Embedded Systems
Motivation 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 Ericsson’s 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.
Definitions 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
Influencing Agents: the 7 Ts Tasks Talents Teamwork CE CE CE CE CE CE Techniques Tools CE Time Technology
Project Phases Expression of need Project management Project definition Abstraction Planning & organization Project development Project completion Time
Involved People * Customers - Users - Marketing and sales personnel - Operators - Maintenance personnel * Product manager * Project manager * Requirement definition engineer * Specification engineer * Designer * Implementation engineer * Test engineer
Development 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
Life Cycle Models * Waterfall model * V-cycle * Spiral model * Contractual model
The Waterfall Model Requirements Definition 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. Specification Design Implementation Testing & Maintenance
Test & Evaluation Design & Development Operation & Maintenance Specification Requirements Definition Operational Test System Validation Specification System Design System Integration Unit Test Component Design Coding The V- Cycle Model NEED PRODUCT Certification Validation Validation DESIGN VALIDATION
The 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
Requirements Mission Definition Concept Definition Changes Constraints Engineering & Analysis Product Design Prototyping Production Engineering &Planning Production Operations & Control Manufacturing Continuous Improvement, Support & Delivery Concurrency 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
EFORT Implementation Test Design Specification Design Phase OverlapWaterfall Model TIME
Design Phase OverlapConcurrent Engineering EFFORT Test Implementation Design Specification TIME
Effort/time Approach with low effort on specification Approach with high effort on specification Specification Design Implementation Test Effort Distribution
COST 10000 Log scale Error Correction Cost 1000 100 10 1 0.1 Time of Error Detection Specification Design Implementation Production Operation
Time to Market Cost Model Revenue $/mo Market rise Market fall Time to market Time System concept Production
Productivity 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
Basic 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.
Concurrency 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
Implementation Specification Integration Validation Design Partitioning of Development Tasks: Vertical Slices
Horizontal Partitioning: Structural and Functional Slices The number of interdependent tasks must be minimized STRUCTURAL COMPONENTS Implementation Specification Integration Validation Design
Functional 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.
Benefits 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
Pitfalls * 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
System 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.)
Embedded 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
Real-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
Distributed 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
Interactive Systems Interactive systems have an intense and versatile data flow to I/O devices with soft timing constraints on performance and responsetime. * Complex mixed HW/SW user interface * Soft timing constraints which must be met ”on average”
Reactive 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
Communication 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
Data 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
Development Context Activities Company Company management Projects Project management Project development Resources