Software

Detailed information in the implemented Unified Programming Interfaces (UPIs) can be found on the  WiSHFUL UPI Documentation site and the source code can be found in the WiSHFUL Github repository. You can always check the Getting Started tutorial as well that gives all necessary information on how to get acquainted with WiSHFUL and related procedures to execute a WiSHFUL enabled experiment in any of the supported testbeds.

The WiSHFUL UPIs are supported on the following software platforms:

  • Wireless Mac Processor (WMP): WMP follows a programming model that decouples the Medium Access Control protocol logic (described in an abstract form via eXtended Finite State Machines – XFSM) from the wireless device design, implementing the radio primitives as well as an XFSM execution engine called “Wireless MAC processor”. The core of the architecture is an execution Engine capable of running programs defined as eXtended Finite State Machines (XFSMs). These state machines are composed of a set of signals provided by the hardware subsystems by means of an interruption block, a set of elementary functions implemented into an operation block, and a set of registers to save system state and configuration parameters. A memory block is dedicated to the storage of MAC programs (XFSMs), while a control interface is available for loading programs and tuning configuration parameters. The above abstraction decouples the role of the NIC manufacturer from that of the MAC programmer. Vendors remain in charge of providing HW signals and in bringing about innovation in the radio primitives (faster transmission technologies, advances in modulation and coding schemes, etc.); MAC programmers are free to define the protocol states and relevant transitions which orchestrate such primitives according to their desired MAC protocol logic. And dynamic MAC protocol reconfiguration becomes as easy as switching from one state machine to another. More info
  • Time-Annotated Instruction Set Computer (TAISC): TAISC consist of a cross-platform MAC protocol compiler and execution engine. MAC protocols significantly impact wireless performance metrics such as throughput, energy consumption and reliability. Although the choice of the optimal MAC protocol depends on time-varying criteria such as the current application requirements and the current environmental conditions, today’s MAC protocols cannot be upgraded after deployment since their implementations are typically written in low level, hardware specific code that is hard to reuse on other hardware platforms (different radio chips and/or technologies). The TAISC framework offers an abstraction for hardware independent MAC protocol design and management. The framework consists of a cross-platform MAC protocol compiler and an execution engine. The solution allows to describe MAC protocols in a platform independent language (consisting of a radio platform independent instruction set), followed by a straightforward compilation step, yielding dedicated binary code, optimized for specific radio chips. The cross-compilation approach allows developers to design MAC protocols once, and then compile them for reuse on different radio platforms. To enable time-critical operation, the TAISC compiler adds exact time annotations to every instruction of the optimized binary code. The execution engine running on the radio platform, will execute the instructions with accurate time control thanks to the time annotation. More Info
  • Implementing Radio In Software (IRIS): Iris is a software architecture for building highly reconfigurable radio networks using a component-based design. The architecture is comprised of two categories: the Iris core and Iris modules. The Iris core contains the core part of the Iris framework, such as parsers, managers, and engines. The Iris modules contain radio components for building software defined radios, including PHY-layer components and radio controllers. The Iris architecture supports all layers of the network stack, providing a platform for the development of both reconfigurable point-to-point radio links and complete reconfigurable networks. To accomplish this inidividual radios are described with an XML documents, which specifies the components employed by each the radio, the values for parameters, and connections between components. Components themselves are constructed as C++ signal processing blocks. Iris was originally developed by CTVR, the telecommunications research centre, based at Trinity College Dublin and was releasedin 2013 under the LGPL v3 license. More info
  • Generic Internet of Things ARchitecture (GITAR): GITAR bundles control and management extensions for Internet-of-Things architectures running on constrained devices. The management extensions allow dynamic application and network level upgrades in an efficient way. GITAR enables automatically managing, updating and upgrading the software on IoT/M2M devices, particularly the network stacks, with new, improved functionality. The control extensions facilitate adding configuration and monitoring capabilities to network stacks in a generic mannner. GITAR enables both local and remote configuration and monitoring of  protocol parameters on constrained devices, allowing to fine-tune the behaviour and boost the performance even after deployment. The framework features a cross-layer design, which can be applied to any operating system running on IoT/M2M devices, and focusses on flexibility, allowing easy integration into existing network stack implementations with a minimal performance overhead (CPU, memory, energy). The management extensions of GITAR have been successfully implemented for Contiki OS and it is validated that GITAR i) is up to 14% more efficient in terms of memory usage and ii) has less or similar run-time CPU overhead as state of the art solutions while offering upgrade functionality down to the network level and iii) can reuse existing Contiki network protocols for dynamic updates without requiring modifications to the code. The control extensions allow local configuration and monitoring via a native Contiki module and remote configuration and monitoring via a COAP interface. More info.

 Please contact us if you need more information on the supported software platforms during proposal preparation of the WiSHFUL Open Call.