From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: dirk@feles.cs.kuleuven.be. (Dirk Craeynest) Newsgroups: comp.lang.ada,fr.comp.lang.ada,comp.lang.misc Subject: FOSDEM 2018 - Ada Developer Room - Sat 3 Feb 2018 - Brussels Date: Wed, 10 Jan 2018 22:18:04 -0000 (UTC) Organization: Ada-Belgium, c/o Dept. of Computer Science, KU Leuven Message-ID: Injection-Date: Wed, 10 Jan 2018 22:18:04 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="2d887a0f2817253b6b1ed88502bd31e4"; logging-data="18220"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19L2g5Jeek+pTToPzY9X7lWj02+qA42ZRM=" Summary: Yet another Ada day in Brussels! Keywords: Ada,open source,free software,technical presentations,FOSDEM Originator: dirk@feles.cs.kuleuven.be. (Dirk Craeynest) Cancel-Lock: sha1:mC6kejKM3kjAQMfBtuKakPyc8iQ= Xref: reader02.eternal-september.org comp.lang.ada:49861 fr.comp.lang.ada:1594 comp.lang.misc:7988 Date: 2018-01-10T22:18:04+00:00 List-Id: ----------------------------------------------------------------------- Ada-Belgium is pleased to announce the program for its 8th Ada Developer Room at FOSDEM 2018 on Saturday 3 February 2018 Université Libre de Bruxelles (ULB), Solbosch Campus, Room AW1.125 Avenue Franklin D. Roosevelt Laan 50, B-1050 Brussels, Belgium Organized in cooperation with Ada-Europe ----------------------------------------------------------------------- FOSDEM, the Free and Open source Software Developers' European Meeting, is a non-commercial two-day weekend event organized early each year in Brussels, Belgium. It is highly developer-oriented and brings together 8000+ participants from all over the world. The goal is to provide open source developers and communities a place to meet with other developers and projects, to be informed about the latest developments in the open source world, to attend interesting talks and presentations on various topics by open source project leaders and committers, and to promote the development and the benefits of open source solutions. The 2018 edition takes place on Saturday 3 and Sunday 4 February. It is free to attend and no registration is necessary. In this edition, Ada-Belgium organizes once more a series of presentations related to the Ada Programming Language and Free or Open Software in a s.c. Developer Room. The "Ada DevRoom" at FOSDEM 2018 is held on the first day of the event, Saturday 3 February 2018. --------------------------------------- Ada Programming Language and Technology --------------------------------------- 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. Awareness of safety and security issues in software systems is increasing. Multi-core platforms are now abundant. These are some of the reasons that the Ada programming language and technology attracts more and more attention, among others due to Ada's support for programming by contract and for multi-core targets. The Ada 2012 language definition was approved and published by ISO in December 2012, updated early 2016, and work on new features for the next revision is ongoing. As with the prior Ada 1995 and Ada 2005 standards, the first full implementation of the Ada 2012 standard was made available in gcc - the GNU Compiler Collection (GNAT). More and more tools are available, many are open source, including for small and recent platforms. Interest keeps increasing, also in the open source community, and many exciting projects started. The Ada DevRoom aims to present the facilities offered by the Ada language (such as for object-oriented, multicore, or embedded programming) as well as some of the many exciting tools and projects using Ada. -------------------------------- Ada Developer Room Presentations (room: AW1.125, 76 seats) -------------------------------- The presentations in the Ada DevRoom start after the opening FOSDEM keynote. The program runs from 10:30 to 19:00, and consists of 7.5 hours with 9 talks by 9 presenters from 5 different countries, plus 2 half-hour sessions 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 2018, 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, and direct members in many other countries. More information on this DevRoom is available on the Ada-Belgium web-site (see URL above). 11:05-11:50 - An Introduction to Ada for Beginning and Experienced Programmers by Jean-Pierre Rosen - Adalog 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. 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 - Making the Ada_Drivers_Library: Embedded Programming with Ada by Fabien Chouteau - AdaCore The Ada programming language was designed for embedded programming and it is well known in the aerospace domains and in general every domain where failure is not an option. Unfortunately it is not used a lot in the embedded FOSS community. In the past two years, AdaCore worked to promote the use of Ada in the FOSS community, in particular for embedded programming with the "Make with Ada" blog post series, my interview for the Embedded.fm podcase, blog posts on "ARM Community" or the "Make with Ada" competition. In this 45 minutes lecture I will: + give a short introduction of Ada for embedded and how its features (programing by contract, strong typing, representation clauses (hardware mapping), OOP, static compiler checks and optional run-time checks) can help improving the development time, maintenance and quality of FOSS embedded projects; + present the Ada_Drivers_Library project, where we put all those features in practice to develop micro-controller device drivers in Ada; + make a quick getting started demo; + present some of the best projects from the "Make with Ada" competition. 13:00-13:20 - Shared Memory Parallelism in Ada: Load Balancing by Work Stealing by Jan Verschelde - University of Illinois at Chicago Tasking in Ada provides an effective tool for shared memory parallelism. For coarse grained regular parallelism, load balancing works with one single job queue. For finer grained and irregular parallelism, work stealing balances the load with multiple job queues. The programming concepts will be illustrated with examples of algorithms in polyhedral geometry. The demonstrated code belongs to the free and open source PHCpack. 13:30-13:50 - Ada, or How to Enforce Safety Rules at Compile Time by Jean-Pierre Rosen - Adalog This is a real life story of a mixed criticality system, where a proper usage of Ada's features for controlling visibility allowed a provable enforcement of the segregation rules at compile time: any violation would simply not compile. 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, where you include assertions of program properties as a part of the compiled source text. In the strict form, the assertions are checked at compile-time, but in this presentation I will focus on the more common, less strict, form, where at least some of the assertions aren't checked until run-time. Ada gives us a lot of help, so we can write the our assertions about the program properties once, and then have the compiler insert actual run-time checks wherever there is a possibility that the assertion is violated. This presentation will focus on how we can write these contracts in Ada in a way that make them effective at ensuring that our source text does what we intend it to and allow the compiler to generate efficient checks of the assertions. The intended audience is anybody with enough programming experience to know concepts like types, encapsulation and packages. Having tried to write Ada before will be a benefit, but it isn't a requirement. 15:00-15:50 - SPARK Language: Historical Perspective & FOSS Development by Yannick Moy - AdaCore SPARK started in 1987 as a restricted subset of Ada 83, defined by its own grammar rules. The overhaul of the language and toolset starting in 2010 increased greatly the language subset, dropping in effect the need for separate grammar rules. Since then, SPARK has progressively adopted most of the Ada features, to a point where the last remaining non-SPARK significant Ada feature today is pointers. We have started work on including safe pointers in SPARK, borrowing the ideas of pointer ownership from Rust. So one can legitimately wonder what difference remains between SPARK and Ada. In the first part of this talk, I will lay out the principles that have guided us through the inclusion of language features in SPARK since 2010. I will describe in particular the trade-offs that we considered for support of important features like recursion, types with non-static constraints, generics, object orientation, concurrency. I will give a preview of the support envisioned for pointers in SPARK. So that the distinction between Ada and SPARK appears clearly: it's not about quantity, it's about safety and security. In the second part of this talk, I will give a tour of FOSS projects which are using SPARK today: Aida, Certyflie, Muen, PolyORB-HI, Pulsar, StratoX, Tokeneer. For each one, I will describe at which level of assurance SPARK is used, with how much efforts and for which benefits. Then I will focus on the largest one, Muen, an x86/64 separation kernel for high assurance. Finally, we will look at the resources which are available to the community for FOSS development in SPARK. 16:00-16:50 - Writing REST APIs with OpenAPI and Swagger Ada by Stephane Carrez - Bouygues Telecom The OpenAPI specification is an emerging specification to describe RESTful web services. The Swagger suite is a collection of tools to write such API descriptions and have the code generated in more than 29 languages, including Ada. The presentation will describe how to write a REST operation with OpenAPI, generate the Ada client with Swagger Codegen and use the generated code to interact with the server. We will also describe the generated Ada server code and how to implement the server side and run a complete REST server. 17:00-17:50 - Browser-as-GUI and Web Applications with Gnoga by Jeffrey R. Carter - Atos Belgium Gnoga is an all-Ada library that uses the features of modern web browsers as a portable GUI. The program may run on the same computer as the browser, or on a server over the internet. Participants will be introduced to using Gnoga to create such programs. A singleton version of the Random_Int demo program will be used to demonstrate the use of Gnoga as the GUI for a program running on the same computer as the browser. Random_Int is a very simple program that generates (pseudo)random integers in a user-specified range. The Chattanooga demo is a text-chat server program allowing people to chat on line. It demonstrates the use of Gnoga to create web applications. A secure version of Chattanooga can sometimes be accessed at https://chat.gnoga.com/. (The certificate for this site has expired, but can still be used to ensure encrypted communication with the site.) After installing Gnoga, the demos are available in the demo directory. More information about Gnoga may be found at gnoga.com, especially the Tools page. 18:00-18:20 - Easy Ada Tooling with Libadalang by Raphaël Amiard and Pierre-Marie De Rodat - AdaCore A lot of developers consider that a language is only as good as the tooling that accompanies it. Ada has been conceived as a language pretty well amenable to tooling, yet the tooling offer besides AdaCore's is not very extensive, at least when compared to other languages like Java, despite the existence of the ASIS project (Ada Semantic Interface Specification). One of Libadalang's aims is to help solve that by providing an easy way to build new Ada-aware tools. Libadalang is a library that allows the user to query information about Ada code, including: + Syntactic information. Query the token stream, the syntax tree, find syntax patterns, etc. + Semantic information, such as which declaration an identifier references, the type of expressions, all references to a declaration, etc. In addition, one of the aims is to allow the users to modify the trees, and propagate the changes to the source. This talk will go over what Libadalang can already do today, how it differs from ASIS, future plans for the library, and potential exciting use cases. 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 2018; no registration is necessary. We hope to see many of you there! Dirk Craeynest, FOSDEM Ada DevRoom coordinator Dirk.Craeynest@cs.kuleuven.be (for Ada-Belgium/Ada-Europe/SIGAda/WG9) (V20180110.1)