User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Ada/SPARK

A curated list of awesome resources related to the Ada and SPARK programming language

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: Dec. 4, 2021, 11:10 a.m.

Thank you ohenley & contributors
View Topic on GitHub:
ohenley/awesome-ada

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Entry Point

Tutorials

SPARK by Example is an adaptation of ACSL by Example for SPARK 2014, a programming language which is a formally verified subset of Ada

125
14
2y 11m
n/a

Online books

Specialties

A collections of small nifty demos/sample code that may help better layout data or structure project

3
0
2y 10d
BSD-2-Clause

Reference

Standard Ada library specification as defined in Reference Manual

14
1
97d
n/a

Questions and Answers

News and Resources

GPL (no linking exception)

GPL (with linking exception)

Other / unknown licence

HAC Ada Compiler - a small, quick Ada compiler fully in Ada

56
3
14d
n/a

The Byron project is a community-driven Ada compiler, toolchain, and IDE-system.

48
1
1y 6m
n/a

Commercial / Open source

Commercial / Closed source

Online

Integrated Development Editor

Editors

LEA is a Lightweight Editor for Ada

11
2
11d
n/a

Text Modes

VSCode Extensions

Basic syntax highlighting for Ada and GPR

1
1
3y 72d
n/a

VSCode extension for Ada.

0
1
108d
n/a

Build and Package

Command-line tool from the Alire project and supporting library

133
22
39d
GPL-3.0

GPRbuild is an advanced build system designed to help automate the construction of multi-language systems.

43
19
25d
n/a

Administration tool for Ravenports

14
3
13d
ISC

Next D/Ports build tool for live systems (Alternative for Portmaster and Portupgrade tools)

231
12
50d
ISC

cmake macros for simple gnat project inclusion

2
2
1y 4m
GPL-3.0

Ada language support for CMake.

10
4
7y 24d
GPL-3.0

cmake language support for ada, fork of PLplot's cross-platform support code: http://plplot.sourceforge.net/

0
0
3y 53d
n/a

Continuous Integration

SPARK formal verification automated with Travis CI

9
0
2y 6m
GPL-3.0

GitHub action to setup an Ada/SPARK dev environment

16
5
6m
MIT

Runtimes

Source repository for the GNAT Bare Metal BSPs

46
43
60d
n/a

This project contains various GNAT Ada Run Time Systems (RTSs) targeted at Cortex boards: so far, the Arduino Due, the STM32F4-series evaluation boards from STMicroelectronics, and the BBC micro:bit

42
9
15d
GPL-3.0

Ada WASM Runtime and Bindings for Web API

24
1
109d
n/a

OS and Kernels

A secure and high performances microkernel for building secure MCU-based IoTs

62
7
6m
Apache-2.0

Ada Bare Bones OS development tutorial source code

70
12
5y 15d
n/a

Operating System development experiment in Ada

29
5
1y 28d
n/a

An attempt at a minimalistic and secure operating system.

18
1
6m
GPL-3.0

General-purpose, formally-verified, 64-bit operating system in SPARK/Ada for x86-64

66
3
7m
GPL-3.0

Games

A tictactoe game written and proven in SPARK

2
5
4y 4m
BSD-3-Clause

AdaGate is a kid-friendly 3D dungeon escape game within a Stargate fantasy setting for Windows, OS-X, & most Linux distros. A tribute to Narbacular Drop with mind bending spacial interconnections.

16
1
9d
GPL-3.0

RufasCube is a 3D slider puzzle for Windows, OS-X, & most Linux distros. It looks like a rubic cube but it's a slider, not a twister.

3
0
20d
GPL-3.0

AdaVenture is a kid-friendly retro point&click adventure game with mazes, beasts, bats, bugs & snakes. Windows, OSX & most Linux distros. Hear ancient Persian melodies played by Korla Pandit.

5
0
18d
GPL-3.0

Retro ASCII Puzzles plus SpaceInvaders, Pacman & Frogger arcade games that run WITH SOUND in a terminal on any platform !!

5
1
29d
GPL-3.0

This is a soccer-themed, 3D sokoban puzzle game that runs on Windows, Mac OS-X and most Linux distros; featuring voice of Andres Cantor! Includes moderately capable, interactive autosolver.

2
0
38d
GPL-3.0

A Button Mania game written in Ada

2
0
2y 6m
GPL-3.0

The Gnoga/Ada-GUI version of Mine Detector, an intellectually-challenging game

1
0
4m
n/a

Components

Ada Utility Library - Composing streams, processes, logs, serialization, encoders and more

51
9
23d
n/a

GNAT Components Collection – Core packages

34
25
71d
n/a

GNAT Components Collection – Bindings to C libraries

9
15
6m
n/a

GNAT Components Collection – Database packages

10
18
61d
n/a

Framework for platform-independent SPARK components

21
2
1y 6m
AGPL-3.0

A set of Ada components to allow 3D simulations, games and GUI's in Ada.

12
0
9d
ISC

Distributed

PolyORB provides a uniform solution to build distributed applications relying either on middleware standards

18
11
71d
n/a

Graphical User Interface

Terminal User Interface

Advanced UNIX Terminal UI Ada Binding Package

10
0
1y 7m
n/a

3D

GLOBE_3D: a real-time 3D Engine written in Ada

12
3
42d
n/a

Engine_3D: a real-time, pure software, 3D engine for DOS-talgics. Abandoned project, but perhaps there are some interesting bits in the code... See GLOBE_3D for newer stuff !

2
0
4y 0d
n/a

Ada OpenGL Framework

3
0
5y 11m
n/a

Id Software's Id-tech-4-BFG in the Ada programming language.

225
22
10m
n/a

Database

Ada Database Objects

18
3
28d
Apache-2.0

Thick database bindings to MySQL, PostgreSQL and SQLite for Ada

25
2
100d
ISC

Web

AWS is a complete framework to develop Web based applications in Ada.

97
34
10d
n/a

Ada Web Application - Framework to build high performance secure web applications

69
11
28d
Apache-2.0

Dynamo Ada Application Code Generator

11
2
21d
Apache-2.0

Ada Wiki Engine - Wiki parser and renderer with several Wiki syntaxes

16
1
4m
Apache-2.0

Ada Security - OAuth 2.0 client and server framework to secure web applications

15
1
4m
Apache-2.0

Ada EL - Expression Language Library (JSR245)

6
1
104d
Apache-2.0

Ada Server Faces - Web Server Faces JSR 252, JSR 314 and JSR 344

11
3
4m
Apache-2.0

Ada Servlet - Web Servlet Library following JSR 154, JSR 315

6
1
4m
Apache-2.0

Ada support for Swagger codegen

14
1
4m
Apache-2.0

Unit Test, Testing

Behavior Driven Development in Ada

2
1
40d
n/a

Supports functional testing using Tcl scripts.

0
0
6m
n/a

Logging

Machine Learning

Automation

Verification

GNATcoverage: Coverage Analysis Tool

25
7
10d
n/a

SPARK 2014 is the new version of SPARK, a software development technology specifically designed for engineering high-reliability applications.

139
25
11d
GPL-3.0

The Ada Conformity Assessment Test Suite, customised for GCC.

7
1
44d
n/a

Tools for grading ACATS results, modified for Unix-like systems

1
0
8m
n/a

Generation

ASN1SCC: An open source ASN.1 compiler for embedded systems

179
43
10d
n/a

AADL model processor: mappings to code (C, Ada); Petri Nets; scheduling tools (MAST, Cheddar); WCET; REAL

44
25
40d
n/a

Ada finite-state machine generator.

2
0
4y 9m
n/a

Generator of JUnit-compatible XML reports in Ada

1
0
8m
LGPL-3.0

Formal message specification and generation of verifiable binary parsers and message generators

70
3
10d
AGPL-3.0

UML

Ada-tailored UML Modeling Language

8
2
6m
GPL-3.0

ColdFrame generates Ada framework code and documentation from UML models.

5
0
6m
GPL-2.0

Encryption

Ada Keystore - protect your sensitive data with secure storage

25
3
4m
Apache-2.0

Math

Collection of basic math routines in Ada

19
0
1y 6m
n/a

Mathpaqs: a collection of mathematical packages in pure Ada

6
1
11m
n/a

Mandelbrot renderer in "ASCII" (unicode actually, but text nonetheless)

0
0
3y 5m
n/a

This is an Ada 2012 package that provides an interface to BLAS.

1
0
5m
n/a

Science

Algorithms, Containers and Protocols

Server implementing the Microsoft Language Protocol for Ada and SPARK

126
38
35d
GPL-3.0

Language Server Protocol for Ada

11
1
3y 11m
MIT

Prototype implementation of LSP client - Visual Studio 2017

1
0
3y 0d
LGPL-3.0

Generic Ada Library for Algorithms and Containers

22
9
4y 6m
n/a

The PragmAda Reusable Components

18
6
6m
n/a

An Ada Library for UUID generation.

12
1
5y 4m
BSD-2-Clause

Genetic Algorithm Implementation for Ada

2
1
7y 7m
n/a

Small Library for Sodoku grid solving / finding

5
1
7y 6m
n/a

Simple Layer 3 Protocol

1
0
3y 10m
AGPL-3.0

Christoph Karl Walter Grein's Smart Pointers

1
0
3y 5m
n/a

Fully functional Hungarian Algorithm implementation in Ada

1
0
8m
GPL-3.0

NBAda - An Ada library of lock-free data structures and algorithms.

10
2
6y 6m
GPL-2.0

Simple blockchain in Ada

19
4
1y 5m
MIT

G2 network server leaf

3
2
9y 66d
n/a

Ada General Purpose Library -- Miscellaneous utilities

4
1
3y 7m
n/a

Ada binding to the Z3 Theorem Prover

5
0
15d
MIT

Cryptography

Utility programs for the encryption algorithms included in the PragmAda Reusable Components

3
0
10m
n/a

Trivial implementation of fletcher_16 sum computation algorithm.

0
0
2y 9m
n/a

base58 encoding and decoding in ada

4
0
4y 60d
n/a

The libadacrypt-dev is a crypto library for Ada with a nice API. It is written for the i386 and x86_64 hardware architecture and supports AES, Twofish, 3DES, Serpent SHA-1/256/384/512, DSA, OAEP-RSA, HMAC, CMAC, SIV, OCB, Nonces, Elliptic Curves. etc. It also contains regression tests consisting of over 400 tests. Dependencies: make and gnat-4.9.

81
19
3y 8m
n/a

A cryptographic library in SPARK 2014

25
2
10m
n/a

A pure Ada implementation of the SipHash PRF (mirror repository).

1
0
7y 9m
n/a

SHA-3 and other Keccak related algorithms in SPARK/Ada.

22
2
2y 105d
BSD-3-Clause

A project to implement the Ascon AEAD algorithm in Ada 2012 / SPARK 2014

1
0
5m
ISC

An Ada 2012 / SPARK 2014 project that implements the SipHash keyed hash function.

5
0
3y 5m
n/a

An Ada 2012 / SPARK 2014 project that implements the NORX authenticated encryption algorithm

8
0
3y 5m
ISC

SPARK 2014 re-implementation of the TweetNaCl crypto library

55
3
16d
BSD-3-Clause

SPARK TOTP library

7
1
3y 35d
LGPL-3.0

xxhash in ada

1
0
8y 5m
n/a

libsodium for Ada - A secure cryptographic library

7
1
5y 4m
ISC

Ada Binding for the libsecret library

1
0
2y 6m
Apache-2.0

The BLAKE2s hash function for SPARK83 [Ada (1987)]

1
0
53d
MIT-0

Compression

Zip-Ada: a standalone, portable Ada library for .zip archives. Includes LZMA byte stream encoder & decoder pair.

9
1
28d
n/a

Ada binding for liblzma compression library

4
0
9m
MIT

An Ada 2012 library for document container files

4
0
118d
MIT

Patterns

Implementing promises in Ada. Type-safe, efficient, thread-safe, ...

4
0
5y 6m
n/a

This is an Ada 2012 package that provides a task pool system for jobs which each take the form of a single request that receives a single response.

1
0
6y 5m
ISC

An Ada 2012 implementation of the Rx methodology

5
0
1y 6m
LGPL-3.0

System Modeling

A fuzzy inference system library for Ada

3
1
5y 10m
n/a

Ada library and tools for the analysis of Complex Networks and more

6
4
4m
LGPL-2.1

Parsers, Scanners, Linters, Analysers, Interpreters and Prettyprinters

Ada semantic analysis library.

106
37
12d
n/a

Ada code analyzer

0
0
8m
n/a

Grammar handling and parser generation Ada library

2
1
9m
MIT

Pretty printing library for Ada

3
0
9m
MIT

Incremental analysis in Ada

4
0
1y 6d
MIT

An Ada 2012 package to parse command line arguments and options

7
1
5m
ISC

Embeddable Forth interpreter written in Ada

16
3
6y 77d
n/a

tools for writing lexers / parsers in Ada

6
1
3y 9m
MIT

An Ada implementation of XPath 1.0.

3
0
68d
n/a

Format Readers and Writers

Ini file manager: a standalone, portable Ada package for configuration files

3
0
93d
n/a
7
2
2y 7m
n/a

experimental YAML 1.3 implementation in Ada

29
9
4m
MIT

An Ada 2012 library for parsing JSON

26
2
74d
Apache-2.0

JSON/JWK/JWS/JWT/Base64 library in SPARK

16
0
1y 55d
AGPL-3.0

The XML/Ada toolkit.

19
11
33d
n/a

Formally verified, bounded-stack XML library

18
2
1y 6m
AGPL-3.0

Excel Writer: a standalone, portable Ada package for producing Excel spreadsheets

3
0
1y 88d
n/a

GID (Generic Image Decoder): a standalone, portable generic Ada package for decoding images

13
0
5m
n/a

Ada PDF Writer: a standalone, portable package for producing dynamically PDF documents

11
0
48d
n/a

Implementation of Midi / MidiFile reading and writing

4
0
3y 54d
n/a

Ada Bar Codes: bar code (1D and 2D) generator in pure Ada

9
0
46d
n/a

An Ada 2012 project that implements various binary-to-ASCII codecs such as Base64

0
0
5y 6m
ISC

A library of access routines to Axon's ABF file format (electrophysiology, most common) in Ada

0
0
3y 36d
GPL-3.0

TOML parser for Ada

18
2
85d
n/a

Networking and Communication Middleware

Chatting and Communication

7
2
1y 62d
n/a

Ada 2012 library for WeeChat plug-ins

3
0
83d
Apache-2.0

A WeeChat plug-in written in Ada 2012 that plays sounds using libcanberra

1
0
118d
Apache-2.0

A WeeChat plug-in written in Ada 2012 🥰 that displays emoji 🥳

1
0
80d
Apache-2.0

Web

AWS templates engine.

3
16
1y 35d
n/a

Graphics and Multimedia

The OpenGL 4.6 Rendering Kernel in Ada 2012

42
2
11d
Apache-2.0

Thick Ada binding for OpenGL and GLFW

76
15
6m
MIT

Ada binding for OpenGL/WebGL

5
0
10m
BSD-3-Clause

Ada 2012 bindings to SDL 2

78
28
1y 99d
Zlib

Ada bindings to NanoVG

1
1
5y 10m
n/a

FreeType binding for Ada 2012

1
0
6m
MIT

Ada binding to the SFML library

10
1
23d
n/a

General Purpose Computing

An Ada binding for the OpenCL host API

15
4
8y 22d
ISC

Sound

Ada 2012 bindings for the Opus audio codec.

2
0
6y 11m
ISC

Ada 2012 bindings for libcanberra

4
1
118d
Apache-2.0

Ada bindings for libsoundio

5
1
5y 10m
n/a

Ada binding to OpenAL which tries to mimic original API while using Ada types.

3
1
5y 8m
ISC

Sound Synthetizer Library implemented in Ada, from wavtable it resamples the elements and permit to create chords and notes from it. It use soundio, or alsa or win32 sound subsystem

13
2
116d
n/a

Simple audio synthesis library

30
6
1y 6m
n/a

Localization

Utilities

An Ada 2012 project that implements reference counting approaches to resource management with an emphasis on safety and usability.

5
0
5y 8m
ISC

Open Source Licenses library for Ada

0
0
3y 9m
MIT

Command-line utility that picks a file from a folder hierarchy with probability proportional to its size

0
1
7y 8m
GPL-3.0

Convenience subprograms to interact with C strings

0
0
6m
LGPL-3.0
0
0
4y 23d
BSD-3-Clause

Library and tool for transparently handling data and configuration file access in an Ada application. Supports MacOSX, Linux and Windows.

5
1
9y 114d
n/a

Provides GCC 'specs' files to cope with macOS SDK policy changes

1
0
11m
n/a

Ada Unicode Extended Strings

4
0
7m
n/a

Robotics

Ada client library for ROS2/RCL

6
1
5m
LGPL-3.0

Ada bindings for the player robotic platform

4
1
7y 6m
n/a

Linux and POSIX

Ada Windows POSIX binding

4
3
3y 9m
n/a

Ada Posix Binding to Video 4 Linux, used for RPI

0
0
6y 10m
n/a

An Ada 2012 library for monitoring filesystem events using Linux' inotify API

7
0
118d
Apache-2.0

Minimal binding to libdl

0
0
8m
LGPL-3.0

Windows and .NET

Ada API to the Windows library

14
5
7m
n/a

Ada bindings to the Microsoft NetFramework Api

4
0
1y 8m
LGPL-3.0

Ada bindings for the Microsft WinRT Api

8
2
1y 6m
LGPL-3.0

Ada bindings for the Microsoft Win32 Api

2
0
1y 6m
LGPL-3.0

Frameworks

Robotics with Ada, ARM, and Lego

15
4
1y 8m
GPL-3.0

Firmwares

23
16
3y 71d
GPL-3.0

Drivers

Ada source code and complete sample GNAT projects for selected bare-board platforms supported by GNAT.

181
121
30d
BSD-3-Clause

emBRICK driver and support for emBRICK in Ada

0
2
5y 7m
BSD-3-Clause

A SPARK/Ada driver for the DecaWave DW1000 Ultra-Wideband tranceiver.

9
3
2y 71d
MIT

SPARK/Ada drivers for the DecaWave EVB1000 evaluation board

0
1
4y 7m
MIT

Demos of multiplexed digital I/O for AdaPilot

0
0
5y 48d
n/a

Controllers

Software controller for solenoid engines (Ada/STM32F4)

3
1
6y 15d
n/a

Communication

16
0
9m
n/a

Libraries

Giza is trying to be a simple widget tool kit for embedded platforms

6
2
4y 7m
BSD-3-Clause

Simple audio synthesis library

30
6
1y 6m
n/a

GEneric Sprite and Tile Engine

12
1
1y 10m
BSD-3-Clause

SANCTA multi-robot task allocation library

1
1
7y 5m
n/a

Applications

Waking up with a fresh cup of coffee

6
0
4y 6m
MIT

Square Inch Synthesizer

12
2
3y 45d
GPL-3.0

Simulated railway network in SPARK/Ada

6
1
5y 33d
GPL-3.0

Raspberry Pi using a BBC Micro:Bit as temperature sensor

2
0
3y 91d
GPL-3.0

Open source pocket synthesizer

16
2
18d
GPL-3.0

Demonstration program that interacts with the AdaFruit BNO055 breakout board in order to send orientation data to a host computer

1
3
1y 4m
GPL-3.0

Ethernet traffic monitor on a STM32F746 board

17
2
4y 2d
Apache-2.0

Bindings

An Ada binding generator from SVD descriptions for bare board ARM devices.

45
31
9m
GPL-3.0

Ada binding for the Pebble Time smartwatch

17
2
6y 24d
n/a

Ada bindings for wiringPi

0
0
3y 98d
LGPL-3.0

Office

AZip: a free, portable Zip Archive Manager

4
0
94d
n/a

TeXCAD: a simple LaTeX {picture} drawing tool

2
0
1y 69d
GPL-2.0

The Corporate Bullshit Generator

3
0
7m
n/a

Mirror of Graphical File Manager for Linux

20
3
9d
GPL-3.0

Mail

Web

Wasabee: a Web browser with safety focus. Project is in early development stage.

6
0
1y 52d
n/a

Mirror of Yet Another Static Site (Generator)

17
4
36d
GPL-3.0

Multimedia

Apollo 11 lunar lander simulator (Ada/Gtk/Cairo)

26
6
1y 4m
GPL-3.0

A simple 3DS Max model renderer

4
0
6y 11m
n/a

Automation

A G-code parser and CNC controller (in Ada)

58
12
2y 5m
GPL-3.0

Simulation

VHDL 2008/93/87 simulator

1.46K
255
10d
GPL-2.0

Distributed Simulation of Transport Networks

1
1
8y 5m
n/a

Qt5 COVID-19 simulator. Ada code under the hood. 🤯

9
1
1y 36d
MIT

Generators and Translators

Pascal to Ada translator

4
2
7m
n/a

Code generator for Tiled the map editor

1
0
91d
BSD-3-Clause
0
0
4y 23d
BSD-3-Clause

J2Ada translates a Java valid source code in Ada source code.

0
1
2y 98d
n/a

[DEPRECATED] Generate Ada bindings to C++ code

13
3
1y 12m
AGPL-3.0

Converts Ada sources’ ASIS representation to XML, so as to make it easier to develop reporting and transformational tools using (for example) XSLT.

1
0
2y 7m
GPL-2.0

Shells, Interpreters and Emulators

A POSIX shell for Windows.

64
7
9m
n/a

GNAT Components Collection – Core packages

34
25
71d
n/a

An Ada 2012 emulation of Charles Babbage’s Analytical Engine

8
1
2y 9m
n/a

A component to aid in writing shell-like applications in Ada.

8
1
99d
n/a

Programming Languages

Misc

Ada implementation of D’Hondt electoral result calculator

3
0
1y 11m
n/a

Context-based code search tool

19
0
36d
Apache-2.0

Bindings

Ada interface to the readline library

7
0
6y 76d
n/a

Ada bindings of Turbo Pascal 7.0 units with GTKAda.

2
0
5m
n/a

Ada bindings of Turbo Pascal 7.0 units with Gnoga.

3
0
3y 50d
n/a

Ada BFD is an Ada binding for the GNU Binutils BFD library. It allows to read binary ELF, COFF files by using the GNU BFD.

6
5
7m
GPL-2.0

Boehm GC interface library for gcc-Ada (GNAT)

4
0
5m
n/a

Ada binding to Tcl/Tk. Note, the copyright is GPL 2.0 + GMGPL

5
0
7m
GPL-2.0

Ada wrapper for the fast Stachniss' Hungarian solver

1
1
3y 5m
n/a

An Ada binding for Lua.

34
8
10m
n/a

Ada bindings to the Lua language

5
1
11y 5m
n/a