UML components: A simple process for specifying component-based software - Cheeniya Naik, B. (Boston, 2001)