1 / 140

Systeem-ge ï ntegreerde Programmatuur

Systeem-ge ï ntegreerde Programmatuur. Marc Gobin (&Yolande Berbers) Departement Computerwetenschappen (200A 03.20) (Yolande@cs.kuleuven.ac.be). practische organisatie. Marc Gobin is ziek ik geef enkele weken les zeker 2, waarschijnlijk 3, misschien meer

osma
Download Presentation

Systeem-ge ï ntegreerde Programmatuur

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systeem-geïntegreerde Programmatuur Marc Gobin (&Yolande Berbers) Departement Computerwetenschappen (200A 03.20)(Yolande@cs.kuleuven.ac.be)

  2. practische organisatie • Marc Gobin is ziek • ik geef enkele weken les • zeker 2, waarschijnlijk 3, misschien meer • slides kun je vinden via mijn home-page • http://www.cs.kuleuven.ac.be/~yolande/ • lessen over device drivers • die geef ik al altijd • practica: zie verder

  3. overzicht van de cursus • karakteristieken van real-time systemen • Ada en Java voor real-time en embedded systemen • gelijktijdige processen • het invoeren van tijd • interrupts • device drivers • petri-netten • schedulability • temporele logica

  4. practica • 2 practica • practicum 1 • individueel • schrijven van een programma dat gebruik maakt van gelijktijdige taken • begroot op 10 uur • practicum 2 • in groepjes van 2 • schrijven van pakket voor communicatie tussen 2 pc’s • begroot op 20 uur • er wordt een demo van de 2 practica georganiseerd • timing is afhankelijk van verloop herstel Marc Gobin

  5. deel 1: inleiding tot real-time systemen

  6. overview • what is a real-time system ? • what is an embedded system ? • concrete examples • different types of real-time & embedded systems • characteristics of real-time & embedded systems • economic importance

  7. 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

  8. wat is een ingebed 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

  9. 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

  10. voorbeelden van RT & ES • prime components of global infrastructure • the world’s energy supplies (oil, coal, gas, nuclear) depend on embedded systems • planes fly, and ships sail, based on embedded systems • pharmaceutical industries use embedded systems to create our drug supply • our food, drink and clean water come primarily from processes which depend on embedded systems • embedded systems are vital in car manufacturing, national and international defense, railway networks, medical equipment, telecommunications, broadcast media, ...

  11. 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)

  12. soorten real-time systemen • what happens if a deadline is missed • system fails: hard real-time • value (or utility) of the result decreases: soft real-time • value is of no benefit: firm real-time system

  13. 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

  14. 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

  15. voorbeelden van RT systemen • 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

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

  17. examples of real-time systems • process control: general characteristics • interaction with equipment • use of sensors and actuators • use of transducers: generate an electrical signal proportional to the physical quantity being read • use of analog to digital (and digital to analog) converters

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

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

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

  21. voorbeelden van RT systemen • 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 • administratieveprocedures

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

  23. voorbeelden van RT systemen • 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

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

  25. 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

  26. 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)

  27. karakteristieken 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)

  28. karakteristieken van een RTS • manipulation of real numbers • many RT systems control an engineering activity • e.g.: controller based op feedback • controlled entity has a vector of output variables, that change over time • outputs are compared with desired signal • difference is used to change input variables • control based on mathematical model of process to be controlled • complex, often based on differential equations

  29. y(t) u(t) r(t) e(t) plant controller (analog) karakteristieken van een RTS • e.g.: controller (possibly analog), based on feedback • r(t) is desired signal • e(t) is error vector • u(t) is input vector • y(t) is output signal

  30. digital to analog converter u(t) u(t*) controller (computer) r(t*) plant y(t) sample and hold y(t*) karakteristieken van een RTS • more realistic figure using a computer, discrete values (with a *), and D/A and A/D converters • discipline: control theory • requirement: ability to manipulate real numbers

  31. karakteristieken 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 slide

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. 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

  38. 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)

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

  40. 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

  41. 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

  42. economic importance • importance for Europe • US have large part of market for ‘packaged software’ (see next slide) • top 10 software vendors in the world: • Microsoft • Oracle • Computer Ass. Int. • Novell • SAP AG • Europe can still grow in the market of embedded systems • Sybase • Adobe systems • Informix • American Management Systems • Sterling Software

  43. economic importance

  44. deel 2: Ada en Java voor real-time en embedded systemen

  45. de taal Ada • taal ontworpen op aanvraag van DoD (Department of Defense, US) • naam “Ada” komt van Countess Augusta Ada Lovelace • dochter van dichter Lord Byron (England) • schreef programma’s voor de “Difference Engine” van Charles Babbage, de eerste computer uit de geschiedenis • was hierdoor de eerste computerprogrammeur • volgende slides: uit presentatie van DOD

  46. Comments on Ada in Relation to C++ Center for Computer Systems Engineering Joint Interoperability & Engineering Organization Defense Information Systems Agency

  47. Why Ada? (Technical Arguments) • In 1976, nothing else existed, so... • Ada was designed with: • Software engineering in mind • Large, complex projects in mind • Standardization/validation in mind • Reliability/maintainability in mind • In 1996, still nothing else exists! Ada Was Designed With Long-term Support for the Warfighter in Mind

  48. IBM Weighted Scores for 6 Criterion Categories Source: IBM study, 1985

  49. Do Defects Really Matter? • is 99.9% an acceptable tolerance for defects?Consider: • Drinking water contaminated for 1 hour per month. • 16,000 letters lost every day by the US Post Office. • 2 accidents per month at O’Hare International Airport. • 20,000 prescriptions in error each year. • 50 babies dropped on the delivery room floor each hour. • 22,000 checks drawn from the wrong account per hour. OOPS!

  50. Software Crisis in1976 • Proliferation of languages (>450) • Many dialects of standard languages • Low interoperability • High maintenance costs • Low reliability Result Ada

More Related