Ответ 1
Одной из проблем, которые необходимо учитывать, является определение того, в какой степени ваша система, которая портирована, использует поставляемые поставщиком пакеты для выполнения своей функции. То, что я видел с более старыми, большими системами, особенно с Apex, - это склонность гуру-языку в течение его времени разработки, чтобы решить, что ваниль Ada просто недостаточно хороша и так привязана ко всем этим пакетам, поставляемым поставщиками. Если это то, что ваша система делает прямо сейчас, это сильный аргумент для обновления внутри вендора и использования Apex (все остальные вещи в основном равны).
Всякий раз, когда я делал порты таких систем, если бы у меня была возможность, я сделал все возможное, чтобы вытащить все материалы, поставляемые поставщиками, - девять раз из десяти, заменяя специфические для вендора вещи с использованием ванильных реализаций Ada так же хорошо, и вам больше не придется иметь дело с причудами пакета, специфичного для компилятора. Кроме того, вы повышаете мобильность и ремонтопригодность системы, позволяя ей лучше адаптироваться к будущим изменениям.