Model-based software development in the Automotive industry

Tweet about this on TwitterShare on FacebookBuffer this pageShare on RedditShare on LinkedInShare on Google+Email this to someone

After Marsha’s keynote, we are bringing you today the second keynote talk we had the chance to enjoy at ECMFA’14: Darren Buttle talked about “Under the Hood: Model-Based Development in the Automotive Industry”.

As he says, “Today’s vehicles include an astonishing amount of software… The automotive industry was an early convert to model-based software development … By the late 1990’s, code generated from physical system models could be found in series production vehicles… In some vehicle domains, notably power train and chassis control, model-based development is the dominant software development paradigm. In this talk, we’ll talk about: – Where is model-based development used? – What speci c challenges are presented by the domain? – Which technologies have proven successful? and What are the current trends and tomorrow’s challenges?

To know more about his view on MDE, you can read his extended abstract or (better), sit down and enjoy the slides he used in his talk (below), just read some of the key data points he mentioned and that I found specially interesting / surprising (comments and misinterpretations are mine):

  • “Only” 80 milion cars produced every year (I thought it was much more!)
  • 20M of source lines of code (SLOC) in a car (up to 100M if you add the entertaining system. Compare this with the 650.000 you have in an airplane
  • Software bugs cost a lot (e.g. 1200$ per line of code due to recall of cars after an unintended accelartion problem)
  • A model-based approach (model + code-generation) is 30% faster and has 50% less errors than manual code written by a top programmer
  • 16% of the SLOC in a car are generated from models
  • Autosar (a standard “DSL” for the automotive industry) has a specification of 12.000 pages (and then we complain about the length of other specs :-))
  • As part of their code-generation process they systematically introduce a lot of defensive errors (e.g. to prevent typical numeric errors)
  • If the model is harder to understand than the code then you’re wasting your time
  • Signal flow block diagrams and state machines are the most common diagrams
  • Example of code-generation: 46MB model produces 500Kb of C code in 10 min
  • Big problem of graphical modeling: too much time wasted trying to get a good layout
  • 90% of the accidents are due to driving errors – To reduce number of deaths we should take the drive out of the loop

Tweet about this on TwitterShare on FacebookBuffer this pageShare on RedditShare on LinkedInShare on Google+Email this to someone

Reply

Your email address will not be published. Required fields are marked *