Usage/Applications Emb. Computing Desktop. Research exploitation Emb. Computing Desktop Computing.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Distributed Systems Architectures
CS599 Software Engineering for Embedded Systems1 Software Engineering for Real-Time: A Roadmap Presentation by: Mandar Samant Raghbir Singh Banwait.
System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli.
Define Embedded Systems Small (?) Application Specific Computer Systems.
1 Dr. Frederica Darema Senior Science and Technology Advisor NSF Future Parallel Computing Systems – what to remember from the past RAMP Workshop FCRC.
Chapter 13 Embedded Systems
DARPA Dr. Douglas C. Schmidt DARPA/ITO Towards Adaptive & Reflective Middleware for Combat Systems Wednesday, June 24, 2015 Authorized.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
Chapter 1 CSF 2009 Computer Abstractions and Technology.
Computer System Architectures Computer System Software
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Tufts Wireless Laboratory School Of Engineering Tufts University “Network QoS Management in Cyber-Physical Systems” Nicole Ng 9/16/20151 by Feng Xia, Longhua.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
Computer Science Open Research Questions Adversary models –Define/Formalize adversary models Need to incorporate characteristics of new technologies and.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
EEL Software development for real-time engineering systems.
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.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Hardware-software Interface Xiaofeng Fan
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University.
MAPLD 2005/254C. Papachristou 1 Reconfigurable and Evolvable Hardware Fabric Chris Papachristou, Frank Wolff Robert Ewing Electrical Engineering & Computer.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing? Worst Case Execution Time Prediction by Static Program Analysis.
Introduction Why are virtual machines interesting?
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
Real-Time Systems, Events, Triggers. Real-Time Systems A system that has operational deadlines from event to system response A system whose correctness.
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2012.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Dynamo: A Runtime Codesign Environment
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
ECE354 Embedded Systems Introduction C Andras Moritz.
Albert M. K. Cheng Embedded Real-Time Systems
CSC 480 Software Engineering
Chapter 7 –Implementation Issues
Presentation transcript:

Usage/Applications Emb. Computing Desktop

Research exploitation Emb. Computing Desktop Computing

Embedded Systems Seminar Abhik Roychoudhury Semester 1,

ES A computing system which is part of a “larger system” (read – device). A computing system which is part of a “larger system” (read – device). The larger system constitutes the environment – in continuous interaction. The larger system constitutes the environment – in continuous interaction. The computing system implements a specific functionality. The computing system implements a specific functionality. A dedicated computer implemented by a combination of hardware and software. A dedicated computer implemented by a combination of hardware and software.

ES Examples Automobiles Automobiles Train control systems Train control systems Avionics / Flight control Avionics / Flight control Nuclear Power Plants Nuclear Power Plants Inside medical devices (for image manipulation) and other purposes Inside medical devices (for image manipulation) and other purposes Safety first ! Safety first !

ES Examples Or more vanilla Or more vanilla HDTV HDTV Washing Machines Washing Machines Microwave Microwave Controllers for other household devices such as Air-con Controllers for other household devices such as Air-con Finally, smart room / wear (GA Tech etc.) Finally, smart room / wear (GA Tech etc.)

What is new ? Growth of ES is not new. Growth of ES is not new. Engineers contend that they have been developing ES (such as Control sys.) … Engineers contend that they have been developing ES (such as Control sys.) … Such development is Such development is Hard-coded and example-specific Hard-coded and example-specific With little debugging & validation With little debugging & validation Little timing and power guarantees Little timing and power guarantees Need new design methodologies. Need new design methodologies.

Timeliness ? Not 100% clear (at least to me !) Not 100% clear (at least to me !) One obvious answer is the growing complexity of embedded systems. One obvious answer is the growing complexity of embedded systems. Another issue is the increasing availability of System-on-Chip platforms Another issue is the increasing availability of System-on-Chip platforms Makes ES design methodologies realizable. Makes ES design methodologies realizable.

ES Characteristics Real-time and/or Reactive Real-time and/or Reactive Often combines hard and soft real-time Often combines hard and soft real-time Timing constraints on the response Timing constraints on the response Low power budget Low power budget Novel architectures etc. Novel architectures etc. Low code size Low code size Aggressive Code compression possible. Aggressive Code compression possible. Profile driven development all important. Profile driven development all important.

All methodologies … Will typically espouse Will typically espouse Integrated model based design Integrated model based design Efficient Programming Technology Efficient Programming Technology Design Patterns, Run-time support Design Patterns, Run-time support Link up to middleware/ RTOS Link up to middleware/ RTOS Services to Application Software Services to Application Software System-on-Chip Platforms and/or Programmable hardware System-on-Chip Platforms and/or Programmable hardware High levels of assurance at each stage. High levels of assurance at each stage.

But this is … A little bit too abstract (IMHO) A little bit too abstract (IMHO) Sounds like any canonical CS research programme. Sounds like any canonical CS research programme. Or some collections of it. Or some collections of it. What are the ES design issues ? What are the ES design issues ? We need to look deeper and in more details. We need to look deeper and in more details.

Models of Computation “The primary technology outcome of the MoBIES program will be Model-Based Integration technology. The key technology components to be developed are model-based programming environments and model-based generators. … “ Excerpt from US Air Force Research Lab MOBIES Program Objectives

Models of Computation Model based programming Model based programming Prog. Sys. which allow construction of complex models as a by-product of programming (not the current norm !) Prog. Sys. which allow construction of complex models as a by-product of programming (not the current norm !) Model based generators Model based generators Input to verif/analysis tools from models Input to verif/analysis tools from models Generate actual component interfaces etc. from models Generate actual component interfaces etc. from models

What kind of models ? Concurrent processes Concurrent processes Support for timing Support for timing Support for process communication Support for process communication Explicit modeling of process communication can ease interface synthesis. Explicit modeling of process communication can ease interface synthesis. Separation of computation /communication Separation of computation /communication Objects (crucial link to Prog. Tech.) Objects (crucial link to Prog. Tech.) Discrete and Continuous models Discrete and Continuous models

Programming Technology Hard and soft real-time requirements Hard and soft real-time requirements Inter-process synchronization requirements Inter-process synchronization requirements Implementation of communication Implementation of communication Communication is often peer-to-peer rather than centralized. Communication is often peer-to-peer rather than centralized. All these requirements need to introduced into otherwise vanilla code. All these requirements need to introduced into otherwise vanilla code.

Programming Technology The PCES program will extend and combine approaches from programming language analysis and compilation; composable policies and protocols for communications and operating systems services, and correct-by-construction software techniques. These techniques will be developed for both interactive and automatic use in support of embedded real-time programming and execution. Excerpt from the “Vision” of DARPA PCES Program - Program Composition for Embedded Systems

Or more simply … Develop re-usable core software. Develop re-usable core software. Develop list of “features” (or “aspects”) you want to assure Develop list of “features” (or “aspects”) you want to assure Synch., Timing, Memory management, Power Synch., Timing, Memory management, Power Safe code transformation for introducing these aspects into core code. Safe code transformation for introducing these aspects into core code. Analysis tools for studying tradeoffs between cross-cutting aspects. Analysis tools for studying tradeoffs between cross-cutting aspects. AOP, SW Composition: much to learn from PL,SE AOP, SW Composition: much to learn from PL,SE

OS, Middleware “The DARPA Quorum program is pursuing technology research projects that are attempting solutions to a number of the missing capabilities needed for mission critical system development, such as predictable performance for network based applications, fault tolerance and dependability characteristics, real time performance properties, and fine grained distributed systems security. “ Excerpt from description of DARPA Quorum Program

So, the key points include… Guarantee of real-time performance (related to scheduling and schedulability) Guarantee of real-time performance (related to scheduling and schedulability) Related to timing and/or power estimation Related to timing and/or power estimation Quality of Service (QoS) guarantees in networked distributed embedded systems Quality of Service (QoS) guarantees in networked distributed embedded systems Handling multiple QoS guarantees – expt. Platform Handling multiple QoS guarantees – expt. Platform Formal specification of QoS guarantees and even run- time monitoring. Formal specification of QoS guarantees and even run- time monitoring. Middleware for open systems Middleware for open systems Fault tolerance, Dynamic scheduling. Fault tolerance, Dynamic scheduling.

Hardware, Architecture Low power processor architectures Low power processor architectures Power model for system-on-chip platforms Power model for system-on-chip platforms Need to model buses / networks, and traffic flow Need to model buses / networks, and traffic flow Abstractions in traffic flow : count based distributions Abstractions in traffic flow : count based distributions Transforming assembly code to reduce power hotspots (more mem. Accesses etc.) Transforming assembly code to reduce power hotspots (more mem. Accesses etc.) Other layers can also handle power Other layers can also handle power E.g. power as a secondary concern in scheduling E.g. power as a secondary concern in scheduling But here power is all important. But here power is all important.

Hardware, Architecture Transformations for predictable code Transformations for predictable code Take into account underlying hardware platform (a formal model of pipeline, cache etc. ?) Take into account underlying hardware platform (a formal model of pipeline, cache etc. ?) Both sides of the coin Both sides of the coin Analyze the performance of assembly code to find worst- case execution time etc. (Well understood) Analyze the performance of assembly code to find worst- case execution time etc. (Well understood) Trade off performance for predictability Trade off performance for predictability Cache locking schemes, New memory architectures Cache locking schemes, New memory architectures Develop models to predict the effect of well- understood code transformations (hot direction) Develop models to predict the effect of well- understood code transformations (hot direction)

Hardware, Architectures Other conventional areas in co-design Other conventional areas in co-design Other EDA topics (like design space exploration) conventionally considered under HW/Arch., … Other EDA topics (like design space exploration) conventionally considered under HW/Arch., … … but can be considered to belong to all the layers of ES design presented in this talk. … but can be considered to belong to all the layers of ES design presented in this talk. Reconfigurable architectures Reconfigurable architectures Reconfigure datapaths, functional units etc. at run- time and/or based on application. Reconfigure datapaths, functional units etc. at run- time and/or based on application. Tech. support – Field Programmable Gate Arrays (FPGA): plug-n-play with processors in a design. Tech. support – Field Programmable Gate Arrays (FPGA): plug-n-play with processors in a design.

Control Systems Substantial gamut of ES research does (and should !) involve control systems Substantial gamut of ES research does (and should !) involve control systems Refer DARPA “Software Enabled Control” Program Refer DARPA “Software Enabled Control” Program Related to vehicular control Related to vehicular control Uninhabited vehicles, airplanes Uninhabited vehicles, airplanes Developing adaptive control systems Developing adaptive control systems Hybrid Systems (interesting from CS view) Hybrid Systems (interesting from CS view) Multi-modal control in distributed sys (useful for ES) Multi-modal control in distributed sys (useful for ES) Traditional control theory useful for centralized laws. Traditional control theory useful for centralized laws.

Words of caution The talk reflects ES design methodology when largely left to a CS person. The talk reflects ES design methodology when largely left to a CS person. Possibly (???) ES design of the future. Possibly (???) ES design of the future. The reading list reflects emerging ES design trends (emerging somewhat from EDA ?) The reading list reflects emerging ES design trends (emerging somewhat from EDA ?) No exact match. No exact match. Applications (not covered in details here) Applications (not covered in details here) Media Applications Media Applications Control systems … Control systems …

Administrivia Every Tuesday 2-3 PM. Every Tuesday 2-3 PM. Venue: EC for 12, 19, 26 August. Venue: EC for 12, 19, 26 August. May be changed for later dates. May be changed for later dates. A volunteer needed for subsequent weeks A volunteer needed for subsequent weeks Desired: 2 weeks preparation time. Desired: 2 weeks preparation time. Speakers for next 2 weeks fixed. Speakers for next 2 weeks fixed. Powerpoint / PDF presentation desirable. Powerpoint / PDF presentation desirable. QUESTIONS ? QUESTIONS ?