ABYSS - OCTOPUS ABYSS ABY SS - OCTOPUS ABY SS...Octopus Abyss Octopus Abyss
OCTOPUS en kort repetition Farthållare
description
Transcript of OCTOPUS en kort repetition Farthållare
![Page 1: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/1.jpg)
nextprevious
OCTOPUS en kort repetitionFarthållare
Objektorienterad Realtidsprogrammering
2000
Objektorienterad Realtidsprogrammering
2000Föreläsning 11Tisdag 6/6 2000
![Page 2: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/2.jpg)
previous next 2
OCTOPUS: Farthållare
OCTOPUS• Kravspec
– Vi konstruerar bla användningsfall
– Användningsfallsdiagram
• Systemarkitektur– Dela upp systemet på
• applikationsdel
• hårdvara
• hårdvaruwrapper(s)
![Page 3: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/3.jpg)
previous next 3
OCTOPUS: Farthållare
...• 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
![Page 4: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/4.jpg)
previous next 4
OCTOPUS: Farthållare
...• Delsystem designfas• Delsystem implementationsfas
![Page 5: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/5.jpg)
previous next 5
OCTOPUS: Farthållare
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
![Page 6: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/6.jpg)
previous next 6
OCTOPUS: Farthållare
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ändningsfallsdiagramAwad figur 10-1
Tolv användningsfallAwad figur s 200-204
![Page 7: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/7.jpg)
previous next 7
OCTOPUS: Farthållare
Systemkontextmodell• (mjukvaru-)systemet och dess relationer till
omgivningen/hårdvaran
Awad figur 10-2
![Page 8: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/8.jpg)
previous next 8
OCTOPUS: Farthållare
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-3och 10-4
![Page 9: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/9.jpg)
previous next 9
OCTOPUS: Farthållare
Analys av applikationens delsystem• Vi "behöver" bara ett delsystem i applikationen
Objektmodell, delsystemAwad figur 10-6
DelsystemdiagramAwad figur 10-6
Beskrivning av omgivningAwad tabell 10-1 och 10-2
![Page 10: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/10.jpg)
previous next 10
OCTOPUS: Farthållare
Funktionell modell• Operationerna O1-O7
Awad figur s 211-213
![Page 11: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/11.jpg)
previous next 11
OCTOPUS: Farthållare
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
![Page 12: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/12.jpg)
previous next 12
OCTOPUS: Farthållare
Analys av händelser• Identifiera händelser• Ordna händelser i hierarkier• Beskriv händelser
Awad figur s 214-217
![Page 13: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/13.jpg)
previous next 13
OCTOPUS: Farthållare
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
![Page 14: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/14.jpg)
previous next 14
OCTOPUS: Farthållare
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
exempletAwad tabell 10-6
metodAwad s 86-87
![Page 15: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/15.jpg)
previous next 15
OCTOPUS: Farthållare
...• Vi ser om vi kan slå ihop händelser också
exempletAwad tabell 10-7 till 10-9
metodAwad s 87-88
![Page 16: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/16.jpg)
previous next 16
OCTOPUS: Farthållare
Delsystem-omgivning: interaktionsdiagram• Några typiska scenarier när objekt i omgivningen
interagerar
Awad figur 10-11till 10-13
![Page 17: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/17.jpg)
previous next 17
OCTOPUS: Farthållare
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
![Page 18: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/18.jpg)
previous next 18
OCTOPUS: Farthållare
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
Objektmodellfigur 10-15
Awad tabell 10-10till 10-11
![Page 19: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/19.jpg)
previous next 19
OCTOPUS: Farthållare
Funktionell modell för hårdvaruwrapper•
Awad s 231-232
![Page 20: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/20.jpg)
previous next 20
OCTOPUS: Farthållare
Dynamisk modell för hårdvaruwrapper• Precis som för delsystemen analyserar vi
– händelser
– tillstånd
– och interaktion för hårvaruwrappern
![Page 21: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/21.jpg)
previous next 21
OCTOPUS: Farthållare
... 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
![Page 22: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/22.jpg)
previous next 22
OCTOPUS: Farthållare
... analys av tillstånd• för vissa klasser gör vi tillståndsdiagram
Awad figur 10-17till 10-18
![Page 23: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/23.jpg)
previous next 23
OCTOPUS: Farthållare
... 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-19till 10-20
![Page 24: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/24.jpg)
previous next 24
OCTOPUS: Farthållare
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
![Page 25: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/25.jpg)
previous next 25
OCTOPUS: Farthållare
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
![Page 26: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/26.jpg)
previous next 26
OCTOPUS: Farthållare
... 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
![Page 27: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/27.jpg)
previous next 27
OCTOPUS: Farthållare
... 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
![Page 28: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/28.jpg)
previous next 28
OCTOPUS: Farthållare
...• 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
![Page 29: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/29.jpg)
previous next 29
OCTOPUS: Farthållare
...• En skiss av processernas funktioner och
avbrottshanterande rutiner följer i Awad s 239-242
![Page 30: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/30.jpg)
previous next 30
OCTOPUS: Farthållare
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-25visar alla händelser
hörande till händelsegruppenCommand
Awad figur 10-26visar händelsetrådarnaför övriga händelser
![Page 31: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/31.jpg)
previous next 31
OCTOPUS: Farthållare
...• Vi delar upp det hela på två grupper
Awad figur 10-27
Awad figur 10-28
– Icke kommandoorienterade objektgrupper
– Kommandoorienterade objektgrupper
![Page 32: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/32.jpg)
previous next 32
OCTOPUS: Farthållare
Ö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
![Page 33: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/33.jpg)
previous next 33
OCTOPUS: Farthållare
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
![Page 34: OCTOPUS en kort repetition Farthållare](https://reader036.fdocuments.net/reader036/viewer/2022062723/56813ed3550346895da94330/html5/thumbnails/34.jpg)
previous next 34
OCTOPUS: Farthållare
Utkast av koden• Slutligen tittar vi på utkast av koden för delsystemet
Awad s 248-251