/* CIF Keep Specific Geode LastModified Thu Aug 06 09:40:21 1998 */ /* CIF SYSTEMDiagram */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Specific Geode Version V3.2.0e geodedit */ /* CIF Page DefaultPartition (2790, 2160) */ /* CIF Frame (20, 20), (1500, 1290) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ SYSTEM twinprocs; /* CIF CurrentPage DefaultPartition */ /* CIF TEXT (143, 853), (677, 338) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SIGNAL hello, mychild(PID); SIGNALLIST b12 = hello, mychild ; SIGNALLIST b21 = hello, mychild; /* CIF End Text */ /* CIF CurrentPage DefaultPartition */ /* CIF CHANNEL (395, 418) , (1183, 418) , (1183, 838) */ /* CIF TextPosition (1193, 408) */ /* CIF TextPosition (1073, 742) SignalList1 */ /* CIF TextPosition (527, 429) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL c FROM b1 TO b2 WITH (b12); FROM b2 TO b1 WITH (b21); ENDCHANNEL; /* CIF CurrentPage DefaultPartition */ /* CIF BLOCK (145, 345), (250, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2790, 2160) */ /* CIF Frame (40, 40), (1500, 1290) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ BLOCK b1; /* CIF CurrentPage DefaultPartition */ /* CIF SIGNALROUTE (564, 40) , (564, 429) */ /* CIF TextPosition (574, 234) */ /* CIF TextPosition (584, 367) SignalList1 */ /* CIF TextPosition (584, 60) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE r FROM ENV TO p1 WITH (b21); FROM p1 TO ENV WITH (b12); /* CIF CurrentPage DefaultPartition */ /* CIF CONNECT */ /* CIF Keep Specific Geode Position (544, 20) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ CONNECT c AND r; /* CIF CurrentPage DefaultPartition */ /* CIF PROCESS (472, 429), (200, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2790, 2160) */ /* CIF Frame (20, 20), (1520, 2589) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS p1(1,2); /* CIF CurrentPage DefaultPartition */ /* CIF TEXT (40, 80), (487, 167) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SIGNALSET yourpeer; SIGNAL yourpeer(PID, PID); DCL p11, p12, p21, p22 PID; /* CIF End Text */ /* CIF CurrentPage DefaultPartition */ /* CIF START (552, 299), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF DECISION (562, 449), (178, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION PARENT; /* CIF ANSWER */ /* CIF Specific Geode Position (281, 563), (131, 83) */ /* CIF Line (652, 533), (652, 548), (347, 548), (347, 563) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( NULL ): /* CIF TASK (42, 676), (611, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK 'this branch executed by p1.1 only'; /* CIF TASK (243, 789), (207, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p11 := self; /* CIF OUTPUT (288, 902), (118, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT hello; /* CIF NEXTSTATE (184, 1016), (326, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE wait_for_p21_hello; /* CIF ANSWER */ /* CIF Specific Geode Position (897, 563), (126, 83) */ /* CIF Line (652, 533), (652, 548), (960, 548), (960, 563) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ELSE: /* CIF TASK (673, 676), (574, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK 'this branch executed by p1.2 only'; /* CIF TASK (831, 789), (257, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p11 := parent, p12 := self; /* CIF NEXTSTATE (837, 945), (247, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE wait_for_peer; /* CIF End DECISION */ ENDDECISION; /* CIF STATE (1168, 280), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE READY; /* CIF End STATE */ ENDSTATE; /* CIF STATE (184, 1016), (326, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE wait_for_p21_hello; /* CIF INPUT (288, 1129), (118, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT hello; /* CIF TASK (221, 1242), (252, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p21 := sender; /* CIF CREATE (305, 1355), (83, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ CREATE p1; /* CIF TASK (204, 1469), (286, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p12 := offspring; /* CIF OUTPUT (226, 1582), (242, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT mychild(p12) to p21; /* CIF NEXTSTATE (160, 1738), (373, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE wait_for_p21_mychild; /* CIF End STATE */ ENDSTATE; /* CIF STATE (837, 945), (247, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE wait_for_peer; /* CIF INPUT (860, 1095), (199, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT yourpeer (p21, p22); /* CIF ProcedureCall (784, 1250), (352, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ CALL writeln (p11, p12, p21, p22); /* CIF NEXTSTATE (877, 1406), (165, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE READY; /* CIF End STATE */ ENDSTATE; /* CIF STATE (160, 1738), (373, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE wait_for_p21_mychild; /* CIF INPUT (226, 1888), (242, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT mychild(p22); /* CIF OUTPUT (181, 2001), (331, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT yourpeer(p21, p22) to p12; /* CIF ProcedureCall (171, 2156), (352, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ CALL writeln (p11, p12, p21, p22); /* CIF NEXTSTATE (264, 2312), (165, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE READY; /* CIF End STATE */ ENDSTATE; ENDPROCESS; ENDBLOCK; /* CIF BLOCK (1054, 838), (250, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2790, 2160) */ /* CIF Frame (40, 40), (1500, 1290) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ BLOCK b2; /* CIF CurrentPage DefaultPartition */ /* CIF SIGNALROUTE (508, 40) , (508, 400) */ /* CIF TextPosition (518, 220) */ /* CIF TextPosition (528, 337) SignalList1 */ /* CIF TextPosition (528, 60) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE r FROM ENV TO p2 WITH (b12); FROM p2 TO ENV WITH (b21); /* CIF CurrentPage DefaultPartition */ /* CIF CONNECT */ /* CIF Keep Specific Geode Position (488, 20) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ CONNECT c AND r; /* CIF CurrentPage DefaultPartition */ /* CIF PROCESS (400, 400), (200, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2790, 2160) */ /* CIF Frame (20, 20), (1520, 2589) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS p2(1,2); /* CIF CurrentPage DefaultPartition */ /* CIF TEXT (40, 80), (487, 167) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SIGNALSET yourpeer; SIGNAL yourpeer(PID, PID); DCL p11, p12, p21, p22 PID; /* CIF End Text */ /* CIF CurrentPage DefaultPartition */ /* CIF START (552, 299), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF DECISION (562, 449), (178, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION PARENT; /* CIF ANSWER */ /* CIF Specific Geode Position (281, 563), (131, 83) */ /* CIF Line (652, 533), (652, 548), (347, 548), (347, 563) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( NULL ): /* CIF TASK (42, 676), (611, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK 'this branch executed by p2.1 only'; /* CIF TASK (243, 789), (207, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p21 := self; /* CIF NEXTSTATE (184, 902), (326, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE wait_for_p11_hello; /* CIF ANSWER */ /* CIF Specific Geode Position (897, 563), (126, 83) */ /* CIF Line (652, 533), (652, 548), (960, 548), (960, 563) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ELSE: /* CIF TASK (673, 676), (574, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK 'this branch executed by p2.2 only'; /* CIF TASK (831, 789), (257, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p21 := parent, p22 := self; /* CIF NEXTSTATE (837, 945), (247, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE wait_for_peer; /* CIF End DECISION */ ENDDECISION; /* CIF STATE (1147, 317), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE READY; /* CIF End STATE */ ENDSTATE; /* CIF STATE (184, 902), (326, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE wait_for_p11_hello; /* CIF INPUT (288, 1016), (118, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT hello; /* CIF TASK (221, 1129), (252, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p11 := sender; /* CIF OUTPUT (288, 1242), (118, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT hello; /* CIF CREATE (305, 1355), (83, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ CREATE p2; /* CIF TASK (204, 1469), (286, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p22 := offspring; /* CIF NEXTSTATE (160, 1590), (373, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE wait_for_p11_mychild; /* CIF End STATE */ ENDSTATE; /* CIF STATE (837, 945), (247, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE wait_for_peer; /* CIF INPUT (860, 1095), (199, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT yourpeer (p11, p12); /* CIF ProcedureCall (784, 1250), (352, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ CALL writeln (p11, p12, p21, p22); /* CIF NEXTSTATE (877, 1406), (165, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE READY; /* CIF End STATE */ ENDSTATE; /* CIF STATE (160, 1590), (373, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE wait_for_p11_mychild; /* CIF INPUT (226, 1740), (242, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT mychild(p12); /* CIF OUTPUT (226, 1853), (242, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT mychild(p22) to p11; /* CIF OUTPUT (181, 2009), (331, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT yourpeer(p11, p12) to p22; /* CIF ProcedureCall (171, 2164), (352, 125) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ CALL writeln (p11, p12, p21, p22); /* CIF NEXTSTATE (264, 2320), (165, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE READY; /* CIF End STATE */ ENDSTATE; ENDPROCESS; ENDBLOCK; /* CIF End SYSTEMDiagram */ ENDSYSTEM;