[FOSDEM] FOSDEM 2015 - Ada Developer Room - Sat 31 Jan 2015 - Brussels
Dirk.Craeynest at cs.kuleuven.be
Wed Jan 14 22:39:03 CET 2015
Ada-Belgium is pleased to announce its
Ada Developer Room at FOSDEM 2015
(Ada at the Free and Open source Software Developers' European Meeting)
Saturday 31 January 2015
Université Libre de Bruxelles (U.L.B.), Solbosch Campus, Room S.AW1.124
Avenue Franklin D. Roosevelt Laan 50, B-1050 Brussels, Belgium
Organized in cooperation with Ada-Europe
The Free and Open source Software Developers' European Meeting (FOSDEM)
is an annual event held in Brussels, Belgium, around early February.
The 2015 edition takes place on Saturday the 31st of January and Sunday
the 1st of February. Ada-Belgium 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 programming language originally designed
for safety- and mission-critical software engineering. It is used
extensively in air traffic control, rail transportation, aerospace,
nuclear, financial services, medical devices, etc. 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 first full implementation of the new Ada 2012
standard was made available in the GNU Compiler Collection (GNAT).
This DevRoom aims to present the capabilities 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 (S.AW1.124, 59 seats)
The Ada DevRoom program starts after the opening FOSDEM keynote,
runs from 11:00 to 19:00, and consists of 7 hours with 9 talks/demos
by 8 presenters from 5 different countries, plus 2 half-hour breaks
with informal discussions.
10:30-11:00 - Arrival & Informal Discussions
Feel free to arrive early, to start the day with some informal
discussions while the set-up of the DevRoom is finished.
11:00-11:05 - Welcome
by Dirk Craeynest - Ada-Belgium
Welcome to the Ada Developer Room at FOSDEM 2015, 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 - Ada, an Introduction
by Jérémy Rosen - Open Wide
This talk will introduce the Ada programming language to people
used to more classical, weak-typed languages. We will focus on
how Ada uses its strong typing basis to prevent the most common
programming errors at the language level, allowing the compiler
to check them before they cause problems.
12:00-12:50 - Building a GUI for an Ada Application with GtkAda
by Serge Vanschoenwinkel - Eurocontrol
GTK+ is an open-source library that allows to quickly and easily
build a graphical user interface, using standard widgets like
buttons, combo boxes, text and tree views, scroll bars, etc. Even
though GTK+ is written in C, it can be used from an Ada application
thanks to GtkAda, an object-oriented Ada/C binding. Illustrated by
a poker game application, this presentation will explain the
essential concepts of GtkAda. It will show how to create the most
common widgets and how to interact with the user.
13:00-13:25 - Opening the Development of PHCpack
by Jan Verschelde - University of Illinois at Chicago
PHCpack originated from bundling programs to solve polynomial
systems with symbolic-numeric and polyhedral methods. The core of
PHCpack consists mainly of Ada code, with interfaces to C and Python.
Its blackbox solver is accessible from various scientific software
packages such as Macaulay2, Maple, MATLAB, Octave, and Sage.
The goal of the talk is to explain the application of software
engineering principles and the role of Ada in the development
13:30-14:00 - Informal Discussions
A half-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 - Contract-based Programming
- A Route to Finding Bugs Earlier
by Jacob Sparre Andersen - JSA Research & Innovation
Contract-based programming is a software development technique,
which is used to find programming errors earlier in the development
process. "Contract" refers to formal declarations of how types and
subprograms ("functions and methods" if you aren't an Ada programmer
already) behave. In the strictest form, the contracts are checked
as a part of the compilation process, and only a program which
can be proven to conform with the contracts will compile. In a
less strict form, it is more similar to "preventive debugging",
where the contracts are inserted as run-time checks, which makes
it more likely to identify errors during testing. Ada provides a
quite extensive support for contract-based programming. The checks
are specified as a mix of compile-time checks, obligatory run-time
checks, and optional run-time checks. In addition to that, SPARK
defines a subset of Ada with full compile-time checks.
The presentation will introduce the Ada features related to
contract-based programming, and provide suggestions for how to
make use of the features in practice. It is organized in three
main sections: type/object invariants; pre- and postconditions for
operations; making the contracts for entire packages consistent.
If there is time, the presentation will close with a live test
of the guidelines on an example problem selected by the audience.
The intended audience is anybody with enough programming experience
to know concepts like types, encapsulation and packages. Having seen
source text in Pascal-like programming languages will be a benefit.
15:00-15:50 - Ada for ARM Bare Board
by Tristan Gingold - AdaCore
In 2014, AdaCore has released two new components in the GNAT GPL
Edition: GNAT GPL for ARM Bare Board and SPARK 2014. I present the
content of GNAT GPL for ARM, its Ravenscar runtime, how to build
and deploy an embedded application in Ada and how it was used to
teach Ada. Two different demos will be presented: a Tetris game
and a train signalling system. Both are fully written in Ada,
with some parts written and proven with SPARK 2014.
16:00-16:50 - Multithreading Made Easy, part 3
- Bounded Work Queues
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.
In the previous two episodes, 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 then introduced
a task pool and work queue wherein a small number of threads (one
per processor core) process thousands of small work units. But the
work queue could become very big. In this third and last episode,
we show how to restrict the size of the work queue to a fixed limit,
thereby preventing denial-of-service attacks.
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 installments.
The sources of our example program will be provided to those who
want to tinker with them.
17:00-17:50 - 2D Drawing with Ada and Cairo
by Serge Vanschoenwinkel - Eurocontrol
Cairo is a 2D graphics library with support for multiple output
devices. It is designed to produce consistent output on all output
media while taking advantage of display hardware acceleration
when available. The Cairo API provides operations similar to
the drawing operators of PostScript and PDF. Operations in
Cairo including stroking and filling cubic Bézier splines,
transforming and compositing translucent images, and antialiased
text rendering. All drawing operations can be transformed by any
affine transformation (scale, rotation, shear, etc.). Illustrated by
a poker game application, this presentation will show you how to
do nice drawings with Cairo, still programming with your preferred
18:00-18:25 - Building Economic Simulations in Ada
by Graham Stark - Virtual Worlds Research
Virtual Worlds Research has been using Ada to build large scale
economic simulations for 10 years now. These simulations have been
used by Governments and others to model the effects of, amongst
other things, changing Legal Aid and reforming Social Care funding -
many billions of pounds of annual spending. Here, I discuss our
experiences, good and bad, with the Ada language, and provide a
live demonstration of the most recent model. I'll also discuss
work in progress to build a new forecasting model in association
with the University of Southampton.
18:30-19:00 - Informal Discussions & Closing
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 2015;
no registration is necessary.
We hope to see many of you there!
Dirk.Craeynest at cs.kuleuven.be (for Ada-Belgium/Ada-Europe/SIGAda/WG9)
More information about the FOSDEM