Діаграми діяльності
Диаграмма деятельности представляет особую форму конечного автомата, в которой показываются процесс вычислений и потоки работ. В ней выделяются не обычные состояния объекта, а состояния выполняемых вычислений — состояния действий. При этом полагается, что процесс вычислений не прерывается внешними событиями. Словом, диаграммы деятельности очень похожи на блок-схемы алгоритмов. Основной вершиной в диаграмме деятельности является состояние действия (см. рис.), которое изображается как прямоугольник с закругленными боковыми сторонами. Состояние действий считается атомарным (действие нельзя прервать) и выполняется за один квант времени, его нельзя подвергнуть декомпозиции. Если нужно представить сложное действие, которое можно подвергнуть дальнейшей декомпозиции (разбить на ряд более простых действий), то используют состояние поддеятельности. Изображение состояния поддеятельности содержит пиктограмму в правом нижнем углу (см. рис.). Фактически в данную вершину вписывается имя другой диаграммы, имеющей внутреннюю структуру. Переходы между вершинами — состояниями действий — изображаются в виде стрелок. Переходы выполняются по окончании действий. Кроме того, в диаграммах деятельности используются вспомогательные вершины: o решение (ромбик с одной входящей и несколькими исходящими стрелками); o объединение (ромбик с несколькими входящими и одной исходящей стрелкой); o линейка синхронизации — разделение (жирная горизонтальная линия с одной входящей и несколькими исходящими стрелками); o линейка синхронизации — слияние (жирная горизонтальная линия с несколькими входящими и одной исходящей стрелкой); o начальное состояние (черный кружок); o конечное состояние (незакрашенный кружок, в котором размещен черный кружок меньшего размера). Вершина «решение» позволяет отобразить разветвление вычислительного процесса, исходящие из него стрелки помечаются сторожевыми условиями ветвления. Вершина «объединением отмечает точку слияния альтернативных потоков действий. Линейки синхронизации позволяют показать параллельные потоки действий, отмечая точки их синхронизации при запуске (момент разделения) и при завершении (момент слияния).
|