Domain Knowledge in Real-Time Programming
Master thesis
Permanent lenke
https://hdl.handle.net/11250/2780971Utgivelsesdato
2020Metadata
Vis full innførselSamlinger
Sammendrag
Bruk av domenekunnskap er generelt sett på som systemspesifikke løsninger som ikkekan tilby noe generalitet for strategier innen sanntidsprogrammering. Formålet med denneavhandlingen var å undersøke hva uttrykket "domenekunnskap" betyr, hvor det kan brukesog hva det har å tilby sanntidsprogrammering. Målet var å kunne bryte ned oppdelingenmellom applikasjon og programmering for å tilby nye måter å tenke på sanntid på.
Et bredt litteratursøk ble gjort for å dekke forskning gjort om hvordan sanntidsbegrepethar blitt brutt ned og implementering av domenekunnskap er en mulighet. Denne forskningenhar blitt oppsummert og kategorisert i fore forskjellige klasser innenfor sanntidssystemer:reguleringssystemer, WCET analyse, fail-safe design og dynamiske distribusjonsstrategier.Forskjellige forslag ble gitt til hvordan man kan implementere domenekunnskapinnenfor disse klassene. Et eksperiment ble utført hvor et autonomt styrt skip ble modellertved bruk av lineær systemteori. Dette eksperimentet ble modellert og simulert med Matlab,og systemets respons analysert ved bruk av konsepter innen reguleringsteknikk. Responsentil systemet viste at det er rom for å eksperimentere med forskjellige tastefrekvenser og samtidigoppnå en akseptabel oppførsel. Dette forteller oss at domenekunnskap har mulighetentil å redusere CPU-belastningen ved å redusere tastefrekvensen når domenet tillater det.
For å konkludere er det klart at det er mange egnede metoder for sanntidsprogrammeringsom benytter seg av domenekunnskap. Og selvom det finnes situasjoner hvor det er uklarthvordan man kan få tak i denne kunnskapen så finnes det mange systemer med godt definertdomenekunnskap som kan brukes til mer effektiv sanntidsprogrammering. The use of domain knowledge in real-time programming is generally viewed as systemspecificsolutions that offers no generality for scheduling strategies. This thesis exploredthe term domain knowledge, what it is, where it can be used, and what it can offer towardreal-time programming. The goal is to be able to break down the separation betweenapplication and real-time programming to offer alternatives ways of thinking of real-time.
A broad literature search was done covering cases of where and how the term real-timealready has been broken down and implementation of domain knowledge is viable. Thisresearch has been summarized and categorized into four classes within real-time systems:control systems, WCET analysis, fail-safe systems, and dynamic deployment methods.Different suggestions on how to implement domain knowledge within these classes havebeen presented. A proof-of-concept example was carried out where an autonomous shipwas modeled with the use of linear system theory. This example was modeled and simulatedusing Matlab, and its response analyzed using experience and concepts from control theory.Results from simulating this system showed that there is room for experimenting withdifferent sampling frequencies while still experience acceptable behavior. This tells us thatdomain knowledge has the possibility to reduce the load on a CPU by reducing samplingfrequency when the environment allows it.
In conclusion, there are a lot of viable methods for using domain knowledge in real-timeprogramming. And although there are situations where how to obtain such information isunclear, many systems have well-defined domain knowledge available for more efficientreal-time scheduling.