Till innehåll på sidan

Programming Language Primitives and Tools for Integrated Real-Time Systems Development

Tid: Ti 2021-06-08 kl 15.00

Plats: https://kth-se.zoom.us/j/66750152272?pwd=TWdScDl6ZmtXL0pZVktqUjlDSzAxdz09, Sal C, kistagången 16, Kista (English)

Ämnesområde: Informations- och kommunikationsteknik

Respondent: Saranya Natarajan , Programvaruteknik och datorsystem, SCS

Opponent: Associate Professor Haibo Zeng, Virginia Tech

Handledare: Associate Professor David Broman, Programvaruteknik och datorsystem, SCS

Exportera till kalender

Abstract

Korrektheten för realtidssystem beror på både dess logiska och tidsmässiga kor- rekthet. Normalt utvecklas realtidssystem i flera steg. I det första steget delas applikationen in i ett antal återkommande uppgifter och implementeras med hjälp av ett programmeringsspråk. I det andra steget uppskattas den maximala exekveringstiden (WCET) för varje uppgift för en specifik hårdvaruplattform. Slutligen utförs schemaläggningsanalys för att avgöra om tidskraven uppfylls på den an- givna hårdvaran. Det finns flera utmaningar i vart och ett av dessa komplexa steg, samt i hur de integreras på ett systematiskt sätt. Många småskaliga inbyggda system implementeras med programmeringsspråket C. Programmeringsspråket C har dock inga direkta primitiver för att programmera systemets tidsmässiga krav. På ett liknande sätt kan osäkerheterna i de uppmätta WCET-värdena och frigöringsjitter göra resultatet av schemaläggningsanalysen opålitligt. Vidare gör de praktiska skillnaderna i verktygen som används i vart och ett av dessa steg den integrerade utvecklingen av realtidssystem utmanande. 

I denna avhandling föreslår vi en uppsättning programmeringsprimitiver och verktyg för en integrerad utveckling av realtidssystem. Mer specifikt föreslår vi ett litet antal språkprimitiver för att programmera tids-, samtidighets- och schemaläggningskrav för realtidssystem. Vi introducerar Timed C, ett programmeringsspråk för realtidssystem, som utvidgar programmeringsspråket C med de föreslagna språkprimitiverna. Vi föreslår en sömlös och pragmatisk end-to-end-verktygskedja som integrerar programmeringsspråket Timed C, en source-to-source-kompilator, tidsanalys, schemaläggningsanalys och en ny känslighetsanalys. Det nya tillvägagångssättet för känslighetsanalys bestämmer marginalerna för den maximala exekveringstiden för svagt hårda realtidssystem. Vi formaliserar en delmängd av semantiken för Timed C och använder denna i designen av ett nytt testverktyg för tidsmässiga egenskaper med tillhörande metodik. Slutligen utvärderar vi det föreslagna programmeringsspråket och verktygen med hjälp av experiment och fallstudier. 

urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-294315