1. Extend GDN by providing a graphical notation for monitors and monitor types 2. Consider a programming environment composed of a sequential programming language (e.g., C) and an operating system (e.g., UNIX). Provide implementation guidelines for both monitor-based and rendezvous-based designs. 3. The same module may be a client in one context and a server in another. For example, consider a printing service facility that consists of a number of client modules running on machines without printers, a number of BUFFER modules running on any machine, and a number of server modules running on machines that have printers. Discuss whether the BUFFER is a client or a server.