Matthew Flatt, Shriram Krishnamurthi, Matthias Felleisen: A Programmer's Reduction Semantics for Classes and Mixins. Formal Syntax and Semantics of Java 1999: 241-269