A logical basis for component-oriented software and systems engineering - Broy, Manfred.