Системне програмування інфокомунікацій

Спеціальність: Технології та засоби телекомунікацій
Код дисципліни: 7.172.06.M.019
Кількість кредитів: 5.00
Кафедра: Телекомунікації
Лектор: доц. Демидов І.В.
Семестр: 2 семестр
Форма навчання: денна
Результати навчання: В результаті вивчення дисципліни, фахівець повинен знати: • особливості об’єктно-орієнтованого та функціонального програмування телекомунікаційних системних платформ (інфокомунікаційних систем); • основні підходи до створення розподіленої сервісної архітектури; • принципи Load Balancing - розпаралелювання навантаження, що зазнає оброблення інфокомунікаційною сервісною архітектурою; • основи розроблення, налагодження та підтримки ефективних інфокомунікаційних програмних рішень на основі застосування мов паралельного програмування у складних розподілених інфокомунікаційних системних платформах. Підготовлений фахівець повинен вміти: • обирати найбільш ефективну програмну платформу для реалізації необхідного інфокомунікаційного рішення за критеріями ефективності/надійності; • застосовувати навички паралельного програмування розподілених інфокомунікаційних платформ (Erlang); • створювати розподілені клієнт-серверні рішення інфокомунікаційного призначення; • інтегрувати неоднорідні технології системного програмування в єдиній інфокомунікаційній програмній платформі із застосуванням СУБД.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: пререквізити: • Інформатика (за професійним спрямуванням), частина 1 (бакалаврат); • Інформатика (за професійним спрямуванням), частина 2 (бакалаврат); • Програмне забезпечення телекомунікацій (бакалаврат); • Технології розробки програмних платформ; • Розподілені сервісні системи та cloud-технології.
Короткий зміст навчальної програми: Поняття системного програмування інфокомунікаційних платформ. Загальна характеристика мов програмування. Парадигми системного програмування. Декларативність. Псевдопаралельні програмні платформи (Cisco IOS, Microsoft Windows .NET). Розпаралелювані програмні платформи (багатоядерні середовища C#, Erlang). Розподілені інфокомунікаційні програмні платформи. Функціональна парадигма мови Erlang. Мова паралельного системного програмування Erlang і сучасні парадигми системного програмування. Ідеологія паралельного програмування. Розподілені обчислення. Мова Erlang. Синтаксис. Базові конструкції. Шаблони. Мова Erlang. Поліморфізм. Ефективність коду. Паралельні процеси та механізми асинхронного інформаційного обміну. Базові програмні шаблони. Інструментарій багатоядерного розпаралелювання Erlang. Клієнт-серверні шаблонні моделі. Приклад простої розподіленої клієнт-серверної системи. Розподілені мережні системи в Erlang. Стандартизовані бібліотеки Відкритої Телекомунікаційної Платформи (Erlang OTP). Супервізійна ієрархія програмної платформи. Оброблення TCP Sockets, UDP-повідомлень. Підходи та технології міжсистемної взаємодії. Платформа СУБД Mnesia. Характеристика мов програмування C#/ Parallel C#. Характеристика псевдопаралельного системного програмування. Особливості Cisco IOS. Концепції Microsoft .NET, NET API: платформи Windows, ASP.NET. UTS та COM. Концепції об’єктно-орієнтованого програмування. Компонентна модель Sun Microsystems Java Beans. Інфокомунікаційна платформа Softswitch: архітектура Parlay API/Parlay X.
Методи та критерії оцінювання: • письмові звіти з лабораторних робіт, потокове бліц-тестування, оцінювання індивідуального науково-дослідного завдання (захист) (40%) • підсумковий контроль (60 %, контрольний захід, екзамен): письмово-усна форма (60%)
Рекомендована література: Базова 1. Томпсон С., Чезарини Ф. Программирование в Erlang / Пер. с англ. Холомьёва А. О. - М.: ДМК Пресс, 2012. - 488 с.: ил. (Серия "Функциональное программирование"). 2. Armstrong J. Programming Erlang. Software for a Concurrent World. Dallas, TX: The Pragmatic Bookshelf, 2007. – 519 pp.: illustrated. 3. Фримен А. Pro .NET 4 Parallel Programming in C#. М.: Apress, 2010. – 328 c.: ил. 4. Neward T. Server-Based Java Programming. Grinwich: Manning, 2013. – 556 pp. Допоміжна 5. Боллапрагада В., Мэрфи К., Уайт Р. Структура операционной системы Cisco IOS = Inside 5isco IOS. — М.: «Вильямс», 2002. — 208 с. 6. Нейгел К., Ивьен Б., Глинн Дж., Уотсон К. C# 4.0 и платформа .NET 4 для профессионалов. М.: Диалектика, 2011. – 1440 с. 7. Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#. 3-е изд. СПб.: Питер, 2012. – 928 с.: ил. 8. Гольдштейн Б.С., Фрейнкман В.А. Call-центры и компьютерная телефония. СПб.: БХВ - Санкт-Петербург, 2002. – 372 c. 9. Moerdijk A.J., Klostermann L. Opening the networks with Parlay//OSA APIs: standards and aspects behind the APIs. [Електронний ресурс]. Режим доступу: http:// www.parlay.org. 10. Дейтел Х.М., Дейтел П.Дж., Сантри С.И. Технологии программирования на Java 2 (в 3 томах). Том 2. М.: Бином, 2003. – 468 с.