Concurrent and Real-Time Systems by Steve Schneider & S.A. Schneider