Component Based Systems: The Tool and Principles -- Component-Based Open Middleware