mobies ethereal sting oep the ptolemy ii experiment

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

Upload: lavender

Post on 25-Feb-2016

55 views

Category:

Documents


0 download

DESCRIPTION

Mobies Ethereal Sting OEP The Ptolemy II Experiment. Edward A. Lee Professor UC Berkeley. E0 Implementation in Ptolemy II. Authors : Mark Oliver (WPAFB) Steve Neuendorffer Edward Lee. Code Generation. Automatic code generation enables rapid implementation - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Ethereal Sting Working Group MeetingJune 10, 2003Arlington, VA

Mobies Ethereal Sting OEPThe Ptolemy II Experiment

Edward A. LeeProfessorUC Berkeley

Page 2: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 2

E0 Implementation in Ptolemy II

Authors:Mark Oliver (WPAFB)Steve NeuendorfferEdward Lee

Page 3: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 3

Code Generation

Automatic code generation enables rapid implementationfrom high-level component-based design.

We are developing a code generation technique based oncomponent specialization that transforms Ptolemy II models into a Java system implementation.

Page 4: Mobies Ethereal Sting OEP The Ptolemy II Experiment

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)

Page 5: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 5

Component SpecializationModel 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 schedulingBy token unboxing inlining partial evaluation dead code elimination

Page 6: Mobies Ethereal Sting OEP The Ptolemy II Experiment

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

Page 7: Mobies Ethereal Sting OEP The Ptolemy II Experiment

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.

Page 8: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 8

Actor Libraries – Signal Processing

actor

actor.lib

AbsoluteValueAccum ula torAddSubtractArrayAppendArrayElem entArrayExtractArrayLengthArrayMaxim umArrayMinim umAverageBernoulliConstCounterDBDifferentia lD iscreteR andom SourceExpress ionGaussianIIRInterpola torLatticeLevinsonDurbinLim iterLinearDifferenceEquationSystemLookupTableMathFunctionMaxIndexMaxim umMinim umMultiplyD ividePhaseUnwrapPoissonClockPulseQuantizerRandom SourceRecurs iveLatticeRicianScaleTrigFunctionUniform

ConvolutionalCoderDeScram blerHadam ardCodeScram blerV iterbiDecoder

actor.lib.com m

ArrayP lotterArrowKeySensorBarGraphDisplayHistogram PlotterInteractiveShellKeystrokeSensorMatrixV iewerPlotterPlotterB aseRealT im ePlotterSequenceP lotterSequenceScopeSketchedSourceSliderS ourceTim edPlotterTim edScopeXYPlotterXYScope

actor.lib.gui

AudioC aptureAudioP layerAudioR eadBufferAudioR eaderAudioW riteBufferAudioW riter

actor.lib.javasound

Im ageDisplayIm ageReaderIm ageRotateIm ageToStringTransformURLToIm age

actor.lib.im age

DoubleMatrixToJA IJAIA ffineTransformJAIBMPW riterJAIBandC om bineJAIBandS electJAIBorderJAIBoxFilterJAIConvolveJAICropJAIDCTJAIDFTJAIDataCasterJAIEdgeD etectionJAIIDCTJAIIDFTJAIIm ageReaderJAIIm ageTokenJAIInvertJA IJPEG W riterJAILogJAIMagnitudeJAIMedianFilterJAIPNMW riterJAIPeriod icShiftJA IPhaseJAIPolarToCom plexJAIRotateJAIScaleJAITIFFW riterJAIToDoubleMatrixJAITrans lateJAITranspose

actor.lib.jai

ColorF inderJMFIm ageTokenPlaySoundVideoC am era

actor.lib.jm f

dom ains

sdf

lib

ArrayToS equenceAutocorrelationDelayLineDotProductDownSam pleFFTFIRIFFTLMSAdaptiveLineCoderMatrixToSequenceRaisedCosineRepeatSam pleDelaySequenceToArraySequenceToMatrixUpSam pleVariableFIRVariableLatticeVariableRecursiveLattice

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.

Page 9: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 9

Supervisory StructureExperimental 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 ZhaoSteve NeuendorfferXiaojun Liu

Page 10: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 10

Supervisory StructureExperimental 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 ZhaoSteve NeuendorfferXiaojun Liu

Page 11: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 11

Supervisory StructureExperimental 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 ZhaoSteve NeuendorfferXiaojun Liu

User model:

Page 12: Mobies Ethereal Sting OEP The Ptolemy II Experiment

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.

Page 13: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 13

Another Application: Controlling the Caltech Ducted Fan Vehicle

This effort is applying Mobies technology to the SEC program

Page 14: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 14

Caltech Vehicles

Localization computer estimates vehicle locations

Vehicles with onboard controllers and 802.11b

Command computer:Waypoints, trajectories,Control changes

20 fe

et

30 feet

Difficulties:1) Complex control

problem2) Complex

implementation platform

Page 15: Mobies Ethereal Sting OEP The Ptolemy II Experiment

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

Page 16: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 16

A Detailed Heterogenous Model

Data formatting

Fan Thrust Map

Continuous time model of vehicle dynamics Author:

Steve Neuendorffer

Page 17: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 17

A Detailed Heterogenous Model

Encapsulated Control Law

Discrete-state model of vehicle software

Author:Steve Neuendorffer

Page 18: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 18

Towards Implementation

802.11b

RS-232

Page 19: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 19

Hardware-in-the-loop

802.11b

RS-232

Replace hardware-true simulation model with actual vehicle.

Allows validation of continuous dynamics model, and hardware/software interface.

Page 20: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 20

Simulation-in-the-loop

802.11b

RS-232

Code generation of the controller onto an embedded platform.

Allows validation of generated code, and execution delay.

Embedded Java Platform

Page 21: Mobies Ethereal Sting OEP The Ptolemy II Experiment

Lee, U. C. Berkeley 21

System Implementation

802.11b

RS-232

The generated code forms the final system implementation.

Embedded Java Platform

Page 22: Mobies Ethereal Sting OEP The Ptolemy II Experiment

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 NeuendorfferYang Zhao