Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Anylogic_Metod.doc
Скачиваний:
28
Добавлен:
05.11.2018
Размер:
2.21 Mб
Скачать

2.6. Огляд компонент бібліотеки Діаграма дій

Палітра Діаграми дій

Складне імітаційне моделювання не може існувати без можливості задання алгоритмів, що зазвичай виконують певну обробку даних або обчислення. Починаючи з версії 6.2.0 AnyLogic підтримує діаграми дій - структуровані блок-схеми, що дозволяють задавати алгоритми графічно у стилі структурованого програмування.

Діаграми дій полегшують задання алгоритмів, роблячи необов'язковим знання синтаксису Java операторів.

По суті діаграми дій використовуються для візуального задання функцій, проте можна використовувати для цих задач звичайні функції. Але використання діаграм дій дає ще одну перевагу: з їх допомогою можна візуалізувати алгоритми, роблячи їх більш зрозумілими для інших користувачів моделі.

Діаграма дій складається з блоків, розташованих на сторінці Действие панелі Палитра.

Палітра  Диаграмма действий містить блоки діаграм дій – структуровані блок-схем, що дозволяють візуально задавати алгоритм:

Диаграмма действий

Розміщення на діаграмі цього блоку, дозволяє створити найпростішу діаграму дій, що складається з початкової точки (задається власне блоком "діаграма дій") і блоком "повернути значення". Задає основні властивості діаграми – її тип значення, що повертається, аргументи, рівень доступу і т.д.

Код

Блок Код дозволяє додавати в діаграму дій фрагменти коду. За допомогою таких блоків можна задавати якісь певні дії, які необхідно виконати в процесі виконання алгоритму.

Решение (If.. Else)

Блок Решение (If.. Else) є найпростішим способом розгалуження алгоритму. Він забезпечує виконання фрагментів коду у відповідності до умови.

У блоці є дві вихідні гілки – true і false. За допомогою інших блоків діаграми дій можна задати послідовність дій для кожної з цих гілок. Коли управління дійде до цього блоку, буде прийматися рішення про те, за якою гілкою блоку управління піде далі. Якщо задана для блоку умова буде виконана, то буде обрана гілка true. В іншому випадку – гілка false.

Локальная переменная

Використовується для оголошення нової локальної змінної в діаграмі дій. Локальну змінну буде видно не у всій діаграмі дій, а лише в тій її частині, яка слідує за точкою оголошеннязмінної.

Цикл While

Цикл While є одним з трьох блоків діаграми дій, призначених для реалізації циклів ітерацій. Цикли необхідні для того, щоб повторити деякі дії кілька разів.

Цикл While виконується до тих пір, поки задана для цього циклу умова буде істинною (приймає значення true). Як тільки умова приймає значення false, цикл завершується і йде перехід до наступного блоку діаграми дій.

Цикл While дуже схожий на Цикл Do While. Єдиною відмінністю є те, що істинність висловлювання перевіряється не в кінці кожної ітерації, а на початку. Отже, Цикл While може не виконатися жодного разу (істинність висловлювання перевіряється на початку кожної ітерації, і якщо з самого початку значення виразу буде хибне, то виконання циклу буде відразу припинено).

Цикл Do While

Цикл Do While дуже схожий на Цикл While. Єдиною відмінністю є те, що істинність висловлювання перевіряється не на початку кожної ітерації, а в кінці. Отже, перша ітерація циклу Do While виконається обов'язково (істинність висловлювання перевіряється тільки наприкінці ітерації)

Цикл For

Цикл. Є дві форми циклу:

Итератор по коллекции: Ітеративно проходить по всіх елементах зазначеної колекції. На кожній ітерації виконується задана дія, в якій доступний черговий елемент колекції.

Цикл со счетчиком: виконує задані для цього циклу дії кілька разів, до тих пір, поки не виконається задана умова.

Вернуть значение (Return)

Блок Вернуть значение (Return) має дві ролі: по-перше, він визначає, яке значення буде повертати діаграма дії (якщо тип значення, що повертається не void),і по-друге, негайно повертає це значення, завершуючи тим самим процес.

Выход из цикла (Break)

Блок Выход из цикла управляє виконанням циклу. Він зупиняє поточну ітерацію циклу (і опціонально також виходить з цього циклу, не виконуючи не тільки поточну, але йітерації, що залишились).

Щоб побудувати діаграму дій необхідно виконати наступні кроки:

1.Перетягнути елемент Диаграмма действий з палітри Диаграмма действий на діаграму класу активного об'єкта.

2. Буде намальована найпростіша діаграма дій, що складається з початкової точки (задається блоком "діаграма дій") і блоку "повернути значення":

3. Змініть ім'я діаграми дій (прямо у текстовому редакторі, який активується в графічному редакторі при додаванні нового елементу). Це ім'я буде використовуватися для виклику функції, заданої цією діаграмою дій.

4. Початкова точка (елемент "діаграма дій") задає основні властивості діаграми - її тип значення, що повертається, аргументи, рівень доступу і т.д. Щоб задати ці властивості, перейдіть на сторінку Основные панелі Свойства.

5. Якщо функція, що задається діаграмою дій, лише виконує якісь дії, але не повертає ніякого результат проведених обчислень, вкажіть, що ця функція не повертає нічого, вибравши в групі кнопок Тип возвращаемого значения void.

6. Якщо потрібно, щоб діаграма дій повертала результат проведених нею обчислень, то потрібно буде вказати, якого типу буде повернуте значення. Діаграма дій може повертати як значення одного з найбільш часто використовуваних типів ((intdouble, booleanString), так і значення будь-якого іншого Java класу (в цьому випадку потрібно буде вибрати опцію Другой і ввести ім'я класу в розташованому праворуч полі).

7. Діаграма дій може бути оголошена статичною. Статична діаграма дій не вимагає створення екземплярів того класу активного об'єкта, в якому вона задана. Статична діаграма дій мояфункція, оголошена в класі MyClass активного об'єкта, буде доступна з будь-якого місця моделі як MyClass.мояфункція (). Щоб зробити діаграму дій статичної, встановіть прапорець  Статическая.

Основні властивості

  • Имя - Ім'я діаграми дій. Це ім'я буде використовуватися для виклику функції, заданої цією діаграмою дій.

  • Отображать имя - Якщо опція обрана, то ім'я діаграми дій буде відображатися в графічному редакторі.

  • Исключить - Якщо опція обрана, то діаграма дій буде виключена з моделі.

  • На верхнем уровне - Якщо опція обрана, то діаграму дій буде видно на презентації класу, в який буде вкладено даний активний об'єкт. Оскільки діаграми дій не можуть відображатися на діаграмі класу верхнього рівня, цей прапорець завжди скинутий і недоступний.

  • На презентации - Якщо опція обрана, то діаграма дій буде відображатися на презентації під час виконання моделі.

  • Уровень доступа  - Рівень доступу до задається діаграмою дій функції. Є чотири рівні доступу:

  • private - функція доступна тільки з цього класу активного об'єкта

  • protected - функція доступна з цього класу активного об'єкта та його підкласів

  • default - функція доступна з будь-якого місця моделі

  • public - функція доступна з усіх відкритих моделей.

  • Статическая - Якщо опція обрана, то функція, задана даною діаграмою дій, буде статичною. Статична функція не вимагає створення екземплярів того класу активного об'єкта, в якому вона задана. Статична діаграма дій мояфункція, оголошена в класі MyClass активного об'єкта, буде доступна з будь-якого місця моделі як MyClass.мояфункція ().

  • Тип возвращаемого значения – Тип значення, що повертається діаграмою дій Якщо потрібно, щоб задана діаграмою дій функція повертала результат проведених нею обчислень, то потрібно буде вказати в даній властивості, якого типу буде повернуте значення. Функція може повертати як значення одного з найбільш часто використовуваних типів (intdouble, booleanString) або ж будь-якого іншого Java класу). Якщо функція не повертає нічого, виберіть  void.

  • Аргументы - Тут можете задати аргументи функції, за допомогою яких можна передавати функції дані, необхідні для обчислень. Кожен аргумент задається в окремому рядку таблиці.

  • Цвет заливки - Визначає колір заливки блоку. Необхідно клікнути мишею всередині елементу керування та вибрати потрібний колір зі списку найбільш часто використовуваних кольорів або ж будь-який інший колір

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]