Anatoly Levenchuk (ailev) wrote in dot15926,
Anatoly Levenchuk
ailev
dot15926

Categories:

Семантические вики и прочий инструментарий

За последний год развелось довольно много разных семантических проектов, с которыми было бы неплохо срочно разобраться. Ибо проекты в области САПР впечатляют, конечно, но и в других сферах деятельности решают точно такие же задачи. Грубо говоря, "какие у нас есть базы данных, редакторы к ним, веб-платформы и т.д., в которые мы могли бы вгрузить богатую схему данных (например, в OWL), а не в виде таблиц, и не в виде для NoSQL баз данных?". Навскидку из первых попавшихся:

Semantic Wiki (для опытов с рендерингом ISO24744 прежде всего):



Для этого же текстовый редактор Aloha (http://www.slideshare.net/draftkraft/aloha-editor-semantic-concept), который сейчас дорабатывается в проекте IKS (http://www.iks-project.eu/launching-iks-semantic-editor-development-group). Хотя сам проект не слишком интересен, очень интересно поглядеть, что в головах у людей, которые хотят сделать "большой бесплатный инструментарий, и срочно": http://www.iks-project.eu/iks-story/approach (подробности -- http://wiki.iks-project.eu/index.php/Main_Page). Но сам подход: гранты по 5-7 тыс. евро для 40 content management systems, которые решат себе это встроить. Отдельно стоит поглядеть на собираемые сообществом мечты (user stories): http://wiki.iks-project.eu/index.php/User-stories. Мечтатели, ведь на их инструментах такого не сделаешь.

TopBraid http://www.topquadrant.com/products/TB_Composer.html -- это Eclipse плагин. Работает с AllegroGraph как triple store (но может и на Jena SDB/TDB, и на Oracle 11g сесть, не вопрос). Бесплатный есть, но без визуального редактирования и без утилит импорта-экспорта. Особо нужно обратить внимание на UISPIN и прочие расширения по сравнению со стандартной OWL-технологией (см. их кухню http://composing-the-semantic-web.blogspot.com/).
AllegroGraph (бесплатный для 50 миллионов триплов, даже для экспериментов с ISO15926 сгодится): http://www.franz.com/agraph/allegrograph/ (Allegrograph 4 для Windows будет через некоторое неизвестное время. Пока только Linux. Ну, или AllegroGraph 3.3).
Это всё Common Lisp (http://www.franz.com/products/allegrocl/). Суровые решения для суровых программистов. Заявлениям про Persistent AI Built-In, All the Way DownTM охотно верю. Искусственный интеллект, задорого, для всех сумевших сколотить команду естественных интеллектов, способную с этим хозяйством разобраться.

Тут нужно отдельно рассказать про Simantics (https://www.simantics.org), у которого сложная судьба:
-- попробовали ризонеры для OWL, которые были в 2006г. Все они оказались медленными, а проблема удаления утверждений проблематичной.
-- использовали OWL-подобный язык с семантикой закрытого мира в 2007-2008г. Эффективно для валидации данных, но недостаточно выразительно и плохо было генерировать код.
-- тогда вдохновились MOF и в 2008г. разбили язык на две части: ограниченный UML-подобный язык для генерации кода, поддержки целостности данных и достаточно выразительный для большинства ограничений и полный по Тьюрингу язык ограничений для описания сложных правил моделирования.
-- в 2005 году попробовали три разных triple store, в итоге в 2006 году начали делать своё хранилище -- и сейчас у них есть кластеры и версионирование.
Версия 1.2 сдвинута на октябрь (думаю, к декабрю выпустят ;)

В принципе, нужно погулять еще по списку 185 инструментов, который я уже приводил: http://www.mkbergman.com/904/listing-of-185-ontology-building-tools/

Главное, нужно понимать, что "репозиториев" и "редакторов схемы" с "великолепными SDK" уже не так мало. И лучше пилить напильником предназначенный специально для этого софт, чем пилить напильником какие-то сапровские сервера для получения того же результата. Настоящее программирование сидит в схемах данных (результаты моделирования, онтологической инженерии и прочих подобных деятельностей), а не в развитии серверного софта. Увы, настоящим программированием заниматься без этих серверов нельзя. Значит нужно сосредоточиться и этот софт сделать из подходящих для этого инструментальных платформ.

Контрольные вопросы для этих платформ:
-- смогу ли я вкачать туда схему ISO 15926 на OWL?
-- смогу ли я представить там пару-тройку классификаторов (class-of-class) в отдельных окошечках?
-- смогу ли я прикрутить туда механизм шаблонов ISO 15926?

Вообще-то требуется понять уровень замаха:
1. мы пишем Schema Editor с темплейтами. И начинаем моделирование, медленно и печально.
2. параллельно мы пишем language workbench (примерно 5 лет), базовая функциональность -- DSL IDE. Вариант: мы пишем это на каком-нибудь готовом софте language workbench, переделывая java-oriented language workbench в declarative/ontology-based language workbench (примерно год). Подробнее я об этом писал в прошлый раз (http://community.livejournal.com/dot15926/6633.html).
3. на language workbench (через год, а потом через пять лет -- вторая версия на "собственном" софте, что из предыдущей строчки) мы пишем PraxOS Composer для ISO 24744 с расширениями как первое приложение. Этот Праксос Композер будет совсем как ARIS, только диаграммки в нём будут правильные (жизненного цикла, пула продуктов и т.д. -- для начала пара десятков диаграмм организационной модели). Это займет год: графический интерфейс для намоделированного в пункте 1.
4. на Composer мы пишем методы PraxOS, и эти методы будут сразу поддержаны моделированием в тамошних DSL (т.е. оргдиаграммах). Это еще пара лет, чтобы получилось прилично. Use cases берем не только из ситуационной инженерии методов (как нам казалось раньше -- описываем методы, чтобы их можно было прочесть новичкам и делать в них запросы профессионалам), а из насущных задач оргдизайна (то есть применения методов PraxOS: рисование описанных в методах languages и notations диаграмм). То есть в методе будет сказано: "нарисуй модель жизненного цикла /language=24744-timecycle, /notation=timecycle-as-timeline", и Композер тут же поддержит построение этой диаграммы для конкретного endeavour.
5. Мы знамениты, ура. Даем интервью, раздаем автографы.

Увиденное у поставщиков САПР меня сильно опечалило, у них ничего толкового для ISO 15926 нет. Нужно недельку поглазеть по сторонам. И таки делать самим. Что именно делать (отличия от того, что мы тут обсуждали раньше) я выделил болдом. Это важно. Я просто раньше не понимал, что метамодель ISO 24744 после ее некоторого расширения дает нужные для организационных проектов диаграммы, и они-то и есть потребные DSL! То есть методы могут быть описаны примерно так, как они описываются сейчас (словами), но их применение в endeavour сводится к моделированию с использованием диаграмм, а не написанию уточненных текстов методов! Много-много связанных друг с другом типов диаграмм WYSIWYG -- это как раз и есть language workbench. А связность гарантирует типизация всех объектов из этих диаграмм в терминах Части второй. Организационный моделер нужно начинать со Схемы, состоящей из самой общей картины мира -- Части второй -- и тогда этот организационный моделер (универсальный моделер, declarative/ontology-based language workbench) пережуёт любые предметные области и не поперхнётся.
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 10 comments