Ada

EUgen: a European Project Proposal Generator

AW1.125
Riccardo Bernardini
Whoever wrote a research project proposal knows how much unnerving it can be. The actual project description (made of work packages, tasks, deliverable items, ...) has lots of redundancies and cross-references that makes its coherency as frail as a house of cards. For example, if the duration of a task is changed most probably you'll need to update the effort in person-months of the task and of the including work package; you must update the start date of depending tasks and the deliver date of any deliverable items; most probably also the WP efforts and length need update too; not to mention the need of updating all the summary tables (summary of efforts, deliverable, ..) and the GANTT too. Any small changes is likely to start a ripple of updates and the probability of forgetting something and getting an incoherent project description is large. Given the harsh competition in project funding, if your project is incoherent the probability of getting funded is nil. One day I got sick of this state of affair and I wrote my own project generator: 10k lines of Ada code that reads a non-redundant project description from a simple-format text file and produces a set of files ready to be imported in the proposal, GANNT chart included. The user can specify dependences between different items (e.g., this deliverable is produced at the end of this task, this milestone is reached when this deliverable is available, this task must begin after this other task...) and the program automatically computes all the dates.
Both input parser and output processors are implemented using a plugin structure that makes it easy to write new parsers to read different formats or new output processors to produce output in different formats. Currently a parser for a simple ad-hoc format and an output processor that produces LaTeX files are provided; a new processor based on the template expander protypo is currently being implemented. Did I eat my own dog food? Well, yes, I did. I used it to write a proposal (still under evaluation) and it served me well.

Additional information

Type devroom

More sessions

2/1/20
Ada
AW1.125
Welcome to the Ada Developer Room at FOSDEM 2020, which is organized by Ada-Belgium in cooperation with Ada-Europe.
2/1/20
Ada
Jean-Pierre Rosen
AW1.125
An overview of the main features of the Ada language, with special emphasis on those features that make it especially attractive for free software development.
2/1/20
Ada
Gautier de Montmollin
AW1.125
In the Ada world, we are surrounded by impressive and professional tools that can handle large and complex projects. Did you ever dream of a tiny, incomplete but compatible system to play with? Are you too impatient, when developing small pieces of code, for long compile-bind-link-run cycles? Are you a beginner intimidated by project files and sophisticated tools? Then HAC (the HAC Ada Compiler, or the Hello-world Ada Compiler) is for you.
2/1/20
Ada
Philippe Waroquiers
AW1.125
This talk describes how performance aspects of a big Air Traffic Flow Management mission critical application are tracked from development to operations.
2/1/20
Ada
Johannes Kliemann
AW1.125
Last year I presented Cappulada, a C binding generator for Ada that intended to overcome the shortcomings of existing solutions and to provide usable bindings even for complex C code. This year I want to show our conclusions on why automatic bindings between C and Ada are hard (if not impossible) and where existing solutions (including our own) fail.
2/1/20
Ada
Alejandro Mosteo
AW1.125
The Robot Operating System (ROS) is one of the chief frameworks for service robotics research and development. The next iteration of this framework, ROS2, aims to improve critical shortcomings of its predecessor like deterministic memory allocation and real-time characteristics. RCLAda is a binding to the ROS2 framework that enables the programming of ROS2 nodes in pure Ada with seamless integration into the ROS2 workflow.
2/1/20
Ada
Jean-Pierre Rosen
AW1.125
Ada incorporates in its standard a model for distributed execution. It is an abstract model that does not depend on a particular kind of network or any other communication mean, and that preserves full typing control across partitions. This presentation briefly exposes the principles of Ada's distribution model, then shows the possibilities with life demos across different machines and operating systems.