Component software : beyond object-oriented programming - Szyperski, Clemens (ACM ; Addison-Wesley, 1999)