Top-down development using a program design language | Synapse