- •1. Інформаційні технології та інформаційні системи
- •1. Інструментальні засоби розробки інформаційних технологій, case-технології
- •1. Інформаційні технології та інформаційні системи
- •2. Критерії надійності та якості інформаційних систем.
- •1. Інформаційні технології та інформаційні системи
- •3. Застосування інформаційних технологій у виробництві
- •Управленческий учет и отчетность
- •Автоматизированные информационные системы
- •4. Застосування інформаційних технологій у банківській та фінансовій справі
- •1. Інформаційні технології та інформаційні системи
- •1. Інформаційні технології та інформаційні системи
- •5. Безпека функціонування інформаційних систем
- •1. Інформаційні технології та інформаційні системи
- •6. Засоби моделювання автоматизованих інформаційних систем
- •1. Інформаційні технології та інформаційні системи
- •7. Моделі життєвого циклу програмних засобів.
- •Waterfall («водоспад», каскадна модель)
- •Прототипування
- •Ітераційна модель
- •Життєвий цикл «спіраль»
- •1. Інформаційні технології та інформаційні системи
- •1. Інформаційні технології та інформаційні системи
- •9. Класифікація запитів
- •1. Інформаційні технології та інформаційні системи
- •10. Реляційна модель Кодда. Реляційна алгебра
- •1. Інформаційні технології та інформаційні системи
- •11. Функціонально повна залежність. 2-нормальна форма (2нф).
- •1. Інформаційні технології та інформаційні системи
- •12. Мінімальна структура функціональних залежностей
- •1. Інформаційні технології та інформаційні системи
- •13. Аксіоми Армстронга
- •1. Інформаційні технології та інформаційні системи
- •14. Третя нормальна форма та третя нормальна форма Бойса-Кодда
- •1. Інформаційні технології та інформаційні системи
- •15. Багатозначні залежності. 4-нормальна форма
- •1. Інформаційні технології та інформаційні системи
- •16. Стратегії розподілу даних в розподілених базах даних
- •1. Централізація.
- •2. Розчленування.
- •3. Дублювання.
- •4. Змішана.
- •2. Системне програмування
- •1. Поняття мовного процесора. Типи мовних процесорів. Основні фази мовного процесора.
- •2. Системне програмування
- •2. Скінченні автомати. Методика побудови лексичного аналізатора на основі скінченного автомата.
- •2. Системне програмування
- •3. Регулярні множини та регулярні вирази, їх звязок із скінченними автоматами. Основні тотожності в алгебрі регулярних виразів.
- •2. Системне програмування
- •4. Вивід у граматиці. Дерево виводу. Лівостороння та правостороння стратегії виводу.
- •2. Системне програмування
- •5. Ll(k)-граматики. Перевірка ll(1)-умови для довільної кв- граматики
- •2. Системне програмування
- •6. Побудова ll(1)-таблиці для управління ll(1)-синтаксичним аналізатором
- •2. Системне програмування
- •7. Атрибутний метод визначення семантики програм. Синтезовані та успадковані атрибути. Порядок та правила обчислення атрибутів.
- •2. Системне програмування
- •8. Машинно-орієнтовані мови програмування. Асемблери. Структура асемблера, перегляди тексту програми та відповідні бази даних.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •1. Розподіл оперативної пам’яті, поняття сегменту та зсуву. Сторінкова організація пам’яті.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •2. Канали та порти вводу-виводу
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •3. Поняття про переривання та їх класифікація
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •4. Поняття про відеосистему. Режими роботи відеосистеми
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •5. Структура таблиці розміщення файлів на магнітних дисках. Фізичний та логічний формати магнітних дисків. Коренева директорія.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •6. Системи телеобробки даних. Функціональне середовище для взаємодії систем телеобробки. Етапи у взаємодії систем телеобробки.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •7. Модель відкритої системи, стек протоколів. Концепція еталонної моделі osi.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •8. Стек протоколів tcp/ip: топологічні особливості, функції рівнів.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •9. Архітектура мережевої телеобробки: однорангова, клієнт/сервер, трирівнева
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •10. Надійність систем телеобробки та комп’ютерних мереж. Класи безпеки. Міжмережеві екрани. Proxy-сервери, брандмауери.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •11. Мультиплексування цифрових каналів з розділенням у часі (tdm). Плезіохронні та синхронні цифрові ієрархії. Широкосмугові канали зв’язку.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •12. Повторювачі, мости, маршрутизатори, шлюзи та їх місце в профілі osi
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •13. Поняття мереж комутації: пакетів, каналів, повідомлень. Контроль перевантажень в мережах комутації пакетів.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •14. Інформаційна глобальна мережа internet
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •15. Система доменних імен глобальної мережі internet
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •16. Система електронної пошти глобальної системи internet
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •17. Поняття універсального вказівника ресурсу. Основні типи ресурсів
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •18. Поняття раутінгу в мережах tcp/ip
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •19. Технології, що забезпечують відмовостійкість мереж tcp/ip
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •20. Класифікація комп’ютерних мереж.
- •4. Теорія програмування та обчислень
- •2. Основні поняття програмування
- •4. Теорія програмування та обчислень
- •3. Методи подання синтаксису мов програмування
- •4. Теорія програмування та обчислень
- •1. Основні аспекти програм
- •4. Теорія програмування та обчислень
- •4. Класифікація породжувальних граматик
- •4. Теорія програмування та обчислень
- •5. Автоматна характеристика основних класів мов
- •4. Теорія програмування та обчислень
- •6. Метод нерухомої точки
- •4. Теорія програмування та обчислень
- •7. Методи формальної семантики
- •4. Теорія програмування та обчислень
- •8. Формальні методи програмування
- •4. Теорія програмування та обчислень
- •9. Функції складності (сигналізуючі) за часом та за пам’яттю. Теорема про прискорення.
- •4. Теорія програмування та обчислень
- •10. Функції, елементарні за Кальмаром
- •4. Теорія програмування та обчислень
- •11. Співвідношення між класами примітивно рекурсивних та елементарних функцій
- •4. Теорія програмування та обчислень
- •12. Техніка слідів. Лема про заміщення
- •4. Теорія програмування та обчислень
- •13. Функції, обчислювані за реальний час
- •5. Системи штучного інтелекту
- •1. Знання. Класифікація знань
- •5. Системи штучного інтелекту
- •2. Фреймова модель задання знань
- •5. Системи штучного інтелекту
- •3. Семантичні мережі
- •5. Системи штучного інтелекту
- •4. Продукційна модель задання знань
- •5. Системи штучного інтелекту
- •5. Розпізнавання образів
- •5. Системи штучного інтелекту
- •6. Поняття діалогової системи та її компоненти
- •5. Системи штучного інтелекту
- •7. Теорія ігор. Експліцитні та імпліцитні дерева гри
- •5. Системи штучного інтелекту
- •8. Метод резолюцій як основа логічного виведення
- •5. Системи штучного інтелекту
- •9. Мова функціонального програмування лісп
- •5. Системи штучного інтелекту
- •10. Мова логічного програмування пролог
- •6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
- •1. Складність алгоритмів, зведення задач, нижні оцінки складності задач
- •6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
- •7. Означення та властивості діаграми Вороного. Побудова діаграми Вороного.
- •6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
- •11. Кільце остач від ділення на многочлен над скінченним полем
4. Теорія програмування та обчислень
7. Методи формальної семантики
В реальних МП, в кращому випадку лише синтаксис задається строго формально, а семантика задається лише інтуїтивно, Тому з кожною мовою реального програмування спражена важлива проблема – формалізація її семантики. Задання семантики в кожному випадку спряжене з подоланням серйозних труднощів. Як бачили, навіть для такої “ювелірної” мови як λ-нотація було спряжене з подоланням принципової проблематики. Дійсно, так операція Ap,задана на впорядкованій парі (a,f), де a та f мають різний тип, семантика зпряжена з розв’язком проблеми самопримінення – примінення функції f до самої себе. В реальних МП ця проблема суттєво ускладнюється. Навіть в λ-численні ця проблема стояла відкритою більше 50-ти років. Теорія Скотта створила фундамент для розв’язку проблеми формалізації λ-нотації. В основі цієї формалізації лежить інтегрована структура програмування. Дійсно, задати формально семантику λ-нотації = задати семантику терму Ap(a,f) та терму x.t(x). Що стосується терму Ap(a,f), то він інтерпритується в семантичних структурах. Конкретніше, він інтерпритується як функція (а це поняття семантичне), що задана на парі (a,f), один з компонентів якої є знову функція (семантичне поняття) та об’єкт a (яке знову ж є теоретико-множинним елементом, а не символом – а це семантика). Звідси випливає, що інтерпритація a задається в термінах лише семантичних понять.
Розглянемо тепер другий терм - x.t(x).. Перш за все, відзначимо, що використовуючи співвідношення Шенфінкеля, що зіставляє кожній функції f(x,y) нову функцію (y)=fx(y), що параметризована x-ом, ми зводимо інтерпритацію подібних термів до інтерпритації унарних функцій. Але ж, як бачимо, на відміну від семантики Ap(a,f), ми приречені поряд з суто семантичними поняттями використовувати синтаксичні поняття (типові вирази t(x) з вільно змінною x). В зв’язку з цим семантика вказаних виразів (тобто функція, що йому відповідає) задається шляхом стандартної інтерпритації терму t(x) на елементах з області значень змінної x, яка пробігає її. Таким чином, на відміну від аплікації, λ-абстракція інтерпретується шляхом від синтаксису до семантики. Таким чином, формалізація семантики λ-нотації є дійсно змішаною.
4. Теорія програмування та обчислень
8. Формальні методи програмування
Формальні методі (англ. Formal methods) — в комп'ютерних науках, основані на математиці методи написання специфікацій, розробки та верифікації (перевірки) програмного забезпечення (ПЗ) та комп'ютерного обладнання. Цей підхід особливо важливий для вбудованих систем, для яких важливими є надійність або безпека, для захисту від появи помилок в процесі розробки. Застосування формальних методів особливо ефективно на ранніх етапах написання вимог та специфікацій, але, також, можуть використовуватись для повністю формальної розробки реалізації (наприклад, програми). Існують стандарти на критерії безпечності та захищенності программ. Частіше за все для реалізації валідації ПЗ використовуються теорія скінчених автоматів.
Формальні методи можуть бути застосовані на декількох рівнях:
Рівень 0
Написання формальної специфікації та неформалізована розробка, на її основі, ПЗ. Такий підхід, також, має назву спрощені формальні методи. Він може бути найоптимальнішим, з точки зору витрат, підходом у багатьох випадках.
Рівень 1
Формальний підхід до розробки програмного забезпечення та перевірки може використовуватись для формальнішої реалізації програми. Наприклад, може виконуватись доведення властивостей або уточнення (англ. refinement) із формальної специфікації в програмі. Такий підхід найоптимальніший у вбудованих системах, які повинні мати високий рівень безпеки або надійності.
Рівень 2
Можливе застосування систем автоматичного доведення теорем для проведення повністю автоматизованої перевірки доведення теорем. Це може бути занадто дорого, і, на практиці, застосовується у випадках, коли ціна помилок може бути зависокою (наприклад, в критично важливих частинах схеми мікропроцесорів).
Відомі формальні методи: Event-B, Z-notation, ASM, RAISE, SLAM, Мережі Петрі та ін.
