System description language
The analysis applet uses a simple system description language. Each line represents a task. It contains the name, period, cost, deadline, blocking time and priority for the task. It's simple for a human to enter and simple for the applet to parse. It also fits nicely with what RMA likes to analyze. However, it only describes simple systems, it forces the user to compute the blocking time for each task, and it begs for a pre-processor.
I'm working on a new language that describes locks and tasks. It looks sort of like this:
lock lock_name1
lock lock_name2
task (period = 10 priority = 22) {
synchronize lock_name1 {
consume 2
sychronize lock_name2 {
consume 1
}
consume 3
}
}
The language also has arithmetic expressions, variables, sequences and for loops that use the sequences. The for loops can be either inside a task description, in which case they express repetition in the synchronize/consume information, or they can control task declarations, in which
case they provide a short-hand way to declare lots of similar tasks.
sequence costs (9 2.4 16 2.4 2.0 1)
for cost : costs
task (period = cost*5) {
consume cost / 2
sychronize lock {
consume cost / 2
}
}
I'll probably add a way to make tasks depend on one another.
- peterd's blog
- Login or register to post comments






