RTP RealTime Programmatuur voor realtime controle Yolande Berbers
RTP Real-Time Programmatuur voor real-time controle Yolande Berbers Departement Computerwetenschappen 200 A 03. 20 Yolande@cs. kuleuven. ac. be Yolande Berbers Programmatuur voor real-time controle slide 1
RTP n 2 groepen cursus voor 2 groepen u gecombineerd vak, samen met Processoren voor real-time systemen (1. 5 su. ) l Processoren en programmatuur voor real-time systemen: geïntegreerd practicum (3 su. ) s 2 e Burg. W. E. Ir. , Mechanica: Mechatronica en productontwikkeling (gewoon en 2 ji. i. ) s voorkennis: Methodiek van de Informatica, Programmatuur: Ontwerp en Ontwikkeling u alleenstaand keuzevak s 3 e burg. elektr. ir. , 3 e burg. w. e. ir. , elektrotechniek, keuze s voorkennis: Methodiek van de Informatica, Informatie- en programmastructuren l Yolande Berbers Programmatuur voor real-time controle slide 2
RTP n 2 groepen verschillen tussen 2 groepen u gecombineerd vak er zijn practicasessies en een ander onderdeel l alternatief examen (reeds uitgelegd door H. Bruyninckx) u alleenstaand keuzevak l dit vak voorziet 3 oefenzittingen s deze moeten nog gepland worden s voorkeur weken 10, 11, 12 l klassiek examen (zie verder) l Yolande Berbers Programmatuur voor real-time controle slide 3
RTP n cursusnota’s boek: u Real-Time Systems and Programming Languages u Alan Burns, Andy Wellings u third edition, 2001 u Addison-Wesley n slides: u Deze zijn te vinden op het web, via mijn home-pagina: l http: //www. cs. kuleuven. ac. be/~yolande/ u huidige versie van slides (op het net) is ± die van vorig jaar u bij lesvoorbereidingen pas ik die heel regelmatig aan Yolande Berbers Programmatuur voor real-time controle slide 4
RTP n praktische organisatie les dinsdag 8. 25 -10. 25 uur en woensdag 10. 35 -12. 35 uur u 8 u 25 is een erg vroeg uur ! n uurrooster u week 8 (volgende week) ben ik in het buitenland u les loopt dus door tot week 12 n ik geef zelf de oefenzittingen Yolande Berbers Programmatuur voor real-time controle slide 5
RTP n doelstellingen van de cursus inzicht verwerven in problematiek v. real-time systemen: u basisvereisten van real-time systemen u moeilijkheden bij de realisering n studie van mogelijke aanpakken u aangewende software concepten bv samenwerkende processen, atomische acties u specifieke mogelijkheden geboden door programmeertalen bv exceptions in Ada u specifieke mogelijkheden geboden op systeemniveau bv tijdsbehandeling, scheduling n het is niet de bedoeling om van jullie Ada-, C- of Java-programmeurs te maken !! Yolande Berbers Programmatuur voor real-time controle slide 6
RTP waar ik belang aan hecht n inzicht hebben n begrijpen van de concepten n begrijpen waarvoor de concepten dienen (dus de problematiek goed begrijpen) n kunnen toepassen van concepten n oplossingen kunnen vergelijken Yolande Berbers Programmatuur voor real-time controle slide 7
RTP klassiek examen (alleenstaand keuzevak) n deel 1: open boek ex (= boek + kopieën transparanten) u mondeling met schriftelijke voorbereiding u de tijd is beperkt: 2 uur u vraag 1 peilt naar inzicht in de cursus l overzichtsvraag l combinatie van 2 of meer delen uit de cursus u vraag 2 l oefening l n deel 2: gesloten boek examen u peilt naar terminologie-kennis u 6 kleine vragen waarvan 5 moeten beantwoord worden Yolande Berbers Programmatuur voor real-time controle slide 8
RTP goed om te weten voor het examen n ‘vergelijk x en y’ niet: bespreek achter elkaar eerst x en dan y, wel: bespreek x en y zodat ze vergelijkbaar worden (dus volgens hetzelfde stramien) en vergelijk ze dan precieze syntax van een programmeertaal is niet van belang voor het examen, wel de semantiek (=wat is het effect van bepaalde constructies) het examen is geen défilé: jeans & t-shirts zijn welkom ! Yolande Berbers Programmatuur voor real-time controle slide 9
RTP alternatief examen (geïntegreerd pract. ) n vragen bij de gekozen oplossingen u peilen natuurlijk ook naar inzicht in de cursus u peilen naar waarom bepaalde keuzes gemaakt werden u vragen welke alternatieven overwogen werden u kijken of men begrijpt op welk niveau de verschillende problemen en oplossingen zich situeren u peilen onrechtstreeks naar terminologie kennis Yolande Berbers Programmatuur voor real-time controle slide 10
RTP n vereiste voorkennis basiskennis programmeren (Java ) u Methodiek van de informatica (MI) u en verder OF: Programmatuur, ontwerp en ontwikkeling (POO) l OF: Informatie- en programmastructuren (IPS) l Yolande Berbers Programmatuur voor real-time controle slide 11
RTP overzicht van de cursus n karakteristieken v. real-time en embedded systemen (H 1) n kort overzicht van Ada, C, en Java (H 3 en H 4) u met extra slides over hun geschiktheid voor real-time/embedded n aspect betrouwbaarheid u betrouwbaarheid en fouttolerantie (H 5) u behandeling uitzonderingstoestanden in programmeertalen (H 6) n aspect parallellisme u programmeren van ‘parallelle’ modules (H 7) u synchronisatie en communicatie met gedeeld geheugen (H 8) u synchronisatie en communicatie zonder gedeeld geheugen (H 9) Yolande Berbers Programmatuur voor real-time controle slide 12
RTP overzicht van de cursus (vervolg) n combinatie betrouwbaarheid en parallellisme u atomaire acties (H 10) u het beheren van hulpmiddelen (H 11) n aspect tijd u tijdsbehandeling in systemen (H 12) u scheduling (H 13) n gedistribueerde systemen (H 14) n laag-niveau programmatie (H 15) n RTOS: real-time besturingssystemen Yolande Berbers Programmatuur voor real-time controle slide 13
RTP n relatie cursus - boek ik probeer zoveel mogelijk het boek te volgen u maar natuurlijk leg ik eigen accenten n het aspect ‘programming languages’ komt in het boek uitgebreider aan bod dan ik nodig acht voor jullie u we zullen vooral de voorbeelden van Ada bekijken, ook die van C en Java, maar niets van occam 2 n normaal geven de slides goed weer wat er gezien werd u huidige versie van slides (op het net) is ± die van vorig jaar u bij lesvoorbereidingen pas ik die heel regelmatig aan Yolande Berbers Programmatuur voor real-time controle slide 14
RTP Real-Time Programmatuur hoofdstuk 1: inleiding tot real-time en embedded systemen Yolande Berbers Programmatuur voor real-time controle slide 15
RTP overzicht n wat is een real-time systeem ? n wat is een embedded systeem ? n concrete voorbeelden n verschillen types van real-time & embedded systemen n kenmerken van real-time & embedded systemen n economisch belang Yolande Berbers Programmatuur voor real-time controle slide 16
RTP n wat is een real-time systeem? een computersysteem dat moet u reageren op externe stimuli u binnen eindige en wel bepaalde tijd n de correctheid van het systeem u niet alleen afhankelijk van het logische resultaat u ook van het tijdstip waarop dat resultaat gegeven werd n n niet op tijd reageren is even erg als foutief antwoorden in het Nederlands u ware-tijd-systemen Yolande Berbers Programmatuur voor real-time controle slide 17
RTP wat is een ingebed systeem? n ingebed systeem == embedded systeem n een product met processor en software u software is onlosmakelijk verbonden met het product u software wordt niet apart verkocht u software biedt vaak belangrijke toegevoegde waarde u product dat een welbepaalde functie vervult n zeer veel voorbeelden in de huidige consumentenmarkt n vaak is ingebed syst. deel van groter industrieel complex u computersysteem bewaakt en/of bestuurt externe apparatuur u voorbeelden uit boek komen meestal uit deze hoek Yolande Berbers Programmatuur voor real-time controle slide 18
RTP n real-time systeem vs ingebed systeem een ingebed systeem reageert op externe stimuli u deze reacties moeten vaak in real-time gebeuren n ingebedde systemen en real-time systemen u veel gelijkaardige karakteristieken n in het boek u real-time system == embedded system Yolande Berbers Programmatuur voor real-time controle slide 19
voorbeelden van RT & ES RTP u hoofdcomponenten van globale infrastructuur l al onze energiebronnen hangen af van embedded systemen (olie, gas, nucleaire energie) l vliegtuigen vliegen, schepen varen, allemaal gebaseerd op embedded systemen l voedsel, drank, zuiver water komen hoofdzakelijk van processen die afhankelijk zijn van embedded systemen u de farmaceutische industrie gebruikt embedded systemen om medicijnen te produceren en te creëren u embedded systemen zijn vitaal in autoproductie, nationale en internationale defensie, spoorwegen netwerken, medische uitrusting, telecommunicatie, radio en televisie, . . . Yolande Berbers Programmatuur voor real-time controle slide 20
RTP n soorten real-time systemen harde real-time - systemen: absolute noodzaak om te reageren binnen een deadline u bv een vlucht-controle systeem u wanneer de deadlines erg klein zijn en de mogelijke gevolgen catastrofaal, zijn dit zeer kritische systemen (bv het besturen van bomraketten) n zachte real-time - systemen: deadline is belangrijk, maar het systeem functioneert correct ook als een deadline ‘af en toe’ gemist wordt u bv het verzamelen van gegevens bij procescontrole u vaak vermindert de waarde van een reactie wanneer deze te laat komt (maar heeft geen catastrofale gevolgen) Yolande Berbers Programmatuur voor real-time controle slide 21
RTP n soorten real-time systemen wat gebeurt er wanneer een deadline gemist wordt u systeem faalt: hard real-time u waarde van resultaat vermindert: soft real-time u resultaat heeft geen waarde meer: firm real-time Yolande Berbers Programmatuur voor real-time controle slide 22
RTP soorten real-time systemen n een computer systeem kan zowel harde als zachte real-time subsystemen hebben n missen van een deadline u vaak: kost-functie geassocieerd met missen van een deadline u aangeven (in %) hoe vaak een deadline mag gemist worden Yolande Berbers Programmatuur voor real-time controle slide 23
RTP voorbeelden van RT systemen n real-time systemen voor proces-controle n real-time systemen in een productieomgeving n real-time systemen voor communicatie, bevel en controle n veralgemening: industrieel ingebed computersystemen Yolande Berbers Programmatuur voor real-time controle slide 24
RTP n voorbeelden: proces-controle real-time systeem voor proces-controle u eenvoudig voorbeeld: zorgen voor een gelijke stroming in een pijpleiding, door controle van een klep l de hoek van de klep moet aangepast worden aan de veranderingen van de inputstroming l dit moet gebeuren binnen een bepaalde tijd, of anders zal de apparatuur aan het einde van de pijp overbelast worden l Yolande Berbers dit kan best veel rekenwerk vragen Programmatuur voor real-time controle slide 25
example: simple valve control RTP interface input flow reading flow meter processing output valve angle valve time Yolande Berbers Programmatuur voor real-time controle slide 26
RTP n voorbeelden: proces-controle: algemene kenmerken u interactie met uitrusting u gebruik van sensoren en actuatoren u gebruik van transducers: genereren elektrisch signaal evenredig met een fysische gemeten waarde u gebruik van analoge - digitaal (en digitaal - analoog) convertoren Yolande Berbers Programmatuur voor real-time controle slide 27
RTP general process control operators console process control computer chemicals and materials valve temperature transducer stirrer finished products a process control system Yolande Berbers Programmatuur voor real-time controle slide 28
RTP voorbeelden: productieomgeving n real-time systeem in een productieomgeving u gebruik van een variatie van mechanische tuigen (werktuigen, robots, lopende banden), l werking moet gecoördineerd en gecontroleerd worden l vaak een groot aantal losgekoppelde systemen u automatisering van allerhandelingen l verlaagt de productiekost l verhoogt de productiviteit u integratie van het volledige productieproces, van ontwerp van een product tot fabricatie Yolande Berbers Programmatuur voor real-time controle slide 29
RTP general manufacturing operators console production control computer parts machine tools manipulators conveyor belts finished products a production control system Yolande Berbers Programmatuur voor real-time controle slide 30
RTP n voorbeelden: comm. , bevel en controle real-time systemen voor communicatie, bevel en controle u militaire term, veel toepassingen met zelfde karakteristieken u voorbeelden: automatische bediening van medische toestellen, luchtverkeer controle, vliegtuigreservaties, bankoperaties per terminal u kenmerken: l ingewikkelde beslissingsregels l verzamelen van informatie s grote hoeveelheden s vaak geografisch verspreid l administratieve procedures Yolande Berbers Programmatuur voor real-time controle slide 31
RTP communicatie, bevel en controle command post command control computer terminals temperature, pressure, power and so on sensors/actuators a command control system Yolande Berbers Programmatuur voor real-time controle slide 32
RTP n voorbeelden: veralgemening: industrieel ingebed computersystemen u directe interface met fysische wereld u sensoren die op regelmatige tijdstippen informatie geven u meestal ook een console l operator krijgt uitgebreide informatie (vaak grafisch) l operator kan manueel ingrijpen l toestandsveranderingen in het systeem worden in een gegevensbank bijgehouden voor analyse en het nemen van beslissingen Yolande Berbers Programmatuur voor real-time controle slide 33
RTP real time clock industrial embedded system algorithms for digital control interface data logging remote monitoring data retrieval and display devices engineering system database operator’s console Yolande Berbers operator interface Programmatuur voor real-time controle slide 34
RTP n vb van ingebedde systemen wasmachine u één specifieke taak, beperkte functionaliteit u weinig flexibel u goedkoop, massaproductie n postsorteermachine u één specifieke taak, uitgebreide maar overzienbare functionaliteit u geen massaproductie n communicatiesysteem in wagen u zeer complex u goedkoop u zware real-time vereisten u laag vermogen gebruik u moet zeer flexibel zijn, open voor nieuwe toepassingen Yolande Berbers Programmatuur voor real-time controle slide 35
RTP n vb van ingebedde systemen ADSL switching center u in centraal punt 20 tot 50 ADSL lijnen op een ATM netwerk u zware real-time vereisten u zeer hoge snelheid nodig u laag vermogen gebruik n MPEG-4 decoder u zeer complex u zeer hoge snelheid nodig u laag vermogen gebruik (bv in draagbare videospelletjes) Yolande Berbers Programmatuur voor real-time controle slide 36
RTP n kenmerken van een RTS groot en complex u niet gewoon proportioneel met het aantal lijnen code u gerelateerd aan de variëteit die in de code voorkomt u verandert continu omdat de omgeving continu verandert l situaties veranderen l noden veranderen u nood aan continu onderhoud u kan variëren van enkele honderden lijnen assembler of C tot 20 miljoen lijnen Ada-code (geschat voor het ruimtestation ISS) Yolande Berbers Programmatuur voor real-time controle slide 37
RTP n kenmerken van een RTS manipulatie van reële getallen u veel RT systemen controleren een industriële activiteit u bv. : controller gebaseerd op feedback l gecontroleerde entiteit heeft een vector van output variabelen, die veranderen in de tijd l outputs worden vergeleken met het gewenste signaal l verschil wordt gebruikt om de input variabelen bij te sturen u controle gebaseerd op mathematisch model van proces l Yolande Berbers complex, vaak gebaseerd op differentiaal vergelijkingen Programmatuur voor real-time controle slide 38
RTP n kenmerken van een RTS e. g. : controller (eventueel analoog), gebaseerd op feedback u r(t) is gewenst signaal u u(t) is input vector u e(t) is foutenvector u y(t) is output signaal r(t) Yolande Berbers e(t) controller (analog) u(t) plant Programmatuur voor real-time controle y(t) slide 39
RTP kenmerken van een RTS u realistischere figuur met een computer, discrete waarden (met *), en D/A en A/D convertoren u discipline: controle theorie r(t*) controller u(t*) (computer) y(t*) digital to analog converter u(t) sample and hold plant y(t) u vereiste: vermogen om reële getallen te manipuleren Yolande Berbers Programmatuur voor real-time controle slide 40
RTP n kenmerken van een RTS extreem betrouwbaar en veilig u meer en meer vitale functies in de samenleving worden toevertrouwd aan computer systemen l slecht functionerende systemen kunnen catastrofaal zijn s vaak zijn mensenlevens gemoeid – bv kerncentrales s kan ook extreem kostelijk zijn u voorbeeld van zeer kostelijke faling: Ariane 5, zie volgende slides Yolande Berbers Programmatuur voor real-time controle slide 41
RTP n voorbeeld: ontploffing Ariane 5 eerste lancering van Ariane 5 op 4 juni 1996: na 37 sec. u boordcomputer denkt dat raket zwaar uit koers is u boordcomputer geeft sterk bijstuurcommando u boordcomputer oordeelt dat dit niet voldoende is, en schakelt zelfs de hoofdmotor in u raket kantelt, bovendeel scheurt los, zelfvernietigingsdozen doen het geheel ontploffen Yolande Berbers Programmatuur voor real-time controle slide 42
RTP n voorbeeld: ontploffing Ariane 5 wat liep er mis u het Inertial Reference System (SRI) berekent de houding en de bewegingen van de raket, op basis van bepaalde metingen u deze metingen worden doorgegeven aan de boordcomputer, die in functie hiervan stuurbeslissingen neemt u vóór de lancering berekent een zekere module in het SRI die houding tov het lanceerplatform u na lancering heeft die bepaalde module geen betekenis meer u die module werd gestopt ongeveer 40 sec. na lancering l voor Ariane 4, om count-down te kunnen “pauzeren” u behouden in Ariane 5: verander geen goedwerkende software u in die code staat een conversie van een 64 -bit floating point getal naar een 16 -bit integer Yolande Berbers Programmatuur voor real-time controle slide 43
RTP n voorbeeld: ontploffing Ariane 5 wat liep er mis (vervolg) u Ariane 5 stijgt anders op van Ariane 4: traject is verschillend u na de lancering gebeurde er een conversiefout: het 64 -bit floating point getal had een onverwachte grote waarde u de toepassing crashte, een 2 de computer werd ingeschakeld u deze 2 de computer bevatte dezelfde software, dus crashte ook u door de crash werd een diagnose bit-patroon naar de boordcomputer gestuurd, die dit als gegevens interpreteerde, en besloot dat er drastisch bijgestuurd moest worden, met alle gevolgen van dien n gebruikte programmeertaal: Ada Yolande Berbers Programmatuur voor real-time controle slide 44
RTP n voorbeeld: ontploffing Ariane 5 hoe had dit kunnen vermeden worden u fouten door conversies, evenals andere fouten zoals delingen door 0, kunnen opgevangen worden in specifieke stukken code (zie H 6) l dit gebeurde niet voor de instructie die crash veroorzaakte u de fout had via simulaties kunnen gevonden worden l Yolande Berbers maar in de simulaties draaide die module niet na lancering Programmatuur voor real-time controle slide 45
RTP n karakteristieken van een RTS verschillende software componenten zijn gelijktijdig actief u de apparaten in de omgeving werken gelijktijdig u deze gelijktijdigheid wordt het best gerealiseerd door gelijktijdig uitvoerende software componenten u meer en meer real-time systemen zijn gedistribueerde systemen u dit vraagt ondersteuning van programmeertalen en/of systemen Yolande Berbers Programmatuur voor real-time controle slide 46
RTP n karakteristieken van een RTS omgang met ‘tijd’ u responstijd is van groot belang u deadlines moeten in alle omstandigheden gehaald worden l worst-case moet gekend zijn l voorspelbaarheid van responstijd is cruciaal l real-time systemen worden altijd over-gedimensioneerd u taal en systeem moeten toelaten om tijd te specifiëren, deadlines te specifiëren, om te reageren wanneer een deadline niet gehaald zal worden Yolande Berbers Programmatuur voor real-time controle slide 47
RTP n karakteristieken van een RTS interacties met hardware interface u aangesloten hardware: vaak niet de klassieke randapparaten u randapparaten moeten kunnen gestuurd worden, liefst op een abstracte manier n vereiste voor efficiënte implementatie en uitvoeringsomgeving u de tijdsvereisten kunnen zo streng zijn dat efficiëntie echt belangrijk wordt (vb DSP) Yolande Berbers Programmatuur voor real-time controle slide 48
RTP n karakteristieken van een RTS typische karakteristieken voor consumentenmarkt u goedkoop l beperkt geheugen l goedkopere processor u time-to-market is extreem laag u laag vermogen gebruik indien draagbaar Yolande Berbers Programmatuur voor real-time controle slide 49
RTP n ‘ karakteristieken van een RTS: overzicht groot en complex n manipuleren reële getallen n extreem betrouwbaar en veilig n verschillende software componenten zijn gelijktijdig actief n omgang met ‘tijd’ n interacties met hardware interface n vereist efficiënte implementatie en uitvoeringsomgeving Yolande Berbers Programmatuur voor real-time controle slide 50
RTP n economisch belang ingebedde systemen: u voor elke PC zijn er ongeveer 50 ingebedde systemen u PC-markt heeft een plateau bereikt, markt voor ingebedde systemen kan nog enorm groeien n belang voor Vlaanderen u groot deel van software dat in Vlaanderen gemaakt wordt is voor ingebedde systemen u Vlaanderen is derde ‘super-high-tech region’ in Europa (na Rheinland-Phals en Hessen) volgens Eurostat studie n belang voor Europa u VS hebben groot deel van ‘packaged software’ markt u Europa heeft en kan nog groeien in markt ingebedde systemen Yolande Berbers Programmatuur voor real-time controle slide 51
RTP n economisch belang voor Europa u VS hebben groot deel van ‘packaged software’ markt (zie volgende slide) u top 10 software verkopers in de wereld: l Microsoft l Sybase l Oracle l Adobe systems l Computer Ass. Int. l Informix l Novell l American Management Systems l SAP AG l Sterling Software u Europa kan nog groeien in markt ingebedde systemen Yolande Berbers Programmatuur voor real-time controle slide 52
RTP Yolande Berbers economisch belang Programmatuur voor real-time controle slide 53
- Slides: 53