260 likes | 434 Views
Definition of Embedded Software using the Waveform Description Language,. E.D.Willink, Racal Research Limited, Ed.Willink@rrl.co.uk, Software Defined Radio Forum, 12th September 2000, UK Programmable Digital Radio (PDR) Phase 1, Waveform Description Language (WDL) programme
E N D
Definition of Embedded Software using the Waveform Description Language, E.D.Willink, Racal Research Limited,Ed.Willink@rrl.co.uk, Software Defined Radio Forum,12th September 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 • Specifications • Examples • Architectural Mapping (JTRS) • Summary
http://www.sdrforum.org/MTGS/mtg_19_jun00/tech_comm_seattle.ppt slide 20 The SDRF Software Architecture
Contrasting/Complementary approach • Implementation • How it can be done • Specification • What needs to be done Waveform Definition Language (WDL) • one specification • many alternate implementations
Specification of Systems and Subsystems • subsystems exist at many scales • international/national/regional/local/internal phone network • cabinet/rack/module/board/component equipment • CORBA components support two scales • inside • outside • WDL • same approach for many scales • specify without implementing • refine specification into 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 • large, unreadable • Informal specification • omissions lead to ambiguities • 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 • 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 UML Collaboration diagram external scheduling, connection points have no semantics WDL Message Flow Diagram each arc has defined data and flow type, connecting at ports each entity is self-scheduling - rendez-vous of relevant ports external ports to define hierarchy
Hop Rise Time constraint: amp.out = range { minimum 0; value 0.5 * (1 - cos(2*pi*t/config.rise_time)); maximum 1; }; constraint: shift.out = 0; constraint: freq.out = hop.frequency;
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 { specification { difference(minuend - subtrahend); }; }; }; Polymorphic • type, shape, flow, language
Hardware Mapping • Bespoke hardware • direct compilation • one executable per processor • ‘Virtual’ hardware - software radio • 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