- •Класифікація моделей систем. Роль інструментальної моделі у проектуванні програмного забезпечення.
- •Сучасні підходи до імітаційного моделювання, їх застосування у галузі «Програмна інженерія». Дискретно-подієве та агентне моделювання.
- •Компоненты системы дискретно-событийного моделирования
- •Список событий
- •Мета та задачі програмного проекту, вимоги до пз. Роль вимог у створенні надійного (відмовостійкого) програмного забезпечення.
- •Модель програмного забезпечення, етапи та особливості побудови моделі.
- •Модель зрілості процесів організації, модель cmmі, способи та методи cmmі у вдосконаленні бізнес-процесів розробки пз.
- •Моделі розробки програмного забезпечення. Модель водоспаду та ітеративна модель, застосування елементів даних моделей у сучасних методологіях розробки пз.
- •Моделі розробки програмного забезпечення. Методологія rup – загальна модель. Конус операційних маршрутів програмного проекту.
- •Моделі розробки програмного забезпечення. Методологія OpenUp.
- •Моделі розробки програмного забезпечення. Методології Microsoft Solutions Framework (msf), етапи управління великими програмними проектами.
- •Моделі розробки програмного забезпечення. Методологія fdd, Extreme Programming (xp).
- •Архітектура програмного проекту, керована моделями. Концепція mda.
- •Складові Model Driven Architecture, їх призначення.
- •Моделі розробки програмного забезпечення. Гнучкі методології розробки пз (Agile software development). Методологія Scrum. Ідея ефективного планування робочого навантаження учасників проекту.
- •Роли в скрам-процессе[править | править вики-текст]
- •Основные роли (Core roles) в методологии скрам («Свиньи»)[править | править вики-текст]
- •Дополнительные роли (Ancillary roles) в методологии скрам («Куры»)[править | править вики-текст]
- •Гнучка методологія розробки програмного забезпечення (Agile software development). Основні ідеї Agile.
- •Класифікація програмних проектів за управлінням.
- •Теорія систем. Дослідження рівноважних і нерівноважних систем. Важливість сучасного підходу, що використовується в теорії систем, для програмних проектів.
- •Теорія систем.
- •Теорія процесів. Формальний опис процесів. Специфікація процесу.
- •Теорія процесів. Поняття процесу, основні операції на процесах. Моделювання процесів.
- •Абстрактна та структурна теорії автоматів, їх особливості та приклади застосування.
- •Абстрактний автомат, визначення. Класифікація абстрактних автоматів.
- •Цифровий автомат, загальна структура та способи опису.
- •Динамічне моделювання паралельних програмних систем. Мережа Петрі, загальне визначення.
- •Класифікація мереж Петрі, основні інтерпретації, їх коротка характеристика.
- •Синхронні та асинхронні паралельні процеси, особливості їх моделювання.
- •Паралельний алгоритм, його відмінність від послідовного алгоритму. Моделювання паралельних алгоритмів.
- •Основні елементи мереж Петрі. Способи представлення мереж Петрі.
- •Динамічне та квазідинамічне моделювання програмних систем з паралелізмом. Методологія Business Process Modeling (на основі стандартів idef).
- •Цілі моделювання бізнес-процесів[ред. • ред. Код]
- •Використання[ред. • ред. Код]
- •Історія[ред. • ред. Код]
- •Зовнішнє проектування програмних систем. Принцип концептуальної цілісності.
- •Моделювання програмних систем. Uml-діаграми. Еволюція моделі програмної системи.
- •Нотація[ред. • ред. Код]
- •Діаграми Хареля[ред. • ред. Код]
- •Група uml-діаграм для побудови та уточнення архітектури програмної системи.
- •Докладніше[ред. • ред. Код]
- •Деталізоване проектування пс. Діаграми бізнес-класів та класів.
- •Зв'язки[ред. • ред. Код]
- •Асоціації[ред. • ред. Код]
- •Агрегація[ред. • ред. Код]
- •Композиція[ред. • ред. Код]
- •Відмінності між композицією і агрегацією[ред. • ред. Код]
- •Наслідування
- •Група uml-діаграм для опису поведінки програмної системи.
- •Група uml-діаграм для відображення взаємодії програмних компонентів проектованої системи.
- •Опис[ред. • ред. Код]
- •Метод Model Checking. Загальна характеристика методу.
- •Инструменты[править | править вики-текст]
- •Метод Model Checking. Темпоральні логіки.
- •Приклад[ред. • ред. Код]
- •Темпоральні логіки[ред. • ред. Код]
- •Структури Кріпке. Загальний алгоритм роботи.
- •Формальное определение[править | править вики-текст]
- •Model Checking. Алгоритм методу для ltl та ctl.
- •Середовище Simulink. Формування та імітація функціонування динамічних систем.
Абстрактний автомат, визначення. Класифікація абстрактних автоматів.
Автомат — послідовність (кортеж) з п'яти елементів (Q,Σ,δ,S0,F), де:
Q — множина станів автомату,
Σ (сігма) — алфавіт мови, який розуміє автомат,
δ (дельта) — функція переходу, така що S0 — початковий стан,
F — множина станів, що називаються «приймаючі стани».
Слово. Автомат читає кінцевий рядок символів a1,a2,...., an , де ai Σ, і називається словом. Набір всіх слів записується як Σ*.
Слово, що приймається. Слово w Σ* приймається автоматом, якщо qn F (множині приймаючих станів).
Говорять, що мова L читається (приймається) автоматом M, якщо він складається зі слів w на базі алфавіту Σ таких, що ці слова вводяться в автомат M, по закінченню обробки він приходить в один з приймаючих станів F:
Зазвичай автомат переходить з стану в стан за допомогою функції переходу δ, читаючи при цьому один символ з вводу. Є також автомати, які можуть перейти в новий стан без читання символу. Функція переході без читання символу називається -перехід (епсилон - перехід).
Цифровий автомат, загальна структура та способи опису.
Важливим випадком автомату [1] є цифровий автомат (ЦА), в якому повністю автоматизовані процеси прийому, перетворення, зберігання та видачі цифрової інформації.
З точки зору сигналів ЦА можливо визначити як систему, яка може приймати вхідні сигнали, під їх дією переходити з одного стану в інший, зберігати його до приходу наступного вхідного сигналу, видавати вихідні сигнали.
ЦА вважають кінцевим, якщо кінцевими є множини вхідних сигналів X, станів S та вихідних сигналів Y.
Робота ЦА здійснюється в автоматному часі, що визначається числом періодів надходження вхідних сигналів.
Для позначення цифрового автомату доцільно використовувати слово ЦА, правіше якого фіксувати ім'я автомату. Наприклад, автомати А, B, C, мають бути позначені як ЦАА, ЦАВ, ЦАС. Як і в алгоритмічних мовах, ім'я не може починатися з цифри.
Складові цифрового автомату:
Загальне зображення, наприклад, ЦАА (рис. зліва), має множини входів ХА, виходів YA та станів SА.
Будь-який ЦА складається з двох частин: комбінаційної логічної схеми (КЛС) і пам'яті (П). З врахуванням цього ЦАА може бути зображений так, як показано на рис. справа. В даному випадку в деякій мірі відображена структура автомата. КЛС автомата формує вихідні сигнали, сигнали переводу тригерів блоку пам'яті у нові стани. Наявність блоку пам'яті дозволяє пам'ятати передісторію роботи автомата під дією вхідних сигналів.
Динамічне моделювання паралельних програмних систем. Мережа Петрі, загальне визначення.
Динамі́чна моде́ль сист́еми — сукупність співвідношень, що визначають вихід системи в залежності від входу та стану системи.
Динамічна модель відтворює зміни об'єкта, які відбуваються з плином часу, або особливості функціонування об'єкта. Динамічні моделі називають також функціональними.
Динамічне моделювання використовується для опису поведінки об'єкта в будь-який довільний змінний момент часу. Прикладами динамічних моделей є модельброунівського руху молекул газу, модель моста, параметри якого залежать від дії змінного навантаження.
Динамічні моделі широко використовуються в біології, медицині, динаміці популяцій, економіці, банківській справі. У фізиці, гідромеханіці — для моделюванні динаміки розподілу тепла, руху рідини й газів, коливанні пластин та оболонок.
У математичному моделюванні динамічних систем виділяють три основні частини:
Емпірична частина — фактичні дані, що отримуються в експериментах і спостереженнях, а також дані з первинної систематизації.
Теоретична частина — визначаються основні концепції для об'єднання й пояснення з єдиних позицій емпіричні закономірності та явища.
Математична частина — конструює моделі для перевірки основних теоретичних концепцій, а також методи обробки експериментальних даних, планування експериментів і спостережень.
Широке використання динамічних моделей пов'язане перш за все з тим, що дає змогу різко скоротити обсяг і масштаби натурних експериментів.
Мережа Петрі — математична абстракція для представлення дискретних розподілених систем. Графічно представляється у вигляді дводольного орієнтованого мультиграфу з маркерами («фішками») (маркований орієнтований граф), який має дві групи вершин: позиції та переходи. Позиції можуть бути пустими або маркованими та визначають <стан> мережі. Переходи визначають дії. Орієнтовані ребра графу задають зв'язки між позиціями тапереходами. Процес функціонування мережі Петрі полягає в послідовному «виконанні» переходів, та відповідному перерахункові кількості «фішок» у позиціях. Дуги можуть бути кратними, коли два вузли з'єднані більше ніж однією дугою однакового напрямку. Альтернативно, для відображення кратності дуг може використовуватися функція «ваги» дуг.
