Formal Methods for Components and Objects - Beckert (Springer Berlin Heidelberg, 2013)