AAU Student Projects - visit Aalborg University's student projects portal
A master's thesis from Aalborg University
Book cover


Model-Based Schedulability Analysis of Hard Real-Time Java Programs using Software Transactional Memory

Authors

;

Term

4. term

Education

Publication year

2012

Submitted on

Pages

92

Abstract

Realtidssystemer kræver forudsigelige tider, men sikker samtidig adgang til fælles data er svær. Vi udvikler en software-transaktionel hukommelse (STM) til realtids-Java, hvor transaktioner tildeles prioritet efter den opgave, de kører i. Konflikter håndteres, så den højest prioriterede transaktion ikke skal forsøge igen. Det gør irreversible handlinger som input/output mulige, hvilket ellers er umuligt med traditionel STM. Vi verificerer disse egenskaber med modeltjekværktøjet UPPAAL. Vi vælger den hardware-nære virtuelle maskine (HVM) som platform for dens portabilitet og fleksibilitet; fordi HVM i sin nuværende form ikke understøtter multitrådning, tilføjer vi realtids-multitrådning via en implementering af Safety-Critical Java kaldet SCJ2. For at afgøre om realtids-Java-programmer, der bruger vores STM og SCJ2, kan planlægges inden for deres tidskrav, udvikler vi OSAT, et modelbaseret værktøj til planlægningsanalyse. Det analyserer Java-bytekode og genererer en UPPAAL-model, som kan bruges til at kontrollere, om tidskrav kan overholdes. Vi gennemfører eksperimenter med værktøjet og sammenligner det med det beslægtede værktøj SARTS. Vi sammenligner også låse med vores STM i en realtidskontekst og fremhæver fordele og ulemper.

Real-time systems need predictable timing, but safe access to shared data is difficult. We develop a software transactional memory (STM) for real-time Java that assigns transaction priorities based on the task that runs them. Contention is handled so the highest-priority transaction does not have to retry, which enables irreversible actions such as input/output that are otherwise not possible with traditional STM. We verify these properties with the UPPAAL model checking tool. We target the Hardware-near Virtual Machine (HVM) for its portability and flexibility; because HVM currently lacks multi-threading, we add real-time multi-threading through an implementation of Safety-Critical Java called SCJ2. To determine whether real-time Java programs that use our STM and SCJ2 are schedulable, we develop OSAT, a model-based schedulability analysis tool. It analyzes the program’s Java bytecode and produces a UPPAAL model that can be used to check if timing requirements can be met. We conduct experiments with our tool and compare it with the related tool SARTS. We also compare locks and our STM in a real-time setting, highlighting advantages and disadvantages.

[This abstract was generated with the help of AI]