// ************************************************************************** // // // // eses eses // // eses eses // // eses eseses esesese eses Embedded Systems Group // // ese ese ese ese ese // // ese eseseses eseseses ese Department of Computer Science // // eses eses ese eses // // eses eseses eseseses eses University of Kaiserslautern // // eses eses // // // // ************************************************************************** // package DiningPhilosophers; module Fork (event bool ?take_fork, event bool ?release_fork) { loop { /* do { pause; assert (!release_fork); } while (!take_fork);*/ free: await(take_fork); // state: free /* do { pause; assert (!take_fork); } while (!release_fork);*/ occupied: await(release_fork); // state: occupied } }