1 / 34

OCTOPUS en kort repetition Farthållare

OCTOPUS en kort repetition Farthållare. Objektorienterad Realtidsprogrammering 2000. Föreläsning 11 Tisdag 6/6 2000. OCTOPUS. Kravspec Vi konstruerar bla användningsfall Användningsfallsdiagram Systemarkitektur Dela upp systemet på applikationsdel hårdvara hårdvaruwrapper(s).

shasta
Télécharger la présentation

OCTOPUS en kort repetition Farthållare

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. OCTOPUS en kort repetitionFarthållare Objektorienterad Realtidsprogrammering 2000 Föreläsning 11 Tisdag 6/6 2000

  2. OCTOPUS • Kravspec • Vi konstruerar bla användningsfall • Användningsfallsdiagram • Systemarkitektur • Dela upp systemet på • applikationsdel • hårdvara • hårdvaruwrapper(s)

  3. ... • Delsystem analysfas • skapa objektmodeller • statisk struktur • funktionell modell • funktionalitet • dynamisk modell • operationer mellan "applikationsgränser" • ta hänsyn till realtidsspecifika aspekter • analysera händelser, tillstånd, mm

  4. ... • Delsystem designfas • Delsystem implementationsfas

  5. Farthållare • Som exempel skapar "vi" en farthållare • huvudsyfte: hålla konstant fart • farthållaren konstrueras för en automatväxlad låda • kan operera då högsta växeln ilagd • föraren skall när som helst kunna ”återta kommandot” • opereras från speciell meny Awad figur 1-14

  6. Användningsfall • Vi identifierar användningsfall • På systemnivå U1-U3 • Autonoma U4-U5 • Vissa nästlade eller relaterade till föregående, tex U6, U10-U12 • Exceptions U7-U9 användningsfallsdiagram Awad figur 10-1 Tolv användningsfall Awad figur s 200-204

  7. Systemkontextmodell • (mjukvaru-)systemet och dess relationer till omgivningen/hårdvaran Awad figur 10-2

  8. Hårdvara • Vissa ”hårdvaruregler” • Två avbrott INT0 och INT1, den första ”triggas av” rotationspuls och den senare av 10ms timer • RealtidsOS med kvasiparallella processer, preemption • Oset kan • schedulera process • schedulera process med fördröjning • stänga av respektive slå på avbrottsmöjlighet • stänga av respektive slå på kontextbyte Awad figur 10-3 och 10-4

  9. Analys av applikationens delsystem • Vi "behöver" bara ett delsystem i applikationen Delsystemdiagram Awad figur 10-6 Objektmodell, delsystem Awad figur 10-6 Beskrivning av omgivning Awad tabell 10-1 och 10-2

  10. Funktionell modell • Operationerna O1-O7 Awad figur s 211-213

  11. Dynamisk modell • I den dynamiska modellen analyserar vi • händelser • tillstånd • därefter gör vi en fördjupad analys av både händelser och tillstånd tillsammans • vi tittar också på interaktionen mellan objekten

  12. Analys av händelser • Identifiera händelser • Ordna händelser i hierarkier • Beskriv händelser Awad figur s 214-217

  13. Analys av tillstånd • Vilka tillstånd har dom ingående objekten? • Vilka är objektens associationer? • Hur sker tillståndsövergångar? • Vilka "aktiviteter" sker? Awad figur 217-219

  14. Utvidgad analys av händelser och tillstånd • Vi undersöker/avgör vilka händelser som är kritiska, viktiga respektive kan ignoreras samt är neutrala i ett visst tillstånd metod Awad s 86-87 exemplet Awad tabell 10-6

  15. ... • Vi ser om vi kan slå ihop händelser också metod Awad s 87-88 exemplet Awad tabell 10-7 till 10-9

  16. Delsystem-omgivning: interaktionsdiagram • Några typiska scenarier när objekt i omgivningen interagerar Awad figur 10-11 till 10-13

  17. Analys och design av hårdvaruwrapper • Vi tittar på applikationsobjekten och relaterar dem till • logisk vy • fysisk vy • avbildning av vy Awad s 224-228

  18. Objektmodell och andra beståndsdelar av hårdvaruwrappern • Dom två avbrotten INT0 och INt1 generarar alla primitiva händelser antingen via avbrottsservicerutinerna ISPRINT0 och ISPRINT1 eller indirekt genom att ”ticka” OS:et Awad tabell 10-10 till 10-11 Objektmodell figur 10-15

  19. Funktionell modell för hårdvaruwrapper Awad s 231-232

  20. Dynamisk modell för hårdvaruwrapper • Precis som för delsystemen analyserar vi • händelser • tillstånd • och interaktion för hårvaruwrappern

  21. ... analys av händelser • Vi undersöker vilka dom primitiva händelserna är • Vi grupper också händelserna Awad tabell 10-12 Awad figur 10-16

  22. ... analys av tillstånd • för vissa klasser gör vi tillståndsdiagram Awad figur 10-17 till 10-18

  23. ... analys av scenarier • För att bena ut hur instanser av klasser i wrappern reagerar på frågor från tillämpningen och interagerar med hårdvara och operativsystem så konstruerar vi sekvensdiagram Awad figur 1-19 till 10-20

  24. Design av hårdvaruwrappern • Hårdvaruwrappern drivs av två avbrott • INT0 • INT1 • Dom genererar alla primitiva händelser antingen direkt eller via avbrottsservicerutinerna • ISPRINT0 • ISPRINT1

  25. Design av händelsetrådar • Händelsetrådsar, Awad figur 6.13 • Synkron kontra asynkron • Välja ut vad som ska vara vad i händelsetråden, Awad figur 6.14 • Kvalificerade händelsetrådar, Awad figur 6.16 • Objektgrupper • Maximal mängd, Awad figur 6.17 • Överlagra händelsetrådar, Awad figur 6.18 • “fair set”, Awad figur 6.19 • Balansering, Awad figur 6.20

  26. ... design av hårdvaruwrappern • Följande figur visar händelsetråden för dom primitiva hårdvaruhändelserna rotation pulse, take measurement och poll input • Dom kommer från antingen ISPRINT0 eller ISPRINT1 och är alla synkrona Awad figur 10-21

  27. ... design av hårdvaruwrappern • Nästa figur visar i mer detalj hur interaktion för CES1/CSA1 (Command Event Set 1/Control Signal Assignment 1) svarar mot 15.2 i figur 10-21 (dvs poll input till Command Interface) Awad figur 10-22 • Resten av dom primitiva händelserna är mjuka, throttle update, pulse tick och blink tick. Dessa genereras indirekt av operativsystemet Awad figur 10-23

  28. ... • Nästa figur, Awad figur 10-24, slår ihop händelsetrådarna från dom tidigare figurerna i kvalificerad form • Trådarna grupperas vilket resulterar i två objektgrupper WG1 och WG2 • Även om vissa av dom genererade applikationshändelserna naturligt definierar rötterna till flera objektgrupper så spar vi definitionerna av dessa tills dess att vi designar applikationens delsystem

  29. ... • En skiss av processernas funktioner och avbrottshanterande rutiner följer i Awad s 239-242

  30. Design av applikationens delsystem • Från designen av hårdvaruwrappern får vi insikt i vilka händelser som kan skickas till applikationens delsystem • Från kunskaper från scenarier och objektmodeller konstruerar vi händelsetrådar för varje händelse Awad figur 10-25 visar alla händelser hörande till händelsegruppen Command Awad figur 10-26 visar händelsetrådarna för övriga händelser

  31. ... • Vi delar upp det hela på två grupper • Icke kommandoorienterade objektgrupper Awad figur 10-27 • Kommandoorienterade objektgrupper Awad figur 10-28

  32. Översikt av processen • Hårdvaruwrappern skickar endast vidare händelsen rotation pulse, vilket medför att G3 styrs av avbrottsrutinen för INT0 • Pss styrs G1 av INT1 • G2, G4 och G5 använder OS-processer Awad s 246-247

  33. Delade objekt och synkronisering • Den valda grupperingen och att dom exekverar via oberoende exekveringsvägar resulterar i en del delade objekt • För dessa analyserar vi om ”hanteringen” är kritisk, om avbrottsmöjlighet skall stängas av eller om kontextbyte skall stängas av Awad tabell 10-13

  34. Utkast av koden • Slutligen tittar vi på utkast av koden för delsystemet Awad s 248-251

More Related