Voicu Groza, 2008 SITE, 2008 - HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems CONCURRENT ENGINEERING Voicu.

Slides:



Advertisements
Similar presentations
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Advertisements

Lecture # 2 : Process Models
Software Project Management
CEN nd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Process Models.
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Automation (21-541) Sharif University of Technology Session # 5
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Lecture 13 Revision IMS Systems Analysis and Design.
Software Engineering General Project Management Software Requirements
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Systems Engineering of Software-Intensive Systems 1.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Effective Methods for Software and Systems Integration
Systems Analysis and Design: The Big Picture
- 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Chapter 2 The process Process, Methods, and Tools
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems DESIGN METHODOLOGIES Voicu.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
[ §3 : 1 ] 2. Life-Cycle Perspective Overview 2.1 Motivation 2.2 Waterfall Model 2.3 Requirements in Context.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
EEL Software development for real-time engineering systems.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Design Process
Software Prototyping Rapid software development to validate requirements.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
 System Requirement Specification and System Planning.
Advanced Software Engineering Dr. Cheng
Software Engineering cosc 4359 Spring 2017.
Chapter 1 The Systems Development Environment
OVERVIEW Impact of Modelling and simulation in Mechatronics system
Software Requirements
Chapter 1 The Systems Development Environment
Object oriented system development life cycle
Introduction to Software Engineering
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
CS310 Software Engineering Lecturer Dr.Doaa Sami
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Chapter 1 The Systems Development Environment
Presentation transcript:

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 1 Hardware/Software Codesign of Embedded Systems CONCURRENT ENGINEERING Voicu Groza SITE Hall, Room ext

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 2 CONCURRENT ENGINEERING General Issues System Development Life Cycle System Categories Reactive Real-Time Embedded Systems

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 3 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.

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 4 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 5 Influencing Agents: the 7 Ts Teamwork Talents Tools Time Technology Techniques CE Tasks

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 6 Project Phases Project management Expression of need Project definition Planning & organization Project development Project completion Time Abstraction

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 7 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 8 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 9 Life Cycle Models * Waterfall model * V-cycle * Spiral model * Contractual model

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 10 The Waterfall Model 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 Requirements Definition Testing & Maintenance

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 11 The V- Cycle Model Requirements Definition Specification System Design Component Design Coding Unit Test System Integration System Validation Operational Test Certification Validation Specification Design & Development Test & Evaluation Operation & Maintenance NEEDPRODUCT DESIGN VALIDATION

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 12 The Spiral Model - Risk Driven Determination of objectives, alternatives and constraints Evaluate alternatives, identify & resolve risks Planning next phases Develop & Verify Life cycle plan Development plan Integration & test prototype operational prototype concept requirement SW product design Detailed design Unit test Integration & test Implementation Design validation & verification Risk analysis RA CUMULATIVE COST

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 13 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; Mission Definition Concept Definition Engineering & Analysis Product Design Prototyping Production Engineering &Planning Production Operations & Control Manufacturing Continuous Improvement, Support & Delivery Product Requirements Constraints Changes

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 14 Design Phase Overlap Waterfall Model Specification Design Implementation Test EFORT TIME

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 15 Design Phase Overlap Concurrent Engineering Specification Design Implementation Test EFFORT TIME

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 16 Effort Distribution Effort/time Approach with high effort on specification Approach with low effort on specification SpecificationDesignImplementation Test

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 17 Error Correction Cost SpecificationDesignImplementation Production Operation Time of Error Detection COST Log scale

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 18 Time to Market Cost Model Market rise Market fall Revenue $/mo System conceptProduction Time to market Time

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 19 Productivity Factors Productivity team ability product complexity real time constraints experience with the application high-level modeling design tools development of tools experience with tools experience with design language

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 20 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.

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 21 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 22 Partitioning of Development Tasks: Vertical Slices Specification Design Implementation IntegrationValidation

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 23 Horizontal Partitioning: Structural and Functional Slices The number of interdependent tasks must be minimized Specification Design Implementation IntegrationValidation STRUCTURAL COMPONENTS

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 24 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.

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 25 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 26 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 27 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.)

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 28 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 29 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 30 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 31 Interactive 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”

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 32 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 33 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 34 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

Voicu Groza, 2008 SITE, HARDWARE/SOFTWARE CODESIGN OF EMBEDDED SYSTEMS 35 Development Context Company Project development Resources Activities Project management Projects Company management