Studentprosjektforslag - Programvare design av simulator

Sverres home


Introduksjon

SW development projects:

Programmeringsprosjekt (Flere oppgaver)

Elevator automatic FAT for TTK4145

Procedural Generation: Game Worlds

Procedural Generation: Music

Programvare design av simulator

Dynamic deployment system for real-time tasks

Measurement-based real-time system

Bibliotek for meldingssending

Teoretical projects:

Implementing Lingua-Franca programs on real-time operating systems

Models of Computation

Salvaging XC features

Schedulability proof for message passing systems

Dynamic deployment system for real-time tasks

Bruk av online eksekveringstidsestimater

Real-time systems not based on timing requirements

Programering av tunge tråder ved nonpreemptive scheduling.

Deling av CPU og Nettverk

Morsomme sensorer og applikasjoner:

Døvehørsel

Blindesyn

Bike trainer app

Eksterne oppgaver:

Programvare design av simulator

Denne oppgaven vil i utgangspunktet ha struktur som den generelle programvareutviklingsoppgaven beskrevet her, men for denne oppgaven forventes det at hovedvekten legges på designet heller enn implementasjonen.

Problemstillingen som skal utforskes er:

En "simulator" starter gjerne med et lite antall differensial-ligninger implementert i Matlab. Dette er greit å implentere - ligningene i matlab er en (nesten?) direkte speiling av ligningene på papir - og Matlab lar oss simulere og tegne ut kurvene nesten uten arbeide.

Men så kommer en del andre use-case'r inn:

  • Gui, automatisering av sett av simuleringer.
  • Optimaliseringer for å få simuleringene til å gå fortere.
  • Valg av tidsskritt og integreringsalgoritme er en separat vitenskap
  • Rapporter må genereres, og det må sikres at nok informasjon til å kunne regenerere en gitt simulering lagres og knyttes til rapporten.
  • Grensesnitt til andre systemer: Vi vil ha ligningene utskrevet i latex, vi ønsker å kjøre simuleringen på superdatamaskin eller legges inn for kjøring i annet rammeverk enn Matlab, vi ønsker å generere C-kode for å kjøre simulatoren i en embedded setting.
  • Vi ønsker å transformere lingingene i seg selv, avhengig av hva målet med simuleringen er: Et relevant subsett, kanskje, en "kanonisk form" som gjør systemet sammenlignbart med andre modeller av samme fysiske system, "Bond graphs" noen?
  • Modellen i seg selv er åpen, men enkelte sett av koeffisienter er bedriftshemmeligheter eller persondata.
  • Osv.

Som regel ... vokser simulatoren planløst fra de første 30 Matlab-linjene til den ikke-vedlikeholdbare massen av Matlab kode som en simulator ofte er.

Knytningene imellom mange av disse kravene er ganske sterke og det er ikke gitt at f.eks. "objektorientert design" vil greie å dekoble de forskjellige kunnskapsinnsatsene tilstrekkelig eller at Matlab er den hensiktsmessige formalismen.

Sverre har noen tanker om modeller som genererer modeller som vil være hensiktsmessig her, og som oppgaven går ut på å undersøke.

Editor: Associate Professor Sverre Hendseth Contact Address: Sverre.Hendseth...ntnu.no Last Modified: 18/3-2022