ДЕЦЕНТРАЛІЗОВАНІ ЗАСТОСУНКИ - Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освіти третій (PhD)
Галузь знань 12 Інформаційні технології
Спеціальність 121 Інженерія програмного забезпечення
Освітньо-наукова програма Інженерія програмного забезпечення
Статус дисципліни Вибіркова
Форма навчання Очна (денна і вечірня)
Рік підготовки, семестр 2 курс
Обсяг дисципліни 5 кредити (150 год)
Семестровий контроль/ контрольні заходи Залік
Розклад занять Науково-педагогічний працівник
Мова викладання Українська
Інформація про
керівника курсу / викладачів

Лектор: д.т.н., професор Гаврилко Євген Володимирович, gev.1964@ukr.net, тел. 067-506-91-85

Практика: д.т.н., професор Гаврилко Євген Володимирович, gev.1964@ukr.net, тел. 067-506-91-85

Розміщення курсу Google classroom, Кампус

Програма навчальної дисципліни

Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Великої кількості комп’ютерів поєднаних високошвидкісними системами дозволяє створювати комп’ютерні мережі, або у новій парадигмі комп’ютерних наук – децентралізованих або розподілених систем (ДС). ДС – це набір незалежних комп’ютерів, що представляється їх користувачам єдиної об'єднаної системою. Вивчення дисципліни «Децентралізовані застосунки»

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

Метою навчальної дисципліни є формування у студентів здатностей до використання законодавства України, організаційних, технічних, алгоритмічних та інших методів і засобів, програм і даних, законодавства і стандартів у цій області, сучасних ДС, криптосистем; хешування, здатність їх застосовувати у професійній діяльності.

Завдання. Основними завданнями вивчення дисципліни “ Децентралізовані застосунки ” є отримання аспірантами компетенцій для того, щоб приймати участь у проектуванні інформаційних децентралізованих систем. В результаті вивчення дисципліни у аспірантів повинні сформуватися наступні компетентності:

загальні:

  • Здатність до пошуку, оброблення та аналізу інформації з різних джерел (ЗК01),

  • Здатність розв’язувати комплексні проблеми у сфері інженерії програмного

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

  • Здатність переосмислювати наявне та створювати нове цілісне знання та/або

професійну практику і розв’язувати значущі соціальні, наукові, культурні (ЗК05).

спеціальні компетенції:

  • Здатність інтегрувати знання з різних галузей, застосовувати системний підхід та враховувати нетехнічні аспекти при розв’язанні комплексних проблем інженерії програмного забезпечення й проведенні досліджень. (СК01);

  • Здатність виявляти, ставити та вирішувати проблеми дослідницького

  • характеру в сфері інженерії програмного забезпечення, оцінювати тазабезпечувати якість виконуваних досліджень. (СК02);

  • Здатність до застосування сучасних методологій, методів та інструментів

  • інженерії програмного забезпечення в науково-педагогічній та науковій діяльності. (СК06);

  • Здатність розробляти якісне та надійне програмне забезпечення складних програмних комплексів та систем на основі новітніх технологій та стандартів розроблення програмного забезпечення. (СК11);

  • Здатність застосовувати формальні методи проєктування, розроблення та дослідження програмних систем та технологій у наукових дослідженнях. (СК14).

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

  • Мати передові концептуальні та методологічні знання з інженерії програмного забезпечення та дотичних до неї міждисциплінарних напрямів, а також дослідницькі навички, достатні для проведення наукових і прикладних досліджень на рівні останніх світових досягнень з відповідного напряму, отримання нових знань та/або здійснення інновацій. (РН01);

  • Пропонувати нові ефективні методи і моделі розроблення, впровадження, супроводу та забезпечення якості програмного забезпечення та управління відповідними процесами на всіх етапах життєвого циклу (РН03)

  • Формулювати і перевіряти гіпотези; використовувати для обґрунтування висновків належні докази, зокрема, результати теоретичного аналізу, експериментальних досліджень і математичного та/або комп’ютерного моделювання, наявні літературні дані. (РН09)

  • Розробляти та реалізовувати наукові та/або інноваційні ІТ-проєкти, які дають змогу переосмислити наявне та створити нове цілісне знання та/або професійну практику і розв’язувати значущі наукові та прикладні проблеми інженерії програмного забезпечення з дотриманням норм академічної етики і врахуванням соціальних, економічних та правових аспектів. (РН11)

Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

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

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

Зміст навчальної дисципліни

Розділ 1. Базова модель децентралізованих системах.

Тема 1.1. Парадигма, принципи, концепції розвитку децентралізованих (розподілених) систем.

Тема 1.2. Зв'язок в комп’ютерних і децентралізованих системах.

Розділ 2. Процеси в децентралізованих системах.

Тема 2.1. Процеси в децентралізованих системах.

Тема 2.2. Процеси іменування сутностей в децентралізованих системах.

Тема 2.3. Процеси синхронізації в децентралізованих системах.

Тема 2.4. Процеси утворення несуперечливості і реплікація в децентралізованих системах.

Тема 2.5. Процеси забезпечення відмовостійкості в децентралізованих системах.

Тема 2.6. Процеси забезпечення захисту процесів, комп’ютерних систем і мереж в децентралізованих системах.

Розділ 3. Підходи утворення архітектури у децентралізованих систем.

Тема 3.1. Підходи щодо розподілу системи об’єктів в децентралізованих системах.

Тема 3.2. Підходи до розподілу файлових систем в децентралізованих системах.

Тема 3.3. Підходи до розподілу файлових систем в децентралізованих системах.

Тема 3.4. Підходи до розподілу систем узгодження в децентралізованих системах.

Розділ 4. Застосунки у децентралізованих систем.

4.1. Шифрування в децентралізованих застосунках.

4.2. Хешування інформації для файлових систем в децентралізованих застосунках.

4.4. Застосунки на основі Блокчейну.

4.5. Криптосистеми та криптовалюти.

4.6. Токен.

Навчальні матеріали та ресурси

Література

  1. Таненбаум Е. Розподілені системи. Принципи / Е. Таненбаум, М. ван Стеен. К, 2003.877 с.

  2. М.Венбо Сучасна криптографія: теорія и практика : пер. с англ. / М.Венбо – К. 2005.768с.

  3. Артем Генкін, Алексей Михеєв. Блокчейн: як це працює. – Днепр.: 2015. 129

  4. Равал С. Децентралізовані програми. Технологія Blockchain в дії..2017. 193 с.

https://balka-book.com/search/filter=1:raval-s-213038/

  1. Вербіцький О. В. Вступ до криптології / О. В. Вербіцький. – Львів : ВНТЛ, 2011. 248 с.

  2. Кузнецов О. О. Захист інформації в інформаційних системах. Методи традиційної криптографії / О. О. Кузнецов, С. П. Євсеєв, О. Г. Король. – Х. : Вид. ХНЕУ, 2010. – 316 с.

Навчальний контент

Методика опанування навчальної дисципліни(освітнього компонента)

Розділ 1. Базова модель децентралізованих системах.

Тема 1.1. Парадигма,принципи розвитку децентралізованих (розподілених) систем.

Лекція 1.1. Парадигма,принципи, концепції розвитку децентралізованих (розподілених) систем.

Визначення ДС. Порядок з’єднання користувача з ресурсами. Задачі ДС. Концепція апаратних рішень. Концепції програмних рішень. Модель клієнт-сервер.

Тема 1.2. Зв'язок в комп’ютерних і децентралізованих системах.

Лекція 1.2. Зв'язок в комп’ютерних і децентралізованих системах.

Рівні протоколів. Віддалений виклик процедур. Звернення до віддалених об’єктів. Зв'язок по повідомленням. Зв'язок на основі потоків даних.

Розділ 2. Процеси в децентралізованих системах.

Тема 2.1. Процеси в децентралізованих системах.

Лекція 2.1. Процеси в децентралізованих системах.

Потоки виконання. Клієнти. Сервера. Перенесення коду. Програмні агрегати.

Тема 2.2. Процеси іменування сутностей в децентралізованих системах.

Лекція 2.2. Процеси іменування сутностей в децентралізованих системах.

Сутності і їх найменування. Розміщення мобільних сутностей. Видалення сутностей.

Тема 2.3. Процеси синхронізації в децентралізованих системах.

Лекція 2.3. Процеси синхронізації в децентралізованих системах.

Синхронізація годинника. Логічний годинник. Глобальні стани. Алгоритми голосування. Взаємні виключення. Розподіл транзакцій.

Тема 2.4. Процеси утворення несуперечливості і реплікація в децентралізованих системах.

Лекція 2.4. Процеси утворення несуперечливості і реплікація в децентралізованих системах.

Моделі. Моделі несуперечності, орієнтовані на дані. Протоколи розподілу. Протоколи несуперечності.

Тема 2.5. Процеси забезпечення відмовостійкості в децентралізованих системах.

Лекція 2.5. Процеси забезпечення відмовостійкості в децентралізованих системах.

Розуміння відмовостійкості. Відмовостійкість процесів. НЕлежність зв’язку клієнт – сервер. Нележна групова рассилка. Розподілене підтвердження. Відновлення.

Тема 2.6. Процеси забезпечення захисту процесів, комп’ютерних систем і мереж в децентралізованих системах.

Лекція 2.6. Процеси забезпечення захисту процесів, комп’ютерних систем і мереж в децентралізованих системах.

Загрози. Криптографія в ДС. Захищеність каналів. Контроль доступів. Керування захистом.

Розділ 3. Підходи утворення архітектури у децентралізованих систем.

Тема 3.1. Підходи щодо розподілу системи об’єктів в децентралізованих системах.

Лекція 3.1. Підходи щодо розподілу системи об’єктів в децентралізованих системах.

C0RBA.DCOM.Glode. Порівняння згаданих систем.

Тема 3.2. Підходи до розподілу файлових систем в децентралізованих системах.

Лекція 3.2. Підходи до розподілу файлових систем в децентралізованих системах.

Мережева файлова система Sun. Приклад файлової систем и без серверів. Масштабуєма система захисту.

Тема 3.3. Підходи до розподілу файлових систем в децентралізованих системах.

Лекція 3.3. World Wide Web.

Тема 3.4. Підходи до розподілу систем узгодження в децентралізованих системах.

Лекція 3.4. TIB/Rendezvous.

Розділ 4. Застосунки у децентралізованих систем.

Тема 4.1. Шифрування в децентралізованих застосунках.

Лекція 4.1. Цифрові підписи.

Схема застосування цифрового підпису. Цифровий підпис на основі шифру RSA. Цифровий підпис на основі шифру Ель-Гамаля. Алгоритм цифрового підпису DSA (Digital Signature Algorithm). Стандарт ГОСТ Р34.10-944.2. Хешування інформації для файлових систем в децентралізованих застосунках.

Тема 4.4. Застосунки на основі Блокчейну.

Лекція 4.4. Застосунки на основі Блокчейну (БЧ).

Схема БЧ. Принципи розроблення за стосунку на основі БЧ.

Тема 4.5. Криптосистеми та криптовалюти.

Лекція 4.5. Криптовалюти.

Огляд криптовалют. Застосування криптовалют

Тема 4.6. Токени.

Лекція 4.5. Токени, як сутність сучасного обміну мистецтвом.

Огляд Токени. Застосування токенів.

Самостійна робота аспіранта

Розділ 1. Базова модель безпеки інформації.

Визначення ДС. Порядок з’єднання користувача з ресурсами. Задачі ДС. Концепція апаратних рішень. Концепції програмних рішень. Модель клієнт-сервер.

Рівні протоколів. Віддалений виклик процедур. Звернення до віддалених об’єктів. Зв'язок по повідомленням. Зв'язок на основі потоків даних.

Розділ 2. Процеси в децентралізованих системах.

Потоки виконання. Клієнти. Сервера. Перенесення коду. Програмні агрегати.

Сутності і їх найменування. Розміщення мобільних сутностей. Видалення сутностей.

Синхронізація годинника. Логічний годинник. Глобальні стани. Алгоритми голосування. Взаємні виключення. Розподіл транзакцій.

Моделі. Моделі несуперечності, орієнтовані на дані. Протоколи розподілу. Протоколи несуперечності.

Розуміння відмовостійкості. Відмовостійкість процесів. НЕлежність зв’язку клієнт – сервер. Нележна групова рассилка. Розподілене підтвердження. Відновлення.

Загрози. Криптографія в ДС. Захищеність каналів. Контроль доступів. Керування захистом.

Розділ 3. Підходи утворення архітектури у децентралізованих систем.

C0RBA.DCOM.Glode. Порівняння згаданих систем.

Мережева файлова система Sun. Приклад файлової систем и без серверів. Масштабуєма система захисту.

Розділ 4. Застосунки у децентралізованих систем.

Схема застосування цифрового підпису. Цифровий підпис на основі шифру RSA. Цифровий підпис на основі шифру Ель-Гамаля. Алгоритм цифрового підпису DSA (Digital Signature Algorithm). Стандарт ГОСТ Р34.10-944.2. Хешування інформації для файлових систем в децентралізованих застосунках.

Схема БЧ. Принципи розроблення за стосунку на основі БЧ.

Огляд криптовалют. Застосування криптовалют

Огляд Токени. Застосування токенів.

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Відвідування лекційних та практисчних занять є обов’язковим за винятком поважних причин (хвороби, форс-мажорних обставин).

В разі пропущення занять з поважних причин викладач надає можливість студенту виконати усі або деякі лабораторні завдання (винятком є виконання деяких завдань у зв’язку із закінченням навчального процесу).

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

Протягом семестру студенти:

- виконують та захищають лабораторні роботи у відповідні терміни,

- пишутьмодульнуконтрольну роботу,

- повинні позитивно закрити дві атестації (в кінці березня та в серединітравня),

- по закінченні навчального процесу складають залік.

Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Система рейтингових (вагових) балів та критерії оцінювання

Максимальна кількість балів з кредитного модуля дорівнює 100.

Рейтинг студента з дисципліни складається з балів, що він отримує за:

● виконання та захист лабораторних робіт,

● модульну контрольну роботу (МКР) тривалістю 1 акад. година.

1. Виконання завдань лабораторних робіт

Завдання лабораторної роботи являє собою індивідуальне виконання робіт, що пов'язані з рішенням на ЕОМ заданої задачі комп’ютерного моделювання.

Вагові бали завдань наведено у таблиці.

Види завдань Внесок до семестрового рейтингу балів
Завдання №1. Симетричні криптосистеми. Алгоритм DES. 20

Завдання №2. Асиметричні криптосистеми. Алгоритм RSA.

20

Завдання №3. Електронно-цифровий підпис на основі алгоритму RSA

20

Максимальна кількість балів за всі завдання дорівнює 60 балів.

Критерії оцінювання

Підготовка до роботи (у відсотках від максимальної кількості балів за відповідну роботу):

  • протокол відповідає вимогам, охайний – 20 %;

  • протокол відповідає вимогам, але є чисельні виправлення – 10 %;

Виконання завдання лабораторної роботи:

  • робота виконана повністю і вірно протягом відведеного часу – 50 %;

  • робота виконана пізніше зазначеного терміну – 20 %;

Якість захисту роботи:

  • студент вірно і повністю відповів на запитання – 30 %;

  • студент при відповіді допустив несуттєві неточності – 20 %;

  • студент при відповіді на запитання допустив суттєві неточності, але

    самостійно виправив їх – 10 %.

2. Модульний контроль

Ваговий бал – 40.

Контрольна робота складається з 20 тестових завдань. За кожну вірну відповідь на запитання надається 2 бали.

Сума вагових балів контрольних заходів протягом семестру складає:

R= 60 + 40 = 100 балів.

Необхідною умовою допуску до заліку є зарахування усіх лабораторних робіт, а також стартовий рейтинг (rc) не менше 40% від R, тобто 40 балів.

Сума балів переводиться до залікової оцінки згідно з таблицею:

Бали (RD) Традиційна оцінка
95..100 Відмінно
85…94 Дуже добре
75…84 Добре
65…74 Задовільно
60…64 Достатньо
RD<=60 Незадовільно
RD < 40 або не виконані інші умови допуску до заліку Не допущений

Робочу програму навчальної дисципліни (силабус):

Складено професор, д.т.н., професор Гаврилко Є.В.

Ухвалено кафедрою ІПЗЕ (протокол № 28 від 15.05.2023)

Погоджено Методичною комісією НН ІАТЕ (протокол № 9 від 26.05.2023 р.)