Synchronous Programming Of Real Time Systems