Returns a list of modules that this executable needs in order to run
        properly. This includes special kind declarations for precision or derived
        types, but not dependency executable calls.

def search_dependencies(self):
        """Returns a list of modules that this executable needs in order to run
        properly. This includes special kind declarations for precision or derived
        types, but not dependency executable calls.
        """
        #It is understood that this executable's module is obviously required. Just
        #add any additional modules from the parameters.
        result = [p.dependency() for p in self.ordered_parameters]
        result.extend([v.dependency() for k, v in list(self.members.items())])
        for ekey, anexec in list(self.executables.items()):
            result.extend(anexec.search_dependencies())
        return [m for m in result if m is not None and m != self.module.name]