?

Log in

No account? Create an account
Лабораторный журнал -- Day [entries|friends|calendar]
Anatoly Levenchuk

[ website | Лабораторный журнал ]
[ userinfo | livejournal userinfo ]
[ calendar | livejournal calendar ]

Международные конференции по системной инженерии: планируйте поездки в 2010г. [25 Oct 2009|12:09am]
22 октября 2009г. вышел 13й выпуск информационного бюллетеня по системной инженерии SyEN от фирмы Project Performance International -- http://www.ppi-int.com/newsletter/SyEN-013.php. Вот некоторые интересные конференции из там упомянутых:

Международный симпозиум по системной инженерии INCOSE (Чикаго, США, 12-15 июля 2010, http://www.incose.org/symp2010/. Call for papers действителен до 8 ноября 2009г., 22 февраля 2010 вам сообщат, принят ли доклад). Интересно, что заявленные темы в call for papers практически те же, что темы для panels. Поэтому я перечислю и первые и вторые в одном флаконе -- иначе замысел конференции будет непонятен.
-- инженерия инфраструктуры будущего (финансовая система, транспорт, связь и сети, здравоохранение). Как системная инженерия может содействовать успеху наций и качеству жизни людей? Как системная инженерия может быть приложима к здравоохранению и финансовому сектору? Вклад системной инженерии в управление редкими ресурсами; какие кратковременные и долговременные возможности, и как мы можем обойти западни?
-- управление экстремальным (борьба с природными катастрофами и экономическими кризисами, адаптивные организации, проекты, практики и продукты). Предотвращение рукотворных и природных катастроф: что может дать системная инженерия? Глобальное потепление: использование управления рисками для отделения фактов от фантазии.
-- приложимые методы, практики и инструменты (инновации и тренды, инструменты поддержки системной инженерии, отчеты об опыте).
-- зрелость системной инженерии (практика, технология, компетенции, следующий шаг зрелости). Компетенции: что системный инженер РЕАЛЬНО должен знать, чтобы успешно выполнять работу? Границы: каковы пределы системной инженерии, или системная инженерия на самом деле инженерия, или социальный эксперимент?
-- новые рубежи и технологии (разработка биомедицинских продуктов, альтернативная энергия, влияние на окружающую среду)
-- защита и безопасность (оценка риска, новые технологии). Обеспечение защиты и безопасности системы: сколько будет достаточно? Сколько будет слишком много? Продвигает ли системная инженерия требования ради требований? Уменьшение рисков глобального терроризма эффективно? стоит ли усилий?
-- телеком (связь и сети, мобильные и кабельные системы)
-- моделе-ориентированная системная инженерия.

Эта главная тусовка года для всех системных инженеров. Обратите внимание, что в содержании хорошо просматривается сразу несколько трендов:
-- сдвиг на явное обсуждение не столько профессиональных ценностей, сколько ценностей в их высшей общечеловеческой рамке (можно, конечно, утверждать и иначе: много системных инженеров околачиваются около сверхбольших проектов, за которые платит государство. И поэтому им близка точка зрения и риторика чиновников. Если говорить о нашей стране, то такие темы являются "прикрышкой попила", но насколько я знаю, западные инженеры считают, что речь идет не о "попиле", а о склонении государства к трате денег ровно на "согласованное профессией" понимание "нужного для всех" -- и на этой конференции как раз и планируют это обсуждать).
-- профессиональный шовинизм (распространение метода на все, что движется. Или на все, что остановилось. Или на все, что хочется. Или на все, до чего хоть как то можно дотянуться. Или на все, что можно себе представить мыслительно). Речь даже не про расширение рынка системной инженерии на огромное количество ничего не слышавших о ней отраслей, речь идет об идеологической экспансии.
-- относительно небольшая доля обсуждения собственно "содержания", методов (разве что инструментальный трек, моделе-ориентированная системная инженерия и рефлексивный трек "зрелости"). Все остальное -- позиционирование, расширение сферы влияния путем приложения в нетрадиционных для системной инженерии сферах и прочие наполеоновские планы по захвату мира.
* * *
ISARC 2010, 23-25 июня Прага, Чешская республика (http://www.isarcs.org/isarcs2010/)-- первый международный симпозиум по архитектурной деятельности для критических систем [а как бы вы перевели тут architecturing? Мне представляется, что акцент не на результате-архитектуре, а именно на деятельности по получению результата в названии важен].
Это объединение трех семинаров под общим названием:
-- архитектурная деятельность для надежных систем [не забываем переводить dependable как "надежный", а не "зависимый"!]
-- роль программной (software) архитектуры для тестирования и анализа
-- группы описаний проектирования сложных архитектур
Планируется собрать четыре сообщества, которые работают над нотациями, методами, приемами и практиками программных архитектур с четырех разных перспектив: надежности, безопасности, защиты и тестирования.
Критическую систему определяют как характеризующуюся воспринимаемой серьезностью последствий ее отказа, и в рассмотрение обязательно включают разработку методов оценки того, что данная критическая система не подведет.
* * *
SpringSim' 10, 11-15 апреля, Орландо, Флорида, США (http://www.scs.org/confernc/springsim/springsim10/springsim10.htm) -- Весенняя мультиконференция по имитационному моделированию. Проводится международным обществом моделирования и имитационного моделирования (http://www.scs.org/). Мультиконференция включает отдельные:
-- симпозиум по агент-ориентированному имитационному моделированию (agent-directed simulation, определяется как совокупность "agent for simulation", т.е. agent-supported simulation и agent-based simulation и "sumulation for agents", т.е. agent simulation) -- http://www.site.uottawa.ca/~oren/conf-org/ADS_2010/ADS-CFP.htm
-- симпозиум по военному моделированию и имитационному моделированию
-- симпозиум EAIA по моделированию и имитационному моделированию в инженерии (MSEng' 10, http://www.scs.org/confernc/springsim/springsim10/cfp/eaia.htm). Трек по моделированию и имитационному моделированию (МИМ) и инженерии включает темы системной инженерии для МИМ и МИМ для системной инженерии, инженерному менеджменту для МИМ и МИМ для инженерного менеджмента, требования для МИМ в контексте инженерии, МИМ в жизненном цикле поддержки систем. Трек по МИМ в бизнесе и промышленности включает темы приложений МИМ в бизнесе и промышленности, МИМ в управлении поставками, системы имитационного моделирования для поддержки принятия решений, архитектуры и гибридные проектные решения. Трек МИМ и образования включает применение моделирования, имитационного моделирования и "играния" в качестве учебных инструментов, извлеченные уроки от применения МИМ в образовании: рабочая сила, университеты, колледжи, школы; МИМ как [учебная] дисциплина, корпус знаний МИМ и учебная программа МИМ, исследования МИМ и их роль в образовании.
-- 13й симпозиум по имитационному моделированию связи и сетей (CNS'10)
-- симпозиум по имитационному моделированию архитектуры и городского дизайна SumAUD 2010. Совестливые: "здания потребляют энергию, которая дает до 48% всех парниковых газов". Ну, и имитационное моделирование должно по их идее помочь с этим справиться.
-- 9я международная конференция по МИМ графов связей (bond graph), интересуется в 2010 от социальных и экономических систем до механотроники, от термических и химических систем до продвинутой связнографовой методологии биомеханики и протезирования -- со всеми возможными промежуточными остановками типа связных графов в компьютерной графике.
-- 43й ежегодный симпозиум по имитационному моделированию (ANSS'10). Мне, наверное, нужно было бы отдельный постинг писать про темы этого симпозиума. Даже переводить не буду: Service-oriented Computing and Simulation; Web-based Modeling and Simulation; Simulation Languages, Tools, and Environments; Simulation of Multiprocessor Architectures; Simulation of Distributed Systems and Databases; Simulation of Parallel Processing Systems; Simulation based Performance Analysis; Simulation of Sensor Networks; Simulation of Large Scale Systems; Simulation of Clusters and Grids; Simulation of Client-Server Systems; Simulation of Wireless Systems; Simulation and Emulation of Embedded systems; Pervasive Computing; Smart Network Design and Traffic Modeling; Routing and Mobility Management in Networks; Mobile and Nomadic Computing; Energy-aware Schemes for Wireless Networks; Simulation of Real-time Systems; Parallel and Distributed Simulation; Simulation based Software Performance; Reliability and Maintenance Models; Simulation of Multimedia Applications and Systems; Cognitive Modeling and Simulation; Artificial Intelligence in Simulation; Neural Network Models and Simulation; Animations/Virtual Reality; Advances in Simulation Methodology and Practices; Experimental Design; Statistical Analysis and Inference; Verification and Validation; Selection and Comparison Procedures.
-- симпозиум по компьютерам высокой производительности (РЗС 2010). Тем на удивление немного: высокопроизводительное/крупномасштабное имитационное моделирование, численные методы, среды решения проблем, визуализация и управление данными, параллельные алгоритмы для нарождающихся архитектур, высокопроизводительные программные инструменты, компьютинг с вниманием к потребляемой энергии (power-aware computing).
-- симпозиум по теории моделирования и имитационного моделирования (DEVS 2010). Теория: DEVS методология моделирования [http://en.wikipedia.org/wiki/DEVS], гибридное системное моделирование и интеграция формализмов, формальный анализ и символические рассуждения, проверка моделей, трансформация графов, парадигма активности (activity): сложные адаптивные системы, отслеживание, сознание. Методология: параллельные и распределенные имитационные моделирующие среды (sumulators) и моделирования (simulations), взаимодействие имитационных моделирующих сред (грид, веб-сервисы и т.д.), МИМ инженерия, МИМ-ориентированные методы разработки. Практика и извлеченные уроки: военные системы и инфраструктуры, встроенные системы и системы реального времени, высокопроизводительные компьютеры, программоемкие и сетевые системы, системы транспорта (traffic) и пассажирского транспорта (transportation), экологические системы и системы окружающей среды, стандарты. Наборы инструментов и среды: инструменты и библиотеки (DEVS, сети Петри, синхронные автоматы и т.д.), образовательные аспекты теории моделирования и имитационного моделирования.
* * *
COFES 2010, 15-18 апреля 2010г., Scottsdale, Аризона, США (http://cofes.com/Events/COFES2010/tabid/504/Default.aspx) -- Конгресс по будущему инженерного софта. Посещение по приглашениям, но есть адрес для запроса приглашений.
В 2010 тема "Лучшие практики недостаточно хороши": Лучшие практики уже недостаточно хороши. Мы должны пойти за пределы этого. На прошлых COFES мы обсуждали проектирование, инженерию, самоподдерживаемость, и инновации. Нас спрашивали: "Какие лучшие практики мы должны освоить"? В основном ответ был про повторение прошлого, только лучше, быстрее и дешевле. На COFES 2010 мы спрашиваем "Что мы можем делать, чтобы сделать наших клиентов более результативными инноваторами?" и "Как мы можем делать инновации в разработке лучших практик?". Предметная область при этом -- софт для проектирования и инженерии.
Интересующимся инженерным софтом крайне советую поглядеть на презентации с прошлых конференций (часть из них с прошлой конференции есть на http://cofes.com/MaieuticParataxis/COFES2009/tabid/486/Default.aspx и http://cofes.com/Events/COFES2009/TheDaSSymposium/tabid/497/Default.aspx).
* * *
Секция по инженерии требований -- "третье издание", 22-26 марта 2010, Sierre, Швейцария (http://www.dsc.upe.br/~sac2010/), часть 25го симпозиума ACM по прикладному компьютингу.
-- инженерия требований для сферы науки
-- выявление, анализ и документирование требований
-- языки, методы, практики и инструменты спецификации требований
-- управление требованиями, трассировка и методы описания (viewpoints)
-- моделирование требований, целей и предметных областей
-- нефункциональные требования
-- инженерия требований и программная архитектура
-- аспект-ориентированная инженерия требований
-- агент-ориентированная инженерия требований
-- требования для "коробочных" систем
-- изучение конкретных примеров и опыта, основанное на инженерии требований
-- социальные, культурные и когнитивные факторы в инженерии требований
-- инженерия требований: образование и переподготовка
-- требования и имитационное моделирование
-- требования и автономные системы
* * *
Семинар по требованиям, намерениям и целям в концептуальном моделировании, 9-10 ноября 2009г., Gramado, Бразилия (http://www.cin.ufpe.br/~rigim09/)в рамках 28й международной конференции по концептуальному моделированию. Темы связаны с отношениями между инженерией требований и концептуальным моделированием:
-- моделирование и смысл в GORE-структурах (GORE -- goal-oriented requirements engineering)
-- анализ и рассуждения (reasoning) с намерениями и целями
-- онтологические и эпистемологические основания
-- когнитивные, поведенческие и социологические перспективы
-- цели, сценарии, и моделирование организационных практик
-- цели и группы описаний, управление конфликтами и противоречиями
-- цели в требованиях и паттерны проектирования
-- цели в повторном использовании
-- цели и трассируемость
-- цели и аспекты
-- управление изменениями, версионирование и управление группами описаний для GORE
-- визуализация и инструментальная поддержка для GORE
-- практика разработки программ (software process) и организация для GORE
-- GORE и гибкие методы
-- GORE и распределенная разработка программ
-- GORE для разработки и выбора "коробочных" систем
-- GORE для продуктовых семейств и высоковариативного софта
-- GORE для адаптивных систем и гибких предприятий
-- сравнение и оценка GORE-подходов
-- промышленный опыт и эмпирические исследования
-- GORE для инженерии сервисов
-- GORE и организационное моделирование и стратегический вывод (reasoning)
-- целе-ориентированное концептуальное моделирование для защиты, прайвеси и доверия
-- целе-ориентированное моделирование для пользовательского опыта (user experience) и проектирования взаимодействия
-- целе-ориентированное моделирование архитектуры системы
-- взаимодействие и интеграция с другими парадигмами концептуального моделирования, например, объект-ориентированными и агент-ориентированными моделями
-- целе-ориентированное моделирование для отдельных прикладных предметных областей, например, здравоохранения, электронного государства, коммерции через мобильники, обволакивающего интеллекта (ambient intelligence)
* * *
SENSE-1010, 15-18 февраля 2010, Краков, Польша, (http://www.ifs.tuwien.ac.at/SENSE-2010) Первый международный семинар по смыслообеспеченной (semantically-enabled) системной инженерии
(a) смысловая (semantic) интеграция разнородных систем
-- интеграция критических для безопасности систем
-- совмещение (alignment) онтологий [не хочется переводить "синхронизация", это ведь пока не про время]
-- инструментальная поддержка смысловой интеграции
-- смысловые разнородности (semantic heterogeneities)
(б) Онтологии и моделеориентированная архитектура (MDA)
-- моделиориентированная (model-driven) архитектура/разработка с онтологиями
-- сравнение традиционного моделирования данных с использованием UML с моделированием данных с использованием онтологий
-- вопросы производительности, масштабируемости, сопровождаемости
-- поддержка параллельности для моделирования данных
-- инструментальная поддержка моделирования данных с использованием онтологий
(с) онтологии и управление проектами
-- управление проектами/рисками программных систем, основанных на онтологиях
-- трассировка программных артефактов с помощью онтологий
-- онтология-ориентированное (ontology-driven) руководство разработкой софта (software process)
-- поддержанные онтологией метрики и аналитика
-- основанные на онтологии уведомления
* * *
FMICS 2009, 14й международный семинар по формальным методам для промышленных критических систем, 2-3 ноября, 2009г., Eindhoven, Нидерланды (http://users.dsic.upv.es/workshops/fmics2009/)
-- понимание, полученное в реальных (real-world) проектах при применении формальных методов
-- сравнение формальных методов с неформальными или полуформальными методами в контексте промышленного проекта
-- юридические вопросы, возникшие при применении формальных методов в реальных проектах
-- препятствия для коммерциализации программных средств, основанных на формальных методах
-- ограничения реальности, которые создают отдельные проблемы для формальных методов в целом
* * *
Франкоязычные конференции я пропускаю, несмотря на названия типа Model Driven Day (http://www.mdday.fr/)
* * *
Я с большим вниманием отношусь в том числе к внимательному просмотру Call for papers таких мероприятий. Современные тренды и состояние дел прежде всего отражаются в описанной там тематике, и мониторинг этих тем -- наиболее легкий способ не пропустить что-то важное.

Очень надеюсь, что через некоторое время системные инженеры Русского отделения INCOSE будут выступать на этих конференциях, симпозиумах и семинарах, а не только читать о них у меня в блоге.
13 comments|post comment

Про плохих менеджеров, криворуких программистов и ворующих чиновников [25 Oct 2009|12:54am]
Много-много раз за последние месяцы я пишу про разницу картин мира менеджеров, инженеров, проектных менеджеров, программистов и т.д.. При этом я имею ввиду онтологическую разницу их картин мира, а не разницу в уме, образованности и профессионализме, корыстности и стремлении к попилу и т.д и т.п.

Каждый раз обязательно следуют комменты, которые указывают на неработоспособность описанных в том или ином постинге методов на основании той или иной испорченности природы той или иной категории людей -- огульно, целыми классами. И менеджеры у нас стяжательские, а не предпринимательские, и программисты криворукие, и управленцы проектами никуда не годные, и чиновники думают только о попиле и запретах.

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

Поэтому я замучился делать для каждого комментатора эти две разъяснительные операции: 1. разводить описание профессиональной позиции (роли) и человека-носителя этой роли 2. указывать, что человек-носитель этой роли необязательно идиот и хапуга.

Например, в SOA-инициативах обсуждается отношение между менеджерами и айтишниками (http://ailev.livejournal.com/747138.html). При этом, конечно, можно построить матрицу 2*2 "менеджеры: хорошие и идиоты", "айтишники: хорошие и идиоты" -- дальше каждый будет комментировать с дурацким обобщением своей любимой комбинации (местные мизантропы и снобы будут обобщать до менеджеров и айтишников идиотов, а какие-нибудь западные политкорректные коллеги, у которых все очень умные и хорошо умеют делать свое дело, и им нужно только чуток помочь, обобщат до обоих хороших. Часть будет хвалить программистов, топить менеджеров в фекалиях. Часть будет признавать примат менеджеров и указывать недалеким программистам на их шесток).

Меня задолбало уже, когда я описываю содержательную (профессиональную, онтологическую, предметную) разницу разных позиций -- а мне в ответ про рвачество, неумение, криворукость и кривомозгость и прочие человеческие пороки. Тьфу, задолбали: это же непродуктивно каждый раз начинать разговор с того, что все вокруг какие-то некондиционные профессионалы, и именно так устроена жизнь.

Если вы ищете в людях (в том числе представителях целых профессий) недостатки, вы их всенепременно найдете. Если ищете достоинства, вы их найдете тоже. Кто хочет жить в мире идиотов и рвачей -- боги вам в помощь. Я же предполагаю у людей и наличие мозгов, и наличие мотивов не только из основания пирамиды Маслоу. С другой стороны, люди разные в силу их разных жизненных и профессиональных позиций. Это вовсе не по шкале "плохой-хороший", это про другое. И обсуждается по-другому, в других схемах, в других понятиях.

Оно, конечно, сумбурно на ночь глядя получилось, но уж больно достали эти указания на тотальное несовершенство природы человека, убогость окружающих "профессионалов" и т.д.. Я и сам это все знаю, самому от этого тошно, но вокруг себя я все-таки нахожу и профессионалов, и заинтересованных в росте профессионализма людей, и людей, заинтересованных в интересах дела, а не только разворовывающих все вокруг недоучек. Поэтому для меня все эти комментарии про нижеплинтусность уровня и в силу этого неприменимости того высокого, сложного и красивого, о чем я постоянно пишу -- мимо. Не нужно тут комментариев про "бесполезность в реальной жизни". Для того и пишу, чтобы был вышеплинтусный уровень. Задаю планку.
38 comments|post comment

Зум на спецкнопках мышки и вопрошание о смене ОС [25 Oct 2009|01:41pm]
Окончательно ослаб глазами (близорукость все более и более неправильно сочетается с возрастной дальнозоркостью), но сегодня обнаружил в FireFox команды Zoom In и Zoom Out -- восхитился результатом (очкарики, попробуйте обязательно на мелкошрифтовых страницах!), а потом назначил эти команды на дополнительные кнопки мыши, ибо вспомнил, что эта опция была в настройках мыши, но я почему-то на эти кнопки выбрал PgUp/PgDn, оказавшиеся ненужными после появления инерционного колесика. Работает в FireFox и в FoxIt, не работает в не-лисьих программах (так, не работает в Ворде и Аутлуке, не работает в Evernote и т.д.). Увы, не нашел у себя больше ничего лисьего, чтобы подтвердить догадку (второй раз ведь это -- совпадение. Закономерность -- это должен быть еще и третий раз ;)

На примере опыта использования этого инерционного колесика и сегодняшнего назначения на доп.клавиши Zoom In/Out лишний раз убеждаюсь, что пользователи (включая меня) редко знают свои существенные потребности. Об этих потребностях почему-то узнаёшь только в тот момент, когда их удовлетворяют.

Счастье, полное счастье. Никогда не думал, что новая мышка сможет сделать жизнь настолько комфортной. Конечно, победит беспроводная малтитач-мышь с инерционным колесиком и дополнительными кнопками, а не малтитач-скрин или малтитач-пад -- но до этого момента пройдет еще пара-тройка лет.

[UPDATE: как сообщил в комментах martyshin, Ctrl+колесико мыши работает почти везде, даже в Ворде. Хотя это лишь чуть-чуть отличается от традиционных аккордов Ctrl++, Ctrl+- и Ctrl+0, но все же позволяет руку с мышки не снимать -- и поэтому особенно удобно.]

В связи с этими новыми неожиданными удобствами подумал, когда переходить на Windows 7. Если в ней окажется настолько же удобней, как при переходе на другую модель мышки, то тогда нужно переходить немедленно. Если в ней окажется, что там не работает половина моих нынешних программ (а на МакОС много лет я не перехожу исключительно по этой причине), то смело можно подождать еще годик-другой и тогда уже поменять заодно и компьютер.

Поэтому нужно ответить на поднимаемый моей новой мышкой вопрос: ставить новую ОС сейчас и получить неожиданный прирост счастья по сравнению с ожиданным приростом неудобств, или пока ну его -- жить на WinXP и не заморачиваться?

Кстати, я так и не понял, чем текущие Sony VAIO VGN-Z4 существенно отличаются от моего Sony VAIO VGN-Z21 (даже если брать VGN-Z46 http://market.yandex.ru/model.xml?hid=91013&modelid=4945893&fromyaru=1, при этом сотовая связь внутри ноутбука мне представляется ненужной при наличии в кармане телефона, а лишние полмегагерца процессора боюсь, даже не замечу, не говоря уже о недоступной нормальному софту оперативной памяти. Вот добавили бы они время батареи! Этого, увы, нет), но уже известно, что выходящие в конце октября (буквально в эти дни) Sony VAIO VGN-Z5 будут отличаться от Z4-ых только ОС (Win7 вместо Висты, http://www.notebookcheck.com/Newseintrag.54+M549438b6f5a.0.html). Но если ждать еще полгода до Z7 (который тоже вряд ли будет существенно для моих целей лучше аппаратно), то обидно было бы обнаружить, что все абсолютно то же самое счастье я мог бы получить давным-давно на Z2, просто вовремя поменяв операционку.
20 comments|post comment

Онтологические модели -- это про проектирование/программирование/моделирование-в-большом [25 Oct 2009|09:40pm]
Вопрос про сервисы-процессы и задачи, а также сервисы-сущности (Are Services Nouns or Verbs, http://www.zapthink.com/report.html?id=ZAPFLASH-20091014) мне напомнил про необходимость онтологического уровня рассуждений, о котором говорил Chris Partrige в своей презентации июля 2007г. "Data and process revisited: ontology driving a paradigm shift in the development of business application systems" (http://ontolog.cim3.net/cgi-bin/wiki.pl?ConferenceCall_2007_07_05), но навело на другие мысли, которые я опишу тут пока несколько сумбурно.

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

SOA развивается как дисциплина, обеспечивающая гибкость "корпоративных" информационных систем. Подход интеграции данных в САПР на базе онтологических схем -- все то же самое.

В итоге все сводится к появлению универсального моделера, который моделирует окружающий мир в необходимой для менеджеров-финансистов или инженеров полноте и укладывает его в базу данных (практика "абстракция слоя данных" -- и в САПР, и в SOA). Для того, чтобы потом получилась возможность как-то с этими данными работать, добавляется "семантика", сводящаяся к утыкиванию каждого элементарного данного в какое-то место довольно большой схемы данных и обеспечению сервисов, выполняющих над этой сложной структурой какие-то операции.

Эти схемы огромны. В ISO 15926 изначально было порядка 50тыс. сущностей. В Gellish около того. В Dassault Systemes V6 универсальный моделер MatrixOne (на котором базируются все остальные модули V6, и который связывает все эти модули между собой и предоставляет им общую для всех базу данных) предоставляет возможность сделать SOA-архитектуру (чем гордятся) с 20тыс. классов "из коробки". Поясню: вы можете программировать, но вы должны понимать, что в вашем языке программирования есть 20 тыс. зарезервированных слов, каждое из которых что-то значит. Сравните это с изучением иностранного языка плюс вспомните, что компьютер не простит двусмысленностей и неточностей -- и вы получите представление о сложности сегодняшнего программирования. Никакая computer science пока тут рядом не стояла, пока это все вотчина software engineering.

Мне кажется, что application agnostic zone из презентации Chris Partrige уже есть. Вы еще не начали программировать свое "приложение", а вам уже дадено 20тыс. понятий. Вовсе не факт, что все эти понятия из системной архитектуры, а не предметной архитектуры. Вовсе не факт, что эти 20тыс. понятий все относятся к описанию самой V6 и ее модулей. Нет, в современных САПР вы обязательно найдете upper ontology во всей ее красе, вы найдете "полную схему мира", хотя и краткую по необходимости. В каждом современном САПР есть свой CYC, только он маленький и сводится к common sense только для инжиниринга -- там нет сведений о литературе и искусстве, медицине и политике.

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

Еще раз перепроверимся: ISO 15926 "из коробки" на верхнем уровне включает порядка 50тыс. классов. Предполагается, что вы работаете именно с ними, и там все основное и необходимое есть. Не предполагается, что вы заново создаете все понятия по мере того, как в них возникает потребность.

Есть и другое измерение этой проблемы: софт состоит сейчас из независимых кусков (можем назвать их сервисами -- даже не связывая это с SOA. Кто-то что-то где-то для нас делает, это сервис. Это совсем необязательно "объект, выполняющий метод", ОО-подход лишь один из способов об этом думать). Программирование сегодня -- это по сути связывание таких независимых кусков-сервисов для того, чтобы создать набор сервисов более высокого уровня (даже не "приложение", как об этом регулярно напоминает Алан Кей -- см., например, тред http://ailev.livejournal.com/699111.html?thread=6148327#t6148327).

Тем не менее, забудь о рефакторинге, всяк сюда входящий: внутрь кирпичей не смотрят, это и достоинство и проблема. Я думаю, если внимательно проработать 20тыс. классов MatrixOne, а также поглядеть на все дублирующие друг друга части модулей V6 и "отрефакторить" по-человечески, то можно было бы получить систему другого класса как по масштабируемости, так и по легкости освоения и сопровождения.

Итак, современное программирование -- это работа по написанию "сервисов" над огромными плохо отрефакторенными онтологиями. Уже нет "данных", есть онтологии, но работа с онтологиями по существу отстает от работы с агентской ("выполнителями", "процессорами", "модулями", сервисами, объектами-с-методами и т.д.) частью. Рост же компьютерной мощности дает возможность плюнуть на эту онтологическую грязь, "онтологический долг" (ср. technical debt из agile).

Текущее обсуждение "программирования-в-большом" (programming-in-large, http://en.wikipedia.org/wiki/Programming_in_the_large_and_programming_in_the_small) эти проблемы игнорирует, опять таки сосредотачиваясь на "языках программирования-в-большом" и тем самым сводя все изменение парадигмы к повторению истории "программирования-в-малом" для асинхронных распределенных сервисов. Мне же кажется, что акцент тут нужно делать не на том, что есть множество асинхронных распределенных сервисов, а в том, что это (включая тот факт, что сервисы эти пишутся разными людьми и отражают структуру разных предметных областей) приводит к появлению огромных слабо контролируемых онтологий и тем самым к появленю нового сорта архитектур -- "универсальных моделирующих комплексов", которые сейчас стремительно развиваются под маркой SOA.

Тем самым я рассматриваю SOA просто как способ:
-- указать на то, что подлежащие модели являются не айтишными моделями, а задающимися спецификой деятельности организации. После этого появляется эпистемологическая проблема расхождения модели и реальности, и кроме инженерной части работы возникает мыслительная часть ("полагание" онтологии) и исследовательская часть по выявлению поведения этой онтологии в реальности. Именно отсюда и родился так похожий на agile manifesto манифест SOA.
-- дать хоть какой-то набор практик жизненного цикла (software process) для программирования-в-большом. Ведь на сегодня программная инженерия говорит что-то осмысленное только про программирование-в-малом. А программирование-в-большом (которое, замечу, скрывается и внутри программирования на C++ и Java, а не только BPEL) осталось без специфичных для него практик. Вот SOA и заполняет эту брешь, уж как может.

Сама проблема "программирования в большом" для меня очень близка к тематике проектирования-конструирования. Проектирование -- это для меня полный аналог "программирования-в-большом". Ты должен собрать из (в пределе, например для ядерной подводной лодки, которую любит приводить в пример Dassault Systemes) 4 миллионов комплектующих (данных тебе в виде каталогов стандартных комплектующих главным образом, и лишь совсем чуть-чуть в виде конструируемых специально для твоего проекта особых деталей), и тем самым добиться того, чтобы эти результаты чужого труда каким-то образом заработали вместе, а вся результирующая композиция не развалилась, не взорвалась и служила долго.

Сейчас с проблемой моделирования-в-большом столкнулись модельеры, у которых встала та же самая задача modeling-in-the-large (подробнее см. megamodeling в https://gforge.inria.fr/plugins/scmsvn/viewcvs.php/*checkout*/Publications/2009/SLE-IfMDEisSol.pdf?rev=29&root=atlantic-zoos, но эти ребята из AMMA заявили об этой проблеме на конференциях MDAFA 2003/2004, и опубликовались в 2005г. http://www.springerlink.com/content/dqj98uwqp2gbu3cx/?p=c10f5251afa74af6b134631cf4dae7a1&pi=2. У них там еще пять лет назад говорилось то, что я твержу сейчас -- "There is probably not going to be a unique monolithic modeling language (like UML 2.0) but instead an important number of small domain specific languages (DSLs) and this will only be possible if these small DSLs are well coordinated. To avoid the risk of fragmentation, we need to offer a global vision, wich can be provided by the activity of modeling in large").

Тем самым, мы наблюдаем много-много разных способов сделать language workbenches: SOA (как это ни странно), собственно language workbenches, работы типа ведущихся в группе AMMA, современные САПР с "универсальной датацентрикой" и кучерявой схемой/моделью данных/онтологией.

Это магистраль, "в большом". Это и есть текущий мейнстрим. Онтологии тут -- enabling technology.
4 comments|post comment

В путь. [25 Oct 2009|10:16pm]
Уехал в Санкт-Петербург, вернусь во вторник. Компьютер с собой не беру.
post comment

navigation
[ viewing | October 25th, 2009 ]
[ go | previous day|next day ]