// January 18, 2014 //---------------------------------------------------------------------------------------- // Simple pipe/filter architecture pattern // from // Mikhail Auguston, Example 2 in Monterey Phoenix System and Software Architecture // Modeling Language (Draft): Examples of architecture models // Naval Postgraduate School, Monterey, CA, USA // http://faculty.nps.edu/maugusto/ // for Eagle6: Runs OK, up to scope 10 //---------------------------------------------------------------------------------------- //SCHEMA simple_message_flow ROOT Task_A: (* send *); ROOT Task_B: (* receive *); //----------------------------------------------------------------- // simulating COORDINATE with SHARE ALL //----------------------------------------------------------------- // COORDINATE (* $x: send *) FROM Task_A, // (* $y: receive *) FROM Task_B // ADD $x PRECEDES $y; //------------------------------------------------------------------ ROOT TaskATaskB: (* (send receive) *); Task_A, TaskATaskB SHARE ALL send; Task_B, TaskATaskB SHARE ALL receive;