AdaCore Paris Tech Day 2016: Jerome Lambourg - Cross and BareBoard Team Inside Out
Tech Days 2015: AdaCore Directions
Transcript of Tech Days 2015: AdaCore Directions
![Page 1: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/1.jpg)
AdaCore DirectionsWho are we? Where are we going?
Cyrille ComarParis, October 1st
![Page 2: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/2.jpg)
Agenda of the talk- Mission
- Location & People
- Values
- Strategy: Strengthening & Opening
- Research Activities
- QGen
- Conclusion
![Page 3: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/3.jpg)
We help people build
software that matters.
Ada
![Page 4: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/4.jpg)
- Expertise on critical software development
- Maintain & evolve (Ada) compilation toolchain with pedigree
- Emphasis on customer support
![Page 5: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/5.jpg)
Locations
![Page 6: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/6.jpg)
![Page 7: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/7.jpg)
Robert Dewar (1945-2015)
![Page 8: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/8.jpg)
![Page 9: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/9.jpg)
Some of us in the US
Hristian, frontend
Ben, newsletterSteve, static analysisTucker, qgen
Nicolas, gps Doug, cross
![Page 10: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/10.jpg)
![Page 11: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/11.jpg)
![Page 12: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/12.jpg)
We actively and creatively evolve our product line, operations, and organization to help our customers and teammates. We are passionate about what we do and are committed to learning, researching and creating.
![Page 13: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/13.jpg)
We build long-term relationships with our teammates, customers, and partners. Acting as a team, we debate, cooperate, and help each other grow.
![Page 14: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/14.jpg)
We share our plans, practices and technologies with our teammates, partners and customers. This is strengthened by our participation in relevant open-source and professional communities, and the open-source licensing of our products.
![Page 15: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/15.jpg)
We organize our work to meet all our commitments. We provide customers, partners and teammates unrestricted access to our expertise, making support our number one priority. Our rigor ensures that our products can be used to build the most demanding software systems.
![Page 16: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/16.jpg)
Strengthening & Opening
![Page 17: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/17.jpg)
- Enhance our Ada offering (new targets, new tools, new optims…)
- Make SPARK+CodePeer « the » best game in town for
- complementing testing with static verifications
- industrial use of program proving- higher level of reliability- lower cost of verification- stop (some) security attacks
Help people build software that matters… even more
Strengthening & Opening
![Page 18: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/18.jpg)
- Unexplored markets
- Software that matters in C
- Code generation from “models” that matter
Help more people build software that matters…
Strengthening & Opening
![Page 19: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/19.jpg)
Unexplored Markets
![Page 20: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/20.jpg)
Software that matters in C- Toolset that can be used for critical development:
- Manage pedigree of the C compiler (e.g. KP entries)
- Active long term maintenance (e.g. sustained branches)
- Set of verification tools (e.g. gnatcov)
- Better controlled build system (gprbuild)
![Page 21: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/21.jpg)
Research Activites- Dashboarding: AdaSquore (DGA-Rapid)
- Formal methods:
- ProofInUse (LabCom with INRIA): enhance proving capabilities
- Vecolib (ANR): loop invariants
- Soprano (ANR): improve SMT solvers
- CAP2018 (FUI) with Sogilis & Squadrone
- SPARK in legacy C for FFI
![Page 22: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/22.jpg)
Code generation from “models” that matter
QGen
![Page 23: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/23.jpg)
What is QGen?A qualifiable and
customizable code generator
from Simulink® and Stateflow® to SPARK and
MISRA C
A formal model verifier
for runtime errors and functional properties
An open and extensible frameworkto integrate
heterogeneous models
![Page 24: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/24.jpg)
QGen Main Features- Support for a large subset of Simulink®
- Around 120 blocks, optional checks for MISRA Simulink®- Stateflow® also supported, since early 2015
![Page 25: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/25.jpg)
QGen Main Features- Support for a large subset of Simulink®
- Code generation producing MISRA C and SPARK (formally provable language)
- Readable and traceable code, no performance penalty
![Page 26: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/26.jpg)
QGen Main Features- Support for a large subset of Simulink®
- Code generation producing MISRA C and SPARK (formally provable language)
- Integrated with compilation and testing frameworks- Integration with GNAT Pro compiler for qualified, end-to-end tool chain- Integration with GNATemulator and GNATcoverage for structural coverage analysis (up to
MC/DC) without code instrumentation executing embedded object code
![Page 27: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/27.jpg)
QGen Main Features- Support for a large subset of Simulink®
- Code generation producing MISRA C and SPARK (formally provable language)
- Integrated with compilation and testing frameworks
- Includes a static model verifier- Focus on safety-critical systems- Run-time errors (divisions by zero, overflows, …)- Logical errors (dead execution paths)- Functional/safety properties (Simulink® assertions blocks)
![Page 28: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/28.jpg)
QGen Main Features- Support for a large subset of Simulink®
- Code generation producing MISRA C and SPARK (formally provable language)
- Integrated with compilation and testing frameworks
- Includes a static model verifier
- Qualification material- Including validation against Simulink® simulation- DO-178C, EN 50128, ISO-26262 TCL3
![Page 29: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/29.jpg)
QGen An open and extensible framework
![Page 30: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/30.jpg)
QGen An open and extensible framework
“The gcc for modeling languages”- QGen is designed to accept multiple languages in input, including in-house DSLs- A single code generation style/strategy for all of your modeling languages- XML-based model import at different abstraction levels- Design model: blocks, signals, states, transitions, ….- Code model: variables, statements
Selective model compilation- QGen is composed of multiple model compilation steps- It is possible to execute them selectively - It is possible to import/export XML at any step
![Page 31: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/31.jpg)
RoadmapFeb 2015
QGen commercial availability
Spring 2015
Stateflow® support
2016
Tool Qualification Planning Documents
2017
QGen Debugger
2018
QGen TQL1 qualification completed
![Page 32: Tech Days 2015: AdaCore Directions](https://reader030.fdocuments.in/reader030/viewer/2022032806/588303da1a28abe70d8b6067/html5/thumbnails/32.jpg)
Conclusion- World of critical software development is evolving…
- You are the main source of AdaCore evolution
So let’s talk… even more