Are “Embedded Systems" Just Systems Made with Small Computers? Chess: Center for Hybrid and Embedded Software Systems Invited Talk Artist International.

Slides:



Advertisements
Similar presentations
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Advertisements

CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Edward A. Lee Designing a Relevant Lab for Introductory Signals and Systems Edward A. Lee UC Berkeley A computer without networking, audio, video, or real-time.
Automatic Verification of Component-Based Real-Time CORBA Applications Gabor Madl Sherif Abdelwahed
Decision Making: An Introduction 1. 2 Decision Making Decision Making is a process of choosing among two or more alternative courses of action for the.
FIN 685: Risk Management Topic 5: Simulation Larry Schrenk, Instructor.
Systems Engineering for Automating V&V of Dependable Systems John S. Baras Institute for Systems Research University of Maryland College Park
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Center for Hybrid and Embedded Software Systems College of Engineering, University of California at Berkeley Presented by: Edward A. Lee, EECS, UC Berkeley.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Causality Interfaces for Actor Networks Ye Zhou and Edward A. Lee University of California,
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
Chess Review October 4, 2006 Alexandria, VA Edited and presented by Educating a New Generation of Students in Embedded Systems Edward A. Lee Chair of EECS,
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Leveraging Synchronous Language Principles for Hybrid System Models Haiyang Zheng and.
Behavioral Types as Interface Definitions for Concurrent Components Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley.
February 11, 2010 Center for Hybrid and Embedded Software Systems Ptolemy II - Heterogeneous Concurrent Modeling and Design.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
Lee & Varaiya Introducing Signals and Systems The Berkeley Approach Edward A. Lee Pravin Varaiya UC Berkeley A computer without networking, audio, video,
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
The Case for Precision Timed (PRET) Machines Edward A. Lee Professor, Chair of EECS UC Berkeley With thanks to Stephen Edwards, Columbia University. National.
Mixing Models of Computation Jie Liu Palo Alto Research Center (PARC) 3333 Coyote Hill Rd., Palo Alto, CA joint work with Prof. Edward.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Cyber-Physical Systems: A Vision of the Future Edward A. Lee Robert S. Pepper Distinguished.
© Andy Wellings, 2003 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
NSF Foundations of Hybrid and Embedded Software Systems UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI A New System Science.
Ptolemy Miniconference May 9, 2003 Berkeley, CA Ptolemy Project Plans for the Future Edward A. Lee Professor Ptolemy Project Director.
SEC PI Meeting Annapolis, May 8-9, 2001 Component-Based Design of Embedded Control Systems Edward A. Lee & Jie Liu UC Berkeley with thanks to the entire.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
The Rare Glitch Project: Verification Tools for Embedded Systems Carnegie Mellon University Pittsburgh, PA Ed Clarke, David Garlan, Bruce Krogh, Reid Simmons,
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 PTIDES: A Programming Model for Time- Synchronized Distributed Real-time Systems Yang.
Verifying Distributed Real-time Properties of Embedded Systems via Graph Transformations and Model Checking Gabor Madl
Model-based Analysis of Distributed Real-time Embedded System Composition Gabor Madl Sherif Abdelwahed
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
How can CPS education provide what the industry needs? Jyotirmoy Deshmukh Toyota Technical Center, Los Angeles.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is Concurrent Programming? Maram Bani Younes.
ECE 8443 – Pattern Recognition EE 3512 – Signals: Continuous and Discrete Objectives: Definition of a System Examples Causality Linearity Time Invariance.
ECE 8443 – Pattern Recognition EE 3512 – Signals: Continuous and Discrete Objectives: First-Order Second-Order N th -Order Computation of the Output Signal.
Texas Tech University NSF-SFS Workshop on Educational Initiatives in Cybersecurity for Critical Infrastructure Course Flow Diagrams May 2-3, 2013 Support.
On the relation between software development and control function development in automotive embedded systems Stefan Kowalewski Embedded Software Laboratory.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
EENG 1920 Chapter 1 The Engineering Design Process 1.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
1 New Development Techniques: New Challenges for Verification and Validation Mats Heimdahl Critical Systems Research Group Department of Computer Science.
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
ECE 8443 – Pattern Recognition ECE 3163 – Signals and Systems Objectives: First-Order Second-Order N th -Order Computation of the Output Signal Transfer.
Scheduling policies for real- time embedded systems.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
ECE 8443 – Pattern Recognition ECE 3163 – Signals and Systems Objectives: Definition of a System Examples Causality Linearity Time Invariance Resources:
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Aravind Venkataraman. Topics of Discussion Real-time Computing Synchronous Programming Languages Real-time Operating Systems Real-time System Types Real-time.
MODES-650 Advanced System Simulation Presented by Olgun Karademirci VERIFICATION AND VALIDATION OF SIMULATION MODELS.
Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
TEMPLATE DESIGN © Crawling is the process of automatically exploring a web application to discover the states of the application.
Sub-fields of computer science. Sub-fields of computer science.
EE 249 Embedded Systems Design
TRUST:Team for Research in Ubiquitous Secure Technologies
Retargetable Model-Based Code Generation in Ptolemy II
Introduction Artificial Intelligent.
Objective of This Course
Model Base Validation Techniques for Software
Presentation transcript:

Are “Embedded Systems" Just Systems Made with Small Computers? Chess: Center for Hybrid and Embedded Software Systems Invited Talk Artist International Collaboration Days Education Day In conjunction with EMSOFT Philadelphia, PA, Oct 11, 2003 Edward A. Lee Professor UC Berkeley

UC Berkeley, Edward Lee 2 Abstract Occasionally I hear the argument that embedded computing is just computing with extreme resource limitations, where key resources are memory and CPU cycles. By this argument, embedded computing does not constitute a new discipline, since optimizing resource usage has always been a part of computer science. Traditional EE systems theory, including signal processing and control, is often a good match for the application domains of embedded systems. Moreover, this theory has steadily been evolving towards software-based realizations, for example with the emergence of hybrid systems theory in the control systems community. Therefore it is arguable that embedded systems is just an evolutionary outgrowth of these disciplines, and again does not constitute a new discipline. In this talk, I will argue that the traditional CS theory of computation and traditional EE systems theory both fail to effectively model embedded systems. Traditional EE systems theory offers powerful analytical techniques for proving "correctness" of systems, for example by demonstrating that designs are stable. However, when these designs are realized in software, often the "correctness" proofs are no longer formally valid, and engineers have to resort to bench testing to validate behavior. Implementations of discrete time systems under an RTOS, or worse, under a non-real-time operating system, no longer have the formal structure assumed by the analytical tools. For example, how should an engineer choose priorities for tasks, or whether processes should be preempted by higher priority processes? How should an engineer assess the effect of asynchronous events or mode changes? The theory breaks down, and the engineer is stuck with guesswork. Unfortunately, the standard engineering curriculum cements this flaw. Courses in signals and systems, controls, and communications systems rely heavily on frequency-domain techniques, transforms, and linear systems theory. The beauty and richness of the subject, particularly compared to the relatively immature fields of hybrid systems analysis and embedded software design, seduces instructors to weave an ever more elaborate fiction. Real systems aren't like that, but this theory is so pretty, that we do it anyway. In this talk, I will show how we can begin to adapt the traditional EE systems curriculum to embrace the real world of software. First, we have to show that even non-linear systems have formal structure. Next, the theory of hybrid systems shows how to leverage the theory of linear systems when the violations of the linear hypothesis are through mode changes. Finally, concurrent models of computation are available that enable the specification of software that is assured of meeting the assumptions of the formal framework. These cannot be based directly on the rather weak abstractions of threads, processes, priorities, preemption, and synchronization. They are based, instead, on synchronous and time-driven languages.

UC Berkeley, Edward Lee 3 Platforms A platform is a set of designs. Relations between platforms represent design processes. big gap

UC Berkeley, Edward Lee 4 Progress Many useful technical developments amounted to creation of new platforms. microarchitectures operating systems virtual machines

UC Berkeley, Edward Lee 5 Recent Action Giving the red platforms useful modeling properties (e.g. verification, UML, MDA) Getting from red platforms to blue platforms (e.g. correctness, efficiency)

UC Berkeley, Edward Lee 6 Desirable Properties From above: modeling expressiveness From below: correctness efficiency

UC Berkeley, Edward Lee 7 Model-Based Design Model-based design is specification of designs in platforms with “useful modeling properties.”

UC Berkeley, Edward Lee 8 “Useful Modeling Properties” for Embedded Systems Example: Control systems: Continuous dynamics Stability analysis

UC Berkeley, Edward Lee 9 Discretized Model A Step Towards Software Numerical integration techniques provided sophisticated ways to get from the continuous idealizations to computable algorithms. Discrete-time signal processing techniques offer the same sophisticated stability analysis as continuous-time methods. But it’s not accurate for software controllers (fails on correctness)

UC Berkeley, Edward Lee 10 Hybrid Systems – Union of Continuous & Discrete Suffers from problems with modeling expressiveness correctness E.g. Consider building a hybrid system model for software running under a multitasking real-time OS.

UC Berkeley, Edward Lee 11 The Timing of Software is the Wrong Thing to Model An example, due to Jie Liu, has two controllers sharing a CPU under an RTOS. Under preemptive multitasking, only one can be made stable (depending on the relative priorities). Under non-preemptive multitasking, both can be made stable. Where is the theory for this? RTOS’s are the wrong platform for embedded software design.

UC Berkeley, Edward Lee 12 Better Platforms Platforms with modeling properties that reflect requirements of the application, not accidental properties of the implementation.

UC Berkeley, Edward Lee 13 How to View This Design From above: Signal flow graph with linear, time-invariant components. From below: Synchronous concurrent composition of components

UC Berkeley, Edward Lee 14 Embedded Platforms The modeling properties of these platforms are about the application problem, not about the implementation technology.

UC Berkeley, Edward Lee 15 Embedded Platforms The modeling properties of these platforms are about the application problem, not about the implementation technology.

UC Berkeley, Edward Lee 16 Embedded Platforms Actor oriented models compose concurrent components according to a model of computation.

UC Berkeley, Edward Lee 17 Education Changes The Starting Point at Berkeley Berkeley has a required sophomore course that addresses mathematical modeling of signals and systems from a computational perspective. The web page at the right illustrates a broad view of feedback, where the behavior is a fixed point solution to a set of equations. This view covers both traditional continuous feedback and discrete-event systems. The textbook

UC Berkeley, Edward Lee 18 Themes of the Berkeley Course The connection between imperative and declarative descriptions of signals and systems. The use of sets and functions as a universal language for declarative descriptions of signals and systems. Concurrent state machines and frequency domain analysis as complementary tools for designing and analyzing signals and systems. Early and often discussion of applications, with MATLAB and Simulink design for laboratory experimentation. Brain response when seeing a discrete Fourier series.

UC Berkeley, Edward Lee 19 Conclusion The distinction between modeling and design is narrowing We can teach system theory with a connection to computation From above: modeling, expressiveness From below: correctness, efficiency