NEW YORK–(BUSINESS WIRE)–AdaCore today announced the winners of its fifth annual Make with Ada programming competition for embedded projects. The contest ran from July 31, 2020, through January 31, 2021, and attracted 173 participants from all over the world.
The competition’s goal is to design and implement an embedded software project where Ada and/or SPARK are the principal language technologies. Entrants need to demonstrate that their system meets its requirements and is developed using sound software engineering practices. Projects are judged based on project logs. Prizes are awarded to those projects that best meet the overall criteria of software dependability, openness, collaborativeness, inventiveness, and “buzz factor” for the technology community in general.
This year, the 1st place prize of $2,000 goes to Tharindu Suraj Liyanage, Founder, and CEO of UAV-based startup SRQ Robotics, for his Autonomous Crazyflie with ToF Sensors. The Crazyflie drone has multiple sensors that make it fly, but none can identify obstacles or the actual distance from the ground. The project’s goals were to integrate Time of Flight sensors within the existing Ada/SPARK drone firmware from AdaCore and implement autonomous features such as altitude holding.
“I have been implementing custom firmware for drones for the past five years,” said Mr. Liyanage. “After finding out about the existence of Ada firmware for the Crazyflie 2.0 nano drone, I started testing it and was able to understand the core functionalities within a couple of weeks. The simplicity of the Ada firmware allowed me to implement my own functions, and the available Ada libraries enabled me to integrate different types of sensors within the drone. I plan to continue my drone firmware implementations with Ada and make them open source for everyone who has the passion.”
The Student Prize of $1,000 was awarded to Ahmed Hamdy, an MSc. Computer & Systems Engineering student at Universiti Teknologi Malaysia in Kuala Lumpur, Malaysia, for his Ada Accelerometer Driver + Stable Nerve Game. He used the Ada language to write an accelerometer driver for LSM303AGR on a BBC:MicroBit v1.5, then used that driver to make a small game that challenges the player to keep the MicroBit in an almost flat position where acceleration along X and Y axes is close to zero.
Ten Finalists also received $600 each. Notable submissions include:
“This year’s crop of Make with Ada projects included outstanding contributions that took advantage of Ada’s unique capabilities to help programmers deliver high-quality software,” said Bill Wong, co-judge and Senior Technology Editor at Electronic Design. “Projects touched upon almost every aspect of embedded applications, including drone software, showing that Ada and SPARK are applicable everywhere.”
“We were pleased to see more student submissions this year,” said Fabien Chouteau, AdaCore Software Engineer and author of the Make with Ada blog post series. “So many life skills can be learned from these types of competitions. We hope that early exposure to Ada and SPARK’s sound software engineering principles will provide all of our entrants with foundational skills that they can use throughout their professional careers.”
The Make with Ada competition is part of an overall AdaCore initiative to foster the growth of Ada and SPARK for developing embedded systems and, more generally, for developing “software that matters.” Other elements of this initiative include free resources available to students, free software developers, hobbyists, or those who just want to learn more about Ada. These resources include:
Follow @adaprogrammers on Twitter for information about future Ada and SPARK programming competitions.
About Ada and SPARK
Ada is a modern, internationally standardized programming language with a long and successful track record in developing high-reliability embedded systems. Its strong typing and compile-time checking help catch errors early, when they are easiest and least expensive to correct. The most recent version of the Ada standard, Ada 2012, supports contract-based programming (pre- and postconditions for subprograms), which in effect embeds the software’s low-level requirements as checkable assertions in the source code. In critical systems where testing alone might not provide sufficient confidence, the SPARK subset of Ada supports mathematics-based assurance that relevant program properties are met (for example, the absence of run-time errors such as buffer overflow). SPARK can be introduced incrementally into a project, and contracts can be verified either statically (by the SPARK proof engine) or dynamically (with run-time checks).
Founded in 1994, AdaCore supplies software development and verification tools for mission-critical, safety-critical, and security-critical systems. Four flagship products highlight the company’s offerings:
- The GNAT Pro development environment, a complete toolset for designing, implementing, and managing applications that demand high reliability and maintainability. GNAT Pro is available for Ada and also for C and C++.
- The CWE-Compatible CodePeer advanced static analysis tool, an automatic Ada code reviewer and validator that can detect and eliminate errors both during development and retrospectively on existing software. CodePeer can detect a number of the “Top 25 Most Dangerous Software Errors” in the MITRE Corporation’s Common Weakness Enumeration (CWE).
- The SPARK Pro verification environment, a toolset providing full formal verification oriented toward high-assurance systems with stringent security requirements.
- The QGen model-based development tool suite for safety-critical control systems, providing a qualifiable and customizable code generator and static verifier for a safe subset of Simulink® and Stateflow® models, and a model-level debugger.
Over the years, customers have used AdaCore products to field and maintain a wide range of critical applications in domains such as commercial and military avionics, automotive, railway, space, defense systems, air traffic management/control, medical devices, and financial services. AdaCore has an extensive and growing worldwide customer base; see www.adacore.com/industries for further information.
AdaCore products are open source and come with expert online support provided by the developers themselves. The company has North American headquarters in New York and European headquarters in Paris. www.adacore.com.