Design Patterns in Communications Software (SIGS Reference Library)