Concurrent systems: an integrated approach to operating systems, database, and distributed systems