1 / 30

Sébastien Gérard Sebastien.Gerard@cea.fr 00 33 (0)1 69 08 90 57

Sébastien Gérard Sebastien.Gerard@cea.fr 00 33 (0)1 69 08 90 57 Directeur de Thèse : François Terrier. profil UML pour les systèmes embarqués de l’automobile. Contexte et besoins Contraintes imposées par le partenaire industriel Choix définissant le cadre de travail

niabi
Download Presentation

Sébastien Gérard Sebastien.Gerard@cea.fr 00 33 (0)1 69 08 90 57

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. Sébastien Gérard Sebastien.Gerard@cea.fr 00 33 (0)1 69 08 90 57 Directeur de Thèse : François Terrier profil UML pour les systèmes embarqués de l’automobile

  2. Contexte et besoins Contraintes imposées par le partenaire industriel Choix définissant le cadre de travail Présentation de la notion de profil UML Le profil ACCORD/UML Plan de la présentation

  3. Le système que nous voulons construire doit …. Spécification Produit Donneur d’ordre Fournisseurs Contexte de travail avec PSA ? Automobile : Électricité et électronique 1993 : 12% 2005 : 25%

  4. Mobilité Sécurité Confort Traction Passive Commandes Contrôle moteur Transmission Système d'airbags Prétensionneurs Equipements Véhicule Tenue de route Active Communication Instruments Audio, Téléphone Aide à la navigation Suspension Contrôle de stabilité Freinage Anticollision Direction Intrusions Environnement Direction assistée Condamnations Climatisation Bruit Quelques fonctions pilotées

  5. Capteurs -Partage d'informations -Interactions -Concurrence... ECM BVA BSI Passerelle ABS/CDS SUSP Capteurs Complexité des systèmes

  6. Exprimer des besoins non-ambigus Compréhension entre donneur d ’ordre et fournisseurs Maîtriser toute la chaîne de développement Spécification du système Implémentation sur cibles embarquées Validation des modèles produits Définition des besoins et objectifs • Diminuer les erreurs (ou oublis) • Évaluer les coûts de réalisation • Évaluer les coûts de modification

  7. Contexte et besoins Contraintes imposées par le partenaire industriel Choix définissant le cadre de travail Présentation de la notion de profil UML Définition des extensions de UML Organisation de ces extensions Le profil ACCORD/UML Plan de la présentation

  8. Stéréotypes (Stereotype) Mécanismes d’extension de UML • Ajout indirect d’éléments au méta-modèle • « thread » ou « process » sur Classifier • Valeurs marquées (Tagged value) • Ajout de propriétés à une méta classe • {documentation = “ … ” } sur Element • Contraintes (Constraint) • Ajout ou modification de « Well-Formedness Rules » • {destroyed}, {new} ou {transient} sur Instance Besoin de structuration  notion de profil dans UML 1.3

  9. Objectif Un profil peut contenir… les éléments sélectionnés du méta modèle référence, des mécanismes d’extension (ajouts ou spécialisations), des descriptions sémantiques du profil, des notations supplémentaires, des règles de transformation, de validation ou de présentation. Système e.g.: Mr Dupont Mr Dupont « conducteur » ? e.g.: Train Circuit Control Définition d’un profil UML Méta classes fondamentales sur lesquelles repose le profil Spécialiser un méta modèle standard (comme UML) servant de référence en un méta modèle spécifique dédié à un domaine d’application particulier. Stéréotypes, tagged values et contraintes introduits dans le profil « Semantics Variation Points » et ambiguïtés sémantiques de UML

  10. instanceDe Méta Méta Modèle (M3) Méta Méta Modèle (M3) instanceDe MOF MOF Entité instanceDe instanceDe Méta Modèle (M2) Méta Modèle (M2) Classe UML UML Autres standards Autres standards . . . . . . instanceDe instanceDe Voiture Modèle (M1) Modèle (M1) instanceDe instanceDe Objets (M0) Objets (M0) Un modèle à quatre couches une106

  11. MOF . . . UML SPE . . . Real Time ActionLanguage Profils standard (M2) Profils spécifiques utilisateur (M2) Modèle (M1) Objets (M0) Organisation de UML Méta Méta Modèle (M3) Méta Modèle (M2) ACCORD/UML

  12. Exemples issus du profil ACCORD/UML • Règles de présentation • Choix des diagrammes utilisés dans le contexte du processus de développement ACCORD/UML • Extensions introduites • Le stéréotype « Real Time Object » • La valeur marquée {RTC=(dl(x,ms), …)} • Le concept de Signal • Aspects sémantiques • Notations spécifiques introduites • Génération automatique d’un patron de conception • Génération automatique du code temps-réel

  13. Système Système Analyse préliminaire Besoins Cas d’utilisation Dictionnaire Système Analyse détaillée Train Circuit Control Diagrammes de classe Diagrammes de séquence Statecharts Prototype Train Circuit Control Diagrammes de classe Diagrammes de séquence Statecharts Processus de développement de ACCORD/UML

  14. Messages methode_1 • Caractéristiques principales de l’objet actif de UML • « mono thread » • comportement  ? La notion d’objet actif de UML anActiveObject ? ? ? ? ? Code Méthode Attributs Messages

  15. aRealTimeObject Message processing &attribute access control Messages Interface externe methode_1 methode_1 m e t h o de_1 m e t h o de_2 . . . Code Méthode Attributs methode_2 Messages « Real-Time objects » • Différences majeures avec l’objet actif de UML • « multi threadé » et « temps-réel » • comportement clairement et complètement défini

  16. Définition Un message = une action + un événement Appel d’opération (CallAction + CallEvent)  Communication synchrone ou asynchrone de type point à point Un signal (SendAction + SignalEvent)  Communication asynchrone, … Le concept de message de UML Un message définit une communication particulière entre deux instances participant à la réalisation d’une tâche précise. ?

  17. Les signaux dans ACCORD/UML • Communication de type diffusion • diffusés à tous les objets déclarés sensibles • envoi è destinataire inconnu • réception è émetteur inconnu • La réaction à un signal = exécution d’une méthode • Peut posséder une contrainte de temps • à l’émission è TV {RTF} sur l’action générant le signal • à la réception è TV {RTF} sur un événement Real Time Feature: {RTF = (dl(xxx, ms), rd(xxx, ms), p(xxx, ms), nbPeriod(xxx), endOfPeriod, outOfTime)}

  18. ? Ajout de « Well-Formedness Rules » SignalEvent [1]Un événement signal ne possède que des paramètres en entrée. self.parameter forAll ( p | p.kind = # in) [2] Un événement de type signal possède autant de paramètre que le signal lui même possède d’attributs. self.parameter  size = self.signal.allAttributes size

  19. :Regulator OffCar OffCar OffCar Regulator CarStarter :CarStarter OffCar {RTC=(dl(100, ms)} /sendOffCar() {RTC=(dl(100, ms)} Etat1 Etat2 Spécialisation de la notation pour les signaux

  20. Contexte et besoins Présentation de la notion de profil UML Le profil ACCORD/UML Aspects liés à la modélisation Transformation automatique de modèle Génération automatique de code Plan de la présentation

  21. CarStarter <<signal>> <<signal>> OffCar OffCar OffCar Regulator + Recepteur () + ~Recepteur () + handleSignals() CarStarter OffCar Regulator - sendSignal() Transformation de modèle, pattern des signaux _OffCar « derive » + _Signal() + addToListOfTarget () + removeFromListOfTarget () + broadcast() Target {isAbstarct = true} listOfTargets handleSignals() + 0..* «use» «use»

  22. create() :Regulator _OffCar addToListOfTargets(this) delete() removeFromListOfTargets(this) :Regulator :Target sendOffCar() create() :_OffCar handleSignals(sig) i=1..listOfTargets.size delete() Dynamique du pattern des signaux

  23. Passage du modèle à sa mise en œuvre multitâche Regulateur calculer acquérir loiDeReg Vitesse Modèles Génération automatique du code Temps-Réel calculer acquerir Exécution

  24. Regulateur maintenir «RTO» Regulateur maintenirtacheMaintenir Lock createtakerelease Compteur acquerir «RTO» Task createstart Regulateur maintenir «thread» «thread» Compteur acquerirtacheAcquerir Compteur acquerir InterfaceBoutonMA emettreAppuiBoutonMA «RTO» InterfaceBoutonMA emettreAppuiBoutonMAtacheEmettreAppuiBoutonMA InterfaceBoutonMA gererAppuiBoutonMA «thread» Signal ReplyBox MailBox Un même modèle pour plusieurs implantations TR Real-Time Objects Multitasking Loop Main Specific Code Generation ACCORD Virtual Machine ACCORD Kernel

  25. Class PanneauAffichage { public : PortPA *portPA; void InitAffichage(EI infoEI) { //### code user for InitAffichage ### majInfoInitVitesse(infoEI.vit) ; majInfoInitSyst(infoEI.syst); //############# end ############# } }; Description du modèle utilisateur «RealTimeObjects» PanneauAffichage «PublicWriter» InitAffichage(<infoEI) 1-1 portPA PortPA OnOff / InitAffichage(dl=50ms) horsLigne enLigne

  26. Class PanneauAffichage : public RTO { public : void initAffichage(RTC c, EI infoEI) { Request r (iniTask_initAffichage, this, c); r << pos; allocateTask( r); } void iniTask_initAffichage (Request *pr) { PanneauAffichage *this = pr->This; control(pr); int arg; (*pr) >> arg; codeTask_InitAffichage(arg);} void codeTask_initAffichage(EI infoEI) { majInfoInitTrain(infoEI.train) ; majInfoInitSyst(infoEI.syst);} «RealTimeObjects» PanneauAffichage «PublicWriter» intiAffichage(<pos) Génération automatique du code temps-réel  1/2

  27. void handleSignal (OnOff &ev) { if (state == horsLigne) { RTC c (50); InitAffichage( c, ev.infoEI);} } }; Génération automatique du code temps-réel 2/2 horsLigne OnOff / InitAffichage(dl=50ms) enLigne

  28. Guider Contrôler le développement des modèles Automatiser Amélioration de la maîtrise de développement d’un produit Gain en qualité, sûreté et en fiabilité des produits issus d’un tel développement Intérêt de cette démarche par profil UML

  29. Rédaction d’un profil UML pour le développement de systèmes temps-réel embarqués dans le domaine automobile Thèse Projet européen WOODDES CEA, PSA, IntraCom, MECEL, I-Logix, Verilog, UPSALA et OFFIS Travaux sur la validation des modèles issus de ce profil Génération automatique de tests Travaux en cours…

  30. Modèle ACCORD/UML Modèle Statemate reformulation Train  Circuit Agatha Produit  (Vit < 100 )  ( dist < 200) (Reg = true)  (Vit  50) … J1 = (Vit=120, dist=150) J2 = (Reg=true, Vit=55) … Control Environnement ACCORD/UML Tests

More Related