dc.contributor.advisor | Hendseth, Sverre | |
dc.contributor.author | Viberg, Are Fossli | |
dc.date.accessioned | 2021-09-23T18:14:36Z | |
dc.date.available | 2021-09-23T18:14:36Z | |
dc.date.issued | 2020 | |
dc.identifier | no.ntnu:inspera:56990118:20963199 | |
dc.identifier.uri | https://hdl.handle.net/11250/2780971 | |
dc.description.abstract | Bruk av domenekunnskap er generelt sett på som systemspesifikke løsninger som ikke
kan tilby noe generalitet for strategier innen sanntidsprogrammering. Formålet med denne
avhandlingen var å undersøke hva uttrykket "domenekunnskap" betyr, hvor det kan brukes
og hva det har å tilby sanntidsprogrammering. Målet var å kunne bryte ned oppdelingen
mellom applikasjon og programmering for å tilby nye måter å tenke på sanntid på.
Et bredt litteratursøk ble gjort for å dekke forskning gjort om hvordan sanntidsbegrepet
har blitt brutt ned og implementering av domenekunnskap er en mulighet. Denne forskningen
har 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 domenekunnskap
innenfor disse klassene. Et eksperiment ble utført hvor et autonomt styrt skip ble modellert
ved bruk av lineær systemteori. Dette eksperimentet ble modellert og simulert med Matlab,
og systemets respons analysert ved bruk av konsepter innen reguleringsteknikk. Responsen
til systemet viste at det er rom for å eksperimentere med forskjellige tastefrekvenser og samtidig
oppnå en akseptabel oppførsel. Dette forteller oss at domenekunnskap har muligheten
til å redusere CPU-belastningen ved å redusere tastefrekvensen når domenet tillater det.
For å konkludere er det klart at det er mange egnede metoder for sanntidsprogrammering
som benytter seg av domenekunnskap. Og selvom det finnes situasjoner hvor det er uklart
hvordan man kan få tak i denne kunnskapen så finnes det mange systemer med godt definert
domenekunnskap som kan brukes til mer effektiv sanntidsprogrammering. | |
dc.description.abstract | The use of domain knowledge in real-time programming is generally viewed as systemspecific
solutions that offers no generality for scheduling strategies. This thesis explored
the term domain knowledge, what it is, where it can be used, and what it can offer toward
real-time programming. The goal is to be able to break down the separation between
application 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-time
already has been broken down and implementation of domain knowledge is viable. This
research 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 have
been presented. A proof-of-concept example was carried out where an autonomous ship
was modeled with the use of linear system theory. This example was modeled and simulated
using Matlab, and its response analyzed using experience and concepts from control theory.
Results from simulating this system showed that there is room for experimenting with
different sampling frequencies while still experience acceptable behavior. This tells us that
domain knowledge has the possibility to reduce the load on a CPU by reducing sampling
frequency when the environment allows it.
In conclusion, there are a lot of viable methods for using domain knowledge in real-time
programming. And although there are situations where how to obtain such information is
unclear, many systems have well-defined domain knowledge available for more efficient
real-time scheduling. | |
dc.language | | |
dc.publisher | NTNU | |
dc.title | Domain Knowledge in Real-Time Programming | |
dc.type | Master thesis | |