A Graduate Embedded System Education Program

22
EE249:Fall03 A Graduate Embedded A Graduate Embedded System Education Program System Education Program Alberto Sangiovanni Alberto Sangiovanni - - Vincentelli Vincentelli Department of EECS, Department of EECS, University of California at Berkeley University of California at Berkeley

Transcript of A Graduate Embedded System Education Program

EE249:Fall03

A Graduate Embedded A Graduate Embedded System Education ProgramSystem Education Program

Alberto SangiovanniAlberto Sangiovanni--VincentelliVincentelli

Department of EECS, Department of EECS, University of California at BerkeleyUniversity of California at Berkeley

2EE249Fall03

The Killer Applications for the Future?

• Energy Conservation

• Emergency Response and Homeland Defense

• Transportation Efficiency

• Monitoring Health Care

• Land and Environment

• Education

3EE249Fall03

Needs for Electronics Industry of the Future

• MEMS, Analog and RF devices

• Scalable computing architectures

• Networked-oriented operating systems

• Distributed file systems

• Data management systems

• Security/privacy

• User interfaces

• Collaboration applications

• Intelligent learning systems

• Program verification

• Methodologies for HW/SW design/evaluation

The single most serious problem in the Valley today is to The single most serious problem in the Valley today is to find PEOPLE with the right expertise!find PEOPLE with the right expertise!

4EE249Fall03

Design “Practice”

5EE249Fall03

Design Science

6EE249Fall03

Innovators with solid scientific foundations

• Innovation in such a complex world must come from deep understanding of basic issues

• Do not mistake techniques for principles!

• Ad hoc engineering solutions should be avoided at all costs

• Balance of foundations and experience

7EE249Fall03

Dr. Right

8EE249Fall03

A set of Graduate Courses

• EE249: Design of Embedded Systems

• EE290O: Embedded Software Design

• EE290N: Concurrent Models of Computation

• CS298-4: Formal Methods for Software Reliability

• CS290A: Ubiquitous Systems

• CS290D: Oceanic Systems

• EECS290F: Dependable Computing and National Security

9EE249Fall03

Electronic Design: A Vision

• Embedded Software will be increasingly critical in the Electronic Industry

• Embedded Software Design must not be seen as a problem in isolation, it is an, albeit essential, aspect of EMBEDDED SYSTEM DESIGN

• The vision is to change radically the way in which ESW is developed today by linking it:– Upwards in the abstraction layers to system functionality

– Downwards in the programmable platforms that support it thus providing the means to verify whether the constraints posed on Embedded Systems are met.

PPlatform

Design-SpaceExport

PlatformMapping

Architectural Space

Application SpaceApplication Instance

Platform Instance

System (Software + Hardware)Platform

Platform-Based Design

10EE249Fall03

Platforms: Evolution

In general, a platform is an abstraction layer that covers a number of possible refinements (platform instances) into a lower level. The platform representation is a library of components including interconnects from which the lower level refinement can choose (as such is a set of designs).

Platform

Mapping Tools

Platform

Platform stack {

11EE249Fall03

Principles of Platform methodology:Meet-in-the-Middle

• Top-Down:– Define a set of abstraction layers

– From specifications at a given level, select a solution (controls, components) in terms of components (Platforms) of the following layer and propagate constraints

• Bottom-Up:– Platform components (e.g., micro-controller, RTOS,

communication primitives) at a given level are abstracted to a higher level by their functionality and a set of parameters that help guiding the solution selection process. The selection process isequivalent to a covering problem if a common semantic domain is used.

12EE249Fall03

Platform-Based Implementation•Platforms eliminate large loop iterations for affordable design

•Restrict design space via new forms of regularity and structure that surrender some design potential for lower cost and first-pass success

•The number and location of intermediate platforms is the essence of platform-based design

Silicon Implementation

Application

Silicon Implementation

Application

13EE249Fall03

A Hierarchical Application of the Paradigm:The Fractal Nature of Design!

Functional & PerformanceRequirements Network Architecture

Performance analysis

NetworkLevel

Radio NodeLevel

Functional & PerformanceRequirements Node Architecture

Performance analysis

Functional & PerformanceRequirements Network Architecture

Performance analysis

ModuleLevel

Constraints

Constraints

Source: Jan Rabaey

14EE249Fall03

Sensor Network Applications

• Application - collection of sensors, controllers and actuators cooperating to achieve a common goal (environment control or monitoring)

• Sensor - measures the state of the environment

– Parameters: phy. quantity, range, accuracy, ID, location...

• Actuator - sets the state of the environment

• Controller - gets the state of sensors and decides whether and how to set the state of actuators

SAC

S

S

A

C

Environment

C

15EE249Fall03

Network Platforms

node

linkportNPI I/O port

NP components:

PlatformDesign-

SpaceParameters

PlatformSpecification

Architectural Space

Application SpaceApplication Instance

Platform Instance

SystemPlatform

Network Platform Instance

CommunicationServices:- CS1:

Lossy BroadcastError rate: 33%Max Delay: 30 ms

- CS2: …

Network Platform API

PerformanceEstimates

ConstraintsBudgeting

16EE249Fall03

Sensor Network Platform

• Node– computation and communication platform (memory, processors…)

– sensor/actuator devices

• Parameters: – memory available,

– energy level,

– computation/communication cost…

• Sensors, Controllers and Actuators mapped onto nodes

S C

S

A

A

N1

N2 N3

N4

17EE249Fall03

EE249

• A graduate 4 unit system design course:

• Emphasis on understanding of system design

– The basic mathematical models representing system behavior independent of implementation, TSM, Abstract Algebraic Approach

– Implementation as choice of architecture

– Architecture as platform

– Mapping of behavior into architecture as an exercise in design exploration

– Software and hardware seen uniformly

– Hands-on experience on industrial and University tools (Ptolemy, Giotto, Mescal, Matlab, Cadence VCC, WindRiver, Xilinx, Cypress, Polis, Metropolis)

– Final Projects: Design. Methodology and Tools (most published inConferences and Journals)

18EE249Fall03

Behavior Vs. Architecture

SystemSystemBehaviorBehavior

SystemSystemArchitectureArchitecture

MappingMapping

Flow To ImplementationFlow To Implementation

Refinement

1

3

4

2Models of

Computation

Comm. and comp. resources

Assign functionality to arch elements

HW/SW partitioning,Scheduling

Synthesis: HW and

SW

Quantity estimation

19EE249Fall03

Behavior Vs. Communication

• Clear separation between functionality and interaction model

• Maximize reuse in different environments, change only interaction model

20EE249Fall03

Outline of the course

• Part 1. Introduction: Future of Information Technology, System Design, IP-based Design, System-on-Chip and Industrial Trends

• Part 2. Design Methodology: Platform-based Design

• Part 3. Functional Design: Models of Computation

• Part 4. Architecture Design: Capture and Modeling

• Part 5. Exploration and Mapping

• Part 6. Implementation Verification and Synthesis, Hardware and Software

21EE249Fall03

Discussion sections

• Lab section (Th. 4-6):– tool presentations

• Discussion Session (Tu. 5-6)– students’ presentation

of selected papers

– Each student is required to fill in a questionnaire in class for each discussion session

– Each student (in groups of 2-3 people) has to make an oral presentation once during the class

Week Lab Sections Homeworks1 - - - - - -2 Tool presentation HW13 Discussion4 Tool presentation HW25 Discussion6 Tool presentation HW37 Discussion8 Tool presentation HW49 Discussion10 Tool presentation HW511 Discussion12 Tool presentation HW613 Discussion14 HW715

22EE249Fall03

Reaching a Consensus on a Curriculum?

• Determine partition between undergraduate and graduate program

• Determine the partition between foundations and application areas

• Should a graduate program be established on the foundations of embedded system and should coordinated programs be instituted in the application domains (e.g., mechanical engineering, civil engineering)?

• How to establish a continuing education program for professionals

• What is the best mechanism to coordinate across the Ocean?