I started working with Rapita Systems in January on a part-time basis while I finished my degree in Computer Science at the University of York. When the COVID-19 pandemic necessitated the lockdown in March, I began to work from home for both Rapita and the final parts of my university course. This made my full-time start at Rapita in June a particularly interesting one; I have adapted to attending online meetings and providing remote integration work while settling in with the company and learning about our products. I am not alone in this situation, as a growing company, we have had a number of new starters, including permanent staff and interns, join during the lockdown period.
The challenges of starting a job remotely were made much smaller by the close co-operation and communication within the company, and the willingness of all colleagues to assist one another and to pass on their knowledge of the product and the field. If I have a technical problem, or come across something I don't yet understand, I send a message to my colleagues in the Field Application Engineering team and usually receive an explanation or help via a screen-share. When I need more help, it’s easy to reach out to the developer responsible for a specific tool or feature, to operations for licensing and financial queries, or to IT for technical help.
From my first days at Rapita, I have been involved in real projects with the support of my team. The first piece of work I undertook was to create a demonstration of Ada support in the RVS tools. This highlights the ability of the RVS tools to instrument and report on mixed language programs. The program used in the demonstration is written in Ada and C and targets the VxWorks 7 operating system running on a Xilinx Zynq SoC. With feedback from AdaCore, development of this demonstration is ongoing, with a view to using it to demonstrate the libadalang support in RVS.
I have also worked on an on-target multicore integration. I integrated RapiCover and RapiTest into an environment that already had a RapiTime and RapiTask integration. Data extraction for this target was especially complex due to the limited I/O facilities on the target. An RTBx had already been configured to provide a trace for a RapiTime integration, so I used the RTBx to transmit the map containing the coverage and test information from the board.
Sending a complex data structure through a data logging tool is challenging, as errors in the transfer can cause the retrieved data to be incorrect and unusable. The oversampling and strobe functionality of the RTBx means that a robust mechanism for retrieving the map data could be implemented.
Following the successful use of the RVS tools on the Solar Orbiter (SolO) Energy Particle Detector EPD module, I have been working alongside engineers from the University of Alcalá to replicate their development environment and their RVS integration. The purpose of this work is to build upon their RVS integration, to enhance the test setup for the SolO software, and to develop a comprehensive demonstration and test platform for RVS based on an exciting real-world project. The RapiCover integration has been replicated and improved upon, and integrations with the rest of the suite are the next step. My full-time start might have been a slightly unconventional one, but it has been interesting and enjoyable nonetheless. I look forward to seeing what the future holds for me at Rapita!