ARM embedded systems projects demonstrate Ada’s benefits for reliable, safe and secure software
NEW YORK, PARIS, SINDELFINGEN, Germany, November 28, 2016 - ESE Kongress - AdaCore today announced the winners of its inaugural Make with Ada programming competition for projects implemented on ARM Cortex M or R processors. Planned as an annual event, Make with Ada aims to showcase Ada and SPARK as language technologies that 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 went to Stephane Carrez for his EtherScope monitoring tool that analyzes Ethernet traffic. Running on an STMicroelectronics STM32F746 board (Cortex M7), it reads Ethernet packets, performs real-time analysis, and displays the results on a 480x272 touch panel. The EtherScope interface can filter the results at different levels and report various kinds of information.
The 2nd place prize of €2000 was awarded to German Rivera for his framework to develop control software for the NXP cup race car. The development system is a miniature race car chassis coupled with a FRDM-KL25Z board and a TFC-shield board. The car kit also includes two DC motors for the rear wheels, a steering servo for the front wheels and a line scan camera. The microcontroller is an NXP Kinetis KL25Z chip, with Cortex-M0+ core, 128KB of NOR flash and 16KB of SRAM.
The 3rd place prize of €1000 was awarded to Shawn Nock for his Bluetooth Beacons (“iBeacon”) project. The target was a Nordic Semiconductor nRF51822 System-on-a-Chip (a Cortex-M0 part with integrated 2.4GHz Radio) with a custom development board.
Two special prizes (Crazyflie 2.0 nano drones) were also awarded. The Robert Dewar Special Prize for dependability went to German Rivera for his IoT Networking Stack project for the NXP FRDM-K64F board. The Lady Ada Lovelace Special Prize for inventiveness was awarded to Sébastien Bardot for his Explorer and Mapper Robot project, which uses a Nucleo F411RE board based on stm32f411re chip from STMicroelectronics.
“I've been using Ada for several years on a variety of Open Source projects,” said First Prize winner Stephane Carrez. “But this was my first experience with Ada on a bare metal target, and that gave me the opportunity and motivation to learn more about the Ada Ravenscar profile. Receiving First Prize for the EtherScope project was a great honor to me, and I want to thank AdaCore for sponsoring this competition. Developing Open Source software in Ada on ARM has proved to be rewarding in multiple ways.”
“We were delighted to see the breadth and quality of the projects that were submitted, ranging from food dehydrators to robots to electronic power supplies,” said Cyrille Comar, AdaCore President and one of the judges for the competition. “It was also fascinating to see the diverse backgrounds of the entrants and the variety of ARM platforms that were used. It shows that Ada technology can help anyone build reliable and secure embedded software without severe constraints on the hardware choices.”
The Make with Ada competition ran from June 20 to September 30, 2016 and attracted 38 entries. Each entrant needed to design and implement an embedded software project for an ARM Cortex M or R processor, 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 Guillaume Foliard (Radar Digital Processing Architect at Thales), Jack Ganssle (Principal Consultant at The Ganssle Group), Dick Selwood (Europe Editor at TechfocusMedia), Bill Wong (Technical Editor at Penton Media), 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 evidenced in a blog entry from one of the entrants, prize winner Shawn Nock, this goal was met: “I was able to become productive in Ada in about 8 hrs (starting from zero experience).… Developing the beacon in Ada (a language I don't know well) took roughly the same time as the similar functionality in C and I have more confidence in the Ada code.”
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 are the free on-line training available at AdaCore U (u.adacore.com), and the 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 2017 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
AdaCore Marketing Operations Manager
+33 1 49 70 87 82
AdaCore Public Relations Representative