Advanced topics in formal specification and verification of object-oriented software