• FOSDEM 2018 - Ada Developer Room - Sat 3 Feb 2018 - Brussels

    From Dirk Craeynest@21:1/5 to All on Wed Jan 10 22:18:09 2018
    XPost: be.comp.programming, nl.comp.programmeren, de.comp.lang.misc
    XPost: fr.comp.developpement

    -----------------------------------------------------------------------

    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

    <http://www.cs.kuleuven.be/~dirk/ada-belgium/events/18/180203-fosdem.html>
    <http://fosdem.org/2018/schedule/track/ada/>

    -----------------------------------------------------------------------

    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 <http://www.cs.kuleuven.be/~dirk/ada-belgium/events/18/180203-fosdem.html>

    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.2)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)