De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Programmatuur voor real-time controle

Verwante presentaties


Presentatie over: "Programmatuur voor real-time controle"— Transcript van de presentatie:

1 Programmatuur voor real-time controle
Yolande Berbers Departement Computerwetenschappen 200A

2 2 groepen cursus voor 2 groepen gecombineerd vak, samen met
Processoren voor real-time systemen (1.5 su.) Processoren en programmatuur voor real-time systemen: geïntegreerd practicum (3 su.) 2e Burg. W.E.Ir., Mechanica: Mechatronica en productontwikkeling (gewoon en 2ji.i.) voorkennis: Methodiek van de Informatica, Programmatuur: Ontwerp en Ontwikkeling alleenstaand keuzevak 3e burg. elektr. ir.,3e burg. w.e.ir., elektrotechniek, keuze voorkennis: Methodiek van de Informatica, Informatie- en programmastructuren

3 2 groepen verschillen tussen 2 groepen gecombineerd vak
er zijn practicasessies en een ander onderdeel alternatief examen (reeds uitgelegd door H. Bruyninckx) alleenstaand keuzevak dit vak voorziet 3 oefenzittingen deze moeten nog gepland worden voorkeur weken 10, 11, 12 klassiek examen (zie verder)

4 cursusnota’s boek: slides: Real-Time Systems and Programming Languages
Alan Burns, Andy Wellings third edition, 2001 Addison-Wesley slides: Deze zijn te vinden op het web, via mijn home-pagina: huidige versie van slides (op het net) is ± die van vorig jaar bij lesvoorbereidingen pas ik die heel regelmatig aan

5 praktische organisatie
les dinsdag uur en woensdag uur 8u25 is een erg vroeg uur ! uurrooster week 8 (volgende week) ben ik in het buitenland les loopt dus door tot week 12 ik geef zelf de oefenzittingen

6 doelstellingen van de cursus
inzicht verwerven in problematiek v. real-time systemen: basisvereisten van real-time systemen moeilijkheden bij de realisering studie van mogelijke aanpakken aangewende software concepten bv samenwerkende processen, atomische acties specifieke mogelijkheden geboden door programmeertalen bv exceptions in Ada specifieke mogelijkheden geboden op systeemniveau bv tijdsbehandeling, scheduling het is niet de bedoeling om van jullie Ada-, C- of Java-programmeurs te maken !!

7 waar ik belang aan hecht
inzicht hebben begrijpen van de concepten begrijpen waarvoor de concepten dienen (dus de problematiek goed begrijpen) kunnen toepassen van concepten oplossingen kunnen vergelijken

8 klassiek examen (alleenstaand keuzevak)
deel 1: open boek ex (= boek + kopieën transparanten) mondeling met schriftelijke voorbereiding de tijd is beperkt: 2 uur vraag 1 peilt naar inzicht in de cursus overzichtsvraag combinatie van 2 of meer delen uit de cursus vraag 2 oefening deel 2: gesloten boek examen peilt naar terminologie-kennis 6 kleine vragen waarvan 5 moeten beantwoord worden

9 goed om te weten voor het examen
‘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 !

10 alternatief examen (geïntegreerd pract.)
vragen bij de gekozen oplossingen peilen natuurlijk ook naar inzicht in de cursus peilen naar waarom bepaalde keuzes gemaakt werden vragen welke alternatieven overwogen werden kijken of men begrijpt op welk niveau de verschillende problemen en oplossingen zich situeren peilen onrechtstreeks naar terminologie kennis

11 vereiste voorkennis basiskennis programmeren (Java )
Methodiek van de informatica (MI) en verder OF: Programmatuur, ontwerp en ontwikkeling (POO) OF: Informatie- en programmastructuren (IPS)

12 overzicht van de cursus
karakteristieken v. real-time en embedded systemen (H1) kort overzicht van Ada, C, en Java (H3 en H4) met extra slides over hun geschiktheid voor real-time/embedded aspect betrouwbaarheid betrouwbaarheid en fouttolerantie (H5) behandeling uitzonderingstoestanden in programmeertalen (H6) aspect parallellisme programmeren van ‘parallelle’ modules (H7) synchronisatie en communicatie met gedeeld geheugen (H8) synchronisatie en communicatie zonder gedeeld geheugen (H9)

13 overzicht van de cursus (vervolg)
combinatie betrouwbaarheid en parallellisme atomaire acties (H10) het beheren van hulpmiddelen (H11) aspect tijd tijdsbehandeling in systemen (H12) scheduling (H13) gedistribueerde systemen (H14) laag-niveau programmatie (H15) RTOS: real-time besturingssystemen

14 relatie cursus - boek ik probeer zoveel mogelijk het boek te volgen
maar natuurlijk leg ik eigen accenten het aspect ‘programming languages’ komt in het boek uitgebreider aan bod dan ik nodig acht voor jullie we zullen vooral de voorbeelden van Ada bekijken, ook die van C en Java, maar niets van occam2 normaal geven de slides goed weer wat er gezien werd huidige versie van slides (op het net) is ± die van vorig jaar bij lesvoorbereidingen pas ik die heel regelmatig aan

15 hoofdstuk 1: inleiding tot real-time en embedded systemen

16 overzicht wat is een real-time systeem ? wat is een embedded systeem ?
concrete voorbeelden verschillen types van real-time & embedded systemen kenmerken van real-time & embedded systemen economisch belang

17 wat is een real-time systeem?
een computersysteem dat moet reageren op externe stimuli binnen een eindige en wel bepaalde tijd de correctheid van het systeem niet alleen afhankelijk van het logische resultaat ook van het tijdstip waarop dat resultaat gegeven werd niet op tijd reageren is even erg als foutief antwoorden in het Nederlands ware-tijd-systemen

18 wat is een ingebed systeem?
ingebed systeem == embedded systeem een product met processor en software software is onlosmakelijk verbonden met het product software wordt niet apart verkocht software biedt vaak belangrijke toegevoegde waarde product dat een welbepaalde functie vervult zeer veel voorbeelden in de huidige consumentenmarkt vaak is ingebed syst. deel van groter industrieel complex computersysteem bewaakt en/of bestuurt externe apparatuur voorbeelden uit boek komen meestal uit deze hoek

19 real-time systeem vs ingebed systeem
een ingebed systeem reageert op externe stimuli deze reacties moeten vaak in real-time gebeuren ingebedde systemen en real-time systemen veel gelijkaardige karakteristieken in het boek real-time system == embedded system

20 voorbeelden van RT & ES hoofdcomponenten van globale infrastructuur
al onze energiebronnen hangen af van embedded systemen (olie, gas, nucleaire energie) vliegtuigen vliegen, schepen varen, allemaal gebaseerd op embedded systemen voedsel, drank, zuiver water komen hoofdzakelijk van processen die afhankelijk zijn van embedded systemen de farmaceutische industrie gebruikt embedded systemen om medicijnen te produceren en te creëren embedded systemen zijn vitaal in autoproductie, nationale en internationale defensie, spoorwegen netwerken, medische uitrusting, telecommunicatie, radio en televisie, ...

21 soorten real-time systemen
harde real-time - systemen: absolute noodzaak om te reageren binnen een deadline bv een vlucht-controle systeem wanneer de deadlines erg klein zijn en de mogelijke gevolgen catastrofaal, zijn dit zeer kritische systemen (bv het besturen van bomraketten) zachte real-time - systemen: deadline is belangrijk, maar het systeem functioneert correct ook als een deadline ‘af en toe’ gemist wordt bv het verzamelen van gegevens bij procescontrole vaak vermindert de waarde van een reactie wanneer deze te laat komt (maar heeft geen catastrofale gevolgen)

22 soorten real-time systemen
wat gebeurt er wanneer een deadline gemist wordt systeem faalt: hard real-time waarde van resultaat vermindert: soft real-time resultaat heeft geen waarde meer: firm real-time

23 soorten real-time systemen
een computer systeem kan zowel harde als zachte real-time subsystemen hebben missen van een deadline vaak: kost-functie geassocieerd met missen van een deadline aangeven (in %) hoe vaak een deadline mag gemist worden

24 voorbeelden van RT systemen
real-time systemen voor proces-controle real-time systemen in een productieomgeving real-time systemen voor communicatie, bevel en controle veralgemening: industrieel ingebed computersystemen

25 voorbeelden: proces-controle
real-time systeem voor proces-controle eenvoudig voorbeeld: zorgen voor een gelijke stroming in een pijpleiding, door controle van een klep de hoek van de klep moet aangepast worden aan de veranderingen van de inputstroming dit moet gebeuren binnen een bepaalde tijd, of anders zal de apparatuur aan het einde van de pijp overbelast worden dit kan best veel rekenwerk vragen

26 example: simple valve control
interface time input flow reading processing output valve angle flow meter valve

27 voorbeelden: proces-controle
proces-controle: algemene kenmerken interactie met uitrusting gebruik van sensoren en actuatoren gebruik van transducers: genereren een elektrisch signaal evenredig met een fysische gemeten waarde gebruik van analoge - digitaal (en digitaal - analoog) convertoren

28 general process control
process control computer stirrer valve temperature transducer operators console chemicals and materials finished products a process control system

29 voorbeelden: productieomgeving
real-time systeem in een productieomgeving gebruik van een variatie van mechanische tuigen (werktuigen, robots, lopende banden), werking moet gecoördineerd en gecontroleerd worden vaak een groot aantal losgekoppelde systemen automatisering van allerhande handelingen verlaagt de productiekost verhoogt de productiviteit integratie van het volledige productieproces, van ontwerp van een product tot fabricatie

30 general manufacturing
operators console production control computer parts finished products machine tools conveyor belts manipulators a production control system

31 voorbeelden: comm., bevel en controle
real-time systemen voor communicatie, bevel en controle militaire term, veel toepassingen met zelfde karakteristieken voorbeelden: automatische bediening van medische toestellen, luchtverkeer controle, vliegtuigreservaties, bankoperaties per terminal kenmerken: ingewikkelde beslissingsregels verzamelen van informatie grote hoeveelheden vaak geografisch verspreid administratieve procedures

32 communicatie, bevel en controle
command post command and control computer temperature, pressure, power and so on terminals sensors/actuators a command and control system

33 voorbeelden: veralgemening
veralgemening: industrieel ingebed computersystemen directe interface met fysische wereld sensoren die op regelmatige tijdstippen informatie geven meestal ook een console operator krijgt uitgebreide informatie (vaak grafisch) operator kan manueel ingrijpen toestandsveranderingen in het systeem worden in een gegevensbank bijgehouden voor analyse en het nemen van beslissingen

34 industrial embedded system
algorithms for digital control real time clock engineering system interface data logging remote monitoring database data retrieval and display display devices operator’s console operator interface

35 vb van ingebedde systemen
wasmachine één specifieke taak, beperkte functionaliteit weinig flexibel goedkoop, massaproductie postsorteermachine één specifieke taak, uitgebreide maar overzienbare functionaliteit geen massaproductie communicatiesysteem in wagen zeer complex goedkoop zware real-time vereisten laag vermogen gebruik moet zeer flexibel zijn, open voor nieuwe toepassingen

36 vb van ingebedde systemen
ADSL switching center in centraal punt 20 tot 50 ADSL lijnen op een ATM netwerk zware real-time vereisten zeer hoge snelheid nodig laag vermogen gebruik MPEG-4 decoder zeer complex laag vermogen gebruik (bv in draagbare videospelletjes)

37 kenmerken van een RTS groot en complex
niet gewoon proportioneel met het aantal lijnen code gerelateerd aan de variëteit die in de code voorkomt verandert continu omdat de omgeving continu verandert situaties veranderen noden veranderen nood aan continu onderhoud kan variëren van enkele honderden lijnen assembler of C tot 20 miljoen lijnen Ada-code (geschat voor het ruimtestation ISS)

38 kenmerken van een RTS manipulatie van reële getallen
veel RT systemen controleren een industriële activiteit bv.: controller gebaseerd op feedback gecontroleerde entiteit heeft een vector van output variabelen, die veranderen in de tijd outputs worden vergeleken met het gewenste signaal verschil wordt gebruikt om de input variabelen bij te sturen controle gebaseerd op mathematisch model van proces complex, vaak gebaseerd op differentiaal vergelijkingen

39 kenmerken van een RTS e.g.: controller (eventueel analoog), gebaseerd op feedback r(t) is gewenst signaal e(t) is foutenvector u(t) is input vector y(t) is output signaal r(t) controller (analog) plant e(t) u(t) y(t)

40 kenmerken van een RTS realistischere figuur met een computer, discrete waarden (met *), en D/A en A/D convertoren discipline: controle theorie vereiste: vermogen om reële getallen te manipuleren r(t*) digital to analog converter plant u(t*) u(t) y(t) controller (computer) sample and hold y(t*)

41 kenmerken van een RTS extreem betrouwbaar en veilig
meer en meer vitale functies in de samenleving worden toevertrouwd aan computer systemen slecht functionerende systemen kunnen catastrofaal zijn vaak zijn mensenlevens gemoeid bv kerncentrales kan ook extreem kostelijk zijn voorbeeld van zeer kostelijke faling: Ariane 5, zie volgende slides

42 voorbeeld: ontploffing Ariane 5
eerste lancering van Ariane 5 op 4 juni 1996: na 37 sec. boordcomputer denkt dat raket zwaar uit koers is boordcomputer geeft sterk bijstuurcommando boordcomputer oordeelt dat dit niet voldoende is, en schakelt zelfs de hoofdmotor in raket kantelt, bovendeel scheurt los, zelfvernietigingsdozen doen het geheel ontploffen

43 voorbeeld: ontploffing Ariane 5
wat liep er mis het Inertial Reference System (SRI) berekent de houding en de bewegingen van de raket, op basis van bepaalde metingen deze metingen worden doorgegeven aan de boordcomputer, die in functie hiervan stuurbeslissingen neemt vóór de lancering berekent een zekere module in het SRI die houding tov het lanceerplatform na lancering heeft die bepaalde module geen betekenis meer die module werd gestopt ongeveer 40 sec. na lancering voor Ariane 4, om count-down te kunnen “pauzeren” behouden in Ariane 5: verander geen goedwerkende software in die code staat een conversie van een 64-bit floating point getal naar een 16-bit integer

44 voorbeeld: ontploffing Ariane 5
wat liep er mis (vervolg) Ariane 5 stijgt anders op van Ariane 4: traject is verschillend na de lancering gebeurde er een conversiefout: het 64-bit floating point getal had een onverwachte grote waarde de toepassing crashte, een 2de computer werd ingeschakeld deze 2de computer bevatte dezelfde software, dus crashte ook 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 gebruikte programmeertaal: Ada

45 voorbeeld: ontploffing Ariane 5
hoe had dit kunnen vermeden worden fouten door conversies, evenals andere fouten zoals delingen door 0, kunnen opgevangen worden in specifieke stukken code (zie H6) dit gebeurde niet voor de instructie die crash veroorzaakte de fout had via simulaties kunnen gevonden worden maar in de simulaties draaide die module niet na lancering

46 karakteristieken van een RTS
verschillende software componenten zijn gelijktijdig actief de apparaten in de omgeving werken gelijktijdig deze gelijktijdigheid wordt het best gerealiseerd door gelijktijdig uitvoerende software componenten meer en meer real-time systemen zijn gedistribueerde systemen dit vraagt ondersteuning van programmeertalen en/of systemen

47 karakteristieken van een RTS
omgang met ‘tijd’ responstijd is van groot belang deadlines moeten in alle omstandigheden gehaald worden worst-case moet gekend zijn voorspelbaarheid van responstijd is cruciaal real-time systemen worden altijd over-gedimensioneerd taal en systeem moeten toelaten om tijd te specifiëren, deadlines te specifiëren, om te reageren wanneer een deadline niet gehaald zal worden

48 karakteristieken van een RTS
interacties met hardware interface aangesloten hardware: vaak niet de klassieke randapparaten randapparaten moeten kunnen gestuurd worden, liefst op een abstracte manier vereiste voor efficiënte implementatie en uitvoeringsomgeving de tijdsvereisten kunnen zo streng zijn dat efficiëntie echt belangrijk wordt (vb DSP)

49 karakteristieken van een RTS
typische karakteristieken voor consumentenmarkt goedkoop beperkt geheugen goedkopere processor time-to-market is extreem laag laag vermogen gebruik indien draagbaar

50 karakteristieken van een RTS: overzicht
‘groot en complex manipuleren reële getallen extreem betrouwbaar en veilig verschillende software componenten zijn gelijktijdig actief omgang met ‘tijd’ interacties met hardware interface vereist efficiënte implementatie en uitvoeringsomgeving

51 economisch belang ingebedde systemen: belang voor Vlaanderen
voor elke PC zijn er ongeveer 50 ingebedde systemen PC-markt heeft een plateau bereikt, markt voor ingebedde systemen kan nog enorm groeien belang voor Vlaanderen groot deel van software dat in Vlaanderen gemaakt wordt is voor ingebedde systemen Vlaanderen is derde ‘super-high-tech region’ in Europa (na Rheinland-Phals en Hessen) volgens Eurostat studie belang voor Europa VS hebben groot deel van ‘packaged software’ markt Europa heeft en kan nog groeien in markt ingebedde systemen

52 economisch belang belang voor Europa
VS hebben groot deel van ‘packaged software’ markt (zie volgende slide) top 10 software verkopers in de wereld: Microsoft Oracle Computer Ass. Int. Novell SAP AG Europa kan nog kan nog groeien in markt ingebedde systemen Sybase Adobe systems Informix American Management Systems Sterling Software

53 economisch belang


Download ppt "Programmatuur voor real-time controle"

Verwante presentaties


Ads door Google