Tutorials

Improve the benefits of coming to the conference further by attending our tutorials, all given by well-known experts.

Morning Before Lunch After Lunch Afternoon
Tuesday,
14th June
Tutorial 1:
Moving up to Ada 2022

(S. Tucker Taft)
Tutorial 3:
The ALiRe
Package Manager

(Fabien Chouteau and
Alejandro R. Mosteo)
Tutorial 2:
Numerics for the
Non-numerical Analyst

(Jean-Pierre Rosen)
Tutorial 4:
The HAC Compiler

(Gautier de Montmollin)

T1 - Moving up to Ada 2022

S. Tucker Taft, AdaCore, USA

Location: Priorzaal

Ada 2022 has been approved by ISO WG9, and hopefully by the time of the tutorial, ISO SC22 and perhaps ISO/JTC1, making it the new standard for Ada. It is time to learn what Ada 2022 can offer to you as an Ada programmer, manager of an Ada team, or someone evaluating whether Ada itself might be something worth trying. This tutorial will introduce the key features of Ada 2022, and show how they can be used to make programming both safer and more productive, by s howing how past approaches to solving certain kinds of complex problems can be simplified and made more robust by transitioning to the use of enhanced Ada 2022 language constructs and libraries.

Level: Intermediate to advanced.

Programmers who have used some version of Ada in the past to solve challenging problems

Reason for attending

This tutorial should help you see, through a series of example problems similar to those you might have solved in the past, how you could use Ada 2022 features to produce a safer, more elegant, and more maintainable solution.

Presenter

S. Tucker Taft is VP and Director of Language Research at AdaCore. His specialties include programming language design, advanced static analysis tools, formal methods, real-time systems, parallel programming, and model-based development. Tucker was lead designer of the Ada 95 programming language, and is a member of the ISO Rapporteur Group that developed Ada 2005, Ada 2012, and Ada 2022. Tucker has also been designing and implementing a parallel programming language called "ParaSail," and defining parallel programming extensions for Ada as part of the new Ada 2022 standard. He is currently developing an extension of ParaSail into the distributed computing domain, with the new language dubbed “ParaDISO” for Parallel, Distributed, Incremental, and Streamable Objects.

Prior to joining AdaCore, Tucker was Founder and CTO of SofCheck, Inc., providing tools and technology to enhance software development quality and productivi ty. Prior to that Mr. Taft was a Chief Scientist at Intermetrics, Inc. and its follow-ons for 22 years. Tucker received an A.B. Summa Cum Laude degree from Harvard University, where he has more recently taught compiler construction.

T2 - Numerics for the Non-Numerical Analyst

Jean-Pierre Rosen, Adalog, France

Location: Oude Infirmerie

Numerics are a special area of software development, and numerically intensive programs are best developed by specialists of the domain. On the other hand, many programs have to deal with mathematical computations, without being really numerically intensive. This tutorial addresses the techniques (and pitfalls) that every application developer needs to know as soon as there are some computations that go beyond simple integer arithmetic, without requiring them to be advanced numerical analysts. The tutorial also addresses the various tools offered by Ada, from numeric types to libraries.

Level: Intermediate

Expected audience experience: Casual knowledge of Ada.

Reason for attending

  • Learn how to select the most appropriate numeric type for your applications
  • Avoid pitfalls and increase the accuracy and portability of numeric computations
  • Discover the standard libraries provided by Ada

Presenter

JP Rosen is a professional teacher, teaching Ada (since 1979, it was preliminary Ada!), methods, and software engineering. He runs Adalog, a company specialized in providing training, consultancy, and services in all areas connected to the Ada language and software engineering. He is chairman of Ada-France. While on a sabbatical at New-York University, he implemented fixed-point arithmetic for the Ada/ED compiler. Adalog offers regularly on-site and off-site training sessions in Ada.

T3 - The ALiRe Package Manager

Fabien Chouteau, AdaCore, France
Alejandro R. Mosteo, Centro Universitario de la Defensa, Zaragoza, Spain

Location: Priorzzal

The Alire project (Ada Library Repository) is a community-oriented package manager for the Ada and SPARK open source ecosystem. Package managers simplify the dissemination and reuse of libraries, easing the development of new projects and fostering cooperation. They also allow simple upgrades of dependencies, which helps in bug fixing and vulnerability patching. Final applications can also be packaged for greater outreach. In this tutorial, participants will get to learn the basics of the Alire project, from design foundations to practical use. General concepts about dependency management will be presented intermixed with guided practicals that will allow participants learning how to use available libraries in their own projects, as well as the workflow to publish a library in Alire. As a real use case, the tutorial will tackle the use of Alire to bootstrap an embedded project with the support of libraries already available in the community index. This example embedded project will be tested either on simulation or on real boards, if possible.

Level: Introductory to Intermediate

Basic knowledge of Ada and the GNAT compilation model is recommended but not mandatory.

Reason for attending

Open source developers nowadays are used to leverage language- and platform-specific package managers to quickly and easily bootstrap projects, locate and reuse functionality and popular libraries, and generally ease development. Alire is the Ada-specific tool to know for people involved with or interested in the Ada language or its SPARK subset for formally verified code. It is also a simple and efficient way to start developing embedded projects, not only for Ada developers, but for any person interested in embedded/bare-metal development: Ada has features explicitly tailored for such scenarios and is perfectly suited to interoperate with C thanks to its binding capabilities.

Presenter

Fabien joined AdaCore in 2010 after his engineering degree at the EPITA (Paris). He is involved in real-time, embedded and hardware simulation technology. Resolute Ada/SPARK supporter and lead of the Ada/SPARK advocacy team at AdaCore. He spent the last seven years spreading awareness about Ada/SPARK though OSS projects, blog posts, conferences and presentations (FOSDEM, Embedded World, Ada-France Meetup, etc.).

Alejandro R. Mosteo is a professor at Centro Universitario de la Defensa, Zaragoza, Spain, since 2011. He received the Ph.D. in 2010 from the Universidad de Zaragoza, Spain, for his research on teams of cooperative mobile robots. He is a long-time user of Ada in both academic and hobby contexts, and has authored several open source libraries for popular robotic frameworks such as Player/Stage and ROS. For the latter, he presented a tutorial, now available online, on programming mobile robots with Ada in the Ada-Europe 2021 conference. His research pursuits include multi-robot cooperation, decentralized algorithms, and autonomous air vehicles.

T4 - The HAC Compiler

Gautier de Montmollin, Ada Switzerland

Location: Oude Infirmerie

Sometimes, you would like to write a small program – typically, a text parser, a file converter, a shell script launching various applications, a small computation, etc. You would like to use your preferred "full Ada" compiler in order apply the same know-how as for large-scale development and to keep doors open in case the small program develops into a large, resource- and performance- intensive application. But: for a starter, you feel that your "full Ada" system is too heavy for the job. Perhaps it's because the compiler produces more intermediate files than your program itself would. Or, the build time is a bit too long for experimenting. So, you actually miss an adequate tool. The goal of the HAC Ada Compiler project is to fill that gap. In the tutorial, we explore first the present possibilities offered by HAC. But the main part is allocated to brainstorming, trying small programs, discussing potential developments, say what you like, don't like or would like with HAC.

Level: Basic knowledge of Ada

Reason for attending

  • Discover a different way of programming Ada, for different purposes
  • Seize the opportunity to influence the future development of HAC: bring your ideas, use-cases, examples, wishes…
  • Fun!

Presenter

Gautier de Montmollin is a software developer. He holds a PhD in mathematics from the University of Neuchâtel, Switzerland. His quest for both run time and development time efficiency has trapped him with the Ada language which he has the chance to use professionally (formerly in finance, now in robotics) and for private projects. He has presented professional and private projects at various Ada-Europe and FOSDEM conferences.