atomic type set data data int tick=0 data int PB data dataType in data data dataType out data data dataType store data export port portType in data port(in data) export port portType out data port(out data) export port intPort tick port(tick) place idle place compute initial to idle on in data port from idle to compute do { store data = in data; } on tick port from idle to idle do { tick = tick+1; } on tick port from compute to compute do { tick = tick+1; } on in data port from compute to compute do { store data = in data; } on out data port from idle to idle on out data port from compute to idle provided (PB = tick) do { out data = store data; tick = 0; } end