6
Not just indirection
•There is often confusion between implicit invocation and indirect invocation
–Calling a virtual function is a good example of indirect invocation
•The calling function doesn’t know the precise callee, but it knows it is there and that there is only one
•Not true in general in implicit invocation
•An announcing component should not use (in the Parnas sense) any responding components
–This is extremely difficult to define precisely
–Roughly, the post-condition of the announcing component should not depend on any computation of the implicitly invoked components