AdaCore today announced the launch of its 4th annual “Make with Ada” programming competition. Geared towards enthusiasts and new Ada users, the goal is to design and implement an embedded software project where Ada and/or SPARK are the primary language technologies. Entrants must demonstrate that their system meets all requirements and uses sound software engineering practices.
The contest runs from September 10, 2019, to January 31, 2020, and offers over $8,000 in total prizes. Participants can register on the Hackster.io developer platform at www.hackster.io/contests/adacore2. Submissions from previous years include an electrocardiogram detection device, autonomous robots, a light meter controller and many more.
The competition is open to both individuals and team participants. Individuals must be at least 18, years of age. Teams can be composed of two to four participants, each of whom must be individually eligible. Student projects must be submitted either by a student participant (age 26 or less with a valid student ID), or a team comprised of student participants. Business-supported people/projects are not eligible.
Evaluation Criteria and Prizes
Projects will be judged based on project logs, and prizes will be awarded to those projects that best meet the overall criteria:
- Software quality – Does the software meet its requirements?;
- Openness – Is the project open source?; and
- New this year! “Buzz factor” – Does it have the wow effect to appeal to the software community?
The following prizes will be awarded as part of the Competition:
- One First Prize, in the amount of 2000 (two thousand) USD
- Ten Finalist Prizes, in the amount of 600 (six hundred) USD each
- One Student-only Prize (an Analog Discovery 2 Pro Bundle worth 299.99 USD) will go to the best-ranking student finalist. A project submitted by a student is eligible for both the Student-only Prize and the cash prizes.
Award winners will be announced in March 2020.
Project submissions will be evaluated by a judging panel consisting of Bill Wong, Senior Technology Editor at Electronic Design, and Fabien Chouteau, AdaCore software engineer, and author of the Make with Ada blog post series.
“Many programmers tend to discount Ada and SPARK because of the many myths surrounding Ada, including Ada is too complex to implement and too complex to learn,” said Bill Wong. “As contestants of this annual programming competition demonstrate, developing embedded software with Ada is a lot easier than you think, and the benefits (cost savings, quality code, fewer bugs, etc.) are many.”
“One of the main goals of our annual competition is to give more exposure to the benefits of Ada, SPARK and related technologies, so this year we have decided to improve the criteria,” said Fabien Chouteau. “In addition to software quality and open source foundations, we will be looking for projects that will appeal to the technology community in general.”
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 interactive learning platform available at (learn.adacore.com), various resources for free software developers and students/hobbyists at the GitHub repository (github.com/AdaCore), and the GNAT Community development environment (adacore.com/community).
Further information about Ada and SPARK, links to free resource pages, and instructions on how to get started are available at http://makewithada.org/getting-started.
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 CodePeeradvanced 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
- TheQGen 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 worldwide 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