Ada-Belgium is pleased to announce its
Ada Developer Room at FOSDEM 2014
(Ada at the Free and Open Source Software Developers' European Meeting)
Saturday 1 February 2014
UniversitÚ Libre de Bruxelles (U.L.B.), Solbosch Campus, Room K.4.601
Avenue Franklin D. Roosevelt Laan 50, B-1050 Brussels, Belgium
Organized in cooperation with Ada-Europe
The Free and Open Source Developers' Meeting (FOSDEM) is an annual
event held in Brussels, Belgium, in February. The 2014 edition
will take place on Saturday the 1st and Sunday the 2nd of February.
Ada-Belgium has organized a series of presentations related to Ada, to
be held in a dedicated Developer Room, on the first day of the event.
Ada is a general-purpose language originally designed for safety-
and mission-critical software engineering. It is used extensively
in air traffic control, rail transportation, aerospace, nuclear,
financial services and medical devices. It is also perfectly suited
for open source development. The latest Ada standard was published by
ISO in December 2012. As with the Ada 1995 and Ada 2005 standards,
the new Ada 2012 standard already spreads thanks to the availability
of its first full implementation which is none other than the GNU
Compiler Collection (GNAT).
This DevRoom aims to present the possibilities offered by the Ada
Language (object-oriented, multicore, embedded programming) as well as
some of the many exciting tools and projects using Ada.
Ada Developer Room Presentations (K.4.601, 85 seats)
The program starts after the opening FOSDEM keynote, runs from 11:00
to 19:00, and consists of 7 hours with 10 talks/demos by 8 presenters
from 6 different countries, plus a 1 hour lunch break with informal
11:00-11:05 - Welcome
by Dirk Craeynest - Ada-Belgium
Welcome to the Ada Developer Room at FOSDEM 2014, which is organized
by Ada-Belgium in cooperation with Ada-Europe.
Ada-Belgium and Ada-Europe are non-profit organizations set up
to promote the use of the Ada programming language and related
technology, and to disseminate knowledge and experience into
academia, research and industry in Belgium and Europe, resp.
Ada-Europe has member-organizations, such as Ada-Belgium, in various
countries. More information on this DevRoom is available on the
Ada-Belgium web-site (see URL above).
11:05-11:55 - An Introduction to Ada for Beginning and Experienced
by Jean-Pierre Rosen - Adalog
Overview of the main features of the Ada language, with special
emphasis on those features that make it especially attractive for
free software development.
Ada is a feature-rich language, but what really makes Ada stand-out
is that the features are nicely integrated towards serving the
goals of software engineering. If you prefer to spend your time
on designing elegant solutions rather than on low-level debugging,
if you think that software should not fail, if you like to build
programs from readily available components that you can trust,
you should really consider Ada!
12:00-12:50 - Ada Task Pools: Multithreading Made Easy
by Ludovic Brenta - Debian Project
Ada is one of very few programming languages that support
multithreading as part of the language, as opposed to libraries.
Last year, we showed how Ada makes it easy to turn a single-threaded
program into a multi-threaded program. We ended up with ten
thousand threads working concurrently. I will briefly recap this
first episode and then continue with the same program, introducing a
task pool wherein a small number of threads (one per processor core)
process thousands of small work units.
This presentation will feature live editing of source code,
compilation and debugging. Questions from beginners are encouraged.
It is not necessary to have attended the first installment.
The sources of our example program will be provided to those who
want to tinker with them.
13:00-14:00 - Lunch Break & Informal Discussion
A one-hour slot has been reserved for much needed interaction
and informal discussion among Ada DevRoom participants and anyone
potentially interested in Ada.
14:00-14:50 - SPARK 2014: Hybrid Verification using Proofs and Tests
by JosÚ F. Ruiz - AdaCore
This presentation will talk about hybrid verification, an innovative
approach to demonstrating the functional correctness of a program
using a combination of automated proof and unit testing.
SPARK 2014 comprises a subset of Ada 2012, excluding those
features not amenable to sound static verification. SPARK 2014
uses the contract-based programming provided by the latest Ada 2012
version, and uses the Ada 2012 aspect notation to strengthen the
specification capabilities of Ada by the addition of new contracts
for data dependencies, information flows, state abstraction, and data
and behavior refinement. Once the functional behavior or low-level
requirements of a program have been captured as SPARK 2014 contracts,
the verification toolset can be applied to automatically prove that
the implementation is correct and free from run-time exceptions.
Only where verification cannot be completed automatically is it
necessary to write unit tests, with the same contracts used to
check the correct run-time behavior of the relevant subprograms.
15:00-15:50 - Contract Based Programming in Ada 2012
by Jacob Sparre Andersen - JSA Research & Innovation
A tutorial on how to use the Ada 2012 features for specifying
detailed, checked contracts for types and subprograms -- "classes,
functions and methods" if you aren't an Ada programmer already.
Contracts document constraints on how types and subprograms behave,
but unlike comments they are checked -- either by when the program is
compiled or on-the-fly as the program is running. Ada 2012 contract
aspects will be presented together with a set of guidelines for
using contract aspects consistently. The tutorial will conclude
with a live test of the guidelines on some example source text.
16:00-16:25 - Formal Verification with Ada 2012: a Very Simple Case
by Didier Willame - Argonauts-IT
After a quick reminder of the Hoare Logic and the approach for
designing software by contracts, the tool suite developed by AdaCore
for formal verifications is presented. To make the concepts easily
understood, a little program simulating a sandpile is used.
16:30-16:55 - Speedup and Quality Up with Ada Tasking
(Solving polynomial systems faster and better
on multicore computers with PHCpack)
by Jan Verschelde - University of Illinois at Chicago
Writing parallel versions for shared memory multicore computers with
Ada tasks requires minimal modifications of the original source code.
For pleasingly parallel computations we experienced almost optimal
speedups. If we can afford to spend the same amount of time as
one core, then we can ask how much better (e.g.: how much more
accurate) we can solve a problem with p cores. This leads to the
notion to "quality up". Similar to speedup factors, we can compute
"quality up" factors.
In this talk we report on our coding efforts to write multicore
versions of the path trackers in PHCpack, a free and open
source software package to solve polynomial systems. We started
investigating the use of multithreading to compensate for the
overhead of double double and quad double arithmetic.
PHCpack is a software package to solve polynomial systems with
homotopy continuation methods. The Ada 83 code of version 1.0
was archived as Algorithm 795 by ACM Transactions on Mathematical
Software in 1999. Version 2.0 was rewritten using concepts of Ada
95. Multitasking was introduced in version 2.3.45. Its current
version 2.3.84 is available on github. PHCpack relies on two
external software packages: (1) the QD library of Y. Hida, X.S. Li
and D.H. Bailey for double double and quad double floating point
arithmetic; and (2) MixedVol by T. Gao, T.Y. Li and M. Wu for a
faster mixed volume computation. The advantages of double double
arithmetic are its simple memory management (a double double is
stored in the same way as a complex number) and its predictable cost
overhead (just as complex arithmetic). In joint work with Genady
Yoffe, we experienced that on 8 cores may already be sufficient to
compensate for the cost overhead caused by double double arithmetic.
As computers become more powerful and larger problems lead to more
propagation of numerical errors, it may well happen that double
double arithmetic replaces common double precision arithmetic.
17:00-17:50 - Safer Web Servers with Ada and AWS
by Jean-Pierre Rosen - Adalog
AWS is a framework that allows web servers to be written entirely
in Ada. This presentation shows the main principles of AWS, and
emphasizes how Ada features can be used to make servers more secure,
and immune for example to buffer overrun attacks.
18:00-18:15 - Ada in Fedora Linux
by Pavel Zhukov - Fedora Project
This presentation explains and demonstrates how the Fedora Linux
distribution can be used for developing in the Ada language, tells
about available tools and frameworks.
18:15-18:30 - Ada in Debian Linux
by Ludovic Brenta - Debian Project
A short update on the current state of Ada in Debian and the plans
for the next stable release which is due early 2015.
18:30-18:45 - Ada in *BSD
by John Marino - FreeBSD Project
A short overview of the Ada compilers and packages available on
FreeBSD, NetBSD, and DragonFly.
18:45-19:00 - Wrap Up & Future Plans
Informal discussion on ideas and proposals for future events.
More information on Ada DevRoom
Speakers bios, pointers to relevant information, links to the FOSDEM
site, etc., are available on the Ada-Belgium site at
We invite you to attend some or all of the presentations: they will
be given in English. Everybody interested can attend FOSDEM 2014;
no registration is necessary.
We hope to see many of you there!
[log in to unmask] (for Ada-Belgium/-Europe/SIGAda/WG9 mail)
To unsubscribe from the TEAM-ADA list:
write to: mailto:[log in to unmask]
or click the following link: