NEW YORK, PARIS, SANTA CLARA, Calif., October 24, 2017 – ARM TechCon – AdaCore today announced the winners of its second annual Make with Ada programming competition for embedded projects. Make with Ada aims to show how the Ada and SPARK language technologies can significantly improve code quality for modern embedded systems without requiring a steep learning curve for developers unfamiliar with these languages. Prizes are awarded to the projects that best meet the overall criteria of software dependability, openness, collaborativeness and inventiveness.
This year the 1st place prize of €5000/$5500 was awarded to Jonas Attertun from Sweden for his Ada Motorcontrol. The project involved the design of a software platform for developing a brushless DC motor controller (BLDC/PMSM). He used a custom, open-source board with an STM32F446 microprocessor, a sensored field-oriented control algorithm, and a logging feature to simplify development and allow users to visualize what is happening.
The 2nd place prize of €2000/$2200 went to German Rivera from California, USA, who also won last year’s 2nd place prize. This year, his project was a Smartwatch. He developed the embedded software of a “Swiss Army Knife” watch in Ada 2012 using a Hexiwear IoT wearable development board with two NXP Kinetis microcontrollers.
The 3rd place prize of €1000/$1100 was awarded to Manuel Iglesias Abbatemarco from Ecuador for his Ada IoT Stack project. This project added several components to the Ada Drivers Library to support an IoT Framework based on an existing lwIP (lightweight IP) implementation ported to the embedded STM32 Ethernet family of devices.
“I thoroughly enjoyed the challenge of this competition, and was able to prove that Ada can be successfully used for bare-metal projects that require fast execution,” said first place winner Jonas Attertun. “The design of my project was, thanks to Ada’s many nice features, much easier to understand compared to a lot of the other C implementations out there. And the combination of increased design readability and the strictness of Ada made the resulting software safer and will simply further collaborative development and reuse.”
“I really enjoyed being one of the judges for the Make with Ada competition,” said Rich Nass, Executive VP, OpenSystems Media. “It was a very tough choice, as most of the entries were well thought out and each served a great purpose. I based my final selections on the entries that had the potential to turn into a real product down the road, or could serve as a stepping-stone to related projects/products. Congratulations to all the candidates on a job well done.”
“I was really impressed by the quality of the entries this year,” said Fabien Chouteau, AdaCore software engineer. “Despite the short time frame, the submissions included a number of innovative and well-engineered projects with documentation that was both comprehensive and comprehensible. And importantly, the competition attracted contestants with little or no previous experience with Ada or SPARK, showing that our efforts to bring these technologies to the broader community of embedded systems developers are paying off.”
The Make with Ada competition ran from May 15, 2017, through September 15, 2017, and attracted 35 entries. Each entrant needed to design and implement an embedded software project, using Ada and/or SPARK as the principal language technologies. Entrants needed to demonstrate that their system met its requirements and was developed using sound software engineering practices.
Embedded systems experts Jack Ganssle (Principal Consultant at The Ganssle Group), Bill Wong (Technical Editor at Penton Media), Rich Nass (Executive Vice-President, Brand Director, Embedded and IoT Franchises, OpenSystems Media), Stephane Carrez (Software Engineer, Bouygues Telecom), and Cyrille Comar (AdaCore President) served as the competition judges.
One of AdaCore’s goals in sponsoring the competition was to attract entries from embedded systems developers with no previous Ada experience, to show that programmers could come up to speed quickly and productively. As noted in the project log of 3rd-place winner Manuel Iglesias Abbatemarco, this goal was met: “This project was a very good challenge to me since I had to learn Ada as quickly as possible…. I enjoyed doing it.”
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 on-line training available at AdaCore U (u.adacore.com), and various resources for free software developers and students/hobbyists at the GitHub repository (github.com/adacore) and the libre site (libre.adacore.com).
Information about next year’s Make with Ada competition will be available during Q2 2018 at http://www.makewithada.org/.
About Ada and SPARK
Ada is a modern, internationally standardized programming language with a long and successful track record in the development of 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 for Ada, a complete toolset for designing, implementing, and managing applications that demand high reliability and maintainability,
- The 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,
- The SPARK Pro verification environment, a toolset based on formal methods and oriented towards high-assurance systems, and
- The QGen model-based development tool, a qualifiable and customizable code generator and verifier for Simulink® and Stateflow® models, intended for safety-critical control systems.
Over the years customers have used AdaCore products to field and maintain a wide range of critical applications in domains such as railway systems, space systems, commercial avionics, military systems, air traffic management/control, medical devices, and financial services. AdaCore has an extensive and growing world-wide customer base; see www.adacore.com/customers/ for further information.
AdaCore products are open source and come with expert on-line support provided by the developers themselves. The company has North American headquarters in New York and European headquarters in Paris. www.adacore.com