ailev.ru

10 октября 2010 · Комментарий

Без заголовка

Анатолий, вы очень ёмко сформулировали в пункте 5.1 то, о чем я думал последние две недели про собственно активную составляющую онтологического программирования, поэтому, как бы в ответ, позволю себе поделиться своими мыслями на этот счёт. Во-первых, для меня, как для практика, очевидна пройденная уже даже мэинстримом точка невозврата на пути к мультипарадигмальному подходу. Уже нормально воспринимается описание интерфейсов на декларативном HTML+CSS, бизнес-правила на чем-то вроде RuleML/DRL, workflow на BMPN/jBPM, логику доступа к данным на SQL/OQL/HQL, причём все это в рамках одной единоначальной системы. Да чего уж там, современные фрэймворки для процедурных языков третьего поколения впитали в себя наследие казалось бы красивых, но не слишком удавшихся XForms и XBL. В общем, вопрос о том, на каком языке будут писаться системы следующих поколений я считаю решённым в общем случае -- на нескольких, каждый к своей задаче. Следовательно и во-вторых, нам уместно задаться вопросом каково же место 15926L под солнцем. Примерный ответ -- где-то начиная с чуть ниже слоя контроллеров (в смысле MVC-парадигмы) и вплоть до слоя ресурсов (СУБД, внешние- или legacy-системы). Мы говорим, что семантический репозиторий на базе "окончательной онтологии" отличается от СУБД тем, что каждая запись в нём имеет вполне конкретный смысл в самом реальном мире, укоренённый в самых базовых понятиях и, тем самым, в любой момент является полностью (само)описанным. Комплиментарно, на языке, с которым стыкуется семантический репозиторий, говорят о том, каким образом преобразуются смыслы записей или, точнее, какие по смыслу преобразования связывают старый и новый смысл. Точка сопряжения -- место, где "процедурный" клик отобразился на "инфологическое" изменение смыслов. В-третьих, если вспомнить о "статической" 4D-онтологии ISO 15926, где нет течения времени, а есть только темпоральные части, то кажется уместным и о преобразованиях говорить как об _инвариантных соотношениях между различными темпоральными частями_. Примерно вижу, что на "онтологическом языке" 15926L будут естественны конструкции такого типа: "Значение любой темпоральной части остатка банковского счёта равно значению предшествующей темпоральной части изменённому на сумму операции, представляющей (represents) момент окончания предыдущей и начала этой темпоральной части остатка банковского счёта" -- FOL, в общем-то. В точке стыковки же будет лаконичное утверждение, что "появилась новая операция по банковскому счёту". К слову, чтобы обеспечить этот в общем-то заурядный и очевидный пользователю инвариант в "мэинстримных технологиях", требуется изрядная инфраструктура, что выводит требования в разряд архитектурных, так что компактификация от 4D-онтологического описания на лицо. Любопытно, что писать "на монадах" с некоторыми оговорками можно почти в процедурном стиле. Боюсь, что в пике своего развития язык онтологического программирования будет со стороны выглядеть как "ещё один язык".

К записи · К обсуждению