Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 12: mogelijkheden om met tijd om te gaan.

Slides:



Advertisements
Verwante presentaties
= 1 uur vóór zonsondergang uur
Advertisements

CIMSOLUTIONS B.V. CIMSOLUTIONS Automation for Industry & Business SIG Embedded “Proces Ellende” André Vink CDP real-time embedded 28 september 2005.
NAHSA Achtergronden en details. Overzicht •Achtergrond (fysica) •Detector •Projecten.
Programmeren met Alice
Ronde (Sport & Spel) Quiz Night !
Java in Space Joffrey Lambregs. Agenda Introductie Waarom van C naar Java Tekortkomingen van Java Oplossingen JSR302 DAL-Levels Data diodes Werken in.
Objecten Hoofdstuk 6 Hoofdstuk 6 Hoofdstuk 6 1.
Datastructuren Analyse van Algoritmen en O
‘Inleiding programmeren in Java’ SWI cursus: ‘Inleiding programmeren in Java’ 4e college Woe 19 januari 2000 drs. F. de Vries.
Naar het Jaareinde toe
VBA en VBS Een introductie.
WISKUNDIGE FORMULES.
Les voor groep 8 Pak je stoel en kom aan de instructietafel

Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd
Hoofdstuk 6: Controle structuren
Overzicht presentatie
Internationale hogeschool Breda Wiskunde bij het ontwerpen en evalueren van verkeerslichtenregelingen Wachten voor een verkeerslicht duurt altijd te lang…..
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
Communicatietheorie Partim Datacommunicatie
Interaction diagrams: Sequence Diagram
IJspakketten Annette Ficker Tim Oosterwijk
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
Het Uitdijend Heelal Prof.dr. Paul Groot Afdeling Sterrenkunde, IMAPP
Insertie van etheen in BH 3 en NH 3 Doorrekenen van een reactiepad.
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Verdieping Programmeren in Java - deel 1 college 6 mei 2001.
Challenge the future Delft University of Technology School at Sea - Sea level experiment Eerste Resultaten GPS en Motion Sensor Hans van der.
Probeer te begrijpen wat de Midzomernacht zon betekent
dr. H.J. Bulten Mechanica najaar 2007
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
Hoofdstuk 17 De organisatiecultuur bepalen en veranderen
Hoofdstuk 18 Veranderingen in organisaties tot stand brengen
Contingent art.60 verhoogde staatstoelage Werkgroep activering 11 januari 2013.
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur laag-niveau programmeren uit hoofdstuk 15 van Alan Burns, Andy Wellings,
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Werken aan Intergenerationele Samenwerking en Expertise.
Visual Basic.
1 Wie durft er nog in een vliegtuig, trein of auto te stappen? Over betrouwbaarheid van software Frits Vaandrager Institute for Computing and Information.
, 17h30Recursie 1 Inleiding tot recursie Karel Popelier.
Voorrangsregels bij rekenen (1)
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
HISPARCWOUDSCHOTEN 2006NAHSA Tellen van Random gebeurtenissen Hoe nauwkeurig is een meting?
De financiële functie: Integrale bedrijfsanalyse©
Inhoud college Lijnbalancering Comsoal Random Sequence Generation
Quantumzwaartekracht
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 10: atomaire acties, gelijktijdige processen en betrouwbaarheid.
Management Accounting Management Control
Centrummaten en Boxplot
Voorraadbeheer en bestellen
9.50 uur = 1 uur na zonsopgang uur11.50 uur12.50 uur 21 december kortste dag zon het laagst schaduw van een gebouw 60 m lang, 40 m breed, 40 m hoog.
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 6: uitzonderingen en de behandeling van uitzonderingen.
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 11: controle van de hulpmiddelen.
Goederenverwerking H1 Voorraadadministratie bijhouden Manager Handel.
April Slide 2"Insert" Date via Date & Time Sales product training Amsterdam, the Netherlands Lennart van Houwelingen Fallbrook Technologies.
Etherflow Voor het aansluiten van een flowmeter op een Ethernet netwerk Afstudeerpresentatie Michel van der Net Elektrotechniek Avans Hogeschool Breda.
Voorraadbeheer en bestellen
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  een MIDI track interpreteren, laten zien en afspelen.
RTP slide 1Programmatuur voor real-time controleYolande Berbers oefenzittingen n enkel voor de studenten die dit vak als keuzevak kiezen n nu donderdag,
Basisfuncties Operating System.
CONTROLESTRUCTUREN (DEEL 1)
Hoofdstuk 3 - Conditionele logica
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 6 - onderwerpen Uitleg.
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 7: concurrent programming.
1 XSLT processing & control Datamodellering 2006.
Voorraadbeheer en bestellen
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 8: synchronisatie en communicatie met gedeelde variabelen.
Module code: Scheduling Het verdelen van processortijd onder processen en threads 1.
Transcript van de presentatie:

slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 12: mogelijkheden om met tijd om te gaan

RTP slide 2Programmatuur voor real-time controleYolande Berbers overzicht n het begrip tijd n toegang tot een klok n opschorten van een proces n programmeren van timeouts n temporele bereiken

RTP slide 3Programmatuur voor real-time controleYolande Berbers inleiding n real-time u real duidt op verschil met computertijd u het is ‘real’ want het is de externe, werkelijke tijd n mogelijkheden voor real-time u vaak boven op het concurrency model in een taal u wordt daarom behandeld na concurrent programming

RTP slide 4Programmatuur voor real-time controleYolande Berbers het begrip tijd n veel tijdsstandaarden zijn reeds gebruikt u true solar day l tijd tussen twee opeenvolgende culminations (hoogste stand van de zon) l varieert tijdens het jaar, ongeveer 15 minuten u temporeel uur l één twaalfde van de tijd tussen zonsopgang en zonsondergang l varieert sterk tijdens het jaar

RTP slide 5Programmatuur voor real-time controleYolande Berbers het begrip tijd n veel tijdsstandaarden zijn reeds gebruikt u Universal Time (UT0) l gemiddelde solar time at Greenwich meridian l gedefineerd in 1884 u second (1) l 1/ van een gemiddelde solar day u second (2) l 1/ van het tropische jaar 1990 l Ephemeris Time gedifineerd in 1955

RTP slide 6Programmatuur voor real-time controleYolande Berbers het begrip tijd n veel tijdsstandaarden zijn reeds gebruikt u UT1 l correctie van UT0 vanwege polar motion u UT2 l correctie van UT1 vanwege variatie in de snelheid van rotatie van de aarde

RTP slide 7Programmatuur voor real-time controleYolande Berbers het begrip tijd n veel tijdsstandaarden zijn reeds gebruikt u second (3) l duur van perioden van straling dat correspondeert met de transitie tussen twee niveaus van de grond toestand van het cesium-133 atoom l nauwkeurigheid van huidige cesium atoom klokken worden geschat op 1 op 10 tot de 13de (dat is één klok fout per jaren)

RTP slide 8Programmatuur voor real-time controleYolande Berbers het begrip tijd n veel tijdsstandaarden zijn reeds gebruikt u International Atomic Time (IAT) l gebaseerd op de cesium atoom klok u Coordinated Universal Time (UTC) l IAT klok gesynchroniseerd op UT2 door het toevoegen van occasional leap ticks l maximum verschil tussen UT2 (gebaseerd op astrologische metingen) en UTC (gebaseerd op atoom metingen) is kleiner dan 0.5 seconden

RTP slide 9Programmatuur voor real-time controleYolande Berbers toegang tot een klok n toegang tot een klok op 2 manieren u via de omgeving (radio-ontvanger mast in Frankfurt, GPS) u via de interne klok van een computer l klokprimitieven in de taal (Ada: zie volgende slide) l systeemoproepen (POSIX : zie volgende slide)

RTP slide 10Programmatuur voor real-time controleYolande Berbers toegang tot de klok n Ada u uitgebreid clock package l bevat een type time l je kunt hiermee rekenen s een tijdsduur optellen bij een tijd s verschil tussen twee tijden berekenen (is een tijdsduur) s enz. u optioneel real-time package met een klok l fijnere granulariteit l is volledig monotoon (bv geen zomeruur !!) n POSIX u ANSI C heeft een type time u POSIX voorziet een aantal routines

RTP slide 11Programmatuur voor real-time controleYolande Berbers opschorten van een proces n uitstellen van een proces = uitvoering opschorten voor een bepaalde tijd u relatief: men geeft de duur van de opschorting aan u absoluut: men geeft tijd waarop verder moet worden uitgevoerd n relatief opschorten u Ada: om 10 seconden op te schorten delay 10.0; u dat betekent niet dat precies na 10 sec. het proces weer uitvoert tijd opgegeven in programma granularity verschil klok-delay interrrupts disabled proces ready proces voert uit

RTP slide 12Programmatuur voor real-time controleYolande Berbers uitstellen van een proces n absoluut opschorten u berekenen van nieuwe tijd bv: Second_Action moet beginnen 10 sec na begin First_Action Start := Clock; First_Action; delay (Clock - Start); Second_Action; l houdt geen rekening met mogelijke onderbreking tijdens berekenen van de delay of net na de delay u speciaal primitief Start := Clock; First_Action; delay until Start ; Second_Action;

RTP slide 13Programmatuur voor real-time controleYolande Berbers uitstellen van een proces u speciaal primitief l ook hier weer niet 100% accuraat herstarten (granulariteits- verschil, interrupts die af staan, tijd in ready queue) l dit heet local drift l als dit in een lus voorkomt moet het goed geprogrammeerd worden (zie vb hieronder), anders gecumuleerde local drift declareNext : Time; Interval: constant Duration := 7.0: beginNext := Clock + Interval; loop Action; delay until Next; Next := Next + Interval; end loop; end;

RTP slide 14Programmatuur voor real-time controleYolande Berbers programmeren van timeouts n gebruikt voor het opvangen van verwachte gebeurtenissen die niet gebeuren u wachten op communicatie u het stoppen van code die te lang uitvoert n Ada: u alternatief in een select (dient dus voor ontvangen) l zowel relatieve als absolute delays zijn mogelijk l in volgende slide een voorbeeld met een relatieve delay u timeout bij het zenden (zie binnen twee slides)

programmeren van timeouts task Controller is entry Call (T : Temperature); end Controller; task body Controller is -- declarations beginloop select accept Call (T: Temperature) do New_Temp := T; end Call; or delay 10.0; -- action for timeout end select; -- other actions end loop; end Controller;

RTP slide 16Programmatuur voor real-time controleYolande Berbers programmeren van timeouts u timeout bij het zenden van een boodschap l dit heet timed entry call l slaat enkel op begin van communicatie loop -- get new temperature T select Controller.Call(T); or delay 0.5; null; end select; end loop;

RTP slide 17Programmatuur voor real-time controleYolande Berbers programmeren van timeouts u enkel boodschap versturen als ontvanger klaar staat (dus een soort timeout van 0) l dit heet conditional entry call select T.E -- entry E in task T else -- other actions end select; u zowel timed entry call en conditional entry call kunnen ook bij het oproepen van een protected object

RTP slide 18Programmatuur voor real-time controleYolande Berbers programmeren van timeouts u timeouts op acties kan in Ada via asynchronous transfer of control l vb van typisch gebruik (kan zowel met relatief als absoluut) begin Completion.Time := compulsory part Results.Write (...); -- call to procedure in protected object select delay until Completion_Time then abort loop -- improve results Results.Write (...); end loop; end select; end;

RTP slide 19Programmatuur voor real-time controleYolande Berbers programmeren van timeouts u POSIX: timeouts op acties via signal SIG_ALARM

RTP slide 20Programmatuur voor real-time controleYolande Berbers temporele bereiken n temporeel bereik (TS): verzameling van opdrachten met een bijhorende tijdsbeperking zoals u deadline, waartegen TS zeker moet uitgevoerd zijn u minimum delay: minimale tijd voor TS mag beginnen uitvoeren u maximum delay: max tijd gewacht kan worden voor uitvoering u maximale uitvoeringstijd u maximale duur: maximale tijd tussen begin en einde uitvoering u periodiek (bv een controletaak) u aperiodiek: komen random voor l door externe gebeurtenis l Poisson-verdeling, maar worst case analysis is niet mogelijk u sporadisch: aperiodiek met minimale tijd tussen 2 voorkomens

RTP slide 21Programmatuur voor real-time controleYolande Berbers temporele bereiken n correct uitvoeren van temporele bereiken, voor zowel periodieke, aperiodieke als sporadisch taken u alle processen uitvoeren met hun correcte frequentie u alle processen beëindigen voor hun deadline n verdere classificatie van processen (of van systemen) u harde real-time proces: deadline mag niet gemist worden u zacht real-time proces: deadline mag (af ten toe) gemist worden, uitvoer is nog altijd nuttig u firm real-time proces: als deadline gemist wordt is uitvoer nutteloos, maar deze toestand is niet dramatisch

RTP slide 22Programmatuur voor real-time controleYolande Berbers temporele bereiken n noch Ada, noch POSIX bieden mogelijkheid om expliciet deadlines op te geven u werken met delays kan wel, zie voorbeelden p: 382 u delays bieden mogelijkheid om minimale starttijd uit te drukken, een deadline halen is afhankelijk van de run-time scheduler n fout-tolerant systeem moet kunnen reageren op een deadline die gemist wordt u noch Ada noch POSIX bieden hier expliciete mogelijkheden voor u eventueel gebruik van ATC in Ada of signals in POSIX