The embedded machine is a virtual machine in the spirit of the Java virtual machine with specific extensions for embedded real-time computing on distributed platforms. The embedded machine provides an abstract platform for generating distributed code from high-level embedded programming languages. The instruction set of the embedded machine has a formal synchronous (zero-delay) semantics which provides synchronous control of scheduled computation and communication with respect to the progress of real-time and the occurrences of events. The serialization of concurrent scheduled computation and communication is defined non-deterministically which makes the embedded machine compatible with any scheduling algorithm. A program of the embedded machine determines when to schedule task invocations and message delivery but not how. A scheduling algorithm is thus a parameter of a program of the embedded machine.