1. Ada at Ansaldo STS Jérôme Touet, software engineer GNAT Industrial User Day, September 25th 2014
2. +TS
2
Ansaldo STS: Overview
•Founded in 1853
•Activity: signalling and supervision of railway and urban traffic.
•Main shareholder: Finmeccanica
•~4000 employees
•Global presence
3. Signalling Systems
•Type of systems:
•Interlocking
•Mainlines and high speed (ERTMS, TVM, …)
•Mass transit (CBTC, …)
•Constraints:
•High safety level (SIL4)
•Assessment process (norm EN 50128)
•Product life of ~30 years
3
4. Use of Ada
First case: simulator
•~800 Kloc (kernel) + ~300 Kloc (HMI)
•50% Ada 83 + 50% Ada 95 (+ 2005 + 2012)
•GTKAda, AWS, XMLAda, Win32Ada
•GNAT 7.2 for Windows target
•IDE: Eclipse
4
5. Use of Ada
Second case: platform equipment (Available Vital Computer)
•Up to 600 Kloc
•Mainly Ada 83 + Ada 95
•Architectures:
•PowerPC (wayside equipments): GNAT compiler
•Coldfire (onboard equipments): GHS compiler
•IDE: GPS, Understand for Ada
•Safety constraints (SIL4)
5
6. Use of Ada
Third case: applicative program
•From ~90 to ~200 Kloc
•Ada 83 and Ada 95 (new applications)
•Architectures:
•PowerPC (wayside equipments): GNAT compiler (6.1.1)
•Coldfire (onboard equipments): GHS compiler
•IDE: GPS, Understand for Ada
•Safety constraints (SIL4): « basic » use of Ada
•No object, no tasking, few generic
•Sometimes interfaced with C code
6
7. Development Environment
7
Ada
Static Analysis
Test
Metrics
Compiler
IDE
•GPS (+ plug-ins)
•Eclipse
•Understand for Ada
•GNAT
•Green Hills Software
•RTRT
•AUnit
•Adacontrol
•Polyspace
•CodePeer
•Understand for Ada
•Logiscope
•GNAT metric
8. CodePeer evaluation
•Integrated to GPS
•Bottom-up approach (allow the check of a unique package)
•Configurable
•Level of analysis
•Message filtering
•Keep track of reviews
•EN 50128 qualification material
8
9. CodePeer evaluation
9
SERVER (nightly run)
DEV 1
DEV 2
OUTPUTS
Web Server
local view
local view
review