OVH Cloud OVH Cloud

Du C ou du Java dans les systèmes embarqués automobile ?

246 réponses
Avatar
Zeldus
Bonjour,

Les voitures faisant de plus en plus appel à l'électronique pour
fonctionner, même pour les tâches les plus basiques, en quel langage sont
programmés les applications qui gèrent les différentes fonctions
électroniques intégrés aux voitures ?

J'ai pensé à l'assembleur mais vu la aujourd'hui puissance et le prix des
processeurs même les plus basiques, je pense que ce n'est pas le cas et la
tâche serait complexe pour les programmeurs.

Vient ensuite le C, celui qui serait probablement le plus adapté, ancien
mais toujours très efficace ou alors Java, complètement portable mais qui
nécessite une machine virtuelle assez lourde.

Si vous avez des infos sur le sujet,

Par avance, merci

Pierre

10 réponses

Avatar
Sylvain SF
Gabriel Dos Reis a écrit :
[...]
Les FUDs ont la vie dure -- c'est pour cela.



certes, je pensais même qu'IBM n'existait plus en 2009,
comme quoi la désinformation ...

thk,
Sylvain.
Avatar
Michael DOUBEZ
Gabriel Dos Reis a écrit :
Michael Doubez writes:

| On 7 juil, 14:46, Gabriel Dos Reis wrote:
| > Michael Doubez writes:
| >
| > | On 6 juil, 16:56, Gabriel Dos Reis wrote:
| > | > Michael Doubez writes:
| > | >
| > | > [...]
| > | >
| > | > | AMA, il y a encore du chemin à parcourrir:
| > | > | - pour l'avionique, les compilateurs C++ DO178B ne courent pas les
| > | > | rues (J'en connais un seul).
| > | > | - et pour l'automobile, MISRA C++ est trop récent (~1 an) pour que ça
| > | > | ait un impact sur l'utilisation de C++.
| > | >
| > | > MISERABLE C++ est effectivement récent, mais pas mal de gens préfèrent
| > | > s'en passer. As-tu parcouru la liste que j'ai donnée.
| > |
| > | La liste sur le site de B.S. ?
| >
| > Oui.
| >
| > | Oui mais je me méfie de ce genre de liste.
| > | Python est aussi utilisé dans à la Nasa, ça veut pas dire qu'ils
| > | envoient du code Python dans l'espace.
| >
| > Quel est le rapport avec la liste dont je parle ?
|
| Que veux tu démontrer avec la liste ?

Tu disais

Python est aussi utilisé dans à la Nasa, ça veut pas dire qu'ils
envoient du code Python dans l'espace.

Je voulais savoir le rapport qut tu vois avec la liste.



Ce que je vveux dire est que la liste ne montre et ne démontre rien
concernant l'utilisation de c++ en embarqué et encore moins en logicile
critique.

Le logiciel de contrôle de la régulation de pression est écrit en ADA.
D'autres parties peuvent être écrite en C ou en python. Ca ne démontre
rien sur le langage.

De la même manière que python est utilsé à la NASA, ça n'en fait pas
plusun bon langage embarqué.

Je ne discutepas la valeur du C++. Je suis le premier à démontré que ça
vaut le coup. J'ai eu des succès du bout des lèvres mais les projets ont
continué en C.


| Par exemple:
| Boeing 787 software. Entirely written in C++, using STL.
|
| Il vole pas encore :) Bientôt peut être.

Donc ?



Ce n'est pas (encore?) un succès donc difficilement une référence.


| Et le software de quoi ? Du réseau interne ?

Tu peux demander à Bjarne -- au cas où tu as des doutes sur ce qu'il
dit, je suis persuadé qu'il te répondra.



Je n'ai pas de doute sur ce qu'il dit mais sur ce qui est effectivement
fait derrière. Je n'oublie pas que C++ n'aurait pas été un succès sans
un peu de marketing.

Je suppose que ce n'est pas exprès que tu as passé sous le silence le
rese de la liste...



Du reste de la liste, j'ai vu peu de logiciel embarqué/critique.
Y a t il quelque chose que j'aurais manqué ?


| </quote>

Donc ?



Pas grand chose, une piètre tentative d'humour pour montrer que le C++
utilisé dans boeing (avec la STL!) n'est pas forcément dans un système
embarqué et/ou critique.

En gros, mon avis est que la liste ne montre rien ou pas grand chose si
ce n'est une sorte de référencement.

--
Michael
Avatar
Gabriel Dos Reis
Michael DOUBEZ writes:

[...]

| Ce que je vveux dire est que la liste ne montre et ne démontre rien
| concernant l'utilisation de c++ en embarqué et encore moins en
| logicile critique.

Tu veux dire, par exemple

Dutch ministry of transport, public works, and water management:
surge barrier control. The BOS control system for the Maeslant
Barrier protecting Rotterdam from flooding. This safety-critical
system (highest safety integrity level according to IEC 61508) is
built using C++, Z and PROMELA. A high level overview with nice
pictures can be found here.

ne « démontre rien concernant l'utilisation de c++ en embarquà © et encore
moins en logicile critique. »

?

| Le logiciel de contrôle de la régulation de pression est é crit en
| ADA. D'autres parties peuvent être écrite en C ou en python. Ca ne
| démontre rien sur le langage.

???

| De la même manière que python est utilsé à la NASA, ça n'en fait pas
| plusun bon langage embarqué.

La question n'est pas si c'est utilisé à la NASA -- comme « on mange du
steak à Houston. » Mais plutôt si c'est utilisé *pour* quelque chose de
specifique -- comme « est-ce que Jon Doe a mangé du steak. »

| Je ne discutepas la valeur du C++.

je discute de son *utilisation* -- pas de sa valeur.

[...]

| Je n'ai pas de doute sur ce qu'il dit

ah bon.

| mais sur ce qui est effectivement fait derrière.

il est effectivement légitime de se poser des questions sans mettre en
doute -- par exemple, on peut se demander s'il y avait une chèvre dans
ton lit (et ce qu'elle faisait là) et si tu répondais qu'il n'y en
avait pas, est-ce que cela démontrerait quelque chose.

| Je n'oublie pas que C++ n'aurait pas été un succès sans un peu de
| marketing.

Contrairement à ce que tu n'oublies pas, C++ n'a pas de départeme nt de
marketing.

[...]


-- Gaby
Avatar
Michael DOUBEZ
Gabriel Dos Reis a écrit :
Sylvain SF writes:

| Gabriel Dos Reis a écrit :
| >
| > | Par exemple:
| > | Boeing 787 software. Entirely written in C++, using STL.
|
| > | Et le software de quoi ? Du réseau interne ?
| >
| > Tu peux demander à Bjarne -- au cas où tu as des doutes sur ce qu'il
| > dit, je suis persuadé qu'il te répondra.
|
| le point n'a jamais été: faut-il douter de qu'il dit (écrit!).

Je crois qu'on peut faire l'hypotrhèse qu'il est honnête et que s'il y a
une erreur de sa part, il la corrigera, et que si la personne qui lui
fournit l'information lui a menti (à son insue) il n'y peut rien.

Et comme il le dit lui même, il n'a pas vérifié par lui même *toutes* les
informations qui lui ont été communiquées -- cela ne veut pas dire qu'il
n'en a vérifié aucun.

En ce qui concerne les informations sur JPL (Mars Rover), ou JSF
C++ Rules, il est relativement safe de supposer qu'il les as vérifiées
d'une manière ou d'une autre.
On peut noter par exemple, qu'il travaille sur des projets en commun
avec les gens de la NASA directement impliqués dans certains de ces
softs.



Oui. Mais la NASA a pas mal de travaux de recherche. Ca ne veut pas dire
que tous sont en exploitation.

| > Je suppose que ce n'est pas exprès que tu as passé sous le silence
| > le reste de la liste...
|
| il faut faire une revue de la liste ?

pas forcément, mais si tu vas à pêche de choses comme la 787 (« ça ne
vole pas encore »), il faudrait aussi signaler le reste -- ne serait-ce
que pour indiquer une certaine bonne foi.



Si une liste est sérieuse alors la pêche devrais être maigre. De toutes
façons, je ne remet pas en cause l'honnêteté ou la pertinence de la
liste, mon propos est surtout que la liste ne dit pas ce que je pense tu
veux lui faire dire.

Il est vrai que C++ est utilisé en environnement critique est qu'il a
tous les outils pour le faire (même peu nombreux). Le fait est qu'il a
encore une pénétration faible dans le domaine.
D'ailleurs, le C++ utilisé est souvent un EC++ ou EC++ étendu qui
n'utilise pas les exceptions (IAR et ARM dans l'embarqué par exemple).

Je doute que BS plébiscite EC++.

| en extirper un exemple où des erreurs (de logiques sans rapport
| avec l'implémentation) ont peut être commisses ne remet pas en
| cause la liste, d'autres exemples qui n'auraient aucun défaut
| n'ajoute rien à cette liste.
|
| de fait, bien au delà de l'histoire individuelle des cas cités
| c'est l'existence même de cette liste qui m'interpelle.
| as-tu discuté de celle-ci avec Bjarne pour pouvoir nous résumer
| sa motivation ?

Cela fait partie de nos sujets de discussion. Une des motivations est
de mettre fin à certaines FUD qui ont la vie dure (on en vue dans le
thread mère.).


[snip]
Les FUDs ont la vie dure -- c'est pour cela.



Je ne comprends pas le FUD que tu poursuis ici.

Si ton propos est de dire que C++ est *aujourd'hui* mainstream en
embarqué alors je dirais que c'est pas encore vrai; il suffit de compter
les livres sur l'embarqué en C++: 0.
Il y a des effort comme symbian, qtopia ... mais AMA le C a la vie dure.

--
Michael
Avatar
Michael DOUBEZ
Gabriel Dos Reis a écrit :
Michael Doubez writes:

[...]

| Vive l'exploitation donc.

des citoyens par l'état.



Comme l'état est sous contrôle de l'économie et des groupes occultes
alors on sait plus trop.

Je deviendrais un décroissant si je pensais que ça serve à quelque chose.

--
Michael
Avatar
Gabriel Dos Reis
Michael DOUBEZ writes:

| Gabriel Dos Reis a écrit :
| > Sylvain SF writes:
| >
| > | Gabriel Dos Reis a écrit :
| > | >
| > | > | Par exemple:
| > | > | Boeing 787 software. Entirely written in C++, using STL.
| > | | > | Et le software de quoi ? Du réseau interne ?
| > | >
| > | > Tu peux demander à Bjarne -- au cas où tu as des doutes s ur ce qu'il
| > | > dit, je suis persuadé qu'il te répondra.
| > | | le point n'a jamais été: faut-il douter de qu'il dit (à ©crit!).
| >
| > Je crois qu'on peut faire l'hypotrhèse qu'il est honnête et q ue s'il y a
| > une erreur de sa part, il la corrigera, et que si la personne qui lui
| > fournit l'information lui a menti (à son insue) il n'y peut rien.
| >
| > Et comme il le dit lui même, il n'a pas vérifié par lui même *toutes* les
| > informations qui lui ont été communiquées -- cela ne veu t pas dire qu'il
| > n'en a vérifié aucun.
| >
| > En ce qui concerne les informations sur JPL (Mars Rover), ou JSF
| > C++ Rules, il est relativement safe de supposer qu'il les as vérif iées
| > d'une manière ou d'une autre.
| > On peut noter par exemple, qu'il travaille sur des projets en commun
| > avec les gens de la NASA directement impliqués dans certains de ces
| > softs.
|
| Oui. Mais la NASA a pas mal de travaux de recherche. Ca ne veut pas
| dire que tous sont en exploitation.

De cette assertion, tu conclus que l'information qu'il a eu et qu'il a
mise sur sa page est fausse ?


[...]

| je ne remet pas en cause l'honnêteté ou la pertinence de la lis te,

Ah bon.

| mon propos est surtout que la liste ne dit pas ce que je
| pense tu veux lui faire dire.

et qu'est-ce que *tu penses* que je veux lui faire dire ?

-- Gaby
Avatar
Sylvain SF
Michael DOUBEZ a écrit :
Gabriel Dos Reis a écrit :
Les FUDs ont la vie dure -- c'est pour cela.



Je ne comprends pas le FUD que tu poursuis ici.

Si ton propos est de dire que C++ est *aujourd'hui* mainstream en
embarqué alors je dirais que c'est pas encore vrai; il suffit de
compter les livres sur l'embarqué en C++: 0.



je n'ai compris cela de la citation -- si cela était, en effet
je ne comprendrais pas !

on peut aussi lire cette citation, bien que dans un fil "dans
les systèmes embarqués", comme des exemples significatifs
d'usage et dès lors appréhender la chasse aux FUD pour
l'embarqué avec la même règle que pour le non embarqué.

factuellement, pour mon domaine, je connais des outils C
(8051) et n'ai quasi aucune pratique des outils C++,
il en existe pourtant (chez IAR au hasard), leur non
diffusion dans ma structure pourrait être liée à des
a priori plus qu'à une réelle inadéquation.

Sylvain.
Avatar
Marc Boyer
On 2009-07-07, Sylvain SF wrote:
Marc Boyer a écrit :
Je n'ai pas connaissance d'application JavaCard embarqués
critique (critique au sens où l'erreur logicielle coute
des millions de $/¤ ou des vies humaines).



peut être parce que tu envisages l'aspect "critique" uniquement
selon certains critères principalement lié à la rareté de
l'évènement en jeu (tel un lancement de vol habité, ou un
système (satellite, sonde, ...) très coûteux) ou à la
médiatisation de la vie humaine en jeu (qui coûte chère
quand elle passe à CNN et rien à l'autre bout de la planète).



Tu connais des applis JavaCard dont l'erreur pourrait
couter des vies "à l'autre bout de la planète" ?

d'autres "systèmes embarqués" ont un coût unitaire faible
(de 5 à 50 euros) mais sont déployés en millions d'exemplaires
(un passeport ou une carte d'identité) ou encore pourrait
causer des pertes (cumulées) en millions d'euros si l'appli
était défaillante (cartes bancaires ou GSM).



Est-ce à dire que dans ce système de transaction client/serveur,
il suffit de hacker le client pour pouvoir causer des pertes
en millions d'euros ?

Après, oui, il y a un fremissement autour de Java Temps
Réel (RTSJ). Après, je ne sais pas si ce sera un raz
de marée, un flop, ou un succès d'estime.



je ne parlais pas forcément de "temps réel", le traitement
des infos d'un gyroscope demande une réactivité instantanée,
le système d'un rover martien pas du tout.



Le temps réel n'est pas la gestion de l'instantané,
mais la maîtrise de différents temps de réponses. Et puis
"Java Temps Réel", c'est le nom publicitaire. Il m'a
semblé que le but global était plus globalement d'adapter
Java aux contraintes industrielles/aéronautiques/spaciales...
En tout cas, c'est comme ça qu'il m'avait été présenté.

Et je maintiens que, dans la communauté de l'embarqué
critique, la NASA et le DoD sont des acteurs importants,
et que leur comportement est un exemple fort.



je n'en doute pas et c'est heureux que de tels prescripteurs
(commanditaires) se donnent les moyens d'imposer en interne
et externe des cahiers des charges très stricts; pour autant
si cela créé un exemple de ce qu'il est possible d'atteindre
je ne suis pas sur que cela soit obligatoirement ce qui doit
être systématiquement atteint - de nombreux domaines de
l'industrie (soft pur, domotique, électronique grand public,
etc) continueront avec "raison économique" à faire du code
plus crade et plus risqué (ie prompt à planter).



Bien sur. Personne n'est prêt à payer un lecteur de DVD de salon
au prix qu'imposerait les normes d'embarquabilité aéronautiques
(encore que, plaqué or...)

Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0
Avatar
James Kanze
On Jul 7, 10:20 am, Marc Boyer
wrote:
On 2009-07-06, Pascal J. Bourguignon wrote:



> Si tu veux parler d'inégalité (devant la loi!), parlons de
> celle qui prend un plus gros pourcentage d'impôt à ceux qui
> gagnent plus par rapport aux autres. Payons tous 10%+19.6%
> d'impôts, et laissons les gens s'enrichir, au lieu de faire
> payer à certains 60%+19.6% et les motiver pour
> s'expatrier...



C'est un vieux débat, qu'on ne tranchera surement pas sur
fclc++. Pour certains "chacun donne suivant ces capacités et
reçoit selon ses besoins". Pour d'autre, on coupe la facture
en parts égales et chacun paye sa part.



Il y a un autre aspect. À qui profite nos impôts ? Qui a le plus
d'avantage d'une tranquillité sociale ou d'une société policée ?
Que l'ordre établi ne change pas ? C'est bien eux qui en tirent
le plus de bénéfices ; c'est donc eux qui doivent en payer le
plus, il me semble.

Certains autres pensent que le système fiscal est trop
complexe, qu'il engendre donc un cout de perception trop gros,
et qu'on devrait simplement prendre 10% sur chaque revenu, et
faire ensuite de la distribution sociale.



La complexité du système est une autre question. Mais la
première source de la complexité, ce n'est pas la progression
dans les impôts sur le revenu, mais plutôt la pléthorie des
impôts, taxes et charges divers auxquels on est assujjeti. Si on
veut reduire le coût de la perception, la première chose à faire
serait d'augmenter les impôts drastiquement, et supprimer tous
les autres charges (URSSAF, etc.) Et la deuxième seraient sans
doute de supprimer tous les cas spéciaux qui donnent lieu à des
abattements ou des déductions fiscales ; qu'on soit imposé sur
ses revenus, pur et simple.

--
James Kanze (GABI Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Avatar
Michael Doubez
On 7 juil, 23:24, Gabriel Dos Reis wrote:
Michael DOUBEZ writes:

| Gabriel Dos Reis a écrit :
| > Sylvain SF writes:
| >
| > | Gabriel Dos Reis a écrit :
| > | >
| > | > | Par exemple:
| > | > | Boeing 787 software. Entirely written in C++, using STL.
| > | | > | Et le software de quoi ? Du réseau interne ?
| > | >
| > | > Tu peux demander à Bjarne -- au cas où tu as des doutes sur c e qu'il
| > | > dit, je suis persuadé qu'il te répondra.
| > | | le point n'a jamais été: faut-il douter de qu'il dit (écrit !).
| >
| > Je crois qu'on peut faire l'hypotrhèse qu'il est honnête et que s 'il y a
| > une erreur de sa part, il la corrigera, et que si la personne qui lui
| > fournit l'information lui a menti (à son insue) il n'y peut rien.
| >
| > Et comme il le dit lui même, il n'a pas vérifié par lui même *toutes* les
| > informations qui lui ont été communiquées -- cela ne veut pas d ire qu'il
| > n'en a vérifié aucun.
| >
| > En ce qui concerne les informations sur JPL (Mars Rover), ou JSF
| > C++ Rules, il est relativement safe de supposer qu'il les as vérifi ées
| > d'une manière ou d'une autre.
| > On peut noter par exemple, qu'il travaille sur des projets en commun
| > avec les gens de la NASA directement impliqués dans certains de ces
| > softs.
|
| Oui. Mais la NASA a pas mal de travaux de recherche. Ca ne veut pas
| dire que tous sont en exploitation.

De cette assertion, tu conclus que l'information qu'il a eu et qu'il a
mise sur sa page est fausse ?



Non. Je dit juste que l'information qu'il a mise ne prétend pas que C+
+ est utilisé en environement critique à la NASA; en environement
embarqué oui sûrement.

<QUOTE>
James Webb Space Telescope will showcase cutting-edge technologies and
instruments, including a 21-foot folding primary mirror and a near-
infrared camera.

The project will also rely on software, with 200,000 lines of C++ code
anticipated to help operate the telescope and gather and transmit
data.
</QUOTE>



[...]

| je ne remet pas en cause l'honnêteté ou la pertinence de la liste,

Ah bon.

| mon propos est surtout que la liste ne dit pas ce que je
| pense tu veux lui faire dire.

et qu'est-ce que *tu penses* que je veux lui faire dire ?



Comme tu te contentes de citer la liste sans te mouiller en élaborant,
c'est ouvert à interprétation.

Ma supposition d'après le contexte plus haut est que tu prétends que
dire que C++ est pas/peu utilisé en environnement critique/embarqué
est un FUD.

--
Michael