Component-based software engineering :: putting the pieces together - George T Heineman, William T Councill (Addison-Wesley, Boston, 2001)