OCTOPUS en kort repetition Farthållare

34
next previou s OCTOPUS en kort repetition Farthållare Objektorienterad Realtidsprogrammering 2000 Föreläsning 11 Tisdag 6/6 2000

description

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). - PowerPoint PPT Presentation

Transcript of OCTOPUS en kort repetition Farthållare

Page 1: OCTOPUS en kort repetition Farthållare

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

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

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

previous next 4

OCTOPUS: Farthållare

...• Delsystem designfas• Delsystem implementationsfas

Page 5: OCTOPUS en kort repetition Farthållare

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

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

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

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

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

previous next 10

OCTOPUS: Farthållare

Funktionell modell• Operationerna O1-O7

Awad figur s 211-213

Page 11: OCTOPUS en kort repetition Farthållare

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

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

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

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

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

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

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

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

previous next 19

OCTOPUS: Farthållare

Funktionell modell för hårdvaruwrapper•

Awad s 231-232

Page 20: OCTOPUS en kort repetition Farthållare

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

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

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

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

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

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

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

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

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

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

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

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

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

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

previous next 34

OCTOPUS: Farthållare

Utkast av koden• Slutligen tittar vi på utkast av koden för delsystemet

Awad s 248-251