1 / 19

Contexte des travaux

Contexte des travaux. SYSTEM@TIC Usine Logicielle OpenDevFactory PC_xUML. Contexte des travaux. THeSys http://thesys.eu.org. Systèmes hétérogènes. À base de composant (au sens large) assemblage de briques de bases Implantation hétérogène briques de natures différentes

ion
Download Presentation

Contexte des travaux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Contexte des travaux SYSTEM@TIC Usine Logicielle OpenDevFactory PC_xUML CEA -LIST – 23 mars 2007

  2. Contexte des travaux THeSys http://thesys.eu.org CEA -LIST – 23 mars 2007

  3. Systèmes hétérogènes • À base de composant (au sens large) assemblage de briques de bases • Implantation hétérogène briques de natures différentes • Logiciel (différents paradigmes et langages) • Matériel • Mécanique • Modélisation hétérogène Modèles des briques décrits en différents langages • Prendre en compte l’hétérogénéité réelle • Réutiliser des modèles existants CEA -LIST – 23 mars 2007

  4. Implantation hétérogène Pilotage LOGICIEL interface MATERIEL Capteur Vitesse freinage MECANIQUE Pédale accélérateur frein Régulateur de vitesse CEA -LIST – 23 mars 2007

  5. Modélisation hétérogène Langages d’UML VHDL Discret Event Matlab Continuous Time Model Régulateur de vitesse CEA -LIST – 23 mars 2007

  6. Glue • Recoller des traces = • Échanger des valeurs • Synchroniser des temps • En définissant : • Ressources d’exécution • Politique d’exécution : • Concurrence à implémenter (synchrone, asynchrone, parallèle séquentielle…) • ordonnancement CEA -LIST – 23 mars 2007

  7. Objectifs de nos travaux • Définir un langage pour décrire des glues : • Fonctionnelles (modèle de calcul) • Exécutables (modèle d’exécution) • Raisonner sur leurs cycles de développement : • Raffinement • Le test • La preuve Définir un cadre formel (outil indépendant) dédié CEA -LIST – 23 mars 2007

  8. Intégration des travaux • IDM : • décrire formellement la partie comportementale de modèles UML • Intégration dans Accord|UML • VDM : • Test, Model-checking, preuve, simulation, méthodologies • Plateforme AGATHA comme moteur d’exécution CEA -LIST – 23 mars 2007

  9. LEM Langage d’Expression de Modèle d’exécution Langage de recollement de composants hétérogènes • Composant  caractérisé par l’ensemble de ses exécutions observables • Colle  définition des exécutions du système en fonction de celles de ses composants CEA -LIST – 23 mars 2007

  10. Exemple LEM : la Direction d’un Fast food CLIENT !x ?x COMPTOIR ?y !y CUISINE !t ?t ?z !z CEA -LIST – 23 mars 2007

  11. [I1] [I2] [I3] Tout est EMT ! actions Glue EMT Name Interface Embedded EMT Ports Time { Actions } Name Ports Composants CEA -LIST – 23 mars 2007

  12. Exemple LEM : programmer les interactions EMT Direction (EMT{?x,!y,?t,!z} Comp, {!x,?y} Cli, {!t,?z} Cui) time (real, triggering) timer real timer_1 { when( !x = something ) {reset timer_1 } {!x  ?x} ; { when( !y = something and timer_1 ≤ T ) { !y  ?y } |w| when( !y = something and timer_1 > T ) {ε} |w| when( !z = something ) { !z  ?z } |w| when( !t = something ) { !t  ?t } } } !x ?x COMPTOIR CLIENT ?y !y !t ?t CUISINE ?z !z CEA -LIST – 23 mars 2007

  13. SÉMANTIQUE :COMPOSANT arbre GLUE Transformateur d’arbres ||Ci|| TreeInt(EMT Ci) ||Glue|| : TreeInt(EMT C1) …  TreeInt(EMT Cn)TreeInt(EMT Glue) donc ||Direction|| (||Comp ||,||Cli ||, ||Cui||)  TreeInt(EMT Direction) CEA -LIST – 23 mars 2007

  14. = , , !x !x ?x ?x ?x ?x ?x ?x CLIENT !x !x ?y ?y !y !y !y !y !y !y !t !t CUISINE CLIENT COMPTOIR ?y ?y ?z ?z COMPTOIR ?t ?t ?t ?t !z !z !z !z !t !t ?t ?t CUISINE ?z ?z !z !z Direction Comptoir Client Cuisine Fast food ||Direction|| (||Comp ||,||Cli ||, ||Cui||)  TreeInt(EMT Direction) CEA -LIST – 23 mars 2007

  15. Σ0Fast food !x = something reset Direction.timer !x  ?x Σ1Fast food Fast food Les états des machines LEM : des snapshots ||Direction|| (||Comp ||, ||Cli ||, ||Cui||) CEA -LIST – 23 mars 2007

  16. Les états des machines LEM : des snapshots Σ0Fast food = (σ0Direction, τ0Direction,{Σ0Comptoir,Σ0Client, Σ0Cuisne}) !x = (x0, )?x = (, ) !y = (, ) ?y = (, ) !z = (, ) ?z = (, ) !t = (, ) ?t = (, ) état temporel enregistrement avec σ0= (σ0 = σ0Direction  σ0Comptoir  σ0Client σ0Cuisine) Σ0Fast food snapshot Direction.time0 Direction.timer0 τ0Direction = !x = something reset Direction.timer !x  ?x Σ1Fast food = (σ1Direction, τ1Direction,{Σ1Comptoir,Σ1Client, Σ1Cuisne}) !x = (x0, ) ?x = (,{(S,!x)}) !y = (, ) ?y = (, ) !z = (, ) ?z = (, ) !t = (, ) ?t = (, ) Σ1Fast food avec σ1= (σ1 = σ1Direction  σ1Comptoir  σ1Client σ1Cuisine) avecDirection.timer1= 0et Direction.time1 System.time0 Direction.time1 Direction.timer1 τ1Direction = Fast food CEA -LIST – 23 mars 2007

  17. Etat de l’art LEM • BIP : langage d’interactions (behavior/interaction/priority), interfaces des composants modélisées par des automates, traitement faible du temps • Ptolemy II : pas formel (codé en Java), hétérogène/hiérarchique • CommUnity : formel (th. des catégories), pas de temps mais causalité (pre/post) • Tag value : modèle purement sémantique, pas de langage associé • Kermeta : MOF + primitives, UML (non formel) CEA -LIST – 23 mars 2007

  18. Questions ? CEA -LIST – 23 mars 2007

More Related