RTP - Departement Computerwetenschappen

advertisement
RTP
Real-Time Programmatuur
Programmatuur voor
real-time controle
Yolande Berbers
Departement Computerwetenschappen
200A 03.20
[email protected]
Yolande Berbers
Programmatuur voor real-time controle
slide 1
RTP

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

Yolande Berbers
Programmatuur voor real-time controle
slide 2
RTP

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)

Yolande Berbers
Programmatuur voor real-time controle
slide 3
cursusnota’s
RTP

boek:
 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:

http://www.cs.kuleuven.ac.be/~yolande/
 huidige versie van slides (op het net) is ± die van vorig jaar
 bij lesvoorbereidingen pas ik die heel regelmatig aan
Yolande Berbers
Programmatuur voor real-time controle
slide 4
RTP

praktische organisatie
les dinsdag 8.25-10.25 uur en woensdag 10.35-12.35 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
Yolande Berbers
Programmatuur voor real-time controle
slide 5
RTP

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 !!
Yolande Berbers
Programmatuur voor real-time controle
slide 6
RTP
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
Yolande Berbers
Programmatuur voor real-time controle
slide 7
RTP 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
Yolande Berbers
Programmatuur voor real-time controle
slide 8
RTP 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 !
Yolande Berbers
Programmatuur voor real-time controle
slide 9
RTP 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
Yolande Berbers
Programmatuur voor real-time controle
slide 10
RTP

vereiste voorkennis
basiskennis programmeren (Java )
 Methodiek van de informatica (MI)
 en verder
OF: Programmatuur, ontwerp en ontwikkeling (POO)
 OF: Informatie- en programmastructuren (IPS)

Yolande Berbers
Programmatuur voor real-time controle
slide 11
RTP
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)
Yolande Berbers
Programmatuur voor real-time controle
slide 12
RTP 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
Yolande Berbers
Programmatuur voor real-time controle
slide 13
RTP

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
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

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
Yolande Berbers
Programmatuur voor real-time controle
slide 16
RTP

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
Yolande Berbers
Programmatuur voor real-time controle
slide 17
RTP
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
Yolande Berbers
Programmatuur voor real-time controle
slide 18
RTP

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
Yolande Berbers
Programmatuur voor real-time controle
slide 19
voorbeelden van RT & ES
RTP
 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, ...
Yolande Berbers
Programmatuur voor real-time controle
slide 20
RTP

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)
Yolande Berbers
Programmatuur voor real-time controle
slide 21
RTP

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
Yolande Berbers
Programmatuur voor real-time controle
slide 22
RTP
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
Yolande Berbers
Programmatuur voor real-time controle
slide 23
RTP
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
Yolande Berbers
Programmatuur voor real-time controle
slide 24
RTP

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

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

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
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

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
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

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
Yolande Berbers
Programmatuur voor real-time controle
slide 31
RTP communicatie, bevel en controle
command
post
command and
control computer
terminals
temperature, pressure, power and so on
sensors/actuators
a command and control system
Yolande Berbers
Programmatuur voor real-time controle
slide 32
RTP

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
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
display
devices
engineering
system
database
operator’s
console
Yolande Berbers
operator
interface
Programmatuur voor real-time controle
slide 34
RTP

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
Yolande Berbers
Programmatuur voor real-time controle
slide 35
RTP

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
 zeer hoge snelheid nodig
 laag vermogen gebruik (bv in draagbare videospelletjes)
Yolande Berbers
Programmatuur voor real-time controle
slide 36
RTP

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)
Yolande Berbers
Programmatuur voor real-time controle
slide 37
RTP

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

Yolande Berbers
complex, vaak gebaseerd op differentiaal vergelijkingen
Programmatuur voor real-time controle
slide 38
RTP

kenmerken van een RTS
e.g.: controller (eventueel analoog), gebaseerd op feedback
 r(t) is gewenst signaal
 u(t) is input vector
 e(t) is foutenvector
 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
 realistischere figuur met een computer, discrete waarden (met *),
en D/A en A/D convertoren
 discipline: controle theorie
r(t*)
controller
u(t*)
(computer)
y(t*)
digital to
analog
converter
u(t)
sample
and
hold
plant
y(t)
 vereiste: vermogen om reële getallen te manipuleren
Yolande Berbers
Programmatuur voor real-time controle
slide 40
RTP

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
Yolande Berbers
Programmatuur voor real-time controle
slide 41
RTP

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
Yolande Berbers
Programmatuur voor real-time controle
slide 42
RTP

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
Yolande Berbers
Programmatuur voor real-time controle
slide 43
RTP

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
Yolande Berbers
Programmatuur voor real-time controle
slide 44
RTP

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

Yolande Berbers
maar in de simulaties draaide die module niet na lancering
Programmatuur voor real-time controle
slide 45
RTP

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
Yolande Berbers
Programmatuur voor real-time controle
slide 46
RTP

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
Yolande Berbers
Programmatuur voor real-time controle
slide 47
RTP

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)
Yolande Berbers
Programmatuur voor real-time controle
slide 48
RTP

karakteristieken van een RTS
typische karakteristieken voor consumentenmarkt
 goedkoop

beperkt geheugen

goedkopere processor
 time-to-market is extreem laag
 laag vermogen gebruik indien draagbaar
Yolande Berbers
Programmatuur voor real-time controle
slide 49
RTP

‘
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
Yolande Berbers
Programmatuur voor real-time controle
slide 50
RTP

economisch belang
ingebedde systemen:
 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
Yolande Berbers
Programmatuur voor real-time controle
slide 51
RTP

economisch belang
belang voor Europa
 VS hebben groot deel van ‘packaged software’ markt
(zie volgende slide)
 top 10 software verkopers in de wereld:

Microsoft

Sybase

Oracle

Adobe systems

Computer Ass. Int.

Informix

Novell

American Management Systems

SAP AG

Sterling Software
 Europa kan nog kan nog groeien in markt ingebedde systemen
Yolande Berbers
Programmatuur voor real-time controle
slide 52
RTP
economisch belang
Packaged Software : Production Share versus Customer Share 1993
Production share
100% = $ 100 bn
Customer share
1%
Rest of World
Pacific Region
Europe
4%
5%
16%
14%
42%
79%
USA
39%
Source : Gartner Group 1994
Yolande Berbers
Programmatuur voor real-time controle
slide 53
Download