I'm using SDF stars, with multiin and multiout ports. What I want is for each message on each input port to be copied to each output port. So I'm doing the following: ------------------------CODE------------------------------------------ setup { //get total number of messages on all input ports and assign that number of delays to output ports PortHole *p; MPHIter nextp(input); int totMsg = 0; while ((p = (SDFPortHole *)nextp++) !=0 ) { totMsg += p->numXfer(); } output.setSDFParams(int(totMsg), int(totMsg)-1); } go { PortHole *pin; MPHIter nexti(input); Envelope pktIn; int iout = 0; //LOOP THROUGH EACH INPUT PORTHOLE while ((pin = (SDFPortHole*)nexti++) !=0) { PortHole *pout; MPHIter nexto(output); //LOOP THROUGH EACH MESSAGE ON THAT INPUT PORTHOLE for (int imsg = 0; imsg < pin->numXfer(); imsg++) { ((*pin)%imsg).getMessage(pktIn); // operate on input message and put in CopiedData; ........ //LOOP THROUGH EACH OUTPUT PORTHOLE AND SEND EACH MESSAGE while ((pout = (SDFPortHole *)nexto++) !=0) { // send modified message to output Envelope pktOut(*CopiedData); (*pout)%iout << pktOut; iout++; } //while } //for } //while } //go --------------------END CODE------------------------------------------ If I have 2 input stars, one that is sending 3 messages, and one that is sending one message, I get the following output: Star1 message3 Star2 message1 Star1 message2 Star2 message1 Star1 message1 Star2 message1 But I only want to see the one message from Star2 once. So I want the output to be: Star1 message3 Star1 message2 Star1 message1 Star2 message1 How can I change the code to achieve this? Maybe I don't understand the scheduler well enough. Any help would be appreciated. Thanks Beth Savoy Corning, Inc (607) 974-8813 ---------------------------------------------------------------------------- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]