Маркетинг

Больше данных – меньше проблем!


Новые системы хранения данных для компаний малого и среднего бизнеса. Узнайте подробности и задайте вопросы на on-line-семинаре IBM




White Papers

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

Рассматриваются три типичных метода хищения данных: добронамеренные сотрудники, нацеленные атаки извне и мстительные сотрудники. Наряду с обзором способов противодействия даны конкретные советы по предотвращению взлома.

Открытые системы :: Разработчику

UML 2: модель деятельности и модель действий

в buzz в мой мир в twitter версия для печатисохранить в pdf

Данная публикация журнала Journal of Object Technology открывает серию статей, посвященных модели деятельности во второй версии унифицированного языка моделирования Unified Modeling Language, а также тому, как она сочетается с моделью действий.

Конрад Бок

Данная публикация журнала Journal of Object Technology (www.jot.fm) открывает серию статей, посвященных модели деятельности (activity model) во второй версии унифицированного языка моделирования Unified Modeling Language, а также тому, как она сочетается с моделью действий (action model). Статью можно рассматривать как дополнение к стандарту; в ней представлены сведения общего характера, логические обоснования, примеры, а также концепции, выстроенные в логическом порядке. Речь также идет о причинах, побуждающих переходить на новые модели, об их архитектуре, об основных аспектах понятий деятельности и действий в UML 2 и об общей концепции поведения (behavior) в этом языке [1].

К истории вопроса

В последнее время специалисты, занятые развитием UML, сосредоточивают свое внимание, прежде всего, на процедурах и процессах. Так, в версии UML 1.5 реализована определяемая потоком управления и потоком данных модель параметризованных процедур, которая дополняет существующие модель состояний (state model) и модель взаимодействий (interaction model) [2]. В UML появилась поддержка процедур, которые можно использовать и в качестве методов объектов, и независимо от объектов, как это бывает, к примеру, при моделировании библиотек функций популярных языков программирования. Кроме того, эта модель облегчает работу с UML для тех создателей моделей, которые работают с объектно-ориентированными технологиями лишь от случая к случаю — скажем, для инженеров-системщиков или для разработчиков моделей внутри предприятий, — и дают им возможность шаг за шагом изучать упомянутые технологии [3]. Такая способность гибко сочетать объектно-ориентированные технологии с функциональным подходом существенно расширяет сферу потенциальных приложений UML и обеспечивает их интеграцию.

Кроме того, язык UML 1.5 унаследовал от более ранних версий конечные автоматы в нотационной форме диаграмм потоков (flow diagram), именуемые теперь диаграммами деятельности (activity diagram). К сожалению, семантика, лежащая в основе конечного автомата, ограничивает выразительность и запутывает пользователей. В особенности это относится к пользователям, не имеющим опыта работы в объектно-ориентированной среде, у которых возникает ощущение, что модели деятельности UML 1.x не способствуют решению их задач. Внушает опасение и то, что в UML 1.5 имеется несколько моделей для потоков управления и данных.

С учетом этого опыта, в UML 2.0 модель деятельности была переопределена с тем, чтобы наделить ее ролью интуитивного моделирования потоков и интегрировать ее с моделью действий UML 1.5. В этой новой модели деятельности поддерживаются потоки управления и данных процедур UML 1.5, а также некоторые более общие возможности, такие как циклы и очереди. Тем самым, диаграммы деятельности UML 2 обеспечивают моделирование потоков в большом числе прикладных областей, от вычислительных до физических. Это делает UML идеальным средством спецификации систем вне зависимости от того, как они реализуются — аппаратно или программно, и вне зависимости от того, где проводится граница между системой и средой. Наконец, поскольку комбинация деятельности и действий сохраняет присущую UML 1.x способность реагировать на события, язык можно использовать, например, при работе с встроенными системами и системами на основе агентов.

Различные прикладные области

Модели деятельности и действий UML 2 определяются вне зависимости от приложения, однако некоторые возможности больше подходят к одним прикладным областям и менее приспособлены для других областей. Подобная избыточность неизбежна при создании абстракции для не перекрывающихся групп пользователей. Однако это обстоятельство с лихвой компенсируется эффективностью коммуникаций на основе общей модели между прикладными областями, которые интегрируются в произведенных системах.

Для удовлетворения потребностей поставщиков, продукты которых ориентированы на конкретные категории пользователей, модель разделяется на более мелкие компоненты, чем в других поведенческих моделях; при этом имеются более сложные зависимости между модулями, как это показано на рис. 2.

Средства, общие для различных приложений, такие, как абстрактная концепция действия, поток управления/данных и ввод/вывод, находятся в корне (базовая деятельность). Отсюда отношения зависимости разводятся по двум направлениям: одно направление используется, в первую очередь, для моделирования программного обеспечения (структурированная деятельность), а второе — для моделирования общих процессов (промежуточная и завершенная деятельность). В диаграммах структурированной деятельности вводятся правильно вложенные (well-nested) конструкции, предназначенные для моделирования условных значений, переменных, блоков try/catch и т.д. В диаграммах промежуточной и завершенной деятельности вводятся явный параллелизм, разделы, основанные на потоках формы для обработки исключительных ситуаций и ряд конструкций для избирательного управления потоками. Эти ветви являются ортогональными, так что их конструкции можно комбинировать. Так, структурная деятельность может перемежаться с промежуточной деятельностью, что позволяет в одно и то же время использовать и явный параллелизм, и структурированные условные выражения1.

Для поддержки широкого диапазона приложений требуется наличие различных нотаций. Например, программисты склонны к использованию текстовых нотаций, тогда как эксперты-предметники предпочитают графические нотации. В UML эта проблема решается путем создания репозитария для хранения спецификаций, который можно заполнять с применением нескольких нотаций. Для построения и считывания моделей деятельности в репозитарии программисты могут использовать текстовые синтаксические конструкции, а специалисты по созданию корпоративных моделей могут использовать какую-либо графическую нотацию. Таким образом, репозитарий UML представляет собой среду коммуникаций между различными нотациями и обеспечивает исходный материал для управляемых компиляторов, генерирующих код для различных платформ [4].

Модели потоков и семантика

Вообще говоря, модели поведения определяют, когда следует начать те или иные работы, и каковы их входные данные [3]. В частности, модели деятельности языка UML 2 строятся в соответствии с традиционным подходом потоков управления и данных: вложенные работы инициируются, когда завершаются другие работы, и становятся доступными входные данные. При использовании диаграмм потоков управления и данных визуализация эффекта времени выполнения обычно достигается путем следования по линиям диаграммы от более ранних конечных точек к более поздним, и изображения того, что управляющие воздействия и данные движутся вдоль этих линий. Поэтому для таких пользователей удобнее всего семантика потока маркеров, инспирированная сетями Петри, где «маркер» — это всего лишь общий термин для управляющих воздействий и значений данных.

В UML 2 используется тот же подход к поведенческой семантике, что и в UML 1.x; этот подход состоит в определении интуитивных виртуальных машин. В результате пользователи и поставщики получают возможность предсказывать эффект времени выполнения своих моделей. В спецификации диаграмм активности в UML 2 виртуальная машина определяется на основе маршрутизации управления и данных в графе узлов, соединенных ребрами. Каждые узел и ребро определяют, когда через них могут проходить управляющие воздействия и значения данных. Эти правила движения маркеров можно комбинировать с целью прогнозирования поведения всего графа2. Правила перемещения управляющих воздействий и данных предназначены лишь для того, чтобы прогнозировать эффект времени выполнения, иначе говоря, чтобы предсказывать, когда будут начинаться работы и с какими входными данными. Во всех прочих отношениях эти правила никак не ограничивают реализацию. В частности, они не подразумевают того, что модели деятельности должны реализоваться в виде виртуальной машины, соответствующей аналогу маркеров, передаче сообщений или какой-либо иной схеме. Требуется только, чтобы эффекты времени исполнения, предсказанные виртуальной машиной, действительно присутствовали в реализации.

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

Узлы и ребра деятельности

Диаграммы деятельности UML 2 содержат узлы, связанные ребрами; в результате чего образуется полный граф потоков. Управление и значения данных двигаются вдоль ребер и обрабатываются узлами, направляются на другие узлы или временно сохраняются. Более точно, в моделях деятельности имеются три вида узлов.

  • Узлы действия оперируют получаемыми управляющими воздействиями и значениями данных и предоставляют управление и данные другим действиям.
  • Узлы управления маршрутизируют перемещение маркеров по графу. Эти узлы содержат конструкции для выбора между альтернативными потоками (точки принятия решения — decision points), для параллельного движения по нескольким потокам (разветвления — forks) и т.д.
  • Объектные узлы временно удерживают маркеры данных, которые ожидают продолжения движения по графу.

Нотация описания некоторых узлов деятельности показана на рис. 3. Вопреки используемым названиям видов узлов, узлы управления координируют в графе как поток управления, так и поток данных, а узлы объектов могут хранить как объекты, так и данные3.

Узлы деятельности связываются направленными ребрами двух типов.

  • Ребра потоков управления связывают действия. Они обозначают, что действие на целевом конце ребра (со стрелкой) не может начаться до того, как закончится исходное действие. По ребрам потоков управления могут проходить только маркеры управления.
  • Ребра потоков объектовсоединяют узлы объектов для обеспечения действий входными данными. По ребрам потоков объектов могут проходить только маркеры объектов и данных.

25.02.2004г


Комментарии:


Для того, чтобы оставить комментарий авторизуйтесь или зарегистрируйтесь.

Новости ОСП-ТВ - 03.09.10


30/05/2007 №04

Миражи интеграции
Герман Хохлов
ИТ-рынок наконец-то осознал необходимость интеграции приложений — интеграционные платформы сегодня на пике популярности, а еще пару лет назад приходилось убеждать, что интегрировать лучше «на шине», чем с помощью прямых интерфейсов. Однако сегодня ожидания от внедрения интеграционных платформ часто значительно превосходят их реальные возможности. Мало того, встречаются даже случаи, когда шины рассматриваются как волшебные палочки, решающие все проблемы автоматизации и бизнеса. Интеграция приложений и интеграционные платформы постепенно становятся существенной статьей ИТ-бюджета.
Виртуализация: за и против
Александр Замятин
Сегодня технологии виртуализации вызывают большой интерес со стороны всех участников ИТ-рынка — все больше заказчиков видят в ИТ реальный инструмент бизнеса и все меньше внимания потребители информационных услуг уделяют оборудованию и программным средствам, на которых будет выполняться интересующая их задача. ИТ-инфраструктура все чаще оценивается как единое информационное поле, позволяющее получать, структурировать, обрабатывать и хранить необходимую компании информацию. Концепции виртуализации, начавшие развиваться около 40 лет назад, стали ответом на эти требования, однако виртуализация таит в себе не только преимущества.
Scrum: гибкое управление разработкой
Михаил Борисов
В большинстве случаев программирование — сложный, слабо определенный процесс, требующий от разработчиков творческого подхода. Различные agile-технологии позволяют организовать процесс постепенного приближения к цели проекта путем проведения циклов испытаний с корректировкой последующих, основанных на анализе результатов предыдущих. Scrum — одна из первых методологий циклического наращивания функциональности и корректировки хода проекта на основе анализа обратной связи от пользователей. Методология Scrum устанавливает правила управления процессом разработки и позволяет использовать уже существующие практики кодирования, корректируя требования или внося тактические изменения. Использование этой методологии дает возможность выявлять и устранять отклонения от желаемого результата на более ранних этапах разработки программного продукта.
Метрики управления качеством защиты приложений
Гуннар Петерсон, Элизабет Николс
Функциональность Web-приложений и их пользовательская база развиваются одновременно с ростом угроз, и хотя специальное оборудование (например, сетевые экраны) играет важную роль в деле защиты приложений, для обеспечения их полной безопасности одного оборудования недостаточно. Все эти устройства обеспечивают защиту хостов и средств связи, но почти бессильны перед атаками на сами программные модули или дизайн (интерфейсные экраны) приложения, поэтому предприятия должны сосредоточиться на усилении защиты Web-приложений. Однако здесь сразу появляется ряд вопросов. Какие проблемы могут возникнуть у моих программ? Насколько установленные приложения уязвимы перед лицом наиболее общих угроз? Какие изменения в цикле разработки программного обеспечения могут повлиять на защиту этих уязвимых мест?
Комбайн автоматизации
Александр Александров
Корпоративные платформы управления бизнес-процессами претендуют на то, чтобы, отделив логику выполнения процессов от их программной реализации, включить в единый цикл взаимодействие людей, потоки документов, распределенные информационные системы и базы данных. Когда появился такой «комбайн» с возможностью объединения анализа и моделирования процессов, управления действиями людей и работой информационных систем при обеспечении мониторинга и оптимизации производительности на протяжении жизненного цикла процессов, потребовалось переосмысление организации системы управления бизнес-процессами.
BPM со всех сторон
Наталья Дубова
Ежегодная конференция «Управление бизнес-процессами на предприятии: интеграция в корпоративные системы» вновь собрала полную аудиторию. С чем связан повышенный интерес к BPM и какие решения в данной области предлагаются сегодня отечественному бизнесу? Дисциплина управления бизнес-процессами сложилась в последнее десятилетие в ответ на неэффективную организацию бизнеса по функциональным подразделениям и избыточную сложность предлагаемых подходов к реинжинирингу бизнес-процессов, обычно предписывающих полную и одномоментную перестройку процессов из состояния «как есть» в состояние «как должно быть».
Транзакционная память — первые шаги
Леонид Черняк
Память современных компьютеров в принципе отличается от легендарных ферритовых колечек только своей емкостью и быстродействием: она последовательна по своей природе. С появлением многоядерных процессоров возникает необходимость в альтернативных решениях. Возможно, таким решением станет транзакционная память.

Содержание

Современные архитектуры

Новость

Руководителю проекта

Разработчику

Книги

Системы управления базами данных

Советы и мнения

Интернет

Книжная полка ОС

Академия ОС

Стандарты

Программная инженерия

Разное

Менеджмент ИТ

Платформы

Новости

От редакции



Эта рубрика в архиве
Список номеров за



Инфозоны

В зоне партнерства Паладин Инвент и HP

Основные направления деятельности

«Паладин Инвент» предлагает своим клиентам решения на базе современных методов управления производством и бизнес-процессами.

HP Care Pack

HP Care Pack – это сервисный продукт HP, расширяющий условия стандартной гарантии в зависимости от требований бизнеса.

«Паладин Инвент» развивает экспертизу в области виртуализациии.

В портфеле компании есть решения разных производителей, но в качестве аппаратной базы неизменно используется продукция HP.

Система поддержки пользователей «Балтики»

Процессы управления ИТ-сервисами в пивоваренной компании «Балтика» специалисты «Паладин Инвент» реализовали на базе программного обеспечения HP Service Desk.
OSP.RU :: Написать письмо.