SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Tue 17 Nov 2020 10:35 - 11:00 at SPLASH-IV - HILT workshop Tuesday sessions Chair(s): Robert Bocchino, Tucker Taft, Richard Wai

Background: When the FAA (Federal Aviation Administration) launched the System Wide Information Management (SWIM) initiative, the FAA had the goal of using the same portable, open infrastructure across all systems in the NAS (National Airspace System). In ~2008 the FAA chose Progress Software’s Free/Open Source Software (FOSS) based bundle known and supported under the Fuse brand. The licenses used by programs including EnRoute Automation Modernization (ERAM) were obtained by the FAA through Progress to use their Java framework. The name of the Computer Software Configuration Item (CSCI) for this SWIM client within ERAM is ERAM SWIM Application Service (ESAS).

Areas to be discussed:

  1. Development Challenges
    • ERAM is an Ada/C++ near real-time system using a purpose built middleware with a DO278 Level C compliant process.
    • Tactical Staffing can be a challenge when you have a large team using a common language and subset of the project using a different language it is harder to move folks back and forth.
    • Best practice Coding Standards were already developed for the common project languages, adopting Java with the Fuse stack required augmenting the standards and toolsets.
    • Formal Documentation on ERAM conformed to a DID (Decentralized Identifiers) compliant specification in the Statement of Work, adopting good Java practices with tool-generated design docs required working with the customer on process changes in addition to folding the tools into our toolbox.
  2. External Forces
    • The Fuse product itself was undergoing a high degree of maturation change while development was proceeding.
    • The rate of Fuse change contributed to reduction in future scope, had impacts when the system was updated to future Fuse versions.
    • JBoss Fuse major versions can change which system is supported, e.g. spring->blueprint.
  3. Maintenance Challenges in a long-life National Airspace System (NAS) Critical System
    • Since the original team was relatively small compared to the larger project staff, staff turnover of key positions had a greater impact on the remaining developers, and the use of common “popular industry tools” may have made it easier for some employees to find related work elsewhere.
    • As the project usage and Fuse ownership evolved, we worked updates into the system to lower the total cost of ownership to the customer.
    • Now that this area has been relatively stable for a long period and has had less “touch time” from developers, we are about to undergo a Tech Refresh and port platforms, and reconsider which (if any) of the system layers of the JBoss Fuse system will be utilized.
    • Like the Java community at large, new JBoss Fuse versions bring in new features that impact CPU and memory, even if you do not intend to use the new features. But staying current with the product is often required for security patches.
  4. Test & Performance
    • Java Virtual Machine as a runtime engine is very different from a C++ or Ada program. Ensuring the same level of NAS reliability required updating our Testing methodology.
    • A Java Virtual Machine does garbage collection and Fuse adds a lot of extra processes to the runtime. Performance becomes harder to predict as Java Virtual Machine garbage collection is a “black box”.

Tuesday HILT zoom roomTuesday HILT YouTubeHILT Clowdr Break Room

Tue 17 Nov

Displayed time zone: Central Time (US & Canada) change

09:00 - 13:00
HILT workshop Tuesday sessionsHILT at SPLASH-IV
Chair(s): Robert Bocchino NASA/Caltech Jet Propulsion Laboratory, Tucker Taft AdaCore, United States, Richard Wai ANNEXI-STRAYLINE

Tuesday HILT zoom roomTuesday HILT YouTubeHILT Clowdr Break Room

09:00
60m
Keynote
Tuesday Keynote: ZeroMQ - The world-saving superhero sockets of the networking world
HILT
Arnaud Loonstra Utrecht School of the Arts, Netherlands, Kevin Sapper codecentric AG
10:00
10m
Coffee break
Tuesday early coffee break
HILT

10:10
25m
Talk
XERIS/APEX: Hyperscaling with Ada
HILT
Richard Wai ANNEXI-STRAYLINE
10:35
25m
Talk
Challenges and lessons learned introducing Fuse, an evolving open source technology, into an established legacy Ada and C++ program
HILT
11:00
10m
Coffee break
Tuesday later coffee break
HILT

11:10
25m
Talk
Productive Parallel Programming with Parsl
HILT
Kyle Chard University of Chicago
11:35
25m
Talk
Building a Culture of Safe and Performant Systems with the Rust Programming Language
HILT
James Munns Ferrous Systems
12:00
60m
Other
Tuesday Panel: Language support for parallel and distributed computing
HILT
P: Tucker Taft AdaCore, United States, P: Kyle Chard University of Chicago, P: James Munns Ferrous Systems, P: Richard Wai ANNEXI-STRAYLINE