ExampleExample ofof technologies technologies pushpush in in thetheembeddedembedded marketmarket
Daniel Pilaud Daniel PilaudCEO Polyspace technologiesCEO Polyspace technologies
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 22
AgendaAgenda
The embedded marketThe embedded market
Synchronous languages and Synchronous languages and ScadeScade experience experiencebetween 90 andbetween 90 and
Abstract interpretation and PolyspaceAbstract interpretation and Polyspaceexperienceexperience
When a caramel salesman settles dentist:When a caramel salesman settles dentist:model based design and code verificationmodel based design and code verification
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 33
The software embedded marketThe software embedded market
260 000 developers260 000 developers Tools for the embedded marketTools for the embedded market
(IDE, model based design, test and(IDE, model based design, test andverification tools) : 600 M$verification tools) : 600 M$
RTOS: 1100 M$RTOS: 1100 M$
=>Niche market=>Niche market
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 44
Design and test tools: same marketDesign and test tools: same market
1 5361 536
332332
729729
5454
267267
15415420072007
248248
5757
4646
3737
5959
494920042004
DevelopmentDevelopmenttoolstools
276276
3939
5757
4646
7474
606020072007
359359
5353
1515
111111
6666
11411420042004
Design toolsDesign tools
519519
7171
2121
162162
9292
17317320072007
8383
1919
1313
1414
1414
232320042004
Test toolsTest tools
142142905905TOTALTOTAL
40409191••AEDAED2007200720042004
OSOSin Min M€€
2929229229••OthersOthers
2424378378••ConsumerConsumerElectronicsElectronics
25252929••AutomotiveAutomotive
2424178178••Telecom /Telecom /DataComDataCom
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 55
ScadeScade Experience Experience
1990: Common project between1990: Common project betweenSchneider, Aerospatiale, Schneider, Aerospatiale, VerilogVerilogwith the help of with the help of VerimagVerimag
Main idea: replacement of Saga,Main idea: replacement of Saga,SAO with a common tool based onSAO with a common tool based onLustreLustre Language Language
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 66
ScadeScade Experience Experience
Needs and constraintsNeeds and constraints Must be compatible with Saga andMust be compatible with Saga and
SAOSAO The code generator must be DO178-The code generator must be DO178-
B B qualifiablequalifiable
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 77
ScadeScade Experience Experience
First customers ( CSEE, SAAB,First customers ( CSEE, SAAB,Messier Messier BugattiBugatti, , EurocopterEurocopter) in) in19961996
The capability of The capability of VerilogVerilog investment investmentbetween 1995- 1999 was very lowbetween 1995- 1999 was very low
After 2000, thanks to After 2000, thanks to EsterelEsterelTechnologies, it was a new storyTechnologies, it was a new story
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 88
Polyspace experiencePolyspace experience
In 1996, Alain Deutsch develops theIn 1996, Alain Deutsch develops theIABC prototypeIABC prototype
Alain used the prototype for the Alain used the prototype for the ArianeAriane 5 5softwaresoftware
EADS Launcher, CNES support the ideaEADS Launcher, CNES support the ideaof a product based on this technologyof a product based on this technology
INRIA INRIA TransfertTransfert, I-Source, RAC and, I-Source, RAC andTrinova was present at the first roundTrinova was present at the first roundtabletable
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 99
CompanyCompany Profile Profile
Established in 99Established in 99
5,5 M5,5 M€€ Revenues in 2005 Revenues in 2005
40% automotive, 35%AED, 15% consumer40% automotive, 35%AED, 15% consumerelectronicelectronic
≈≈ 2000 licences used on 2000 licences used on ≈≈ 300 industrial300 industrialprojectsprojects
Users in 18 countriesUsers in 18 countries
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 1010
PolySpace SolutionPolySpace Solution
ColorColor-coded-codedSource CodeSource Code
RedBug
OrangeWarning
GreenSafe
GreyDead Code
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 1111
Model based design and verificationModel based design and verificationtoolstools
Facts:Facts: C, C++ or C, C++ or AdaAda Hand-writing code is Hand-writing code is
present in the modelspresent in the models The semantic of arithmeticThe semantic of arithmetic
operations (for example) is basedoperations (for example) is basedon the target language semanticon the target language semantic
Run time errors occurRun time errors occur
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 1212
Plagiarism: the Counter NodePlagiarism: the Counter Node
Node Node countercounter () returns ( () returns (countcount : integer, : integer, panpan : : bool bool););letlet countcount = 0->pre( = 0->pre(countcount)+1;)+1; panpan = ( = (countcount = 3) = 3)teltel;;
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 1313
And the nightmare beginsAnd the nightmare begins
Location of the runtime error in theLocation of the runtime error in theC(orC(or C++) code C++) code
Location at the model levelLocation at the model level
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 1414
Static analysis with model basedStatic analysis with model baseddesign approachdesign approach
Usage of Polyspace on codeUsage of Polyspace on codegenerated by generated by scadescade:: The quality of analysis depends onThe quality of analysis depends on
the code generation optionthe code generation option Nuclear plant application with theNuclear plant application with the
option option ––blockexpblockexp: 93% of selectivity,: 93% of selectivity,1200 oranges for 35 000 lines of1200 oranges for 35 000 lines ofcodecode
Avionic application with the opt Avionic application with the opt ––noexpnoexp: 600 oranges for 7000 lines: 600 oranges for 7000 linesof codeof code
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 1515
Static analysis with model basedStatic analysis with model baseddesign approachdesign approach
Usage of Polyspace on code generatedUsage of Polyspace on code generatedaround around MathworksMathworks model: model: The quality of analysis depends on theThe quality of analysis depends on the
code generation optioncode generation option Selectivity is better than Selectivity is better than scadescade generated generated
code: 50 oranges for 10 000 lines of codecode: 50 oranges for 10 000 lines of code((targetlinktargetlink application) application)
Feedback on the model : specificFeedback on the model : specificPolyspace toolsPolyspace tools
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 1616
PolySpace for Model PolySpace for Model BasedBased Design Design
PolySpace addresses this new need byPolySpace addresses this new need bylaunching a new offer : PolySpace forlaunching a new offer : PolySpace formodel-based designmodel-based design
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 1717
ConclusionConclusion
Model based design andModel based design andverification tools:verification tools: Analysis of the code with modelAnalysis of the code with model
informationsinformations: Use of specific: Use of specificalgorithms well suited (Examplealgorithms well suited (ExampleAstreeAstree))
Code generated specifically forCode generated specifically foranalysis purpose ( analysis purpose ( MisraMisra code for code forexample)example)
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 1818
ConclusionConclusion
Scade and Polyspace successScade and Polyspace successfactors:factors: Existence of motivated industrialExistence of motivated industrial
partnerspartners First class technologies with a realFirst class technologies with a real
breakthroughbreakthrough Significant money investmentsSignificant money investments
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 1919
ConclusionConclusion
A large part of my professional lifeA large part of my professional lifeis dedicated to technology transfer.is dedicated to technology transfer.
This choice was influenced byThis choice was influenced byPaulPaul’’s attitude on industrials attitude on industrialproblemsproblems
© PolySpace Technologies 1999-2006: All Rights reserved © PolySpace Technologies 1999-2006: All Rights reserved 2020
ConclusionConclusion
But the main PaulBut the main Paul’’s result is :s result is : Computation of the optimizedComputation of the optimized
launch of table tennis ball during thelaunch of table tennis ball during theserviceservice
Two days of work:Two days of work: 1 Meter is the best1 Meter is the best
Thanks Paul!Thanks Paul!