В отличие от Борланда, абстракция и реализация программируются так, что программы связуются через интерфейс абстракции, а не реализации. И всё это посредством директорий.

Стоит прочесть главу 3.4 Создание объектов (F1 -> Design Practices), в документации это описано.

(добавлено позже)

Для работы с абстрактным интерфейсом его нужно реализовать. "Публично" доступна абстрактная часть, а сама реализация упрятана от внешних модулей и они не могут в ней что-то испортить или пользоваться ею напрямую.
Таким образом, для загрузки Блэкбокса в модуле Init указаны модули реализации, которые стыкуются к модулям абстракции через их директории. После стыковки интерфейсы абстракций становятся доступными для работы, так как те модули становятся тогда "умными" и знают что им делать при вызове абстрактных методов.
Если их вызвать до стыка, сработает капкан (trap).