290 likes | 420 Views
Definition of Reactive Systems using the Waveform Description Language. E.D.Willink, Racal Research Limited, Ed.Willink@rrl.co.uk, http://www.rrl.co.uk/projects/wdl/wdl.html FM3TR Radio Forum, 24th October 2000, UK Programmable Digital Radio (PDR) Phase 1,
E N D
Definition of Reactive Systems using the Waveform Description Language E.D.Willink, Racal Research Limited,Ed.Willink@rrl.co.uk, http://www.rrl.co.uk/projects/wdl/wdl.htmlFM3TR Radio Forum,24th October 2000, UK Programmable Digital Radio (PDR) Phase 1, Waveform Description Language (WDL) programme (DERA contract CU009-0000002745)Raytheon, Communication Systems Division, Fort Wayne, Indiana, Racal, Racal Research Limited, England
Introduction • WDL and Specifications • Examples (from FM3TR) • Architectural Mapping (JTRS) • Summary
Specification or Implementation • Implementation • How it can be done • Specification • What needs to be done • Waveform Description Language (WDL) • Implementation practices re-applied in the specification domain • One specification • Many alternate implementations
Specification of Systems and Subsystems • subsystems exist at many scales • telecomms - international / national / regional / local / internal • equipment - cabinet / rack / module / board / component • CORBA components support two scales • inside • outside • WDL • fully encapsulated • same approach at all scales • WDL specifies without implementing • WDL may be refined from a specification to an implementation
Specification of Communication • High level systems • sporadic control events • Low level systems • intensive calculation • ‘continuous’ communication • WDL • sporadic and continuous flows are supported • continuous and discrete time are interchangeable
Complete specification (Low Level) • Amplifier - relatively easy • vout = 10 * vin • In practice need constraints • frequency < 1 GHz • load impedance 50 Ω ± 10% • third harmonic ... • WDL • mathematical definition of the ideal behaviour • constraints to bound permitted behaviour
Complete specification (High Level) • System specifications - very challenging • large, unreadable • Informal specification • terse - omissions lead to ambiguities • verbose - duplications lead to contradictions • Formal specification • good in principle • impractical for real applications • unapproachable for most practitioners • WDL • pragmatic compromise • formalisable, modular, familiar, practical, acceptable
Specification in WDL • Progressive decomposition • systems - subsystems - components - building blocks • Single hierarchical perspective • clear readable specification • removes ambiguities, avoids contradictions • Implementation in WDL • Progressive refinement of specification • further decomposition • practical constraints • recomposition • Minimal refinement • executable reference model
Refinement • Abstract WDL specification (unimplementable) • Waveform sponsor refines to support • a reference model • System designers refine to support • hardware partitioning • analogue/digital partitioning • concrete filter designs • specific acquisition strategies • apportion implementation loss budgets • Implementers refine to • exploit pre-existing object libraries • compensate for compiler limitations
Hierarchical decomposition • Entity • module of specified behaviour • not necessarily an implementation object • Message • user defined data types (and array shapes) • four scheduling flow types • Hierarchical Diagrams • message flow diagrams • statecharts • Leaf specification • mathematical definition
(UML) Statechart • WDL extension to UML: • state behaviour may be a message flow
Message Flow Diagram • WDL Message Flow Diagram • each arc has defined data and flow type, connecting at ports • each entity is self-scheduling - rendezvous of relevant ports • external ports to define hierarchy • cf. UML Collaboration diagram • external scheduling, connection points have no semantics
Hop Rise Time • constraint: shift.out = 0; • constraint: freq.out = hop.frequency; • constraint: amp.out = range { • minimum 0; value 0.5 * (1 - cos(2*pi*t/config.rise_time)); maximum 1; };
Language for specification • need expressions for • configuration constraints, state machine guards • need statements for • state machine actions • need types for • messages • need a language • implementation languages do not specify • specification languages are unapproachable • specification languages have unhelpful focus • new language is new
Specification • entity Subtractor { in minuend; in subtrahend; out difference; response minuend subtrahend // Whenever a rendezvous of { // minuend and subtrahend exists specification { // receive minuend and subtrahend difference(minuend - subtrahend); // subtract values }; // send to difference }; }; • Polymorphic • type, shape, flow, language
Hardware Mapping • Dedicated hardware • direct compilation • one ‘executable’ per ‘execution unit’ • General Purpose ‘Virtual’ hardware - software radio • CORBA components • software processes • HLA entities • identify components and messages • indirect compilation • one executable per component per platform • one interface declaration per message • configuration profiles per application
WDL & JTRS Summary • JTRS • a common radio architecture for waveform development • modelled after very successful PC paradigm • allows third party development of low cost applications • WDL • efficient methodology for developing many waveforms • provides unambiguous specification • provides portable implementation
Summary • WDL specifies a determinate behaviour • Decomposition to manageable sub-specifications • Refinement to support a reference model • Refinement to support product implementations • Polymorphism to exploit generic libraries • Realistic scheduling models • Type-oriented code generation for flexibility
Status • Phase 1 • Initial consideration of language concepts • Example decomposition of FM3TR (1 month) • clearer • many anomalies reported back • Future • Better quality specifications • sponsor provides reference model • Semi-automated code generation • months rather than years