FORTAS : Framework for Real-Time Analysis and Simulation

Dimension: px
Commencer à balayer dès la page:

Download "FORTAS : Framework for Real-Time Analysis and Simulation"

Transcription

1 FORTAS : Framework for Real-Time Analysis and Simulation Pierre Courbin (courbin@ece.fr) LACSC - ECE Paris 12/03/2012 Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

2 Plan de la présentation 1 Introduction Pourquoi ce nouvel outil? 2 4 cas d utilisation Tester un ordonnancement Mono/Multiprocesseurs Voir/Simuler un ordonnancement Générer des tâches et des jeux de tâches Editer/Lancer des évaluations 3 Exemple : évaluer EDF Load P et DM RT P Coder EDF Load P et DM RT P dans FORTAS Définir les paramètres d évaluation Lancer l évaluation Obtenir les graphes 4 Conclusion et évolutions Questions Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

3 Plan de la présentation 1 Introduction Pourquoi ce nouvel outil? 2 4 cas d utilisation Tester un ordonnancement Mono/Multiprocesseurs Voir/Simuler un ordonnancement Générer des tâches et des jeux de tâches Editer/Lancer des évaluations 3 Exemple : évaluer EDF Load P et DM RT P Coder EDF Load P et DM RT P dans FORTAS Définir les paramètres d évaluation Lancer l évaluation Obtenir les graphes 4 Conclusion et évolutions Questions Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

4 Pourquoi ce nouvel outil? Un autre outil spécifique, inutile et complexe à utiliser? Pourquoi ce nouvel outil? Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

5 Pourquoi ce nouvel outil? Contexte Ses défauts et qualités : Pas commercial, libre et Open Source Pas parfait, ne répondant pas à tous les besoins Pas facile à utiliser Alors, pourquoi? Il n existe pas d outils permettant d automatiser l évaluation des algorithmes C est un Framework, donc dédié aux développeurs mais il propose une interface allégée Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

6 Pourquoi ce nouvel outil? Contexte Ses défauts et qualités : Pas commercial, libre et Open Source Pas parfait, ne répondant pas à tous les besoins Pas facile à utiliser Alors, pourquoi? Il n existe pas d outils permettant d automatiser l évaluation des algorithmes C est un Framework, donc dédié aux développeurs mais il propose une interface allégée Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

7 Pourquoi ce nouvel outil? Contexte Ses défauts et qualités : Pas commercial, libre et Open Source Pas parfait, ne répondant pas à tous les besoins Pas facile à utiliser Alors, pourquoi? Il n existe pas d outils permettant d automatiser l évaluation des algorithmes C est un Framework, donc dédié aux développeurs mais il propose une interface allégée Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

8 Pourquoi ce nouvel outil? Contexte Ses défauts et qualités : Pas commercial, libre et Open Source Pas parfait, ne répondant pas à tous les besoins Pas facile à utiliser Alors, pourquoi? Il n existe pas d outils permettant d automatiser l évaluation des algorithmes C est un Framework, donc dédié aux développeurs mais il propose une interface allégée Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

9 Pourquoi ce nouvel outil? Modèle basique de tâches et de processeurs Une tâche est indépendante, préemptive ou non préemptive. Elle est définie par, au moins, 3 paramètres : Son pire temps d exécution (WCET) Sa période, ou inter-arrivée (T) Sa deadline (D) Un processeur est défini par : Sa vitesse (S) Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

10 Plan de la présentation 1 Introduction Pourquoi ce nouvel outil? 2 4 cas d utilisation Tester un ordonnancement Mono/Multiprocesseurs Voir/Simuler un ordonnancement Générer des tâches et des jeux de tâches Editer/Lancer des évaluations 3 Exemple : évaluer EDF Load P et DM RT P Coder EDF Load P et DM RT P dans FORTAS Définir les paramètres d évaluation Lancer l évaluation Obtenir les graphes 4 Conclusion et évolutions Questions Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

11 Tester, Voir, Générer, Évaluer 4 cas d utilisation Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

12 Tester un ordonnancement Mono/Multiprocesseurs Mon jeu de tâches est-il ordonnançable sur cette plateforme? Tester un ordonnancement Mono/Multiprocesseurs Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

13 Tester un ordonnancement Mono/Multiprocesseurs Vous avez Un jeu de processeurs Un jeu de tâches Vous voulez Savoir si et comment ce jeu de tâches est ordonnançable sur cette plateforme Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

14 Tester un ordonnancement Mono/Multiprocesseurs Pour l ordonnancement multiprocesseurs, vous pouvez utilisez : Un ordonnancement partitionné Assigner les tâches sur les processeurs 1 problème à m processeurs devient m problèmes à 1 processeur. Un ordonnancement global Une seul file de tâches Les tâches sont autorisées à migrer entre les processeurs A ordonnancement semi-partitionné En mélange entre les méthodes partitionné et globale. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

15 Tester un ordonnancement Mono/Multiprocesseurs Pour l ordonnancement multiprocesseurs, vous pouvez utilisez : Un ordonnancement partitionné Assigner les tâches sur les processeurs 1 problème à m processeurs devient m problèmes à 1 processeur. Un ordonnancement global Une seul file de tâches Les tâches sont autorisées à migrer entre les processeurs A ordonnancement semi-partitionné En mélange entre les méthodes partitionné et globale. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

16 Tester un ordonnancement Mono/Multiprocesseurs Pour l ordonnancement multiprocesseurs, vous pouvez utilisez : Un ordonnancement partitionné Assigner les tâches sur les processeurs 1 problème à m processeurs devient m problèmes à 1 processeur. Un ordonnancement global Une seul file de tâches Les tâches sont autorisées à migrer entre les processeurs A ordonnancement semi-partitionné En mélange entre les méthodes partitionné et globale. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

17 Tester un ordonnancement Mono/Multiprocesseurs Pour l ordonnancement multiprocesseurs, vous pouvez utilisez : Un ordonnancement partitionné Assigner les tâches sur les processeurs 1 problème à m processeurs devient m problèmes à 1 processeur. Un ordonnancement global Une seul file de tâches Les tâches sont autorisées à migrer entre les processeurs A ordonnancement semi-partitionné En mélange entre les méthodes partitionné et globale. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

18 Tester un ordonnancement Mono/Multiprocesseurs Un ordonnancement partitionné : Focus sur l ordonnancement partitionné Critère de tri de tâches : les tâches sont tirée avant d être assignées sur les processeurs Heuristique de partitionnement : puisque le problème de placement est NP-Difficile, une heuristique permet de choisir sur quel processeur la tâche sera assignée. Test de faisabilité : nous avons besoin d un tester pour vérifier qu une tâche sera ordonnançable sur un processeur Ensuite, l exécution est gérée simplement par un ordonnanceur monoprocesseur. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

19 Tester un ordonnancement Mono/Multiprocesseurs Un ordonnancement partitionné : Focus sur l ordonnancement partitionné Critère de tri de tâches : les tâches sont tirée avant d être assignées sur les processeurs Heuristique de partitionnement : puisque le problème de placement est NP-Difficile, une heuristique permet de choisir sur quel processeur la tâche sera assignée. Test de faisabilité : nous avons besoin d un tester pour vérifier qu une tâche sera ordonnançable sur un processeur Ensuite, l exécution est gérée simplement par un ordonnanceur monoprocesseur. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

20 Tester un ordonnancement Mono/Multiprocesseurs Un ordonnancement partitionné : Focus sur l ordonnancement partitionné Critère de tri de tâches : les tâches sont tirée avant d être assignées sur les processeurs Heuristique de partitionnement : puisque le problème de placement est NP-Difficile, une heuristique permet de choisir sur quel processeur la tâche sera assignée. Test de faisabilité : nous avons besoin d un tester pour vérifier qu une tâche sera ordonnançable sur un processeur Ensuite, l exécution est gérée simplement par un ordonnanceur monoprocesseur. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

21 Tester un ordonnancement Mono/Multiprocesseurs Un ordonnancement partitionné : Focus sur l ordonnancement partitionné Critère de tri de tâches : les tâches sont tirée avant d être assignées sur les processeurs Heuristique de partitionnement : puisque le problème de placement est NP-Difficile, une heuristique permet de choisir sur quel processeur la tâche sera assignée. Test de faisabilité : nous avons besoin d un tester pour vérifier qu une tâche sera ordonnançable sur un processeur Ensuite, l exécution est gérée simplement par un ordonnanceur monoprocesseur. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

22 Tester un ordonnancement Mono/Multiprocesseurs Un ordonnancement partitionné : Focus sur l ordonnancement partitionné Critère de tri de tâches : les tâches sont tirée avant d être assignées sur les processeurs Heuristique de partitionnement : puisque le problème de placement est NP-Difficile, une heuristique permet de choisir sur quel processeur la tâche sera assignée. Test de faisabilité : nous avons besoin d un tester pour vérifier qu une tâche sera ordonnançable sur un processeur Ensuite, l exécution est gérée simplement par un ordonnanceur monoprocesseur. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

23 Tester un ordonnancement Mono/Multiprocesseurs Un ordonnancement partitionné : Focus sur l ordonnancement partitionné Chaque partie est définie dans des classes indépendantes et abstraites pour faciliter la modularité 15 critères de tri de tâches 4 heuristiques de partitionnement (First-Fit, Best-Fit, Worst-Fit, Next-Fit) 10 tests de faisabilité A nouveau critère/heuristique/test peut être ajouté avec un fichier d environ lignes de codes Java. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

24 Tester un ordonnancement Mono/Multiprocesseurs Exemple Création du jeu de tâches Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

25 Tester un ordonnancement Mono/Multiprocesseurs Exemple Création du jeu de processeurs Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

26 Tester un ordonnancement Mono/Multiprocesseurs Exemple Choisir un algorithme Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

27 Tester un ordonnancement Mono/Multiprocesseurs Exemple Résultats Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

28 Tester un ordonnancement Mono/Multiprocesseurs Exemple Résultats <?xml version="1.0" encoding="utf-8"?> <SystemsSets> <SystemSets name="mysystemsets"> <InfoAlgorithm algoname="dm_rt_p"> <HeuristicName value="first_fit" /> <IsSuccess value="true" type="boolean" /> <CriterionSortSetOfProcessors value="processor_none_order" type="processor_none_order" /> <CriterionSortSetOfTasks value="task_density_decreasing_order" type="task_density_decreasing_order" <TotalCPUTime value=" " type="bigdecimal" /> </InfoAlgorithm> <SetOfTasks> <Task> <Name value="t1" /> <WCET value="2" type="bigdecimal" /> <Period value="4" type="bigdecimal" /> <Deadline value="4" type="bigdecimal" /> <TaskAssignation name="p1" /> </Task> <Task> <Name value="t2" /> <WCET value="2" type="bigdecimal" /> <Period value="4" type="bigdecimal" /> <Deadline value="4" type="bigdecimal" /> <TaskAssignation name="p1" /> </Task> Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

29 Tester un ordonnancement Mono/Multiprocesseurs Exemple Résultats <Task> <Name value="t3" /> <WCET value="2" type="bigdecimal" /> <Period value="4" type="bigdecimal" /> <Deadline value="4" type="bigdecimal" /> <TaskAssignation name="p2" /> </Task> </SetOfTasks> <SetOfProcessors> <Processor> <Name value="p1" /> <ProcessorTaskAssignation> <Task name="t1" /> <Task name="t2" /> </ProcessorTaskAssignation> </Processor> <Processor> <Name value="p2" /> <ProcessorTaskAssignation> <Task name="t3" /> </ProcessorTaskAssignation> </Processor> </SetOfProcessors> </SystemSets> </SystemsSets> Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

30 Voir/Simuler un ordonnancement Et si je lance l ordonnancement, à quoi ça ressemble? Voir/Simuler un ordonnancement Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

31 Voir/Simuler un ordonnancement Exemple : A partir des résultats précédents Quelques ordonnanceurs : Famille PFair et RUN Deadline Monotonic (DM) Rate Monotonic (RM) Earliest Deadline First (EDF) Least laxity First (LLF) Chacun peut être utilisé pour un ordonnancement monoprocesseur ou global. Un nouvel ordonnanceur est un fichier d environ lignes de code. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

32 Voir/Simuler un ordonnancement Exemple : A partir des résultats précédents Quelques ordonnanceurs : Famille PFair et RUN Deadline Monotonic (DM) Rate Monotonic (RM) Earliest Deadline First (EDF) Least laxity First (LLF) Chacun peut être utilisé pour un ordonnancement monoprocesseur ou global. Un nouvel ordonnanceur est un fichier d environ lignes de code. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

33 Générer des tâches et des jeux de tâches Je prendrais jeux de tâches s il vous plaît, sur place. Générer des tâches et des jeux de tâches Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

34 Générer des tâches et des jeux de tâches Le générateur de tâche est basé sur : Un type de deadline (implicite, contrainte ou arbitraire) Une distribution de probabilité pour générer l utilisation de la tâche (uniforme etc) Un intervalle pour générer les valeurs des périodes et des deadlines Les générateur de jeux de tâches sont basés sur : Procédure UUnifast Procédure proposée par T. Baker Besoins particuliers etc Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

35 Editer/Lancer des évaluations Et sinon, cet algorithme de partitionnement, il est mieux que l autre? Editer/Lancer des évaluations Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

36 Editer/Lancer des évaluations Une évaluation est définie dans un fichier XML avec : La liste des jeux de tâches et de processeurs (ou les paramètres de génération) La liste des algorithmes à évaluer avec leurs paramètres (quelle heuristique, critère de tri etc) La liste des graphes désirés Elle est ensuite lancée en 3 étapes : 1 Générer les jeux si nécessaire 2 Tester les algorithmes sur chaque jeu et enregistrer les résultats 3 Générer les graphes demandés en fonction des résultats Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

37 Plan de la présentation 1 Introduction Pourquoi ce nouvel outil? 2 4 cas d utilisation Tester un ordonnancement Mono/Multiprocesseurs Voir/Simuler un ordonnancement Générer des tâches et des jeux de tâches Editer/Lancer des évaluations 3 Exemple : évaluer EDF Load P et DM RT P Coder EDF Load P et DM RT P dans FORTAS Définir les paramètres d évaluation Lancer l évaluation Obtenir les graphes 4 Conclusion et évolutions Questions Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

38 Comment ajouter deux algorithmes de partitionnement et les évaluer? Exemple : évaluer EDF Load P et DM RT P Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

39 Coder EDF Load P et DM RT P dans FORTAS Comment ajouter ces deux algorithmes? Coder EDF Load P et DM RT P Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

40 Coder EDF Load P et DM RT P dans FORTAS Précisions EDF Load P est basé sur le test de faisabilité calculant le Load DM RT P est basé sur le test de faisabilité calculant le pire temps de réponse de chaque tâche Ils peuvent utiliser n importe quelle heuristique, critère de tri etc. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

41 Coder EDF Load P et DM RT P dans FORTAS Code de EDF Load P public class EDF_Load_P extends Partitioning { // Default Constructor public EDF_Load_P(SystemSets systemsets) { super(systemsets); } // Specific Constructor public EDF_Load_P(SystemSets systemsets, ListOfParameters listofparameters) { super(systemsets, listofparameters); protected void definedefaultschedulername() { this.putparameter("defaultschedulername",scheduler.scheduleredf.class.getsimplename()); } Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

42 Coder EDF Load P et DM RT P dans FORTAS Code de EDF Load public boolean criterionontask(processor p, Task t) { boolean retour; // Get a copy of the set of tasks assigned to p and add the new task SetOfTasks setoftaskstemp = new SetOfTasks(p.getProcessorTaskAssignation().getAssignedSetOf setoftaskstemp.addtask(t); ListOfParametersReal listofparameterslocal = new ListOfParametersReal(); listofparameterslocal.putparameterasvalue("speed",p.getparameterasbigdecimal("speed")); listofparameterslocal.putparameterasvalue("delta",p.getparameterasbigdecimal("delta")); // Test if the new set of tasks, assigned to p, respect the Load <= 1 if (setoftaskstemp.getvalueoffunctionasbigdecimal( EDF_Preemptif_Load.class, listofparameterslocal).compareto( BigDecimal.ONE) > 0) { retour = false; } else { retour = true; } } return retour; Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

43 Coder EDF Load P et DM RT P dans FORTAS Code de EDF Load public BigDecimal criteriononset(processor p, Task t) { // Available Load ListOfParametersReal listofparameterslocal = new ListOfParametersReal(); listofparameterslocal.putparameterasvalue("speed",p.getparameterasbigdecimal("speed")); listofparameterslocal.putparameterasvalue("delta",p.getparameterasbigdecimal("delta")); // Get a copy of the set of tasks assigned to p and add the new task SetOfTasks setoftaskstemp = new SetOfTasks(p.getProcessorTaskAssignation().getAssignedSetOf setoftaskstemp.addtask(t); } } // Return 1-Load considering the new set of tasks return BigDecimal.ONE.subtract(setOfTasksTemp.getValueOfFunctionAsBigDecimal(EDF_Preemptif_Load.class,listOfParametersLoca Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

44 Coder EDF Load P et DM RT P dans FORTAS Code de DM RT P Exactement le même sauf pour : criterionontask qui utilise le calcul du pire temps de réponse. C est tout. Maintenant on peut tester : EDF Load P et DM RT P avec les heuristiques de placement FIRST-FIT, NEXT-FIT, BEST-FIT ou WORST-FIT, et n importe quel critère de tri de tâches et de processeurs. Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

45 Définir les paramètres d évaluation Que va-t-on évaluer? Définir les paramètres d évaluation Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

46 Définir les paramètres d évaluation Définir les paramètres d évaluation <?xml version="1.0" encoding="utf-8"?> <Evaluation name="testevalactriss"> // Define sets with generation parameters and paths <EvaluationSetOfProcessors name="mysetof4processors" autopath="true" path="./setofprocessors/" filename="setofprocessors.xml" nbprocessors="4" type="homogeneous" /> <EvaluationSetOfTasks name="mysetoftasks" autopath="true" path="./setoftasks/" filename="setoftasks.xml" deadline="implicit" distribution="uniform" number="1000" nbmintasks="5" maxutask="1" minu="2" maxu="4" precision="1" taskactivationname="taskactivationperiodic" /> Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

47 Définir les paramètres d évaluation Définir les paramètres d évaluation // Define the algorithms and their parameters <EvaluationAlgorithm name="4_edfpartitionned" algoname="edf_load_p" path="./results/" filename="results. <Heuristic>NEXT_FIT</Heuristic> <Heuristic>FIRST_FIT</Heuristic> <CriterionSortSetOfProcessors>PROCESSOR_NONE_ORDER</CriterionSortSetOfProcessors> <CriterionSortSetOfTasks>TASK_DENSITY_DECREASING_ORDER</CriterionSortSetOfTasks> <EvaluationSetOfTasks>MySetOfTasks</EvaluationSetOfTasks> <EvaluationSetOfProcessors>MySetOf4Processors</EvaluationSetOfProcessors> </EvaluationAlgorithm> <EvaluationAlgorithm name="4_dmpartitionned" algoname="dm_rt_p" path="./results/" filename="results.xml" <Heuristic>NEXT_FIT</Heuristic> <Heuristic>FIRST_FIT</Heuristic> <CriterionSortSetOfProcessors>PROCESSOR_NONE_ORDER</CriterionSortSetOfProcessors> <CriterionSortSetOfTasks>TASK_DENSITY_DECREASING_ORDER</CriterionSortSetOfTasks> <EvaluationSetOfTasks>MySetOfTasks</EvaluationSetOfTasks> <EvaluationSetOfProcessors>MySetOf4Processors</EvaluationSetOfProcessors> </EvaluationAlgorithm> Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

48 Définir les paramètres d évaluation Définir les paramètres d évaluation <Graphs path="./graphs/"> <Graph name="mygraph" Scale="1"> <GetValueX name="getutilizationvalue" /> <GetValueY name="getsuccessvalue" /> <GetCurveName name="getalgorithmcurvename" /> <Filters> <Filter name="statisticsheuristicfilter"> <ToKeep>FIRST_FIT</ToKeep> </Filter> <Filter name="statisticsalgorithmfilter"> <ToKeep>EDF_Load_P</ToKeep> <ToKeep>DM_RT_P</ToKeep> </Filter> </Filters> </Graph> </Graphs> </Evaluation> Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

49 Lancer l évaluation Il ne reste plus qu à attendre? Lancer l évaluation Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

50 Lancer l évaluation Lancer l évaluation Des lignes de commandes sont disponibles pour : Générer automatiquement les jeux de tâches Tester automatiquement les algorithmes avec toutes les combinaisons de paramètres Générer automatiquement les valeurs pour les graphes à partir des résultats Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

51 Obtenir les graphes Et les résultats? Obtenir les graphes Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

52 Obtenir les graphes Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

53 Plan de la présentation 1 Introduction Pourquoi ce nouvel outil? 2 4 cas d utilisation Tester un ordonnancement Mono/Multiprocesseurs Voir/Simuler un ordonnancement Générer des tâches et des jeux de tâches Editer/Lancer des évaluations 3 Exemple : évaluer EDF Load P et DM RT P Coder EDF Load P et DM RT P dans FORTAS Définir les paramètres d évaluation Lancer l évaluation Obtenir les graphes 4 Conclusion et évolutions Questions Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

54 C est pas trop mal, mais il y a encore du boulot! Conclusion et évolutions Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

55 FORTAS est donc un framework orienté vers la modularité et permettant de faire, au moins, ce que tout ingénieur veut faire : Obtenir beaucoup sans en faire trop. Évolutions Améliorer la modularité Améliorer la gestion de modèles de tâches et processeurs différents : Modèle probabiliste Modèle de tâches parallèles Modèle de messages réseau à la place des tâches etc Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

56 FORTAS est donc un framework orienté vers la modularité et permettant de faire, au moins, ce que tout ingénieur veut faire : Obtenir beaucoup sans en faire trop. Évolutions Améliorer la modularité Améliorer la gestion de modèles de tâches et processeurs différents : Modèle probabiliste Modèle de tâches parallèles Modèle de messages réseau à la place des tâches etc Pierre Courbin (courbin@ece.fr) FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

57 Questions Pierre Courbin FORTAS : Framework for Real-Time Analysis and Simulation 12/03/ / 45

Ordonnancement temps réel

Ordonnancement temps réel Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches

Plus en détail

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement Master 2 pro Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement Isabelle PUAUT / Rémi COZOT Université de Rennes I 1 Applications temps-réel embarquées Systèmes en interaction avec l

Plus en détail

Equilibrage de charge (Load

Equilibrage de charge (Load Equilibrage de charge (Load balancing) dans les MPSoCs Présenté Le : 02 Décembre 2013 Par : A. AROUI Encadreur : A.E. BENYAMINA 01/12/2013 1 Problématique Comportement dynamique des applications et la

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

Ordonnancement des applications temps réel réparties

Ordonnancement des applications temps réel réparties Ordonnancement des applications temps réel réparties Frank Singhoff Bureau C-203 Université de Brest, France LISyC/EA 3883 singhoff@univ-brest.fr UE systèmes temps réel, Université de Brest Page 1/100

Plus en détail

Un ordonnanceur stupide

Un ordonnanceur stupide Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Analyse du temps de réponse des systèmes temps réel

Analyse du temps de réponse des systèmes temps réel Analyse du temps de réponse des systèmes temps réel Pascal Richard Laboratoire d Informatique Scientifique et Industrielle, ENSMA BP 40198 Téléport 2 F-86960 Futuroscope pascal.richard@ensma.fr RÉSUMÉ.

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

Problèmes liés à la concurrence

Problèmes liés à la concurrence ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

Plus en détail

2. Comprendre les définitions de classes

2. Comprendre les définitions de classes Conception objet en Java avec BlueJ une approche interactive 2. Comprendre les définitions de classes Analyser le contenu des classes David J. Barnes, Michael Kölling version française: Patrice Moreaux

Plus en détail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

Systèmes et exécutifs temps-réel

Systèmes et exécutifs temps-réel Systèmes et exécutifs temps-réel Licence professionnelle «Systèmes embarqués dans l automobile» Isabelle PUAUT (Cours + TD) Jean-François DEVERGE et Christophe Pais (TP) 1 Applications temps-réel Systèmes

Plus en détail

MEAD : temps réel et tolérance aux pannes pour CORBA

MEAD : temps réel et tolérance aux pannes pour CORBA MEAD : un intergiciel temps-réel et tolérant aux pannes pour CORBA Master 2 Informatique Recherche Université de Marne-la-Vallée Vendredi 3 mars 2006 Plan 1 Introduction 2 Solutions existantes 3 Concilier

Plus en détail

Corrigé des exercices sur les références

Corrigé des exercices sur les références Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

Plus en détail

Cours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads)

Cours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads) Cours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads) Concurrence entre processus & Problème d Exclusion Mutuelle 1. Introduction 2. Solutions avec attente active, dites Sans Arbitrage

Plus en détail

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

Programmation Par Objets

Programmation Par Objets Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Ordonnancement avec contraintes de précédance Problèmatique des accès concurents Problème liés aux partage de ressources Solutions utres

Plus en détail

Package Java.util Classe générique

Package Java.util Classe générique Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object

Plus en détail

Composants Logiciels. Le modèle de composant de CORBA. Plan

Composants Logiciels. Le modèle de composant de CORBA. Plan Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA

Plus en détail

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1 SysCom - CReSTIC Université de Reims 17/02/2011 1 Motivation Gestion des expérimentations Avec les workflows Simulation Simulation des Systèmes Distribués ANR USS SimGrid Campagne de Test et gestion de

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend

Plus en détail

Introduction au temps réel

Introduction au temps réel Introduction au temps réel Laurent.Pautet@enst.fr Version 2.0 Définition d un système temps réel Un système temps réel se compose d'un ou plusieurs sous-systèmes devant répondre en un temps fini et spécifié

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry. : Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

WebParts. Version 1.0

WebParts. Version 1.0 WebParts Version 1.0 Z 2 WebPart 06/05/09 Sommaire 1 Introduction... 3 2 Le développement d une WebPart... 4 2.1 Les outils de développement... 4 2.2 WebPart Page... 4 2.3 Création d une WebPart... 4 3

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30 Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Java Licence Professionnelle CISII, 2009-2010

Java Licence Professionnelle CISII, 2009-2010 Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :

Plus en détail

Threads. Threads. USTL http://www.lifl.fr/ routier 1

Threads. Threads. USTL http://www.lifl.fr/ routier 1 Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION. laurent.renault@u-picardie.fr

REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION. laurent.renault@u-picardie.fr REMBO Version 2.0 Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION Description Successeur de BPBatch 3 déclinaisons Rembo Auto Deploy (déploiement massif de clients) Rembo Auto Backup (restauration

Plus en détail

DG-ADAJ: Une plateforme Desktop Grid

DG-ADAJ: Une plateforme Desktop Grid DG-ADAJ: Une plateforme pour Desktop Grid Olejnik Richard, Bernard Toursel Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Bât M3

Plus en détail

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement Bernard Fortz 2008-2009 Table des matières 1 Définition et classification des problèmes d ordonnancement 2 1.1 Introduction....................................

Plus en détail

Design patterns. Design patterns - définition. Design patterns - avantages

Design patterns. Design patterns - définition. Design patterns - avantages Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

1 Mesure de la performance d un système temps réel : la gigue

1 Mesure de la performance d un système temps réel : la gigue TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Ordonnancement temps réel et minimisation de la consommation d énergie

Ordonnancement temps réel et minimisation de la consommation d énergie Chapitre 4 Ordonnancement temps réel et minimisation de la consommation d énergie 4.1. Introduction La consommation en énergie est devenue un problème crucial dans la conception des équipements électroniques

Plus en détail

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009 SugarCubes Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués Paris, le 9 janvier, 2009 Plan 2 Les SugarCubes au dessus de J2ME Quelques résultats expérimentaux Les

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de

Plus en détail

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Machines virtuelles fonctionnelles (suite) Compilation ML Java Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles

Plus en détail

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13 Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL i LE TEMPS RÉEL 1. PRÉSENTATION DU TEMPS RÉEL 1.1. APPLICATIONS TEMPS RÉEL 1.2. CONTRAINTES DE TEMPS RÉEL 2. STRUCTURES D'ACCUEIL POUR LE TEMPS RÉEL 2.1. EXÉCUTIFS TEMPS RÉEL 2.2. RÉSEAUX LOCAUX TEMPS

Plus en détail

Création d objet imbriqué sous PowerShell.

Création d objet imbriqué sous PowerShell. Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.

Plus en détail

Paginer les données côté serveur, mettre en cache côté client

Paginer les données côté serveur, mettre en cache côté client Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule

Plus en détail

Impact de choix d implantation sur les performances d une application de Contrôle-Commande

Impact de choix d implantation sur les performances d une application de Contrôle-Commande Recherche Impact de choix d implantation sur les performances d une application de Contrôle-Commande Fabrice Jumel Nicolas Navet Françoise Simonot-Lion CITI - INSA 20, Avenue Albert Einstein, F6962 Villeurbanne

Plus en détail

.NET - Classe de Log

.NET - Classe de Log .NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 M. Corinthios et Zaher Dannawi 29 août 2007 2 Tables des

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Certificat Big Data - Master MAthématiques

Certificat Big Data - Master MAthématiques 1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia

Plus en détail

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Gabriel Antoine Louis Paillard Ce travail a eu le soutien de la CAPES, agence brésilienne pour

Plus en détail

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université Systèmes d Exploitation - ENSIN6U3 Gestion de la mémoire Leonardo Brenner 1 Jean-Luc Massat 2 1 Leonardo.Brenner@univ-amu.fr 2 Jean-Luc.Massat@univ-amu.fr Aix-Marseille Université Faculté des Sciences

Plus en détail

Web : Stockage de mot de passe LOG619 Automne 2011 Olivier Bilodeau

Web : Stockage de mot de passe LOG619 Automne 2011 Olivier Bilodeau Web : Stockage de mot de passe LOG619 Automne 2011 Olivier Bilodeau 1 Plan Historique du Web Problème du stockage de mots de passe La menace Le craquage de mots de passes Évolution d'une solution et ses

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Sommaire Généralités Caractéristiques récurrentes des STR Types de problèmes soulevées Programmation des STR Prog. concurrente

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Programmation avec des objets : Cours 7. Menu du jour

Programmation avec des objets : Cours 7. Menu du jour 1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes

Plus en détail

Exercices sur les interfaces

Exercices sur les interfaces Exercices sur les interfaces Fabrice Rossi 18 octobre 1999 1 Le type Object 1.1 Manipulations élémentaires Exercice 1.1 : Indiquer l affichage produit par le programme suivant : public class UpCast1 {

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Catalogue des stages Ercom 2013

Catalogue des stages Ercom 2013 Catalogue des stages Ercom 2013 Optimisations sur Modem LTE Poste basé à : Caen (14) Analyse et optimisation des performances des traitements réalisés dans un modem LTE. - Profiling et détermination des

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Introduction : les processus. Introduction : les threads. Plan

Introduction : les processus. Introduction : les threads. Plan IN328 Programmation distribuée avec Java et J2EE 2 - Threads en Java Introduction : les processus Un processus est un ensemble d instructions à exécuter, un espace mémoire réservé et éventuellement d autres

Plus en détail

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011 Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

Synchro et Threads Java TM

Synchro et Threads Java TM Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr Module BDWEB Maîtrise d informatique Cours 9 - Xquery Anne Doucet anne.doucet@lip6.fr 1 Langages de requêtes XML Concepts des langages de requêtes XML motivations caractéristiques Navigation dans les documents

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr

Introduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Article 2 : Conseils et meilleures pratiques pour gérer un cloud privé

Article 2 : Conseils et meilleures pratiques pour gérer un cloud privé Article 2 : Conseils et meilleures pratiques pour gérer un cloud privé Sponsored by Mentions relatives aux droits d'auteur 2011 Realtime Publishers. Tous droits réservés. Ce site contient des supports

Plus en détail

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives Hadoop, Spark & Big Data 2.0 Exploiter une grappe de calcul pour des problème des données massives Qui suis-je? Félix-Antoine Fortin Génie info. (B. Ing, M. Sc, ~PhD) Passionné de Python, Data Analytics,

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail