I spent last week at the 18th International Conference on Reliable Software Technologies/Ada Europe conference – it was a great event. We're big fans of Ada at Rapita (our RVS tools are mostly built with Ada). It was interesting to see that our initial (slightly controversial) decision to use the language is repeatedly vindicated by the many people here showing evidence about how using Ada and related technologies like SPARK has massively reduced the cost of producing good software.
For me the highlight of the week was actually not something written in Ada though. It was a talk from Professor Raúl Rojas of Autonomous Labs, Berlin about autonomous cars - cars that drive themselves. As he explained their project and showed videos of some of their achievements (software driving cars through the busy streets of Berlin, Mexico City and other places around the world) we began to see the complexity of this project.
I'm sure that we barely scratched the surface of the functionality in their system - whole complex subsystems working together somehow. Things like: vision recognition (cars, traffic lights, pedestrians), stereo vision (judging depth from two cameras), landscape mapping (building a map of what's around you), control (actually doing the driving) and so on.
Yet, the most challenging for me is the system that's the "brain" - the control centre that makes the decisions about what to do. I know very little about artificial intelligence, but this component must have so many "modes" (as we might call them in more conventional software) - following a lane, driving without lanes, responding to an obstacle, guessing what to do at junctions, emergency braking, overtaking... what else do you just do when driving? The list goes on.
I'll leave you with a video that briefly shows the concept in action. Roll on Ada-Europe 2014.
 RVS 3.23 Launched
  RVS 3.23 Launched
 Rapita System Announces New Distribution Partnership with COONTEC
  Rapita System Announces New Distribution Partnership with COONTEC 
 Rapita partners with Asterios Technologies to deliver solutions in multicore certification
  Rapita partners with Asterios Technologies to deliver solutions in multicore certification 
 SAIF Autonomy to use RVS to verify their groundbreaking AI platform
  SAIF Autonomy to use RVS to verify their groundbreaking AI platform
 How to measure stack usage through stack painting with RapiTest
  How to measure stack usage through stack painting with RapiTest
 What does AMACC Rev B mean for multicore certification?
  What does AMACC Rev B mean for multicore certification?
 How emulation can reduce avionics verification costs: Sim68020
  How emulation can reduce avionics verification costs: Sim68020 
 Multicore timing analysis: to instrument or not to instrument
  Multicore timing analysis: to instrument or not to instrument
 How to achieve multicore DO-178C certification with Rapita Systems
  How to achieve multicore DO-178C certification with Rapita Systems
 How to achieve DO-178C certification with Rapita Systems
  How to achieve DO-178C certification with Rapita Systems
 Certifying Unmanned Aircraft Systems
  Certifying Unmanned Aircraft Systems
 DO-278A Guidance: Introduction to RTCA DO-278 approval
  DO-278A Guidance: Introduction to RTCA DO-278 approval
 DO-178C Multicore In-person Training (Toulouse)
  DO-178C Multicore In-person Training (Toulouse)
   HISC 2025
  HISC 2025
   
    
    
    
    
    
    
    
    
    
    
     
     
     
     
     
     
     
     
    