(1) start with the initial schedule (including the special external port operations) |

(2) Current PARCS state |

(3) Get the 1st state and make it the current state |

(4) Get the next state |

(5) Examine the next state’s operations to find out if there are any dependencies |

with the current state |

(6) If there are no dependencies then absorb the next state’s operations into the |

current PARCS state; If there are dependencies then finalize the so far |

absorbed operations into the current PARCS state, store the current PARCS |

state, PARCS state PARCS state; make next state the current state; |

store the new state’s operations into the current PARCS state |

(7) If next state is of conditional type (it is enabled by guarding conditions) then |

call the conditional (true/false branch) processing predicates, else continue |

(8) If there are more states to process then go to step 4, otherwise finalize the so |

far operations of the current PARCS state and terminate |