Ada Developers Workshop

14 June 2024, Barcelona, Spain

Co-located with the 28th Ada-Europe International Conference on Reliable Software Technologies (AEiC 2024), June 11-14

The Ada Developers Workshop aims to create an informal yet dynamic platform for developers in the Ada community to meet, share insights, and present their latest projects or project updates, using the Ada programming language and Ada-related technology such as SPARK. The topics will range from community advocacy all the way to technical presentations. The focus of the Developers Workshop will be in topics and projects that are widely used within the community and which help grow the Ada pool of users and the quality of life of existing programmers.

AEiC 2024 is an ideal fit for an Ada Developers Workshop. On the one hand, it gives the general community an opportunity to see what is happening in the Ada world and how Ada can help to produce reliable and efficient open software. On the other hand, it gives Ada projects an opportunity to showcase themselves, get feedback and ideas, and attract participants to their project and collaboration between projects.

Normally, entrance to to AEiC costs a bit of money, however, the organisers have indicated that the Ada Developers Workshop will have a substantially reduced entry fee. The chosen day is Friday, which should be a more convenient day for visitors and speakers with regards to accommodation, flying costs, taking some days off from work and having some extra time to visit Barcelona during the weekend.

Presentations and Schedule

We are pleased to present the detailed schedule for the 1st Ada Developers Workshop, held on Friday 14 June 2024 at the 28th Ada-Europe International Conference on Reliable Software Technologies (AEiC 2024).

The full-day program is packed with 9 presentations on various Ada-related topics by 8 authors from 5 countries: Belgium, France, Italy, Spain, and USA. All time slots include Q&A. There will be extra time for participant interactions in between talks, and during breaks and lunch.

  • 09:00-09:05 (5 min.)
    Fernando Oleo Blanco (Spain), Fabien Chouteau (France), Dirk Craeynest (Belgium)
    "Welcome"
  • 09:10-09:45 (35 min.)
    Gabrielle Galeotti (Italy), Fernando Oleo Blanco (Spain)
    "SweetAda: a Multi-architecture Embedded Development Framework"
    Abstract: SweetAda is a lightweight development framework whose purpose is the implementation of Ada-based software systems. The code produced by SweetAda is able to run on a wide range of machines, from ARM® embedded boards up to x86-64-class machines, as well as MIPS® machines and Virtex®/Spartan® PowerPC®/MicroBlaze® FPGAs. It could theoretically run even on System/390® IBM® mainframes (indeed it runs on the Hercules emulator). SweetAda is not an operating system, however it includes a set of both low- and high-level primitives and kernel services, like memory management, PCI bus handling, FAT mass-storage handling, which could be used as building blocks in the construction of complex software-controlled devices.
    Presenter: Gabriele Galeotti, born 1965, is an HW/SW engineer from Italy. Gabriele Galeotti started programming on the Apple ][ when he was a student, spending hours in front of the 6502 machine language monitor. After a long job career, beginning as a mainframe technician and currently ending up in firmware development, he decided to put his efforts in the open source world by writing SweetAda.
  • 09:50-10:25 (35 min.)
    Jeffrey R. Carter (Belgium)
    "Avoiding Access Types"
    Abstract: Pointers and their associated memory management are a constant source of errors. In Ada, pointers are called access types. Luckily, access types are never needed in Ada. Although I have tried to educate people about this, unnecessary use of access types is still common. I would present some examples of situations in which access types are commonly thought necessary, and show how they can be avoided.
    Presenter: Jeffrey R. Carter began working with computers in 1975, using FORTRAN-66 on punched cards (it was always written FORTRAN because the key punches only had capital letters). Later he got to know Pascal. In 1984 he met Ada, and the rest is history.
  • 10:30-11:00 (30 min.)
    Coffee Break
  • 11:00-11:30 (30 min.)
    Guillermo A. Hazenbrouck (Belgium)
    "G-NAV: Soaring the Clouds with AdaWebPack"
    Abstract: Electronic Flight Instrument Systems (EFIS) can effectively increase situational awareness of glider pilots by combining geographic data, aeronautical data, aircraft performance models, geolocation systems and air traffic surveillance systems. While Progressive Web Applications (PWA) are consolidating in the world of mobile technology, G-NAV explores these new possibilities to provide an alternative EFIS solution, carrying Ada along as the main programming language through the AdaWebPack toolchain. With a single code base, the solution can be integrated to different systems in different ways, as it can be provided through the internet or through an onboard data acquisition system. From a developer's perspective, G-NAV implements several particular features, like using its own vector graphics library on top of WebGL to draw shapes, lines and even text on a single canvas. This results in a vivid minimalistic interface that prioritizes awareness and robustness. Finally, the project seeks to promote open access to a tool that can have a positive impact on safety.
    Presenter: Guillermo A. Hazebrouck was born and raised in Córdoba Argentina, where I first attended a technical school and later the university. After graduating as an aeronautical engineer from the National University, I moved to Belgium where I soon started working on computer simulations for civil engineering. After five years I jumped back to aeronautics as Ada developer for the Belgian ANSP. I love programming and gliding.
  • 11:35-11:55 (20 min.)
    Alejandro Mosteo (Spain)
    "Alire 2.0: a Quality of Life Update"
    Abstract: A short showcase of the new features and improvements to the functionality of the Ada LIbrary REpository (Alire) for its second major release.
    Presenter: 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. He has been a postgraduate researcher at Laboratoire d'Analyse et d'Architecture des Systèmes (LAAS), Toulouse, France. He is a member of the Robotics, Perception, and Real-Time group at the Instituto de Investigación en Ingeniería de Aragón. He became a member of the steering committee of the Technical Committee on Multi-Robot Systems of the IEEE Robotics and Automation Society in 2015. His Ada advocacy career dates back to 2006 with his affiliation to the Ada-Spain society for the promotion of the Ada language. In 2019 he joined the editorial board of the quarterly Ada User Journal as News Editor. In 2020 he has been appointed Coordinator of the Ada working group within the Spanish standardization body (UNE). His research pursuits include multi-robot cooperation, decentralized algorithms, and autonomous air vehicles
  • 11:55-12:30 (35 min.)
    J. German Rivera (USA)
    "HiRTOS: a Multicore RTOS Written in SPARK Ada"
    Abstract: This presentation will describe the Ada-specific details of the design of HiRTOS and how to port it to new platforms. HiRTOS is a small multicore RTOS kernel and separation kernel. An RTOS is a safety critical component of any bare-metal embedded software system. Yet, most RTOSes are written in C which is an unsafe language. It would be safer to use an RTOS written in a safer language, such as Ada or even better SPARK Ada. However, integrating Ada code components in bare-metal embedded firmware written in other languages, typically C, is not easy in a portable manner, as the available baremetal GNAT cross-compilers require the availability of an Ada Runtime for the target micrcontroller or embedded platform, and such baremetal Ada runtimes are available only for a very limited number of platforms. HiRTOS solves this problem by being implemented on top of a minimal platform-independent Ada runtime. Also, HiRTOS code itself has been written on top of a porting layer that provides a platform-agnostic interface to HiRTOS. Currently, only one porting layer for the ARM Cortex-R52 multi-core processor is provided. To port HiRTOS to a new target platform, all that is needed is to implement the porting layer for the new target platform.
    Presenter: J. German Rivera is a senior staff software engineer at Tesla, where he develops low-level embedded software for automotive system-on-chip platforms. He has 34 years of industry experience developing system-level software. He has also held software development positions at Google, NXP, Microsoft, Cisco, IBM, NetApp and HP. He holds a Master of Software Engineering degree from Carnegie Mellon University (USA) and a Bachelor's degree in Computer Science, from the University of Los Andes (Colombia). In his spare time, he writes Ada/SPARK embedded software for hobby projects, in which he also experiments with practical applications of formal methods.
  • 12:30-14:00 (1.5 hr.)
    Lunch break
  • 14:00-14:35 (35 min.)
    Cristian Simon (Spain)
    "Ironclad: a Formally Verified OS Kernel Written in SPARK/Ada"
    Abstract: Ironclad is a formally verified, hard real-time capable kernel for general-purpose and embedded uses, written in SPARK and Ada. It is comprised of 100% free software. This talk will delve into what makes Ironclad special from inside Gloire, an Ironclad distribution, showcasing its desktop experience and other system internals, and will cover the usage of Ada in the project, along with what advantages that provides when compared with other ecosystems like C/C++ and Rust.
    Presenter: Cristian Simon is a software developer and free software lover. For the better part of a decade I have been deep into the free software side of embedded development, working on several operating system kernels, bootloaders, and other low-level userland utilities widely used by the community at large.
  • 14:40-15:25 (45 min.)
    Jean-Pierre Rosen (France)
    "An Ada Story of Time"
    Abstract: This short tutorial presents the various notions of "time" encountered in computing (calendar time, CPU time, monotonic time, simulated time), and how they are handled by Ada: the Ada model, the various statements and library packages offered by the language.
    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. Adalog offers regularly on-site and off-site training sessions in Ada, as well as support and consultancy especially in the field of real-time systems.

  • 15:30-16:00 (30 min.)
    Coffee Break
  • 16:00-16:25 (25 min.)
    Jeffrey R. Carter (Belgium)
    "Controlled I/O: a Library for Scope-Based Files"
    Abstract: A request was made for "Scope-base files (controlled-type files), that close when they go out of scope". Extending Ada.Finalization.Limited_Controlled to contain an Ada.*_IO.File_Type and overriding Finalize to close the file if it is open is trivial, so I presume the poster was looking for something more than that. In response I came up with Controlled_IO, a different way of dealing with files from that used in the standard library. Files are opened/created when they are declared, and closed when they go out of scope. The library will be presented, along with some simple examples of its use.
    Presenter: see above.
  • 16:30-17:25 (55 min.)
    Fernando Oleo Blanco (Spain)
    "Ada Community Advocacy"
    Abstract: I would like to discuss a few key points regarding the challenges of fostering and promoting Ada within its own community and towards the wider programming world. I think Ada is an extremely valuable technology, but that does not translate easily into a healthy and sustained growth, specially when there are other technologies out there with seemingly similar features.
    Presenter: Fernando Oleo is a mechanical and industrial engineer. He currently works for the nuclear (both fission and fusion) industry. He became interested in Ada due to its clarity, strong focus on correctness, ease of learning and portability. He now tries to improve the visibility and reach of the wider Ada community.
  • 17:25-17:30 (5 min.)
    Fernando Oleo Blanco (Spain), Fabien Chouteau (France), Dirk Craeynest (Belgium),
    "Closing Remarks"

Call for Presentations

We would like to schedule technical presentations, tutorials, demos, live performances, project status reports, discussions, etc, in the Ada Developers Workshop.

Do you have a talk you want to give? Do you have a project you would like to present? Would you like to get more people involved with your project?

We're inviting proposals that are related to Ada software development, and include a technical oriented discussion. You're not limited to slide presentations, of course. Be creative. Propose something fun to share with people so they might feel some of your enthusiasm for Ada!

Speaking slots should be around 30 minutes. However, we may allow for some flexibility in order to fit lighting talks as well as longer tutorials, demonstrations and discussions. All presentations should reserve at least 5 minutes for Q&A, meaning that the content should, in principle, last up-to 25 minutes.

Note that all talks will be streamed live (audio+video). After the streaming of the talk, a live Q&A session will take place. By submitting a proposal, you agree to being recorded and streamed. You also agree that the contents of your talk will be published under the Creative Commons (CC-BY-SA 4.0) license. Submission of the slides (if any are used) will be a requirement.

Online presentations will also be accepted, however, preference will be given to speakers present in the venue. If you would like to give a online talk, you will be asked to do a pre-recording and submit it some time before AEiC starts in case the internet connection does not work as expected.

Submission Guidelines

In order to submit a proposal for a talk, please, email the three organisers, Fernando, Fabien and Dirk (email down below) with the following information:

  • your name, affiliation, contact info;
  • the title of your talk (be descriptive and creative);
  • a short descriptive and attractive abstract;
  • potentially pointers to more information;
  • a short bio and photo;
  • indicate whether you will be presenting online or in person.

Take a look at programs of previous Ada DevRooms @ FOSDEM [1] and [2-6] for presentation examples, as well as for the kind of info we need. Also, feel free to have discussions over at Ada-Lang's webpage [7] and forum [8]!

Here is the slightly flexible schedule that we will follow:

  • March 31st, 2024: end of the submission period. Remember, we only need the information in the list above. You do not have to submit the entire talk by this date. Try to submit your proposal as early as possible. It is better to submit half of the details early than all late, so do not wait for the last minute. If you are a bit late, submit it nonetheless and message directly.
  • April 12th, 2024: announcement of accepted speakers and talks.
  • June 7th, 2024: your slides should be uploaded.
  • June 14th, 2024: Ada Developers Workshop day!

We look forward to lots of feedback and proposals!

Organizers

  • Fernando Oleo Blanco, Libre Ada Software Aficionado, irvise@irvise.xyz
  • Fabien Chouteau, AdaCore, chouteau@adacore.com
  • Dirk Craeynest, Ada-Belgium & KU Leuven, dirk.craeynest@cs.kuleuven.be

Links