47
[email protected] Département Informatique INSA de Lyon SA-RT Structured Analysis for Real-Time Jean-Philippe Babau Département Informatique INSA Lyon [email protected] Département Informatique INSA de Lyon

sart

  • Upload
    android

  • View
    218

  • Download
    3

Embed Size (px)

DESCRIPTION

la méthode sart

Citation preview

[email protected] Informatique INSA de LyonSA-RTStructured Analysis for Real-TimeJean-Philippe BabauDpartement InformatiqueINSA [email protected] Informatique INSA de [email protected] Informatique INSA de LyonSA-RT historiqueSADTStructured Analysis Design Technics(D.T. Ross 1976)Structured Analysis(Yourdon/Demarco 1979)Structured Analysis for Real Time(Ward/Mellor, 1985) (Hatley/Pirbhai,1986)SASARTSpcification dynamique de logicielSpcification statique de logicielSpcification de systme Stratgies de spcification des systmes temps rel : SART D.J. Hatley, I.A. Pirbhai. [email protected] Informatique INSA de Lyon Document complet et lisible de descriptions des besoins Outil de communication formalisme graphique client - concepteur concepteurs Expression des besoins fonctionnel vnementiel /ractif donnes architecture matrielle Vrification cohrence simulationSA-RT [email protected] Informatique INSA de Lyon Description de lenvironnement : diagramme de contexte Bords Information changes : donnes et vnements Spcification des transformations de donnes : analyse SA Aspect fonctionnel flot de donnes processus de transformation de donnes Dcomposition arborescente Processus composites Feuille : spcification des processus primitifs Description prcise des donnes manipules Dictionnaire de donnesPrincipes de SA-RT [email protected] Informatique INSA de Lyon Description de laspect ractif : analyse RT mise en vidence des vnements dfinition de la logique de contrle : processus de contrle un vnement est associ un changement dtat et une ou plusieurs actions : diagramme tat-transition Description de larchitecture matrielle dfinition des machines et canaux de communicationPrincipes de [email protected] Informatique INSA de LyonPlan Diagramme de contexte Analyse SA Analyse RT Mthodologie Architecture matrielle [email protected] Informatique INSA de Lyon But identifier les lments qui communiquent avec le systme dfinir la liste des entres/sorties du systme Elments reprsents bords donnes et vnements utiles changs entre chaque bord et le systme un processus de transformation de donne Diagramme de contextebordfairedonnevnementdonnevnementbordjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDiagramme de contexte : exempleAfficherclaviersourisecranmessagecaractredouble-clicjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de Lyon Dispositif ou priphrique Lecteur Code Barre, GPS, etc. Capteur de position, capteur de temprature, etc. Moteur lectrique, vrin, etc. lment de lIHM Clavier, cran, souris, joystick Boutons Equipement physique Bras de robot, convoyeur, ABS, TV, etc. Machine serveur, superviseur, console oprateur, etc.Type de [email protected] Informatique INSA de Lyon Description prcise de ou des entits modlises Ne pas dcrire dans un bord Les donnes/vnements fournies ou reues Le rle de lapplication viter les verbes Ne pas confondre bords et vue du bord au sein du systme Exemples Un bouton est un lment de lIHM Il est caractris par sa couleur, sa forme, son type, son label, sa position Un bouton nest pas caractris par son utilit, son rle Un cran Il est caractris par le nombre de lignes et de colonnes Il nest pas caractris par ce qui est affich dessusDescription des [email protected] Informatique INSA de LyonDiagramme de contexte : exempleAfficherclaviersourisecranmessagecaracteredouble-clicDescription des bordssouris : souris sans filclavier : clavier de type azertycran : cran plat 14 [email protected] Informatique INSA de Lyon Flot de donnes continu discret Flot dvnement continu discretDonnes et vnementstempraturelogintropChaudalarmejean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDescription des donnes et des vnements Donne Description informelle Type : numr, rel, entier Intervalle : [0,10] Unit Evnement Description informelle Exemples tensionMoteur : tension de commande du moteur, entier, [0,5], Volt boutonXAppuy : le bouton X a t [email protected] Informatique INSA de LyonDictionnaire de donnes Description des donnes et des vnements nom insuffisant type et unit intervalle ou valeur oprateurs de composition FormalismeSymbole Signification=* .......... *+{ ........... }n { ......... } p( ........... )" ........... "[ ... | ... ]ALIAScompos decommentaireregroupementitration non borneitration de n poptionnelexpression littraleou exclusifquivalent DONNEES = * description ** type : ..., valeur ou intervalle : ..., unit : ... *[email protected] Informatique INSA de Lyon Informations utiles Pas daspects protocolaires Liens avec les bords Donnes de bas niveau Sorties : interprtables par le bord Exemple pour un cran LCD OK : Erreur : Entres fournis par le bord Exemple :pour un bouton OK Erreur :Description des donnes et vnementsBdAB produit dA utilise dB envoie [email protected] Informatique INSA de LyonDiagramme de contexte : exempleAfficherclaviersourisecranmessagecaracteredouble-clicDictionnaire de donnescaracterecode ASCII, charmessagechane de caractres termine par un retour chariot, 1{char}255double-clicdouble clic [email protected] Informatique INSA de Lyon Regrouper les entits physiques ou logiques Logiques de regroupement Entres / Sorties Par dispositif Rpartition gographiqueRegroupement des bordsC1 C2 C3 C4 C5 C6Ci : capteurCapteursS1 S2 S3Si : serveur [email protected] Informatique INSA de LyonRegroupement des donnes et des vnements Regroupement et D = D1 + D2D1 : donne D2 : donne D Regroupement ou D1 : donne D2 : donne D1D2E = [ E1 | E2 ]E1 : vnement E2 : vnement EE1 : vnement E2 : vnement [email protected] Informatique INSA de LyonexempleCahier des chargesafficher la vitesse sur lcran du tableau de bord lorsquon appuie sur le bouton Speed vit : 128 km/hSpeedmsgVitesseRouesmsgBoutonmsgVitesseEcranjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonAfficherVitesseABSboutonSpeedecranmessagevitesseVehiculeboutonSpeedAppuyeDescription des bordsABScapteur de vitesse li lABSboutonSpeedbouton situ en haut droite sur le tableau de bord, label Speedecrancran LCD 5 lignes (de 0 en haut 4 en bas), 16 colonnes (de 0 15 de gauche droite)Diagramme de contexte : [email protected] Informatique INSA de LyonAfficherVitesseABSTableaude bordmessagevitesseVehiculeboutonSpeedAppuyeDescription des bordsABScapteur de vitesse li lABSTableau de bordboutonSpeed : bouton situ en haut droite sur le tableau de bord, label Speedcran : cran LCD 5 lignes (de 0 en haut 4 en bas), 16 colonnes (de 0 15 de gauche droite)Diagramme de contexte : [email protected] Informatique INSA de LyonAfficherVitesseABScranmessageDictionnaire de donnesvitesseVehicule :vitesse du vhicule, type : rel, intervalle : [0.0,200.0], unit : km/hboutonSpeedAppuy : le bouton Speed est appuymessage : chane de 16 caractres (ncolonne)Diagramme de contexte : exempleboutonSpeedboutonSpeedAppuyevitesseVehiculejean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDiagramme de contexteAfficherVitessecapteurscranmessageDescription des bordsCapteursABS de la roue droite et ABS de la roue gaucheDictionnaire de donnesvitessesVehicule : VitesseRG + VitesseRDVitesseRG : vitesse de la roue gauche, type : rel, intervalle : [0.0,200.0], unit : km/hVitesseRD : vitesse de la roue droite, type : rel, intervalle : [0.0,200.0], unit : km/hvitessesVehiculeboutonSpeedboutonSpeedAppuyejean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDiagramme de contexteAfficherVitesseABSRDcranmessageVitesseRGDescription des bordsABSRGABS de la roue gaucheABSRDABS de la roue droiteDictionnaire de donnesVitesseRG : vitesse de la roue gauche, type : rel, intervalle : [0.0,200.0], unit : km/hVitesseRD : vitesse de la roue droite, type : rel, intervalle : [0.0,200.0], unit : km/hABSRGVitesseRDboutonSpeedboutonSpeedAppuyejean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDiagramme de contexte Lisibilit Regroupements Nommage Descriptions concise et prcise Un bord une donne un vnement une fonction Choix de reprsentation Peuvent tre diffrents Homognit des [email protected] Informatique INSA de LyonPlan Diagramme de contexte Analyse SA Analyse RT Mthodologie Architecture matrielle [email protected] Informatique INSA de LyonDiagramme de Flot de Donnes (DFD) Dfinition associ un processus de transformation de donne le premier est associ au processus dfini dans le diagramme de contexte structuration hirarchiqueDCDFD 0123DFD 31 2DFD 3.2 DFD [email protected] Informatique INSA de LyonDiagramme de Flot de Donnes (DFD)D1D2D3Faire5E2E1D1D2D3E2E1DFD associ FaireProcessus de transformation de donnesAnalyser5.1Vrifier5.2Commander5.3d4d5okerrc1 c2Vue boite noire signature de laction FaireVue boite blanche corps de laction FaireEntres [email protected] Informatique INSA de Lyon les flots entrants ou sortants issus du processus de transformation de donne des processus de transformation de donnes des flots de donnes des stocks de donnes un processus de contrle des flots dvnements (lis au processus de contrle )Diagramme de Flot de Donnes (DFD)nomTransformationde donnes (SA)Partie ractive(RT)[email protected] Informatique INSA de LyonLes processus de transformation de donnes Reprsentation symbole graphique Spcification informelle Non obligatoire Verbe Pour une action, une fonction numro 0 : diagramme de contexte 1..n : [email protected] Informatique INSA de Lyon Dictionnaire de donneCf. ci-avant Regroupement / DcoupageCf. ci-avant Logique flot de donneLes donnesdatadataD2D1dataD2dBA produit dB utilise dA envoie [email protected] Informatique INSA de LyonLes stock de donnes Les constantes Donnes numriques Messages utilisateurs Les informations modifier Numros, tables, compteurs, Un stock de donne nest pas une variable de programmation un flot de donne Description : idem donnesDatavaleur maxvaleurcomparernombrePalettesincrmenterjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de Lyontype de Processus Traiter des entres Conditionner Filtrer Analyser Dcoder Interprter Oprations Calculer Evaluer Traiter des sorties Formater Commander Lisser Afficher Gestion dune fonctionnalit Surveiller Vrifier Stocker Compter Gestion d un quipement Grer Robot, etc. Processus [email protected] Informatique INSA de LyonProcessus primitif DFD non ncessaire le processus est dj spcifi fonction connue spcifi dans un autre diagramme les sorties peuvent tre values en fonction des entres Pas d information supplmentaire ncessaire Evaluation simple Pas dvnement en entre ExemplesignalFiltre max_atteintsignal_OKcSeuilDtecterdpassementjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonProcessus primitif spcification procdurale spcification par prcondition/postcondition spcification informelle ( viter)IN : signalFiltre, cSeuilOUT : signal_OK ,max_atteintsi (signalFiltre > cSeuil)alors max_atteint missinon signal_OK misfin siprcondition : signalFiltre et cSeuilpostcondition :signalFiltre > cSeuil et max_atteint missignalFiltre cSeuil et signal_OK missignal_OK mis lorsque signalFiltre est infrieur cSeuil, max_atteint [email protected] Informatique INSA de LyonControlerDecoupePieceLecteurCodeBarrecranMessageExemple de dcompositionServeurCodeBarremoteurcmdMoteurPrgDecoupeIdCartejean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonMessageExemple de dcompositionCodeBarrecmdMoteurInformerDecouperDetecterPrgDecoupeIdCarteEtatCommandePrgDecoupetableIDIdCartejean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonExemple de dcompositionCodeBarre MessageInformercmdMoteurDecouperDetecterPrgDecoupeIdCarteEtatCommandetableIDIdCartejean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonMessageExemple de dcompositionCodeBarrecmdMoteurDecouperDetecterPrgDecoupeIdCarteMessagejean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonMessageExemple de dcompositionInformerIdCarteEtatCommandeMessageIdCarteEtatCommandeAfficherIDAfficherEtatMessagejean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonExemple danalyse SA Besoins Production dune consigne de dplacement pour un robot partir dune position de joystickCoordJoystickConsigneVitessecommanderCoordJoystick : XJoystick+YJoystickXJoystick : position en x, entier, [0,100]YJoystick : position en y, entier, [0,100]1001000Fentre dinsensibilitConsigneVitesse : vitesseGauche + vitesseDroiteVitesseGauche : vitesse de la roue gauche, entier, [0,10]VitesseDroite : vitesse de la roue droite, entier, [0,10][email protected] Informatique INSA de LyonExemple danalyse SACoordJC : ALIAS CoordJoystickCoordJCF : ALIAS CoordJoystickValLimites : XE + YEXE : abscisse du point extrme en bas gauche,100YE : ordonne du point extrme en bas gauche,100Intervalle : fentre dinsensibilit de 5Ratio : coefficient de rduction de 5recentrerCoordJoystickinterpreterCoordJCfiltrerConsigneVitesseValLimitesRatio [email protected] Informatique INSA de LyonExemple danalyse SAProcessus primitifsrecentrerCoordJC. XJoystick = CoordJoystick.XJoystick XE /2CoordJC. YJoystick = YE /2 -CoordJoystick.YJoystickfiltrerSi CoordJC. XJoystick < Intervallealors CoordJCF. XJoystick = 0sinon CoordJCF. XJoystick = CoordJC. XJoystickIdem pour CoordJC. YJoystickInterpreter : angle dtermin par le point =(CoordJCF. XJoystick , CoordJCF. YJoystick )VitesseGauche = CoordJCF. XJoystick x (cos(/2)/ RatioVitesseDroite = CoordJCF. YJoystick x / (sin(/2)/ RatiorecentrerCoordJoystickinterpreterCoordJCfiltrerConsigneVitesseValLimiteRatio [email protected] Informatique INSA de LyonDFD 1er niveaumessagevitesseVehiculeboutonAppuyeFormater2Conditionner1vitesseNumAfficherVitesseABSboutonSpeedecranmessagevitesseVehiculeboutonSpeedAppuyeseuiljean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDFD 1er niveauDictionnaire de donnesSeuil : vitesse maximale affiche, rel, 150.0 km/hVitesseNum : vitesse chantillonne sur 2 octets, entier, [0,150], km/hProcessus primitifsConditionnersi vitesseVehicule seuil VitesseNum = seuil sinon vitesseNum = int(vitesseVehicule )Formatermessage(ligne N1, partir de la position 0) sur 1 4 caractres:vit : VitesseNum sur 3 caractres km/h: un espace; si VitesseNum sur moins de 3 caractres, on ajoute des espacesavant pour faire 3 [email protected] Informatique INSA de LyonRgles de reprsentation Egalit des flots entrants et sortants : processus associ / DFD DFD processus : les actions et les fonctions du systme Des stocks de donnes : les constantes, les donnes du problme Un seul processus de contrle : la synchronisation des [email protected] Informatique INSA de LyonRgles de dcomposition Trouver les processus Suivre des scnarios Associer un processus chaque donne entrante et chaque donne sortante Dcomposition (filtrer / analyser) > (Traiter) -> (restituer / formater) Un processus par entit contrler Limiter le nombre de processus par niveaux 5/6 au maximum Regroupement logique Plus de niveaux si ncessaire Masquer les stocks de donnes Reprsenter uniquement les donnes partages un niveau Constantes proches des processus primitifs Nommer correctement les processus Plusieurs stratgies possibles Rgles [email protected] Informatique INSA de LyonPlan Diagramme de contexte Analyse SA Analyse RT Mthodologie Architecture matrielle [email protected] Informatique INSA de LyonProcessus de contrle Dcouplage fonctionnel / vnementiel Gestion centralise par DFD de la synchronisation des processusProcessus de contrle vnement entrant sur la barre signalisation dun processus vnement de lextrieur vnements sortant de la barreactivation / dsactivation (non reprsent)actions fairesignalisationEvaluer1ErreurCalculSimpleDemandefinCorriger2CalculComplexe SignalRadioPositionEstimeePositionVitessejean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonLes vnements et le processus de contrle Activation de processus primitif activation non reprsente un seul processus de contrleFabriquerfabriqueRAZInformerA1A2mme processusInformerbuteeDetecteeTerminenumeromessagecommandesprogrammeFabMessagepositionratiojean-philippe.babau@insa-lyon.frDpartement Informatique INSA de Lyon Dcomposition en sous actionsListe dordresLes vnementsfabriqueRAZFabriquerfab_Phase1fab_Phase3fab_Phase2GrerMoteur.StopReculeAvanceFabriquerprogrammeFabAlimentationMoteurprogrammeFabcommandescommandesjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de Lyon signalisationLes vnementsfabriqueRAZprparecafe_mouluFaire lecafFabriquerbuteeDetecteeprogrammeFabcommandesCommandesGobeletCommandesCafjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonRgles de reprsentationidem Egalit des flots entrants et sortants : DFD / processus associ Un seul processus de contrle synchronisation des processus Tout vnement passe par le processus de [email protected] Informatique INSA de LyonDiagramme tat-transition : principes 1 DFD 1 processus de contrle 1 diagramme tat-transition Association tat - vnement - action/signalisation Sens Il est arriv ceci : evt1 je suis dans un tat : Etat1 je change dtat : Etat2 je peux activer un processus : Traiter je peux signaler : evt2Etat2evt1Etat1Traiterevt2evt1evt2TraiterDFDEtat2evt1Etat1evt2evt1Traiterjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonExemplemessagevitesseVehiculeboutonAppuyeFormater2Conditionner1vitesseNumseuilboutonAppuyepretConditionnerFormaterboutonAppuyearreteboutonAppuyeen-fonctionnementConditionnerFormaterboutonAppuyearreteboutonAppuyeen-fonctionnementConditionnerFormaterjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDiagramme tat-transition : tats A un instant donn le DFD est dans un tat et un seul Un ou plusieurs tats de dpartEtatDLectureLireCodeOKLectureLireCodeOKLectureLiree1e2jean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDmarrageInactifprtMiseSousTension Dclenchement Branchement /dmarrage du systme Reset Squence particulire Action dinitialisation RAZ, configurations, TousprtResetAppuyereglageprtB0AppuyeB1AppuyeB2AppuyeInactifMiseSousTensionRAZB0AppuyeIncrDateAfficherDateB0AppuyeTournerMoteurB1AppuyeArreterMoteurjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDiagramme tat-transition : transitions Transitions revenir dans le mme tat plusieurs transitions sortent du mme tat plusieurs transitions entre deux tatsReconnaissanceLectureLireLuControlerOKTraiterErreurAfficherFinErrLectureLireLectureImpAfficherjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDiagramme tat-transition : activations Activations un mme vnement ne dclenche pas toujours la mme action plusieurs actions activesCommandeLectureLuCalculerCommandesCommanderFabricationArreteNllePieceFabriquerNllePieceAfficherErrFinFabAfficherOKjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonCycle de vie de systmes Phases Idle / initialisation / fonctionnement / fin Mode de fonctionnement Normal / dgrad / maintenanceAtterrissageDbarquementDcollageEnVolMaintenance [email protected] Informatique INSA de LyonCycle de vie de priphrique Phases Idle / initialisation / fonctionnement / fin Mode de fonctionnement Normal / dgrad / maintenancearreteeCalibrageUtilisationHSProblemeInformerErreurOnCalibreOKInformerReadydemandeImprimeInformeImprimeArretPauseOnCalibretousjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonStratgie de modlisation Identifier les modes de fonctionnement Marche, maintenance, Relier les tats Dcrire le cycle de vie Prt -> initialis -> enFonctionnement -> RAZ > initialis Suivre un scnario A chaque nouvel vnement : un nouvel tat Se baser sur les tats minimaux Moins dtat mais perte dinformation Plusieurs stratgies possibles Nommage des tats Compromis exhaustivit / lisibilitUn tat nest utile au sens du comportement quesi pour 2 vnements distincts, il dclenche des vnements [email protected] Informatique INSA de LyonPrincipe de modlisation Dans chaque tat Dcrire la raction tout vnement possible Un vnement non attendu Est perdu : vnement discret (start) Est sauvegard : vnement continu (trop chaud)en_marcheEndarreteStartFiltrerToprafraichirToprafraichirStartFiltreren_marcheEndarreteStartFiltrerToprafraichirToprafraichirStartFiltrerEndStartFiltrerTop Start EndFiltrerRafraichirDdMsgjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonPrincipe de modlisation Dans chaque tat Dcrire la raction tout vnement possible Un vnement non attendu Est perdu : vnement discret (start) Est sauvegard : vnement continu (trop chaud)en_marcheEndarreteStartFiltrerToprafraichirStartFiltreridleToprafraichirStartFiltrerEndStartFiltrer StartFiltrerEndTop Start EndFiltrerRafraichirDdMsgjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonDiagramme tat-transition : tats Diagramme trop compliqu reprendre le dcoupage des DFD regroupement dtatsET11e1A1ET1e1A1f1A2ET2ET12f1A2ET1 : ET11 ou ET12e1 < [email protected] Informatique INSA de LyonDiagramme tat-transition : tatsE1aA1E2bA2E3cB1E4dB2E13aA1E23bA2E14aA1E24bA2cB1dB2dB2cB1a b c dA1 [email protected] Informatique INSA de LyonRduction des automates Dcomposera b c dA1 A2ABa1 b1 c1 d1a1 b1B1 B2c1 d1E1a1A1E2b1A2E3c1B1E4d1B2bb1aa1dd1cc1DFD de ADFD de [email protected] Informatique INSA de LyonRgles de modlisation tout vnement entrant dans le processus de contrle- dclenche au moins une transition- ne peux pastre gnr par le diagramme tat-transition tout vnement sortant de la barre de contrle-est au moins gnr une fois dans le diagramme tat-transition-Ne peut pas dclencher de transition un vnement entrant et sortant de la barre de contrle ne peuvent pas avoir le mme nom chaque processus primitif PP est activ au moins une fois dans le diagramme tat-transitione1e2e1e2PPPPe2e1e3A1A2e4e4e3jean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonPlan Diagramme de contexte Analyse SA Analyse RT Mthodologie Architecture matrielle [email protected] Informatique INSA de LyonMthodologie Diagramme de contexte Liste des bords Donnes et vnements changs Spcification informelle (rle) Pour chaque DFD reprsenter les donnes entrantes et sortantes Spcification informelle Trouver les processus Expliciter les donnes changes Dcrire les stocks ncessaires Constantes, donnes modifies Dictionnaire de donnes au fur et [email protected] Informatique INSA de LyonMthodologie Faire une analyse SA dcoupage en sous actions spcification informelle donnes interne au DFD Faire une analyse RT actions / sous-actions besoins de synchronisation diagramme tat-transition en parallle Les tats du systme puis les transitions Modlisation de scnarios puis compltude des vnements Spcification des processus primitifs Les sorties sont calculables en fonction des [email protected] Informatique INSA de LyonMthodologie Produire un document lisible Choix des noms Dcoupage en lments simples Processus primitif : UN algorithme Dcomposition guide par la prsentation Plusieurs niveaux si ncessaire Produire un document complet et cohrent Dictionnaire de donnes Vrifier les flux entrants et sortants (DFD et processus de contrle) Ne pas multiplier les descriptions Choisir la bonne entit Bord : lment qui communique avec le systme de contrle vnement : il sest pass quelque chose Donnes : information sur laquelle on peut faire des calculs Processus : la structuration / dcomposition Processus primitifs : les oprations sur les donnes Raction aux vnements : diagramme tat/[email protected] Informatique INSA de LyonQuelques lments pour la modlisation Diagramme de contexte Les sorties : prfrer les donnes aux vnements Le nommage : suivre un guide style Toutes les constantes commencent par c Analyse descendante Un processus doit tre self-consistent Inutile de remonter pour comprendre viter les vnements en sortie de processus Uniquement des [email protected] Informatique INSA de LyonHirarchiser le niveau dabstraction DFDa bA1CA Ba1 b1a1 c1B1b1 c2E1a1A1E2fA1c1E3b1B1E4fB1c2 bb1aa1c2Cc1CDFD de ADFD de [email protected] Informatique INSA de LyonRutilisation DFDa bA1CA Ba1 b1a1B1b1E1a1A1E2fA1CE3b1B1E4fB1Cbb1aa1DFD de ADFD de [email protected] Informatique INSA de LyonConception Objectifs Excution des actions selon les besoins exprims Activits du concepteur Choix ou adaptation une architecture matrielle Mise en place des pilotes Echanges de donnes et protocoles de communication SART : spcification de la couche application Choix dun OS et dfinition du modle dexcution Multitches ou cyclique Paradigmes SART un vnement => une squence dactions Multitches Tches (priorits), protection et partage des donnes Protocole dexcution des actions Un processus une tche, un processus primitif une fonction Un vnement un smaphore boolen, une donne SART mbx ou variable globale Mthode CODARTS pour le multitches Principes informel un vnement extrieur : une tche vnements de mme frquence : une mme [email protected] Informatique INSA de LyonWard / Mellor Hatley / Pirbhai Ward / MellorD/ETactivation/ dsactivationdclenchementContrler6.0processus de contrle(numro : premier ou dernier)Faire6.3.2processus de transformationnumro 2 du DFD 6.3pressiontropChaudflot de donne continueflot de contrle [email protected] Informatique INSA de LyonPlan Diagramme de contexte Analyse SA Analyse RT Mthodologie Architecture matrielle [email protected] Informatique INSA de LyonArchitecture matrielle Dfinition de larchitecture matrielle machines (unit de traitement) interfaces matrielles canaux de communication Placement processus donnes et vnements Dimensionnement des machines Dimensionnement des rseaux Spcification des logiciels de [email protected] Informatique INSA de LyonDiagramme de contexte darchitectureutilisateursystmeIHMEntre SortieMaintenanceautoradio HPoprateurTraitementSon [email protected] Informatique INSA de LyonDiagramme dinterconnexioncran platmachine1IHMEntre SortieMaintenanceconv A/DHPPC Types de lien de communication bus rseau lien optiqueTraitementbusExtbusmachine2CANbusE/[email protected] Informatique INSA de LyonPlacement Processus de transformation de donne (DFD) module (machine) Processus de contrle module (machine) Donnes et vnements entre deux modules canal de communication Dimensionnement machines fonctionnalits + donnes Besoins en communication pilotes quantit de donnes changes [email protected] Informatique INSA de LyonContraintes temporelles Diagramme de contexte vnements entrants et sortants Contraintes dactivation vnement en entre priodique (priode) vnement en entre sporadique (dmin) Contraintes de rgularit vnement en sortie priodique (priode) vnement en sortie sporadique (dmin) Contraintes de dlai dlai maximal de prise en compte dun changement Entre une entre et une [email protected] Informatique INSA de LyonConclusion Spcification des besoins Fonctionnels Ractifs Matriels Temps rel Exprimer des choix Un document incomplet et difficile lire : document inutilisable Prciser la spcification Compltude, correction, cohrence Stratgie de reprsentation Clart, [email protected] Informatique INSA de LyonPlan Diagramme de contexte Analyse SA Analyse RT Mthodologie Architecture matrielle [email protected] Informatique INSA de LyonExemple : diagramme de contexte Cahier des charges le logiciel scrute le son en provenance dun micro afin de lenvoyer vers un haut-parleur. Il coupe les sons trop forts. Le logiciel possde une commande marche/arrt. Diagramme de contexteContrlerlamplitude sonoreBoutonsMicroHaut-parleurSonHPBoutonAppuyeSignalSonBoutons : bouton de label Marche et bouton de label arret Micro : microphone de marque XXHorloge : base de temps du systmeHaut-parleur : Haut Parleur situ sur le tableau de [email protected] Informatique INSA de LyonExemple : DFD0SonHPSignalSontimeoutstartcSeuilTimer2Analyserson1DtecterDpassement3Restituersignal4signalFiltrestopcTempsMaximumtop2TopBoutonAppuyesignalFiltremax_Atteintsignal_OKjean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonExemple : diagramme tat-transitionAttenteMarcheAppuystarttimeoutAnalyserSonDtecter dpassementVrificationstartmax_atteintsignal_OKRestituer signalstartRepos TousArretAppuystopToptop2jean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonExemple : DFD0timeoutstartstopcTempsMaximumtop2compteurComparer1depassementInitialiser2Incrmenter3jean-philippe.babau@insa-lyon.frDpartement Informatique INSA de LyonExemple : diagramme tat-transitionEn-coursstartInitialiserTop2IncrmenterComparerdepassementtimeoutArretestopExemple : spec des processus primitifsInitialiser : compteur = 0Incrmenter : compteur = compteur +1Comparer : si compteur > cTempsMaximum signaler [email protected] Informatique INSA de LyonDictionnaire de donnesNom DescriptionSignalSonsignalFiltrecSeuilSonHPmax_atteintsignal_OKBoutonAppuyeMarcheAppuyeArretAppuye* Signal analogique du son enregistr** type : rel, intervalle : 0-300, unit : mVolt ** son chantillonn *8 { bit } 8* valeur maximale fixe pour le son ** type : entier, valeur : 250 mVolt *ALIAS signalFiltre* niveau de son trop lev ** niveau de son correct *[MarcheAppuye | ArretAppuye ]* Appui sur le bouton Marche ** Appui sur le bouton Arret *[email protected] Informatique INSA de LyonDictionnaire de donnesNom DescriptionToptop2startstoptimeoutcTempsMaximumdepassementcompteur* Tick dhorloge ** Frquence : 1 ms *ALIAS Top* Active le timer 0** Arrt du timer ** temps dpass ** Temps dattente maximal : 10 ms ** Valeur suprieure au seuil ** Nombre de top ** entier, [0,10] *