A technique for reducing the amount of compilation required when a procedure of function body is changed, developed or prototyped. There is a methodology of using Ada packages that results in each procedure and function being a subunit, thus residing in its own file that can be compiled ( recompiled ) without the parent unit being recompiled. package ANY_PACKAGE is -- type definitions procedure ANY_PROCEDURES ( parameters ... ) ; ... function ANY_FUNCTIONS ( parameters ... ) return SOMETHING ; ... end ANY_PACKAGE ; package body ANY_PACKAGE is -- optional type or local subprogram definitions procedure ANY_PROCEDURES ( parameters ... ) is separate ; ... function ANY_FUNCTIONS ( parameters ... ) return SOMETHING is separate ; ... end ANY_PACKAGE ; separate ( ANY_PACKAGE ) procedure ANY_PROCEDURES ( parameters ... ) is -- declarations begin -- executable statements end ANY_PROCEDURES ; ... separate ( ANY_PACKAGE ) function ANY_FUNCTIONS ( parameters ... ) return SOMETHING is -- declarations begin -- executable statements end ANY_FUNCTIONS ; ...