Have You Ever Wished that
your software components would snap together without heavy runtime support
the component world would be easy to interface to your OS environment, UI, and other software
you could reuse more of your software development
you could test your components immediately
parts of the real-time software were easier to test