Problem
1. Suppose you decide to adopt the following policy: A module M1 may be implemented before a module M2 if MI has no components and does not use M2 or any module comprising M2. Describe this policy formally as a relation between modules.
2. For the Ada programmer; Consider the specification part of Ada packages as a module interface description. What is the difference between exporting a type and exporting a private type? Describe this difference in terms of the exported functionality.