MultiKara
World editor
Program editor
Info

World objects

The following objects exist in Kara's world:
Unmoveable tree trunks.
Mushrooms. Kara can push one mushroom in front of it at a time.
Cloverleaves. Kara can pick up and put down any number of cloverleaves.
4 ladybugs: yellow, red, violet, and blue. Each ladybug is controlled by a seperate program.
Street symbols which indicate from which direction a square may be entered by a Kara.

Kara's commands

Kara understands a number of commands which he obediently executes:
Step ahead one field!
Turn left 90° on current field!
Turn right 90° on current field!
Put down a cloverleaf!
Pick up a clover leaf!

Kara's sensors

Kara has a number of sensors with which he observes his immediate surroundings:
Am I in front of a tree?
Is there a tree to my left?
Is there a tree to my right?
Am I in front of a mushroom?
Am I on a leaf?
May I enter the square ahead from below?

Concurrency mechanisms

World: Meeting Room Squares

The meeting room makes the Karas wait on each other. When a Kara enters a meeting room, the scheduler puts its process to sleep. Only after all Karas have entered the meeting room does the scheduler wake them up again. The meeting room turns red to indicate that it is in "leaving" mode. All bugs must leave the meeting room before any can reenter it.

 

World: Monitor Squares

Only one Kara may be in the monitor at any given time. When a bug enters a monitor square, all monitor squares turn red. Only after the bug has left the monitor squares can they be entered by another bug. While the monitor is busy (displayed as red squares), the process of a bug attempting to enter is put to sleep.

 

Program: Barrier States

Barrier states make the Karas wait on each other. They are painted with a thick, dashed circle in the states overview diagram. When a Kara's process enters a barrier state, the barrier is activated and is painted in red. The scheduler puts the Kara's process to sleep. Only after all Karas' processes have entered a barrier state does the scheduler wake them up again. The barrier is deactivated and painted in green again.

 

Program: Critical Section States

Only one Kara's process may be in a critical section state at any given time. These states are painted with a thick circle in the states overview diagram. When a bug's process enters a critical section state, the critical section states of all other ladybugs are painted red to indicate that their processes can not enter these states. If a Kara's process attempts to enter a critical section state while another holds the critical section, it is put to sleep. Only after the process holding the critical section has left the its critical section staetes can they be entered by another bug's process.