Module Interfaces
Imports (Uses)
- services the module requests from other modules
Exports (Public)
- services the module provides to other modules
- what should be known externally
Discriminatory use
- not all uses will require (or be granted) the same services
Negotiating interface specifications
- abstraction implies one specification with many possible implementations
- determine potential services for all possible uses
- determine likely usage patterns and purposes
- determine feasibility
- anticipate potential changes