Без заголовка
Опять же, программирование, онтологизирование и моделирование суть одно. Вот на MOF определено 9 возможных уровней метамоделирования, плюс попытки задать операционную семантику на этом. И никакого реврайтинга.
Зачем нужны все эти меты показывает Конрад Бок в своей презентации: http://www.isr.umd.edu/events/m-bsec_PPTs/111128_Bock.pdf -- это как раз наш разговор на тему "на каком уровне меты появляются слова не про реализацию, а про предметную область". У Конрада Бока эти слова появляются главным образом на пути специализации/генерализации, но у метамодельеров обычно эти слова появляются практически по любой линии мет.
Так что это было бы неплохим упражнением для прозрачного персистанса указать на его мета-уровень по отношению к уровню, когда появляются понятия предметной области вверху, и уровню виртуальной машины внизу. Ну, и более чётко прописать мета "выражение -- абстрактный синтаксис", ибо задача-то ставится в абстрактном синтаксисе, а потом только отражается в одном из многочисленных выбранных языков.
Кстати, Алан Кей так же со своими "языками" обходится. У него каждый язык это "идея, как можно рассуждать о программах", а потом идут различные реализации на самых разных языках (ОМета была реализована чуть ли не на десятке языков -- просто как набор идей). Так и "прозрачный персистанс" может быть сформулирован абстрактно (на мета-уровне) один раз, а реализован множество раз. Ну, и пользовательские представления затем могли бы быть реализованы много раз, из них один раз -- с использованием прозрачного персистанса и всеми положительными плюшками от этого. Если так рассказывать, всё становится понятней.