Без заголовка
а) для коммуникативных целей (мэппинга и обеспечения понимания) кривые онтологии уже используются -- например, ISO 15926
б) про метамодели НЛП я склоняюсь к мнению Гриндера (в Шепоте на ветру), что ему, как профессору лингвистики, еще нужно объяснить, как и зачем дополнять/изменять метамодель. Но есть устойчивое наблюдение: программистам метамодель особо не нужна, поскольку они выдают (как и я в свое время) правильные вопросы метамодели, даже не зная, как называется "по-лингвистически" тот или иной паттерн. Так что я бы шел стандартным ходом НЛП: моделировал бы экселленс программистов -- как они научились метамоделировать? Это ведь у них примерно так же устроено, как "врожденная грамотность", при которой не учат правила, а просто правильно пишут (и которая нэлперами отмоделирована иным образом, нежели "формально записанные правила").
До ИИ тут пока далеко :)))