Reusable software -The base object oriented component libraries - Meyer,Bertrand (Prentice Hall, U K, 1994)