The purpose of this project is to design, develop and implement a software framework that aims to increase the usability of a bespoke reconfigurable platform called the Reconfigurable Hardware Interface for computiNg and radiO (RHINO) to non experienced reconfigurable computing programmers, by providing a remote platform control and cluster management framework. The RHINO platform was designed by the Software Defined Radio Group (SDRG) at the University of Cape Town; this platform and its computing operation, is planned for use for developing Radio Astronomy (RA) and Software Defined Radio (SDR) applications in an educational setup. The framework aims to abstract the RHINO’s functionalities and will be the first software application that will be designed to run specifically on this board.
The framework for the RHINO will be implemented as a multi-server single-client application with an Application Programming Interface (API) designed to run on both applications. The server applications would run on the RHINO boards and the client application will run on the control computer. Users will be able to control and manage a collection of networked RHINOs through the API, with the API designed to focus on development of Linux-based C code. The developed framework consists of six main parts, the server and client applications, two API libraries that will be hosted on the server-client application, a control protocol and lastly a user interface to enable ease of use of the framework.
The evaluation of the framework was done through a series of experiments; starting with tests that evaluate the implementation of the code starting from a cluster that has a single RHINO connected to the control computer’s client application. This was then followed by black box testing that determined if the developed framework met all of its specified requirements. The last set of experiments involved expanding the system to a larger networked system involving three RHINOs each running the server application connected to the client application. The results include a reflective discussion of the main challenges encountered during the design, and effective solution strategies used to work around these.
The conclusion provides a summary of the findings and discusses future work that will take the project further for applications in RA and SDR.