Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Воскресенье

Мышке добавили человеческий ген FOXP2, и она стала пищать по-другому (ничего, кроме мозга, введение нового гена не затронуло -- на это было проведено примерно 300 тестов. Хотя кто может поручиться, даже при 300 тестах?): http://scienceblogs.com/notrocketscience/2009/05/scientists_humanise_foxp2_gene_in_mice_to_probe_origins_of_h.php
* * *
Мария Снеговая попросила убрать ее презентацию с сайта Чтений. Убрали с удовольствием. Это первый случай за пять лет, когда докладчик вдруг устыдился своего доклада.
* * *
Очень интересный человек -- Jean-Jacques Dubray. Он пишет примерно то же самое, что и я пишу, хотя немного в других терминах (а именно, многоуровневого метамоделирования): победят DSL, но эти DSL будут мультипарадигмальны и будут опираться на общую метамодель. Он вводит метамодель-ориентированное программирование (Metamodel Oriented Programming, MOP): http://www.infoq.com/articles/mop. В этом тексте он ругается на ложные оппозиции "текстовый-графический" и "внутренний-внешний" по отношению к DSL. У него другие критерии: если в языке есть элементы, которые манипулируют (вплоть до порождения) другими элементами языка, то он "убедительный" (cogent), а если неисполним, то "малокровный" (anemic). Дает ссылку на интересную статью про формальное введение всех этих мета-мета-метамоделей и основанных на них DSL -- http://www.sciences.univ-nantes.fr/lina/atl/www/papers/KM3-FMOODS06.pdf. Вводит различие между "монадными" (весь DSL состоит из одного элемента) и "многочленными" (polyadic, мультипарадигмальными) языками и провозглашает победу "убедительных многочленных" языков, лучшим из которых называет WS-PER, над которым он работал некоторое время назад (abstract SOA framework, http://www.wsper.org/ -- The framework concepts extend and combine the concepts of WSDL, SCA/SDO and BPEL. The main goal of the framework is to create a service oriented, process centric and model driven application model from the point of view of the business logic that needs to be expressed when building composite information systems. WSPER stands for web, service, process, event & resource which are the key ingredients of the language. Язык поставляется в абстрактном синтаксисе, так что поставщики софта будут вольны выбирать конкретный синтаксис! Цель языка -- отмоделировать стремительно расползающиеся текущие стандарты SOA, ибо это расползание "портит хорошую идею"). В итоге Dubray приводит мысль, что context-free grammar менее выразительна, чем metamodel, поэтому языки будут развиваться в сторону "метамоделирования", а не "грамматик".

Вот слова, под которыми я готов подписаться, это та самая идея, про которую я все время тут пишу, хотя и другими словами(http://www.wsper.org): It seems that somewhere in the late 90s, early 2000s the software community has created an unnecessary dichotomy by introducing model driven concepts and opposing them to code. In reality, every programming formalism is based on an explicit metamodel (even OO or structured programming of course) and processing instructions. В группе "Аттик" говорили про исполнители и выполнители. Выполнители, вестимо, тоже были писанные на языке (то есть их тоже нужно было выполнять, ежели залезть к ним под крышку).

Интересное замечание, что нынешние промышленные метаметамодели (MOF и Ecore, а еще эти метаметамодели обсуждал van Renssen с Gellish -- когда обсуждал язык, на которых написаны UML, OWL и EXPRESS, предлагая Gellish в качестве средства моделирования таких языков, языков метамоделирования) неполны, ибо однопарадигмальны. Далее мысль основу языка сделать на базе поведенческих примитивов (как это принято при описании любых процессов -- в терминах сети activities).

Еще мысль про паттерны программирования: они уходят в DSL! Опять возвращаемся к старому pattern languages, и эти languages оказываются DSL!

Блог этого Dubray -- http://www.ebpml.org/ebpml_radio.htm
* * *
Интересное замечание Кейта Свенсона, что все эти "метамоделисты" делятся на две категории (Обнаружился перевод оригинальной стати на русский: http://bpms.ru/library/reviews/09/index.html#c1005):
-- трансформационные модели (аналог "компиляторных", в которых язык при исполнении трансформируется)
-- дополняемые, детализируемые (аналог "интерпретационных", в которых язык при исполнении сохраняется)

Как это часто бывает в языках, сначала побеждают "трансформационные" языки, но постепенно власть начинают захватывать "интерпретаторы" (хотя это и немного кривое сравнение). Хотя оригинальная статья про языки представления процессов, я думаю, что это применимо и к большинству других языков (это просто вылезает дискуссия про отношение многопредметоязычных (polyDSL) и "базового языка"). Сейчас, конечно, все это строго компилируемое, но в случае проекта COLA (FONC, IDS и т.д.) и перехода от "языков описания бизнес-процессов и артефактов" к "языкам описания процессов и объектам" это уже не так ясно.

Блог Keith Swenson, который как раз занимается "интерпретаторами" процессных языков в Fujitsu --
расширяемая метамодель -- http://kswenson.wordpress.com/
* * *
У меня теперь многие знания про процессы, и от этого многие печали. Свободный софт есть, но с ним обычные проблемы -- может отнюдь не все, кривая обучения упоминается во всех посвященных этому софту текстах. Коммерческие продукты -- они и есть коммерческие. Их много, глаза разбегаются.
* * *
Методы управления жизненным циклом нужно моделировать в чем-нибудь, совместимом со SPEM (например, http://www.objecteering.com/free_addons_spem.php). А сами процессы представлять в BPDM (что означает представление оркестровки в BPMN, а хореографии пока не пойми в чем -- лично я в этом месте думаю про DEMO-диаграммы).
* * *
Есть у меня в голове один мысль: названия акторов (ролей, позиционеров) зачастую образуются от деятельностей, которые они выполняют. Позиция/роль/оргфункция/актор "Аналитик", например, это такая пермутация activity "анализ требований". Поэтому мы можем смело писать в соответствующие места swimline из BPMN названия практик, а не ролей -- от этого мало что изменится по содержанию, но результат будет более совместим с подходом системной инженерии, где (как правильно заметил, кажется, Conrad Bock) больше внимания обращается на то, что нужно сделать, но совсем не обращается внимание на то, кто это будет делать. "Кто делает" в системной инженерии важно только для хореографии, но не для оркестровки.

В hump chart (традиционное визуальное представления формы жизненного цикла, прихваченное ICM из RUP) два измерения: практики системной инженерии (activities) и стадии/итерации. Мне же кажется, что этот hump chart вполне заменяется pool со swimpline из BPMN.

У Голдратта, насколько я понимаю, это же называется "планируйте работы с детализацией, равной ресурсам".

В Visio 2007 подходящая нотация (с процессами и стадиями) называется Cross Functional Diagram. Писать вместо функций activities, и будет ровно то, что нужно.
* * *
Получил (в обзоре Browning, Ramasesh, Ranga http://www.allbusiness.com/company-activities-management/product-management/10562070-1.html) ответ на свой давний вопрос, как объяснять важность decision gates, прерывающих все работы:
AitSahlia, Johnson, and Will (1995) use PD process models to show that complete overlapping is suboptimal and note that uncertainty may erode the advantages of concurrency. Krishnan, Eppinger, and Whitney (1997a) optimize the overlap in an activity dyad based on the upstream activity’s evolution rate and the downstream activity’s sensitivity and show that different types of overlapping drive time, cost, and quality tradeoffs. Extending this work, Loch and Terwiesch (1998) account for communication and uncertainty effects in determining the optimal degree of concurrency and show that improved communication allows increased overlapping (by mitigating rework). A further extension by Joglekar et al. (2001) accounts for resource constraints and rework generation and shows that factors exogenous to the activity dyad are important to consider when determining the optimal amount of overlap. Roemer and Ahmadi (2004) explore overlapping and crashing in a two-activity model. Moving slightly beyond the activity dyad, Roemer, Ahamdi, and Wang (2000) model the overlapping of adjacent phases of the PD process and demonstrate the time-cost tradeoffs driven by the amount of overlapping. Thus, the presence of uncertainty, the effectiveness of communication, the available resources, and other project characteristics, such as relative timecost preferences, figure into the overlapping decision.
Реворк, реворк, реворк. Реворк, реворк. Переделки. Почему-то "переделки" звучат не так пугающе, как "реворк". Российского крепкого хозяйственника "переделкой" не проймешь. Нужно найти какое-нибудь правильное слово для реворка.
* * *
Кролик вырос и начал разбойничать: таскать свой туалет зубами по всей клетке (срывает, гад, с креплений!), профессионально разбрасывать содержимое туалета (это он что, пытается рыть нору?). Боевой кролик пехоты: нападает на совок, когда пытаешься все это безобразие убрать. А для морпехов (морских свинок) нашлось сильнодействующее средство от страха: свежий огурец. Это единственный продукт, который у них напрочь перешибает все их инстинкты самосохранения. Реагируют на огурец круче, чем коты на валерьянку. А Мышаня освоил еще один обезьяний трюк: научился прыгать на стенку клетки.

Жена уже три раза заводила разговор, что попугаи -- очень интересные в содержании птицы. Не нравится мне это. Пусть лучше продолжает помидоры выращивать, у нее хорошо получается: кустики уже на полметра вымахали, буквально за неделю. Помидоры не шумят, они приятно пахнут, и их можно есть, в отличие от попугаев.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 7 comments