Future Directions. Edward A. Lee. Berkeley, CA May 12, A New Computational Platform: Ubiquitous Networked Embedded Systems. actuate.

Similar documents
Building Unreliable Systems out of Reliable Components: The Real Time Story

Modal Models in Ptolemy

Component-Based Design of Embedded Control Systems

Concurrent Component Patterns, Models of Computation, and Types

Hybrid System Modeling: Operational Semantics Issues

Process-Based Software Components Final Mobies Presentation

Advanced Tool Architectures. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Tool Projects. Chess Review May 10, 2004 Berkeley, CA

The Ptolemy II Framework for Visual Languages

Embedded Software from Concurrent Component Models

Paradigms of computer programming

A PRIMITIVE EXECUTION MODEL FOR HETEROGENEOUS MODELING

Embedded Tutorial CPS Foundations

Concurrent Models of Computation

Portable Real-Time Code from PTIDES Models

The Problem with Treads

C Code Generation from the Giotto Model of Computation to the PRET Architecture

Simulation of LET Models in Simulink and Ptolemy

Temporal Semantics in Concurrent and Distributed Software

Ptolemy II The automotive challenge problems version 4.1

Introduction to Embedded Systems

The Problem with Threads

The Future of the Ptolemy Project

Embedded Real-Time Systems

Giotto Domain. 5.1 Introduction. 5.2 Using Giotto. Edward Lee Christoph Kirsch

Actor-Oriented Design: Concurrent Models as Programs

Integrated Design and Analysis Tools for Software Based Control Systems

Component-Based Design of Embedded Control Systems

Mobile Wireless Sensor Network enables convergence of ubiquitous sensor services

CMPSC 311- Introduction to Systems Programming Module: Systems Programming

fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik /11/15

Process-Based Software Components. Subcontractors and Collaborators

Concurrent Models of Computation for Embedded Software

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

Concurrency Demands New Foundations for Computing

Understandable Concurrency

Making Concurrency Mainstream

The Embedded Systems Design Challenge. EPFL Verimag

Classes and Inheritance in Actor- Oriented Models

PTIDES: A Discrete-Event-Based Programming Model for Distributed Embedded Systems

Concurrent Models of Computation

DESIGN AND SIMULATION OF HETEROGENEOUS CONTROL SYSTEMS USING PTOLEMY II

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

Introduction to Embedded Systems

The Case for the Precision Timed (PRET) Machine

An Overview of the Ptolemy Project and Actor-Oriented Design

Systems I: Programming Abstractions

Predictable Timing of Cyber-Physical Systems Future Research Challenges

Model-Based Design in the Ptolemy Project

Overview of Dataflow Languages. Waheed Ahmad

Timing Definition Language (TDL) Concepts, Code Generation and Tools

An Extension to the Foundation Fieldbus Model for Specifying Process Control Strategies

General Overview of Mozart/Oz

SDF Domain. 3.1 Purpose of the Domain. 3.2 Using SDF Deadlock. Steve Neuendorffer

Applying Models of Computation to OpenCL Pipes for FPGA Computing. Nachiket Kapre + Hiren Patel

Graphical System Design. David Fuller LabVIEW R&D Section Manager

Programming Languages for Real-Time Systems. LS 12, TU Dortmund

Massachusetts Institute of Technology Department of Mechanical Engineering Modeling and Simulation of Dynamic Systems

Course Development. Recall the Goal. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Chess Review November 18, 2004 Berkeley, CA

Model-Based Design for Signal Processing Systems

Fundamental Algorithms for System Modeling, Analysis, and Optimization

Interface Automata and Actif Actors

Programming language design and analysis

Cloud Programming James Larus Microsoft Research. July 13, 2010

Synthesis of Distributed Real- Time Embedded Software

Beyond Embedded Systems: Integrating Computation, Networking, and Physical Dynamics

Class Structure. Prerequisites

Concurrent Models of Computation for Embedded Software

«Computer Science» Requirements for applicants by Innopolis University

Lucian: Dataflow and Object-orientation

Hierarchical FSMs with Multiple CMs

Balance between Formal and Informal Methods, Engineering and Artistry, Evolution and Rebuild

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Actor-Oriented Design and The Ptolemy II framework

CMPSC 311- Introduction to Systems Programming Module: Systems Programming

Overview of the Ptolemy Project

Codesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.

Concurrent Semantics without the Notions of State or State Transitions

CS4230 Parallel Programming. Lecture 3: Introduction to Parallel Architectures 8/28/12. Homework 1: Parallel Programming Basics

Syllabi of the Comprehensive Examination in Computer Science

DEPARTMENT OF COMPUTER SCIENCE

Massive Data Analysis

The Internet of Things and Factory of Future

Computer Science (CS)

The Ptolemy Kernel Supporting Heterogeneous Design

LabVIEW Based Embedded Design [First Report]

Workflow Fault Tolerance for Kepler. Sven Köhler, Thimothy McPhillips, Sean Riddle, Daniel Zinn, Bertram Ludäscher

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Curriculum 2013 Knowledge Units Pertaining to PDC

An Introduction to Network Simulation Using Ptolemy Software Tool

Specifications and Modeling

Integration of OpenModelica in Ptolemy II

UC Berkeley Mobies Technology Project

CS4961 Parallel Programming. Lecture 3: Introduction to Parallel Architectures 8/30/11. Administrative UPDATE. Mary Hall August 30, 2011

Advanced Tool Architectures

Hardware/Software Co-design

Computer Architecture Lecture 27: Multiprocessors. Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 4/6/2015

10 th AUTOSAR Open Conference

Java Code Generation. Outline. Steve Neuendorffer UC Berkeley. Motivation Code generation architecture Component Specialization

Time-Awareness in the Internet of Things. ITSF 2014 Marc Weiss, NIST Consultant

CMPSC 311- Introduction to Systems Programming Module: Systems Programming

Transcription:

Future Directions Edward A. Lee 6th Biennial Ptolemy Miniconference Berkeley, CA May 12, 2005 A New Computational Platform: Ubiquitous Networked Embedded Systems sense actuate control Ptolemy II support Giotto Lee, Berkeley 2

A Developing Paradigm: Convergence of Computation and the Physical World Physics Structure and Interpretation of Classical Mechanics sense Gerald Jay Sussman and Jack Wisdom with Meinhard E. Mayer Structure and Interpretation actuate of Signals and Systems control Edward A. Lee and Pravin Varaiya Structure and Interpretation of Computer Programs Harold Abelson and Gerald Jay Sussman Ptolemy with IIJulie Sussman Electrical Engineering This connection is due to Xiaojun Liu. support Giotto Computer Science Lee, Berkeley 3 Computer Programs Preface to the First Edition: Underlying our approach to this subject is our conviction that computer science is not a science and that its significance has little to do with computers. The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. Mathematics provides a framework for dealing precisely with notions of what is. Computation provides a framework for dealing precisely with notions of how to. Lee, Berkeley 4

Computer Programs Preface to the Second Edition: This edition emphasizes several new themes. The most important of these is the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming, lazy evaluation, and nondeterministic programming. We have included new sections on concurrency and nondeterminism, and we have tried to integrate this theme throughout the book. Lee, Berkeley 5 Computer Programs Figure 3.32: The integral procedure viewed as a signal-processing system. Lee, Berkeley 6

Classical Mechanics Preface: Computational algorithms are used to communicate precisely some of the methods used in the analysis of dynamical phenomena. Computation requires us to be precise about the representation of mechanical and geometric notions as computational objects and permits us to represent explicitly the algorithms for manipulating these objects. This book presents classical mechanics from an unusual perspective. It uses functional mathematical notation that allows precise understanding of fundamental properties of classical mechanics. It uses computation to constrain notation, to capture and formalize methods, for simulation, and for symbolic analysis. Lee, Berkeley 7 Classical Mechanics 1.4 Computing Actions The Lagrangian for a free particle moving in three dimensions: L(t, x, v) = m(v v)/2, (1.14) As a procedure: (define ((L-free-particle mass) local) (let ((v (velocity local))) (* 1/2 mass (dot-product v v)))) Lee, Berkeley 8

Signals and Systems Preface Approach This book is about mathematical modeling and analysis of signals and systems, applications of these methods, and the connection between mathematical models and computational realizations. We develop three themes. The first theme is the use of sets and functions as a universal language to describe diverse signals and systems. The second theme is that complex systems are constructed by connecting simpler subsystems in standard ways cascade, parallel, and feedback. Our third theme is to relate the declarative view (mathematical, what is ) with the imperative view (procedural, how to ). Lee, Berkeley 9 Putting these side by side Data Structures Array, List, Tree, Stream, Algorithms Sort, Map, Traverse, Filter, Physical Phenomena Force, Electromagnetic Field, Physical Processes F = ma, Maxwell s Equations, Signals Audio, Image, Systems Filter, Compress, This connection is due to Xiaojun Liu. Lee, Berkeley 10

A Banner for the Ptolemy Project Concurrent Computational Systems Lee, Berkeley 11 Our Current Projects Abstract semantics (Cataldo, Liu, Matsikoudis, Zheng) Domain polymorphism Actor semantics (prefire, fire, postfire) Compositional directors Time semantics and backtracking Distributed computing (Feng, Zhao) Robust distributed consensus Data coherence (distributed caches) Time synchronization Stochastic models Real-time software (Cheong, Zhou, Zhou) Time-based models vs. dataflow models Deterministic, understandable multitasking Aspect-oriented multi-view modeling Code generation Lee, Berkeley 12

Future Project Proposal: Adaptive Networked Infrastructure Core partners: Berkeley (lead), Cornell, Vanderbilt Outreach partners: San Jose State, Tennessee Tech, UC Davis, UC Merced. Principal investigator: Edward A. Lee Approach: Engineering methods for integrating computer-controlled, networked sensors and actuators in societal-scale infrastructure systems. Enabling technologies: wireless networked embedded systems with sensors and actuators Target: efficient, robust, scalable adaptive networked infrastructure. The ANI ERC Resource management test beds: electric power transportation water Deliverables: Engineering Methods, Models, and Toolkits for: design and analysis of systems with embedded computing computation integrated with the physical world analysis of control dynamics with software and network behavior programming the ensemble, not the computer computer-integrated systems oriented engineering Lee, curricula Berkeley 13 Closing the Loop: The Key Issues Time Concurrency Lee, Berkeley 14

20-th Century Computing Abstraction initial state sequence f : State State final state Time is irrelevant All actions are ordered Nontermination is a defect Concurrency is an illusion Lee, Berkeley 15 Computation f : {0,1} ω {0,1} ω Lee, Berkeley 16

Everything Else is Non-functional Time Security Fault tolerance Power consumption Memory management But the word choice is telling: How is it that when a braking system applies the brakes is any less a function of the braking system than how much braking it applies? Lee, Berkeley 17 Exploiting the 20-th Century Computation Abstraction Programming languages Virtual memory Caches Dynamic dispatch Speculative execution Memory management (garbage collection) Multitasking (threads and processes) Networking (TCP) Theory (complexity) Lee, Berkeley 18

APOT The question: What would have to change to achieve absolutely, positively on time (APOT)? The answer: nearly everything. Lee, Berkeley 19 What to do? Put time into programming languages Promising start: Simulink, Giotto, DE domain, TM domain Rethink the OS/PL split Promising start: TinyOS/nesC, VIPTOS Rethink the hardware/software split Promising start: FPGAs with programmable cores + SDF/HDF Memory hierarchy with predictability Promising start: Scratchpad memories vs. caches + SDF/HDF Memory management with predictability Promising start: Bounded pause time garbage collection Predictable, controllable deep pipelines Promising start: Pipeline interleaving + SDF/HDF Predictable, controllable, understandable concurrency Promising start: Synchronous languages, SR domain Networks with timing Promising start: Time triggered architectures, time synchronization Computational dynamical systems theory Promising start: Hybrid systems Lee, Berkeley 20

Conclusion The time is right to create the 21-st century theory of (embedded) computing. Lee, Berkeley 21