Component Software: Beyond Object-Oriented Programming (ACM Press)