Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 1 Racal Research Introduction • • • • Specifications Examples Architectural Mapping (JTRS) Summary P6957-25-013 A Thomson-CSF Racal Company 2 Racal Research The SDRF Software Architecture http://www.sdrforum.org/MTGS/mtg_19_jun00/tech_comm_seattle.ppt slide 20 1..* 1..* 0..* 1 is available SW via FileSyste 0..* m stores & retrieves bases configurations allowable on Domai 1..* File are types of Executabl e SW 1 1 1 Messag e Repeate r 1 sets up virtual destinations path via DomainManag er controls 1..* of radio ModemAdapte P6957-25-013 accesses SW files via 1 registers with 1 1 OE Non-Core (Radio) Applications Core Framework (CF) Commercial Off-the-Shelf (COTS) 1..* oversee ResourceManag s 1..* er 1 1 1 1 request loads core resources s 1..* &non-core1..* of creates 1 Factory 1..* 1..* 1..* sets/getsResourc states e via loads StateManageme & unloads nt resource s Securit 1 acts on r BB / IF implement complex / Modem s API 1 1..* RF for Mode Signal for /Antenn m Gen. a 1 applicatio n Bridge bridges decrypts Waveform1 retransmit ssignals PT for 1..* to/from 1..* RF of RF API Modem Link 1 1..* 1..* translate 1..* 1 intercept acts on 1 A/D, C protocols s sT D/A for to/from for 1 1 analog 1 LifeCycl e MessageRegistrati on are types radio via 1..* acts on C2 for guides start-up & teardownvia 1..* nProfile Resource FileManage r what knows Router 1 provide s CF Services Logger Installer Timer Access y 1 sends 1 sends 1 provide 1..* PT to 1..* provide services s CT to services for decrypts routes for 1 1 for CT 1..* to/from provide 1..* Networ Utility s 1..* services 1 1 for intercept 1 k translate 1 PT s protocols s to/from1 for 1 SecurityAdapte r implement Infosec s API 1 GPL for Crypto Key Fill Gatewa y HostAdapte r GPS Etherne t Serial Audio HW Device 1 provide 1 saccess to detects & reports 0..* A Thomson-CSF Racal Company 3 Racal Research Contrasting/Complementary approach • Implementation – How it can be done • Specification – What needs to be done Waveform Definition Language (WDL) – one specification – many alternate implementations P6957-25-013 A Thomson-CSF Racal Company 4 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 5 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 6 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 7 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 8 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 9 Racal Research WDL Transformations Decomposition Text Editors Refinement WDL Specification Refiner Schematic Editors WDL Program Checker WDL Compilers WDL Products, Waveform Bundle P6957-25-013 A Thomson-CSF Racal Company 10 Racal Research Sponsor WDL Refinement Implementer Abstract Specification layers coders modulators Actual Specification algorithms parameters bit-truth Reference Model precisions acquisition algorithms System Design filter characteristics acquisition algorithms minimum precisions System Configuration filter characteristics decimation ratios Hardware Mapping partitioning library matching WDL Specification Component Configuration parameterisation actual precisions bit-truth WDL Program Reference Model P6957-25-013 Product A Thomson-CSF Racal Company 11 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 12 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 13 Racal Research (UML) Statechart StateChartEntity event guard out State1 event[guard] /out(...) WDL extension to UML: state behaviour may be a message flow P6957-25-013 State2 A Thomson-CSF Racal Company 14 Racal Research MessageFlowEntity Message Flow Diagram in1 in2 out Entity2 in1 in out in2 Entity1 in1 in2 out out 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 P6957-25-013 A Thomson-CSF Racal Company 15 Racal Research FM3TR Protocol Layers data_in Nwk Hci nwk data_in hci in_from_dlc data_out data_out out_to_dlc Dlc Fm3tr data_in data_out voice_in voice_out antenna dlc out_to_nwk tx_to_mac Mac Application Presentation in_from_nwk hci rx_from_mac mac Session tx_from_dlc rx_to_dlc hci rx_from_phl carrier_detect tx_to_phl Transport Network Data Link Physical Phl phl voice_in tx hci voice_in rx carrier_detect antenna voice_out antenna voice_out OSI layers P6957-25-013 A Thomson-CSF Racal Company 16 Racal Research TUNING_TIME Hop Modulator GuardModulator config hop config hop modulation modulation after(config.tuning_time) RISE_TIME HopModulator hop config RiseModulator modulation config hop config hop modulation modulation after(config.rise_time) INFORMATION InfoModulator config hop config hop modulation modulation exit FALL_TIME tuning time rise time information time fall time FallModulator config hop config hop modulation modulation after(config.fall_time) P6957-25-013 A Thomson-CSF Racal Company 17 Racal Research Hop Rise Time F(t) out amp Constructor Constant out shift RiseModulator config hop modulation amplitude frequency_shift frequency modulation modulation Constant out freq 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; P6957-25-013 A Thomson-CSF Racal Company 18 Racal Research Language for specification • need expressions for – configuration constraints, state machine guards • need statements for – state machine actions • need types for – messages need a language – – – – P6957-25-013 implementation languages do not specify specification languages are unapproachable specification languages have unhelpful focus new language is new A Thomson-CSF Racal Company 19 Racal Research Specification Subtractor entity Subtractor { in minuend; in subtrahend; out difference; response minuend subtrahend { specification { difference(minuend - subtrahend); }; }; }; minuend subtrahend difference Polymorphic – type, shape, flow, language P6957-25-013 A Thomson-CSF Racal Company 20 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 21 Racal Research Din data_in Dout data_out HtoN Nwk Hci data_in hci in_from_dlc nwk FM3TR Layers as JTRS Components and Messages Fm3trNetwork out_to_dlc NtoD DtoN HtoD Dlc in_from_nwk hci rx_from_mac dlc out_to_nwk Fm3trLink tx_to_mac DtoM MtoD HtoM Mac tx_from_dlc rx_to_dlc hci rx_from_phl carrier_detect tx_to_phl mac Fm3trModem HtoP Phl phl Fm3trHci voice_in P6957-25-013 data_out tx hci voice_in Vin rx carrier_detect antenna voice_out Vout antenna voice_out A Thomson-CSF Racal Company 22 Racal Research JTRS Mapping Fm3trHci Fm3trModem Fm3trModem.Phl.nonTranSec Fm3trModem.Mac DSP Executive Board Support Package CF Core DomainManager C++ CORBA DeviceManager ORB and File Services Services Logger Timer Device Posix RTOS Network Protocol Stacks Board Support Package Fm3trNetwork Fm3trModem.Phl.TranSec Fm3trLink INFOSEC Algorithm Black Red INFOSEC INFOSEC Adapter Adapter Posix RTOS DSP Executive Network Protocol Stacks Board Support Package CF Core DomainManager C++ CORBA DeviceManager ORB and File Services Services Logger Timer Device Posix RTOS Network Protocol Stacks Board Support Package Black cPCI Modem P6957-25-013 Red cPCI Black Control Processor INFOSEC Red Control Processor A Thomson-CSF Racal Company 23 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 24 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 25 Racal Research 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 P6957-25-013 A Thomson-CSF Racal Company 26