Ethereal Sting Working Group Meeting June 10, 2003 Arlington, VA Mobies Ethereal Sting OEP The Ptolemy II Experiment Edward A. Lee Professor UC Berkeley.

Slides:



Advertisements
Similar presentations
ANTLR in SSP Xingzhong Xu Hong Man Aug Outline ANTLR Abstract Syntax Tree Code Equivalence (Code Re-hosting) Future Work.
Advertisements

Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
MotoHawk Training Model-Based Design of Embedded Systems.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
UC Berkeley Mobies Technology Project PI: Edward Lee CoPI: Tom Henzinger Process-Based Software Components for Networked Embedded Systems.
ACM SIGPLAN 2001 Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES'2001) Jun 22-23, 2001, Snowbird, Utah, USA Embedded Software from.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Experiences in Integration of the 'R' System into Kepler Dan Higgins – National Center for Ecological Analysis and Synthesis (NCEAS), UC Santa Barbara.
Component Technologies for Embedded Systems Johan Eker.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 Java Code Generation Steve Neuendorffer UC Berkeley.
Integrated Design and Analysis Tools for Software-Based Control Systems Shankar Sastry (PI) Tom Henzinger Edward Lee University of California, Berkeley.
Behavioral Types as Interface Definitions for Concurrent Components Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley.
5/15/ Modeling and controlling the Caltech Ducted Fan Vehicle Steve Neuendorffer EE290N Final Presentation.
Causality Interface  Declares the dependency that output events have on input events.  D is an ordered set associated with the min ( ) and plus ( ) operators.
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
Mobies Phase 1 UC Berkeley 1 Process-Based Software Components Mobies Phase 1, UC Berkeley Edward A. Lee and Tom Henzinger (with contributions from Steve.
UC Berkeley: Chess Vanderbilt University: ISIS University of Memphis: MSI CHESS Review May 10, 2004 Berkeley, CA Model-Based Design Edited by Janos Sztipanovits,
3/12/ Modeling and controlling the Caltech Ducted Fan Vehicle Steve Neuendorffer, Ptolemy Group, UC Berkeley.
Application architectures
Ritu Varma Roshanak Roshandel Manu Prasanna
Reference Book: Modern Compiler Design by Grune, Bal, Jacobs and Langendoen Wiley 2000.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Programming Languages Structure
MoBIES PI-Meeting, July 2001, Jackson Hole Controller Design Using Multiple Models of Computation Edward Lee Johan Eker with thanks to Paul Griffiths,
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.
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 The Component Interaction Domain: Modeling Event-Driven and Demand- Driven Applications.
Lee & Henzinger ESWG #1 UC Berkeley Mobies Technology Project Process-Based Software Components for Networked Embedded Systems PI: Edward Lee CoPI: Tom.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
Models of Computation as Program Transformations Chris Chang
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Using UML Models for the Performance Analysis of Network Systems Nico de Wet and Pieter Kritzinger Department of Computer Science University of Cape Town.
Introduction 01_intro.ppt
Invitation to Computer Science 5th Edition
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Chapter 10: Compilers and Language Translation Invitation to Computer Science, Java Version, Third Edition.
CSC 338: Compiler design and implementation
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
1 COMP 3438 – Part II-Lecture 1: Overview of Compiler Design Dr. Zili Shao Department of Computing The Hong Kong Polytechnic Univ.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Introduction to Compilers. Related Area Programming languages Machine architecture Language theory Algorithms Data structures Operating systems Software.
1 Compiler Design (40-414)  Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007  Evaluation:  Midterm.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Compiler Introduction 1 Kavita Patel. Outlines 2  1.1 What Do Compilers Do?  1.2 The Structure of a Compiler  1.3 Compilation Process  1.4 Phases.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Incremental Checkpointing with Application to Distributed Discrete Event Simulation Thomas Huining Feng and Edward A. Lee {tfeng,
Graphical Design Environment for a Reconfigurable Processor IAmE Abstract The Field Programmable Processor Array (FPPA) is a new reconfigurable architecture.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Satisfying Requirements BPF for DRA shall address: –DAQ Environment (Eclipse RCP): Gumtree ISEE workbench integration; –Design Composing and Configurability,
CS223: Software Engineering
Presented by : A best website designer company. Chapter 1 Introduction Prof Chung. 1.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Advanced Computer Systems
Compiler Design (40-414) Main Text Book:
Chapter 1 Introduction.
Introduction to Compiler Construction
Chapter 1 Introduction.
TRUST:Team for Research in Ubiquitous Secure Technologies
Model-Driven Analysis Frameworks for Embedded Systems
Chapter 10: Compilers and Language Translation
Presentation transcript:

Ethereal Sting Working Group Meeting June 10, 2003 Arlington, VA Mobies Ethereal Sting OEP The Ptolemy II Experiment Edward A. Lee Professor UC Berkeley

Lee, U. C. Berkeley 2 E0 Implementation in Ptolemy II Authors: Mark Oliver (WPAFB) Steve Neuendorffer Edward Lee

Lee, U. C. Berkeley 3 Code Generation Automatic code generation enables rapid implementation from high-level component-based design. We are developing a code generation technique based on component specialization that transforms Ptolemy II models into a Java system implementation.

Lee, U. C. Berkeley 4 From Model to Implementation Generator-based code generation –Done in Ptolemy Classic –Library maintenance is very expensive Native Java compiler –Drags in the development environment –Result is large, and has unpredictable timing Component specialization –Produce minimized Java implementation –Minimize or eliminate dynamic memory management –Compile to the target platform using one of: Java to C translation Native Java compiler Just-in-time compiler Native Java platform (e.g. Dallas Tini boards)

Lee, U. C. Berkeley 5 Component Specialization Model of Computation semantics defines communication, flow of control Ptolemy II model scheduler Schedule: - fire Gaussian0 - fire Ramp1 - fire Sine2 - fire AddSubtract5 - fire SequenceScope10 parser method call if block method call block … for (int i = 0; i < plus.getWidth(); i++) { if (plus.hasToken(i)) { if (sum == null) { sum = plus.get(i); } else { sum = sum.add(plus.get(i)); } … Java actor definitions are parsed and then specialized for their context. target code abstract syntax tree Specialize for data types parameter values scheduling By token unboxing inlining partial evaluation dead code elimination

Lee, U. C. Berkeley 6 Limitations Exposed by the Experiment No actor for array maximum –Added later by Mark Oliver, built into library –Easy workaround used very wide signal busses Type resolution was very slow when using very wide signal busses –Fixed by Steve Neuendorffer AudioReader actor was unfinished –Didn’t use FileAttribute –Didn’t correctly deliver stereo signals FFT actor performs only radix-2 FFTs –Could use MATLAB interface to generalize Component specialization framework limitations –Didn’t handle FileAttributes –Error handling the absolute() function –Error specializing AudioReader

Lee, U. C. Berkeley 7 Log of Effort Three active participants, plus some spectators: –0.5 hours examining EtherealSting website and figuring out what to do. –2 hours constructing and experimenting with the model to detect the baud rate. This was built by modifying a model constructed by Edward Lee at the Mobies PI meeting (which took, perhaps, 1.5 hours to build). –1 hour fixing bug in AudioReader actor to use FileAttribute. –4 hours experimenting with component specialization. –Total time: 9 hours 6.5 hours fixing bugs exposed by the experiment. The experiment stimulated further work on comm/signal processing libraries.

Lee, U. C. Berkeley 8 Actor Libraries – Signal Processing Capabilities: filtering –multirate polyphase FIR, IIR, lattice, LMS adaptive filter, dot product, up/downsample random numbers/signals –Bernouli, Gaussian, Rician, Rayleigh, Uniform, arbitrary discrete distributions. linear system generators spectral estimation library –FFT, periodogram, maximum entropy comm functions: –Viterbi decoder (MLSE), convolutional/block coder/decoders, PN sequence generation, scrambling/descrambling, raised cosine array and matrix operations rich expression language / actor –extensive function library –MATLAB-like matrix comprehension –higher-order functional semantics –sophisticated, integrated type system interpolator, phase unwrap, lookup table, signal generators, trig functions signal plotters extensive image processing library –based on Java JAI, JMF audio interfaces UML package diagram of key actor libraries included with Ptolemy II.

Lee, U. C. Berkeley 9 Supervisory Structure Experimental SA Compute Resource Model-based compute resource: MobileModel actor accepts a StringToken containing an XML description of a model. It then executes that model on a stream of input data. PushConsumer actor receives pushed data provided via CORBA, where the data is an XML model of an SA algorithm. Authors: Yang Zhao Steve Neuendorffer Xiaojun Liu

Lee, U. C. Berkeley 10 Supervisory Structure Experimental Task Manager Model-based task manager: PushConsumer actor receives pushed data provided via CORBA, where the data is a user request for signal analysis. PushSupplier send an XML representation of an SA model via CORBA Supervisor state machine has resource allocation logic Authors: Yang Zhao Steve Neuendorffer Xiaojun Liu

Lee, U. C. Berkeley 11 Supervisory Structure Experimental User Model Model supplying signal data PullSupplier actor provides signal data on demand from SA algorithm PushSupplier actor sends a request for signal analysis to the task manager. Authors: Yang Zhao Steve Neuendorffer Xiaojun Liu User model:

Lee, U. C. Berkeley 12 To Do Handle failures of mobile model –use “model error handler” mechanism in Ptolemy II Secure execution of mobile model –all Java code executed is locally defined –mark actors and directors that convey no authority –set MobileModel security level to restrict actors Encrypted communication of models & data –currently XML plain text Authenticated access to MobileModels –consider using “capability” mechanisms –use peer-to-peer technology to “discover” capabilities.

Lee, U. C. Berkeley 13 Another Application: Controlling the Caltech Ducted Fan Vehicle This effort is applying Mobies technology to the SEC program

Lee, U. C. Berkeley 14 Caltech Vehicles Localization computer estimates vehicle locations Vehicles with onboard controllers and b Command computer: Waypoints, trajectories, Control changes 20 feet 30 feet Difficulties: 1)Complex control problem 2)Complex implementation platform

Lee, U. C. Berkeley 15 A Detailed Heterogenous Model Array of 3 Bytes: {85, Left, Right} Sent immediately after controller computes value Array of 50 Bytes: {TimeStamp, ID, X, Y, Angle} 60 times a second Measured Physical Parameters Discrete Event model convenient for events that do not occur at the same time. Model of computation and communication delay. Author: Steve Neuendorffer

Lee, U. C. Berkeley 16 A Detailed Heterogenous Model Data formatting Fan Thrust Map Continuous time model of vehicle dynamics Author: Steve Neuendorffer

Lee, U. C. Berkeley 17 A Detailed Heterogenous Model Encapsulated Control Law Discrete-state model of vehicle software Author: Steve Neuendorffer

Lee, U. C. Berkeley 18 Towards Implementation b RS-232

Lee, U. C. Berkeley 19 Hardware-in-the-loop b RS-232 Replace hardware-true simulation model with actual vehicle. Allows validation of continuous dynamics model, and hardware/software interface.

Lee, U. C. Berkeley 20 Simulation-in-the-loop b RS-232 Code generation of the controller onto an embedded platform. Allows validation of generated code, and execution delay. Embedded Java Platform

Lee, U. C. Berkeley 21 System Implementation b RS-232 The generated code forms the final system implementation. Embedded Java Platform

Lee, U. C. Berkeley 22 Controller Updates Mobile model allows substitution of different controllers Controller component transmitted over publish/subscribe network Simplified model of base station Authors: Steve Neuendorffer Yang Zhao