Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1412 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  temps reel en java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

temps reel en java

n°989487
schmur
Posté le 22-02-2005 à 08:53:36  profilanswer
 

Bonjour à tous !
 
j'aimerai savoir s'il est possible de faire du temps réel en java avec des sémaphores par exemple.  
Quelqu'un connait des truc a ce sujet ou bien un site sympa ?
merci d'avance

mood
Publicité
Posté le 22-02-2005 à 08:53:36  profilanswer
 

n°989495
Taz
bisounours-codeur
Posté le 22-02-2005 à 09:07:51  profilanswer
 

c'est pas possible de faire du temps réel en java

n°989534
schmur
Posté le 22-02-2005 à 09:47:49  profilanswer
 

vraiment sur que c'est pas possible ?

n°989537
nraynaud
lol
Posté le 22-02-2005 à 09:58:34  profilanswer
 

schmur > J2ME possède un profil temps réel, J2SE ET J2EE, c'est niet de chez niet.


---------------
trainoo.com, c'est fini
n°989575
schmur
Posté le 22-02-2005 à 10:38:11  profilanswer
 

ok merci
faut faire les truc soit meme alors

n°989585
nraynaud
lol
Posté le 22-02-2005 à 10:41:38  profilanswer
 

non, va voir la doc de J2ME, le profil temps réel doit y être décrit.


---------------
trainoo.com, c'est fini
n°989631
schmur
Posté le 22-02-2005 à 11:34:16  profilanswer
 

connais pas j2me mais je vais m'y plonger dedans
merci

n°989669
the real m​oins moins
Posté le 22-02-2005 à 12:09:41  profilanswer
 

Spoiler :

(vous entendez quoi par temps réel? /o\)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°990796
nraynaud
lol
Posté le 23-02-2005 à 09:13:40  profilanswer
 

-- > un programme dont "l'horloge de vie" est claquée sur l'horloge du mur.
 
Dans la réalité, il faut qu'on puisse borner le temps d'exécution de chaque étape du programme par un nombre en rapprot avec ce qu'on fait dans la vraie vie.
 
Par exemple, en robotique, il faut pouvoir piloter un bras de robos finement, on prendra autour de la miliseconde. En fondrie, le pilotage de four à arc se fait à 2-3 min (bien que le temps de réaction réel du four soit de l'ordre de 2 heures).
 
En général, il s'agit du temps de réaction entre le moment où le programme reçoit une info et le moment où il émet des ordres issus de cette info.


Message édité par nraynaud le 23-02-2005 à 09:13:53

---------------
trainoo.com, c'est fini
n°990813
benou
Posté le 23-02-2005 à 09:37:08  profilanswer
 

par contre j'ai pas bien compris le rapport dans le post initial entre temps réel et semaphore ... c'est bien de la prog temps réel qe tu veux shmur ? t'es sûr que tu confonds pas avec de la prog parallèle ?


Message édité par benou le 23-02-2005 à 09:37:50
mood
Publicité
Posté le 23-02-2005 à 09:37:08  profilanswer
 

n°990833
nraynaud
lol
Posté le 23-02-2005 à 09:51:42  profilanswer
 

benou > parce qu'on fait souvent de la synchronisation de tâches en temps réel, et que c'est trop la merde de respecter le planning et de partager les ressources (ordonnanceurs de 40 000 types différents, systèmes pour pas perdre sa priorité etc.).


---------------
trainoo.com, c'est fini
n°990841
benou
Posté le 23-02-2005 à 10:12:48  profilanswer
 

nraynaud a écrit :

benou > parce qu'on fait souvent de la synchronisation de tâches en temps réel, et que c'est trop la merde de respecter le planning et de partager les ressources (ordonnanceurs de 40 000 types différents, systèmes pour pas perdre sa priorité etc.).


c'est un peu chinois pour moi, j'ai jamais fait de prog tps réel ... mais merci pour l'explication


---------------
ma vie, mon oeuvre - HomePlayer
n°990842
nraynaud
lol
Posté le 23-02-2005 à 10:15:38  profilanswer
 

benou a écrit :

j'ai jamais fait de prog tps réel


moi non plus, mais j'ai vaguement survolé les cours.


---------------
trainoo.com, c'est fini
n°991172
benou
Posté le 23-02-2005 à 14:02:21  profilanswer
 

nraynaud a écrit :

moi non plus, mais j'ai vaguement survolé les cours.


moi j'ai même pas eu de cours la dessus  :sweat:


---------------
ma vie, mon oeuvre - HomePlayer
n°991192
schmur
Posté le 23-02-2005 à 14:07:49  profilanswer
 

apparament dans java 1.5 il y a des classes semaphores.
je vais les etudier un peu

n°993580
EExtasEE
Posté le 25-02-2005 à 15:27:53  profilanswer
 

Taz a écrit :

c'est pas possible de faire du temps réel en java


C'est quoi la définition du temps réel ?
 
Un système temps réel est un system qui analyse son environnement en continue et apporte des réponses suivant les résultats des observations.
 
Si on se borne à cette définition : JAVA permet de faire du temps réel puisqu'il possède des boucles(while, for, etc.....) et qu'il implémente un système de threads qui permet de faire plusieurs observations du système.
 
Le seule bémole serait la granularité du language, mais à ce moment là il a des questions spécifiques aux projets entrepris qu'il faut se poser :
Ai-je besoin de scruter mon système tous les 5 µ secondes, pour répondre aux besoins ?
Les gains de productivité dus à l'utilisation de JAVA(Phases de tests moins longues, durée des projets raccourcis....) ne compensent-ils pas cette faible granularité ?

n°993665
Taz
bisounours-codeur
Posté le 25-02-2005 à 16:15:41  profilanswer
 

non. du temps réel c'est que tu observes et contrôle un procédé à une vitesse adaptée et que ton système d'information est capabel de respecter les contraintes temporelles sans jamais faillir. Avec Java tu ne peux pas, pour la simple et bonne raison que tu ne peux pas borner le délai de réaction. Borner strictement. Imagine ce qui se passe si le GC se déclenche au moment où tu dois prendre la décision de couper l'alimentation d'un robot parce qu'une anomalie a été détectée ? si tu prends 5ms de retard, ça peut être l'accident.

n°993673
the real m​oins moins
Posté le 25-02-2005 à 16:31:00  profilanswer
 

tiens, un nouvel expert émerge.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°993717
EExtasEE
Posté le 25-02-2005 à 17:13:41  profilanswer
 

Taz a écrit :

non. du temps réel c'est que tu observes et contrôle un procédé à une vitesse adaptée et que ton système d'information est capabel de respecter les contraintes temporelles sans jamais faillir. Avec Java tu ne peux pas, pour la simple et bonne raison que tu ne peux pas borner le délai de réaction. Borner strictement. Imagine ce qui se passe si le GC se déclenche au moment où tu dois prendre la décision de couper l'alimentation d'un robot parce qu'une anomalie a été détectée ? si tu prends 5ms de retard, ça peut être l'accident.


 
5ms c'est géré par JAVA.
Java ne gère plus à partir de la picron seconde.
Je suis vraiment curieux de savoir combien de projet nécéssitent une précision supérieure à la picron seconde.


Message édité par EExtasEE le 25-02-2005 à 17:17:47
n°993718
EExtasEE
Posté le 25-02-2005 à 17:15:05  profilanswer
 

the real moins moins a écrit :

tiens, un nouvel expert émerge.


Qui ça moi ?  :jap:  

n°993722
beemer
Posté le 25-02-2005 à 17:19:12  profilanswer
 

c'est plutot EExtasEE qui a raison
RT n'a rien a voir avec une reponse dans un temps defini (d'ailleurs c'est une des grosses pieges du RT)
il s'agit de pouvoir assure la bonne reponse lors de l'evenement qui la demande et pas d'assurer que ca arrive dans grand max x m ou µ secondes

n°993727
nraynaud
lol
Posté le 25-02-2005 à 17:28:08  profilanswer
 

j'adore les multis qui surgissent le vendredi.


---------------
trainoo.com, c'est fini
n°993732
EExtasEE
Posté le 25-02-2005 à 17:32:02  profilanswer
 

beemer a écrit :

c'est plutot EExtasEE qui a raison
RT n'a rien a voir avec une reponse dans un temps defini (d'ailleurs c'est une des grosses pieges du RT)
il s'agit de pouvoir assure la bonne reponse lors de l'evenement qui la demande et pas d'assurer que ca arrive dans grand max x m ou µ secondes


Merci,
d'ailleur en lisant les autres réponses au thread, j'ai vu que J2Me avait plus un profile RT que J2EE...... :lol:  
Une fois que vous avez lu ma réponse précédente, vous savez désormais que le RT ne dépend pas de l'API(Jdk) utilisée.

n°993733
EExtasEE
Posté le 25-02-2005 à 17:33:46  profilanswer
 

nraynaud a écrit :

j'adore les multis qui surgissent le vendredi.


Multis? :heink:  

n°993734
nraynaud
lol
Posté le 25-02-2005 à 17:37:37  profilanswer
 

bon le boulet, il va falloir dégager maintenant. y'a des gens qui pourraient se mettre à croire ce que tu dis.


---------------
trainoo.com, c'est fini
n°993739
EExtasEE
Posté le 25-02-2005 à 17:40:44  profilanswer
 

nraynaud a écrit :

bon le boulet, il va falloir dégager maintenant. y'a des gens qui pourraient se mettre à croire ce que tu dis.


Pardon ?

n°993746
beemer
Posté le 25-02-2005 à 17:45:28  profilanswer
 

Citation :

Un système est dit temps-réel s'il est capable de répondre à temps et tout le temps à un événement extérieur dans un intervalle temporel défini. Dans un système temps-réel, aucun dépassement du temps d'intervalle défini n'est acceptable car les conséquences d'un dysfonctionnement peuvent être dramatiques. Par exemple, la surchauffe d'un réacteur nucléaire peut entraîner de graves conséquences si il n'est pas détecté dans le temps défini. Cependant, un système temps-réel n'est pas obligatoirement un système rapide. Linux prouve qu'il peut être un système d'exploitation efficace et sûr dans ce domaine.


http://sic.epfl.ch/SA/publications [...] ge9ag.html
 
et concernant java
https://rtsj.dev.java.net/
et c'est pas le seul site traitant ca


Message édité par beemer le 25-02-2005 à 17:49:35
n°993750
EExtasEE
Posté le 25-02-2005 à 17:50:26  profilanswer
 

allez Norbert manges un danny ça ira mieux

n°993752
nraynaud
lol
Posté le 25-02-2005 à 17:51:28  profilanswer
 

1) la définition, je l'ai filé il y a 2 jours, exemples à l'appui
2) je vois pas le rapport avec linux
3) ça ne fait pas de java J2SE un truc temps-réel, même pour un four à arc.
 
 


---------------
trainoo.com, c'est fini
n°993756
EExtasEE
Posté le 25-02-2005 à 17:54:07  profilanswer
 

arf
ce que tu comprends pas c'est que RT c'est quasi indépendant du language ou de l'API, donc que ce soir J2SE, J2Me, J2EE ou MIDP c'est pareil, c'est INDEPENDANT

n°993758
beemer
Posté le 25-02-2005 à 17:56:11  profilanswer
 

nraynaud a écrit :

1) la définition, je l'ai filé il y a 2 jours, exemples à l'appui
2) je vois pas le rapport avec linux
3) ça ne fait pas de java J2SE un truc temps-réel, même pour un four à arc.


1) et alors? j'ai pas vu ta definition ni le topic en question
2) aucun rapport mis a part le fait qu'il y a des gens qui pensent pouvoir faire du RT sous linux meme si c'est pas un os RT. mais le but de mon lien c'etait de donner une source a la definition tres pertinente que j'ai cite  
3) si tu le dis... t'as forcement raison, les autres boulets qui essaie de specifier ca font forcementfausse route  :whistle:  

n°993759
nraynaud
lol
Posté le 25-02-2005 à 17:56:12  profilanswer
 

EExtasEE a écrit :

arf
ce que tu comprends pas c'est que RT c'est quasi indépendant du language ou de l'API, donc que ce soir J2SE, J2Me, J2EE ou MIDP c'est pareil, c'est INDEPENDANT


je parle de la VM.
 
Je vais être franc avec toi : tu n'as exactement *rien* à m'apprendre sur le temps réel.


---------------
trainoo.com, c'est fini
n°993760
nraynaud
lol
Posté le 25-02-2005 à 17:58:46  profilanswer
 

beemer a écrit :

1) et alors? j'ai pas vu ta definition ni le topic en question
2) aucun rapport mis a part le fait qu'il y a des gens qui pensent pouvoir faire du RT sous linux meme si c'est pas un os RT. mais le but de mon lien c'etait de donner une source a la definition tres pertinente que j'ai cite  
3) si tu le dis... t'as forcement raison, les autres boulets qui essaie de specifier ca font forcementfausse route  :whistle:


1) elle est dans le topic, en réponse à la question de --
2) j'en ai rien à foutre
3) s'ils sortent une spec différente, c'est bien parce que l'actuelle ne l'est pas.


---------------
trainoo.com, c'est fini
n°993761
beemer
Posté le 25-02-2005 à 17:59:28  profilanswer
 

nraynaud a écrit :


Je vais être franc avec toi : tu n'as exactement *rien* à m'apprendre sur le temps réel.


c'est peut etre vrai, mais c'est pas pour autant que tu donnes l'impression d'avoir compris le but et la philosophie temps reel :D
 

n°993766
EExtasEE
Posté le 25-02-2005 à 18:00:53  profilanswer
 

nraynaud a écrit :

je parle de la VM.
 
Je vais être franc avec toi : tu n'as exactement *rien* à m'apprendre sur le temps réel.


 
lol ah bon alors je dois surement faire erreur, si tu est modo tu peux effacer toutes les conneries que j'ai dites.
 
sorry for disturbing

n°999896
mordicator
Posté le 03-03-2005 à 17:30:41  profilanswer
 

Je me permet d'ajouter ma reponse a ce flame-thread juste pour preciser un petit point qui a mon avis est a la base de la grande incomprehension qui regne ici...
 
En fait, j'ai remarque que le terme Temps Reel n'avait pas la meme signification d'un point de vue industriel que d'un point de vue 'service'.
Je m'explique; la veritable (au sens academique) definition de RT est bien celle donnee par nraynaud, a savoir
"Dans la réalité, il faut qu'on puisse borner le temps d'exécution de chaque étape du programme par un nombre en rapprot avec ce qu'on fait dans la vraie vie"
Ce qui signifie en gros qu'il faut que l'on soit en mesure de garantir un temps de reaction a une action specifique quelque soit le contexte.
En ce sens, pour faire de la programmation temps reel, il faut imperativement un systeme d'exploitation temps reel (windows ne l'est pas, certains linux s'en approchent) et des applications concues pour.
En ce sens, le java n'est absolument pas temps reel car il est impossible de garantir le temps d'execution d'une routine et ce notament a cause de la machine virtuelle et de son garbage collector.
 
Seulement voila, depuis quelques temps, j'ai entendu de nombreuses personnes issues de societes de service me parler 'temps reel' pour du java ou autre... En fait pour de nombreuses personnes, 'temps reel' se limite a du multithread/multiprocessus, bref des techniques de simulation de RT.
Comme pour ces personnes ca semble est une definition courrante, j'admet qu'on utilise ca aussi. En ce sens donc, Java est 'presque' temps reel. J'imagine que c'est de cette approche que EExtasEE nous parlait.
 
Maintenant, si on reste rigoureux c'est nraynaud qui avait juste...

n°999909
the real m​oins moins
Posté le 03-03-2005 à 17:41:51  profilanswer
 

:jap:
 
 
 
 

mordicator a écrit :

de nombreuses personnes issues de societes de service


ce qui aide à confirmer des généralités sur ces gens là


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°999956
slvn
Posté le 03-03-2005 à 18:17:26  profilanswer
 

mordicator a écrit :

Je me permet d'ajouter ma reponse a ce flame-thread juste pour preciser un petit point qui a mon avis est a la base de la grande incomprehension qui regne ici...
 
En fait, j'ai remarque que le terme Temps Reel n'avait pas la meme signification d'un point de vue industriel que d'un point de vue 'service'.
Je m'explique; la veritable (au sens academique) definition de RT est bien celle donnee par nraynaud, a savoir
"Dans la réalité, il faut qu'on puisse borner le temps d'exécution de chaque étape du programme par un nombre en rapprot avec ce qu'on fait dans la vraie vie"
Ce qui signifie en gros qu'il faut que l'on soit en mesure de garantir un temps de reaction a une action specifique quelque soit le contexte.
En ce sens, pour faire de la programmation temps reel, il faut imperativement un systeme d'exploitation temps reel (windows ne l'est pas, certains linux s'en approchent) et des applications concues pour.
En ce sens, le java n'est absolument pas temps reel car il est impossible de garantir le temps d'execution d'une routine et ce notament a cause de la machine virtuelle et de son garbage collector.
 
Seulement voila, depuis quelques temps, j'ai entendu de nombreuses personnes issues de societes de service me parler 'temps reel' pour du java ou autre... En fait pour de nombreuses personnes, 'temps reel' se limite a du multithread/multiprocessus, bref des techniques de simulation de RT.
Comme pour ces personnes ca semble est une definition courrante, j'admet qu'on utilise ca aussi. En ce sens donc, Java est 'presque' temps reel. J'imagine que c'est de cette approche que EExtasEE nous parlait.
 
Maintenant, si on reste rigoureux c'est nraynaud qui avait juste...


 
Point de vue industrielle, une application est temps reel quand elle garantie que tous les traitements d'entrée sont pris suffisement rapidement en compte pour avoir du sens, et que les resultats de sortie sont aussi calculés suffisament rapidement pour avoir du sens.
 
Apres, le "suffisament" est a definir suivant les contraintes du projet.
A priori on peut faire du temps reel avec Java, mais il ne faudra pas esperer pouvoir placer des contraintes tres fortes.  
 
nota: ca peut en effet dependre de la VM, et de l'algo du Garbage Collector.

n°999959
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 03-03-2005 à 18:19:13  profilanswer
 

pourquoi j'ai un drapeau bleu sur ce topic ? [:heink]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1000047
beemer
Posté le 03-03-2005 à 19:37:14  profilanswer
 

slvn a écrit :


Apres, le "suffisament" est a definir suivant les contraintes du projet.
A priori on peut faire du temps reel avec Java, mais il ne faudra pas esperer pouvoir placer des contraintes tres fortes.  
 
nota: ca peut en effet dependre de la VM, et de l'algo du Garbage Collector.

:jap:  

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  temps reel en java

 

Sujets relatifs
[Java] Envoi de mail automatique en début de mois[phpBB] probleme de temps
[deb] Probleme Java! MVC![Java] Dessin dans un buffer affiché par paint => problème RESOLU
[debutant] tableau javaJava SWT
[Brainstorming] Communication entre Programme C & Javarequête d'intervalle de temps, pb qd vient la fin du mois !
Votre avis sur mon emploi du temps dynamique et sa navigation.java & xml (parsers)
Plus de sujets relatifs à : temps reel en java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR