Component-oriented programming promises to provide many of the bene ts that object-oriented programming has arguably failed to deliver: increased productivity, reliability, and exibility via increased reuse of third-party software. Unfortunately, it is not always clear how componentoriented programming di ers from object-oriented programming, or why component-oriented programming should succeed...