March 23rd, 2012

flow

Версии

Реально существующая проблема: http://dtf.ru/blog/read.php?id=69122
Существует множество решений, которые помогут вам организовать работу с версиями 100500 маленьких текстов/исходников. Однако, для больших файлов всё иначе.

Если вы отредактировали видео недавнего путешествия, через неделю что-то добавили, а позже захотели переделать на базе старой версии, то всё придётся делать вручную, создавать резервные копии, восстанавливать. Ни одна система не умеет эффективно работать с этим, будут тормоза и/или глюки.

А уж идея "прогрессивных" авторов Git/Mercurial о том, что надо таскать за собой полный репозиторий в таком контексте выглядит совсем чудесато. Если это репозиторий типа "спецэффекты фильмы Tron 8", то на фирме не найдётся ни одного отдельного компьютера, куда может поместиться всё это добро с кластера.

Вспоминаю случай из тьмудалёких времён, когда дизайнеры попробовали засунуть исходники игровых роликов в VSS проекта (где прекрасно хранились уровни, сетки, текстуры, ...). Всё грохнулось, базу пришлось восстанавливать. Научили их хранить видео отдельно. Но техническая проблема осталась. И даже сейчас, когда повсеместно используются другие системы версий, эта ситуация никак не меняется.

Хорошая ниша для стартапа, кстати.
flow

ISO 15926

У меня более месяца валяются заметки для поста про ISO 15926, которым я хотел продолжить записи с тэгом архитектура. Но постоянно всё менялось и... ладно, напишу про это.

Полное название стандарта: Industrial automation systems and integration — Integration of life-cycle data for process plants including oil and gas production facilities. Его цель - форматы и практики интеграции данных. Наиболее важная сфера применения - большие проекты: строительство корабля, эксплуатация нефтяной платформы, etc. Когда задействовано много ресурсов со стороны разных компаний, и то что там вот этот насос, и как/когда его установили, и по какому проектному документу, и что он делает, и когда заменять, надо как-то единым образом записать, чтобы заинтересованные люди и организации не посеяли важные фрагменты информации в разных базах с трудносовместимыми схемами данных.

В разных частях стандарта есть как удачные решения, так и ошибки. Но нет сложившейся практики, всё меняется. Фактически, любая работа по стандарту ISO 15926 сейчас является исследовательской.

Если какая-то компания пишет о поддержке стандарта ISO 15926, то одно из двух: либо компания ведёт исследования и продвигает в стандарт функционал, необходимый себе и своим клиентам, либо есть лишь "намерение", а текст писали наглые маркетологи.

По существующим решениям мнения расходятся. Например, мои коллеги считают онтологические (15926-2) и логические (15926-7) аспекты стандарта достижениями, я считаю их лишь "шашечками", которые можно поддержать, но без было бы проще. Однако, сильным плюсом ISO 15926 является список компаний, которые заинтересованы в стандартизации и вовлечены в исследовательский процесс: https://www.posccaesar.org/wiki/PCA/Membership

Bechtel, IBM, Aveva, ..., а где-то рядом небольшая консалтинговая TechInvestLab, с которой я работаю. Например, сейчас у нас идёт переписка с авторами стандарта по вопросам реализации версионирования Object Information Model. Сможем продвинуть эффективную реализацию - будет хорошо, а если нет, то будет срань. Впрочем, даже тогда можно сделать шашечки+ехать, а потом дождаться пока необходимость в шашечках отомрёт. А как иначе на этих масштабах, так и живём.

В образовательных целях полезно посмотреть практики идентификации стандарта ISO 15926. Это верхняя онтология 15926-2 и таксономия 15926-4. Также идеи 15926-2 продолжены в HQDM Мэттью Веста (книга Matthew West "Developing High Quality Data Models", сайт http://homepages.rya-online.net/matthew-west/). И немного другим путём пошёл Андриес Ван Ренссен, один из авторов 15926-4, позже создавший язык моделирования Gellish (http://www.gellish.net/). В каждом случае встречаются свои тараканы, но до цивильных языков программирования, как вы помните, тоже был Fortran.

Если же хотите вписаться в исследовательский процесс - читайте 15926-2, 15926-4, 15926-6, 15926-7, 15926-8, стандарты RDF и OWL, спецификацию EXPRESS (ISO 10303), материалы dot15926, другие форумы и источники информации. Участвуйте в движении и постоянно наблюдайте за ситуацией, всё меняется.