У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент





Реферат

Київський національний університет
імені Тараса Шевченка

Холод Денис Володимирович

УДК 519.683

ДОСЛІДЖЕННЯ МЕТОДІВ ПОБУДОВИ СЕРВІСНО-ОРІЄНТОВАНИХ СИСТЕМ АВТОМАТИЗАЦІЇ ЕЛЕКТРОННОГО НАВЧАННЯ

01.05.03 – математичне та програмне забезпечення

обчислювальних машин і систем

автореферат

дисертації на здобуття вченого ступеня

кандидата технічних наук

Київ-2007

Дисертацією є рукопис.

Робота виконана на кафедрі інформаційних систем Київського національного університету імені Тараса Шевченка

Науковий керівник: Кандидат фізико-математичних наук, доцент

Шевченко Володимир Петрович,

Київський національний університет

імені Тараса Шевченка,

доцент кафедри інформаційних систем

Офіційні опоненти: доктор технічних наук, професор

Цейтлін Георгій Овсійович,

провідний науковий співробітник

Інститут програмних систем НАН України, м. Київ

кандидат технічних наук, доцент

Олецький Олексій Віталійович,

доцент кафедри малтимедійних систем Національного університету "Києво-Могилянська академія", м. Київ

Провідна установа: Інститут кібернетики НАН України імені В.М. Глушкова, відділ рекурсивних обчислювальних машин, м. Київ

Захист дисертації відбудеться 6 квітня 2007 року о 14 годині на засіданні спеціалізованої вченої ради Д .001.09 Київського національного університету імені Тараса Шевченка за адресою: 03127, м. Київ, пр. Глушкова, 2, корп.6, ауд. . Тел. 521-33-66, факс 259-70-44, e-mail rada1@unicyb.kiev.ua.

З дисертацією можна ознайомитись в науковій бібліотеці Київського національного університету імені Тараса Шевченка (01033, м. Київ, вул. Володимирська, 58).

Автореферат розісланий 6 березня 2007 р.

Вчений секретар

спеціалізованої вченої ради Д.Я.Хусаінов

ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ

Актуальність теми. Дослідження систем автоматизації навчальних процесів (САНП) здавна привертали увагу освітян, науковців та спеціалістів в галузі інформаційних технологій. Велика кількість публікацій та програмних розробок з даної тематики, є прямим свідченням актуальності цього напрямку. Ще в 1960-х роках В.М. Глушков, В.Н. Редько, Б.Ф. Скінер, К.Л. Ющенко, Г.О. Цейтлін та інші науковці виклали в своїх працях ряд положень стосовно автоматизації процесів навчання.

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

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

В навчальних закладах використовується значна кількість власних систем автоматизації навчального процесу, які реалізують механізми контролю знань, прискорюють різні етапи адміністративної діяльності, тощо. Прикладами можуть слугувати розробки, що ведуться, зокрема, в Київському національному університеті імені Тараса Шевченка, НТУУ “КПІ”, Національному університеті “Києво-Могилянська академія”, Університеті “Україна” та інших навчальних закладах.

В той же час, дуже великою популярністю користуються готові системи, що вільно розповсюджуються та мають відкритий код (open source) такі як Ilias, Open USS, MOODLE тощо, а також їх комерційні аналоги, наприклад Learning Space, Microsoft Class Server. Кожна з них має власні недоліки та переваги, які виявляються в процесі експлуатації та супроводу системи.

Впровадження готової автоматизованої системи вимагає адаптації робочих процесів закладу до можливостей системи, або навпаки адаптації інформаційної системи до вимог закладу. Використання існуючих завершених систем може бути складною задачею, але нехтувати функціональними рішеннями, які пропонують готові open source або комерційні системи не раціонально. Ефективно реалізувати ці узгодження без створення відповідної програмної моделі всіх активних процесів неможливо. Сьогодні основними засобами опису програмних моделей є мова UML, програмні моделі, що створюються в рамках Microsoft Dynamic Systems Initiative, а саме System Definition Model (SDM), Service Modelling Language (SML) та засоби ефективного представлення програмних алгоритмів, такі як граф-схеми. Виходячи з цього складовою частиною програмної моделі САНП мають бути ефективні алгоритми взаємодії з зазначеними системами.

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

Зв’язок роботи з науковими програмами, планами, темами. Дисертаційна робота виконана на кафедрі інформаційних систем факультету кібернетики Київського національного університету імені Тараса Шевченка і є частиною досліджень в рамках наукової держбюджетної теми №01БФ015-02 "Розробка систем інтелектуалізації інформаційних технологій та дистанційної освіти".

Мета та задачі дослідження.

Метою досліджень є розробка програмної моделі САНП, що вирішуватиме такі задачі:

забезпечення керуванням компонентами, що автоматизують різні аспекти навчального процесу;

забезпечення потужної базової функціональності, а саме прикладного інтерфейсу (API) та середовища розміщення компонентів розширення системи (framework);

наявність відкритих інтерфейсів та механізмів інтеграції та взаємодії з існуючими САНП;

забезпечення технологічної та платформної незалежності розробки та використання компонентів системи;

використання існуючої інфраструктури та низькорівне-вих функцій платформи, на базі якої виконується реалізація;

Досягнення мети пов’язане з вирішенням таких задач дослідження:

аналіз наявних САНП, виявлення їх переваг, недоліків, рівня гнучкості та універсальності;

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

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

реалізація програмної моделі системи, вибору платформи та програмного середовища, обґрунтування ефективності функціонування системи;

розробка та аналіз алгоритмів роботи системи, що включає дослідження наступних задач:

вирішення задач взаємодії з гетерогенними системами;

дослідження середовища функціонування розподілених ком-по-нен-тів системи;

задача управління обчислювальними ресурсами системи.

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

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

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

Методи дослідження. Методологічною основою дисертаційного дослідження є праці провідних вітчизняних і зарубіжних фахівців у галузі математичного і програмного забезпечення обчислювальних систем, мереж, інтелектуальних навчальних середовищ. В роботі використовувався власний досвід реалізації та впровадження САНП викладений в [1], а також загально-виз-нані підходи в проектуванні та програмуванні складних систем, а саме: методи об’єктно орієнтованого програмування та проектування, засоби опису програмних моделей систем (UML, SML), Microsoft Solutions Framework (MSF) для формалізації процесу розробки, сервісно-орієнтований підхід (SOA) для реалізації архітектури системи, методи дискретної математики, зокрема комбінаторики для перевірки алгоритмів паралельного функціонування розподілених компонентів.

Наукова новизна одержаних результатів.

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

Новизна та теоретична значимість результатів дослідження полягає в наступному:

запропонована нова програмна модель системи, здійснена програмна реалізація (API та framework) та методологія перевірки ефективної роботи паралельних процесів, обґрунтовано вибір інфраструктури та програмного середовища на якому базується система;

запропоновано нову схему взаємодії з гетерогенними системам, спроектовано алгоритми та здійснено випробовування інтеграції з системою Microsoft Class Server;

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

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

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

Розроблені схеми інтеграції гетерогенних систем дозволяють використовувати існуючі популярні системи, розширюючи функціональність впровадженої САНП та вирішуючи проблеми несумісності та адаптації готових систем з конкретними навчальними процесами в рамках закладу. Зокрема, в рамках реалізованої програмної моделі здійснено інтеграцію з системою Microsoft Class Server, яка надала можливість внесення додатково розроблених типів тестових питань, чим було вирішено задачу автоматизації процесу перевірки знань з предмету програмування мовою C#.

Результати дисертаційної роботи були випробувані у навчальному процесі Інституту післядипломної освіти та факультету кібернетики Київського національного університету імені Тараса Шевченка в рамках нормативних курсів "Додаткові розділи ООП", "Основи Internet технологій", та спеціального курсу "Сучасні технології проектування та розробки інформаційних систем".

Особистий внесок здобувача. Результати дисертаційного дослідження одержані особисто або за особистою участю автора. У роботі [1] співавтору належить програмна модель клієнтського забезпечення; автору - проектування та аналіз архітектури, реалізація серверної частини системи.

Апробація результатів дисертації. Основні результати дослідження були представлені у доповідях на конференціях та семінарах, зокрема: “XI міжнародній науковій конференції ім. академіка М.Кравчука”, 18-20 травня 2006 р., м. Київ; міжнародній науковій конференції “Новітні інформаційні технології в освіті для всіх” (New Information Technologies in Education for All) 2006. 29-31 травня, 2006 р., Київ; наукових семінарах Інституту кібернетики НАН України, факультету кібернетики Київського національного університету імені Тараса Шевченка. Крім того апробація та впровадження результатів здійснювалися в ході читання курсів з сучасних технологій проектування та розробки інформаційних систем, що проводилися у 2003-2006 роках.

Публікації. Основні результати дисертації опубліковані в 3 наукових статтях у фахових виданнях та у 2 тезах міжнародних конференцій.

Структура та обсяг роботи. Дисертаційна робота складається з вступу, трьох розділів, висновків, списку використаних джерел, що містить 105 найменувань, 3 додатків. Загальний обсяг роботи – 130 сторінок друкованого тексту, обсяг основного тексту сторінок.

ОСНОВНИЙ ЗМІСТ РОБОТИ

У вступі обґрунтовано актуальність теми дисертації. Дисертаційна робота присвячена побудові моделі САНП та вирішенню задач її ефективного функціонування. У вступі також подано зв’язок роботи з науковими програмами, сформульовано мету і задачі дослідження, наукову новизну результатів. Наведено відомості про апробацію роботи і публікації, відзначено особистий внесок здобувача в опублікованих працях, практичне значення та впровадження результатів.

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

У другому розділі описано архітектуру моделі САНП та основні принципи її функціонування. Також розроблена методика стабілізації системи та наведено алгоритм роботи стабілізованої системи.

Основні компоненти архітектури розробленої моделі САНП зображено на рис.1.

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

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

Рис.1. Основні компоненти програмної моделі САНП

Як посередники виступають так звані локатори. На відміну від відомих посередників архітектури SOA, скажімо, служб UDDI (для SOA на базі XML WEB служб), локатори окрім базових функцій управління та пошуку ресурсів мають більш високорівневий інтерфейс. Вони можуть вказувати на існування Web інтерфейсу доступу до ресурсу, або існування платформно-залежного клієнта (скажімо windows застосування). Сервісами виступають високорівневі або низькорівневі сценарії, які формують функціональність системи, та взаємодіють з споживачами через точки доступу до системи.

В модель введено поняття провайдеру. Провайдер – це компонент системи, що використовує високо або низько рівневі сценарії системи, та при необхідності власні функціональні блоки, для вирішення деякого типу задач. Наприклад “Learning task provider” вирішує задачі пов’язанні з пошуком розкладу пар, отримання навчальних завдань і т.д.

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

Високорівневі сценарії (високорівневий API) складаються з послідовності низькорівневих. Наприклад високорівневий сценарій “отримання розкладу” можна розписати наступним чином:

<отримання розкладу> {<аутентифікація>;запит_розкладу>; <авторизація>;формування_результату>};

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

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

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

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

Введемо позначення:

S – множина всіх низькорівневих сценаріїв (описані в діаграмах useта послідовності дій моделі)

|S| - кількість елементів в множині S (кількість всіх низькорівневих сценаріїв)

si – i-й сценарий виконання; si S

Означення 1. Станом перевірки будемо називати множину Sk, таку що

Функція Rand(S,k) повертає k довільних номерів з множини S.

Введемо поняття множини Tn адекватних критеріїв функціонування системи.

де tn деяка характеристика роботи системи (наприклад: час відгуку системи, відсоток середнього або пікового навантаження CPU, об’єм використаної пам’яті, т.д.).

Означення 2. Стан перевірки Sk будемо вважати погодженим коли виконується рівність L(Sk, Tn) = 1;

Функция L реалізується інструментальними засобами. Для даної реалізації програмної моделі на базі .Net Framework функцію L було реалізовано шляхом виконання тестів на навантаження (можливості пакету Microsoft Visual Studio Team Suit), Sk будуються як сценарії тестування, множина Tn задається відповідними критеріями оцінки на базі системних об’єктів performance counters.

Функція L визначається наступним чином:

Означення 3. Система вважається стабілізованою коли знайдено множину всіх погоджених станів перевірки, тобто таку Sn для якої виконується умова: виконується рівність L(Sk, Tn) = 1. Тоді множина Sn називається стабілі-зу-ю-чою множиною.

Зауваження: систему важливо стабілізувати тому, що нові запущені сценарії можуть викликати помилки в інших сценаріях або не відповідати критеріям Tn .

З основних формул комбінаторики маємо, що максимальна кількість елементів в Sn дорівнює:

Kmax – експериментально визначена максимально допустима кількість сценаріїв в Sk. Алгоритм пошуку Kmax буде наведено далі.

Очевидно, що при достатньо великій величині |S| визначити множину Sn експериментально не вдасться. При |S|=100 і Kmax = 10, |S| = 5*1013, що означає число викликів функції L.

Введемо поняття сценаріїв рівної складності. Візьмемо деякий сценарій si з множини S. Нехай функція M(si) повертає множину характеристик Ri={r1i, r2i, … rni}.

Характеристики r1i, r2i, … rni – отримуються як результати виконання відповідних тестів для окремих сценаріїв (code coverage tests, load tests, profiling), і фізично відображають час виконання, завантаженість CPU, використання ресурсів пам’яті, кількість збуджених компонентів та методів і т.д.

Означення 4. Групою складності будемо називати множину GRm={r1m ± ?r1, r2m± ?r2,…rnm± ?rn}, де ?r1…?rn - відхилення характеристик. Зафіксувавши значення ?r1…?rn, можна сформувати М груп.

Введемо функцію GV(GRm, M(si)), що повертає 1 у випадку коли множина характеристик si входить в групу GRm, тобто їх відповідні характеристики відрізняються лише на величину ?rn.

Очевидно, що треба не більше M*|S| операцій для сортування всіх сценаріїв по групам. Чим більше відхилення характеристик ?rn тим менше буде кількість груп складності.

Означення 5. Сценарії si та sj будемо вважати сценаріями однакової складності коли вони входять в одну групу складності.

Пронумерувавши групи від 1 до М отримаємо числову характеристику m яка визначає складність сценарію. На практиці це означає, що в стані перевірки Sk всі сценарії з складністю m є взаємозамінними.

Таким чином множину всіх сценаріїв S можна замінити на множину S` яка містить по одному сценарію різної складності. Тоді |S`| = M, і відповідно

Випробувавши теоретичні викладки на діючий реалізації моделі отримали наступні характеристики:

|S| = 100; (загальна кількість низькорівневих сценаріїв біля 100)

М = 4;

M*|S| = 400;

Kmax = 20;

максимальне значення |Sn|=10625;

Множина Sn буде стабілізуючою множиною лише тоді коли з кількості |Sn| станів перевірки вилучити всі не погоджені стани перевірки. Для отриманої кількості це можна зробити експериментально.

|Sn|=6033 - результат отриманий експериментально.

Множина Sn складається з послідовностей Sk = {s1,s2,…,sk} різної довжини. Практично послідовність S3 = {s1,s2,…,s4}, і S3 Sn означає, що в системі можуть одночасно працювати будь-які три сценарії складність яких відповідно дорівнює складностям сценаріїв s1,s2 та s4, і навпаки якщо S2 = {s1,s3}, і S2 Sn, означає, що будь які два сценарії з складності s1 та s3 не можуть працювати разом задовольняючи критерії Tn.

Означення 6. Будемо вважати, що стан перевірки Sa входить в Sb, при умові a<=b, коли множина сценаріїв Sa є підмножиною сценаріїв Sb.

Означення 7. Sc=Sa+Sb будемо вважати сумою станів коли множина сценаріїв Sc є об’єднанням множин сценаріїв Sa та Sb. с=a+b.

Твердження 1. Якщо обчислювальні потужності системи та критерії Tn є незмінними і стан перевірки Sb є погодженим то з довільної підмножини його сценаріїв можна сформувати інший стан перевірки Sa , a<=b і він також буде погодженим.

Наслідок з твердження 1. Всі стани Sa , які входять в деякий стан Sb можна виключити з множини Sn і при цьому система залишиться стабілізованою у випадку, якщо діятиме за алгоритмом підтримки стабільності.

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

З алгоритму видно, що Kmax шукається серією експериментів, в яких запускається максимальна можлива кількість “легких” сценаріїв в рамках критеріїв Tn.

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

Описане рішення було випробуване на програмній реалізації системи. Отримане на практиці значення |Sn|=1011, тому алгоритм підтримки стабільності працює достатньо швидко. Для дослідження роботи системи алгоритм підтримки стабільності можна вимкнути відредагувавши файл конфігурації системи. При цьому система одразу переходить в новий режим роботи без перезапуску та перекомпіляції.

Уривок файлу конфігурації:

<config>

<allowstabilization run=”off” />

<--! run=”off” or run=”on” -->

</config>

В третьому розділі розглядаються задачі ефективного використання обчислювальних ресурсів розробленої моделі САНП реалізованої як система на базі технології .Net Framework. Також в цьому розділі викладено реалізацію механізмів взаємодії з гетерогенними компонентами.

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

Для реалізації потужної інформаційної системи необхідна наявність програмного керованого середовища. Було встановлено, що одними з найбільш функціонально потужних та комерційно вдалих програмних середовищ є .Net Framework компанії Microsoft та технологія Java компанії Sun. Проблема повільних з’єднань була вирішена для системи реалізованої в середовищі .Net Framework, але запропоновані шляхи розв’язання цієї проблеми можуть бути застосовані також і для технології Java та інших середовищ, що функціонують аналогічним чином.

Функція L(Sk, Tn), описана в означенні 2, повертала нулі у випадку коли не задовольнялися критерії Tn або принаймні один з сценаріїв завершувався з помилкою. Експериментальним шляхом було встановлено, що значна кількість нульових значень функції L була отримана при виконанні сценаріїв, що моделювали повільні з’єднання, причиною непогоджуванності стану перевірки були помилки в сценаріях.

Розглянемо більш детально алгоритми роботи середовища .Net Framework. Створювані в програмі об’єкти розміщуються в керованій кучі (heap). Розмір кучі незмінний та обмежений фізичними характеристиками самого середовища. В .Net Framework не існує детермінованого вилучення об’єкту з кучі, замість цього об’єкт присутній в кучі до тих пір поки є можливість його застосувати (поки в програмі є змінні через які до нього можна отримати доступ). Коли об’єкт стає незастосовуваним його вилучає з кучі так званий “збірник сміття” Garbage Collector (надалі GC). У таким чином звільнений простір може бути розміщено інший об’єкт.

Розглянемо деякий високорівне-вий сценарій: “одержання до-маш-ньо-го завдання”. Сценарій можна знай-ти в моделі системи, де він пред-ставлений відповідною діаграмою прецедентів (use case diagram), діа-гра-мою послідовності дій (sequence diagrams).

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

Якщо виникає загроза переповнення кучі, виконуємо алгоритм пошуку об’єктів, які можна тимчасово з неї вилучити. Далі такі об’єкти зберігаються на зовнішньому носії, наприклад в БД чи файловій системі, і вилучаються з кучі, надаючи тим самим можливість створення нових об’єктів. В програмній моделі САНП виділяються групи об’єктів для яких припустима деяка втрата часу відгуку, тобто їх можна зберегти на диск згідно з алгоритмом. Заради уникнення ситуації переповнення кучі “повільними” об’єктами, фіксується їх допустимий відсоток при досягненні якого алгоритм зупиняється.

Використання даного алгоритму підвищує ефективність виконання системою різних наборів високорівневих та низькорівневих сценаріїв.

В другому підрозділі пропонується модель та формат опису точок доступу системи. Як зазначається в вимогах до моделі САНП, однією з важливих характеристик системи є її можливість взаємодії з існуючими або створюваними компонентами. Крім того треба бути готовим до ситуацій коли можливості “спілкування” у сторонніх компонентів будуть дещо обмеженими.

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

Приклад файлу конфігурації точки взаємодії:

<endpoint name=”ws_securities”>

<address location=”http://somedomain/secur.asmx” />

<interface location=”http://somedomain/secur.asmx?wsdl” />

<protocol name=”httpsoap” details=”http://somedomain/httpsoap.html” />

</endpoint>

Точка ws_securities підтримує механізми безпеки, такі як ідентифікація користувачів та співставлення привілеїв доступу. Ws_securities – являє собою стандартну Web службу, яка працює з протоколом передачі даних SOAP через транспортний протокол http. Протокол httpsoap є вбудованим і організовує поведінку точки взаємодії як Web служби.

Модель системи підтримує розробку та включення власних протоколів. Наступний приклад демонструє використання API системи програмою, що реалізована різними технологіями.

Нехай є проста система інформування студентів про отриману оцінку. Система повинна підтримувати механізми аутентифікації та авторизації студентів.

При реалізації програми можливо забезпечити таку точку взаємодії в системі, протоколи якої можуть бути підтримані наприклад системою Turbo Pascal.

<endpoint name=”fs_securities”>

<address location=”//somehost/securities” />

<interface location=”//somehost/securities/contract.html” />

<protocol name=”fsxml” class=”Transport.FsXml” assembly=”fsxml”

details=”//somehost/securities/detail.html” />

</endpoint>

Інтерфейс та специфікація протоколу (яким чином будувати запити) описані в файлах contract.html та fsxml.html. Атрибут class вказує в якому класі реалізовано протокол, атрибут assembly в якій збірці знаходиться цей клас.

Точка fs_ssecurities працює наступним чином. Відповідна служба системи слідкує за зазначеною директорією в файловій системі. Як тільки там з’являється файл з правильно сформованим ім’ям (яким чином формувати описується в специфікації даного протоколу) auth_kholod.rst (request) він обробляється і одразу знищується. У відповідь створюється файл auth_kholod.rsz (response) в якому міститься відповідь на отриманий запит.

Зміст файлу auth_kholod.rst

<request>

<password>student</password>

</request>

Зміст файлу auth_kholod.rsz

<response>

<auth>ok</auth>

<groups>user, debugger user</groups>

</response >

Додаванням до системи нових точок забезпечується можливість взаємодії системи з різними сторонніми компонентами.

ВИСНОВКИ

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

Основні результати включають в себе:

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

2. Розроблено нову схему взаємодії з гетерогенними системами, спроектовано алгоритми та здійснено випробовування алгоритму для взаємодії з системою Microsoft Class Server, функціональність якої розширено можливістю внесення додаткових типів тестових питань для автоматизації процесу перевірки знань з предмету програмування мовою C#.

3. Вирішено задачу управління обчислювальними ресурсами SOA системи, що функціонує в розподіленому середовищі; сформульовано проблему “повільних з’єднань”, розроблено алгоритм її вирішення, який можна застосувати для реалізації в середовищі .Net Framework, Java та інших подібних системах.

4. Реалізовано новий підхід до побудови відкритих точок взаємодії з системою. Розроблено формат опису інтерфейсу, протоколу та транспорту, за допомогою якого сформовано шляхи взаємодії з сторонніми компонентами, що підтримують протоколи XML Web служб, інфраструктуру .Net Remoting, COM інтерфейси та файлові протоколи.

5. Здійснено реалізацію програмної моделі САНП яка включає функціональне середовище та програмний прикладний інтерфейс. Реалізацією моделі є САНП “University Learning Directory” яку впроваджено на факультеті кібернетики Київського національного університету імені Тараса Шевченка.

СПИСОК ОПУБЛІКОВАНИХ РОБІТ ЗА ТЕМОЮ ДИСЕРТАЦІЇ

Даниленко К.С., Холод Д.В. Розробка програмних засобів автоматизації дистанційної освіти // Вісник Київського університету. Серія фіз.-мат. науки, 2002 – № 4 – с.165 – 171.

Холод Д.В. Технології та методи розробки систем електронного навчання // Вісник Київського університету. Серія фіз.-мат. науки, 2006 – № 1 – с.216 – 222.

Холод Д.В. Методи розробки додаткових модулів тестування для системи Microsoft Class Server // Вісник Київського університету. Серія. фіз.-мат. науки, 2006 – № 3 – с.278 – 283.

Холод Д.В. Використання програмних засобів компанії Microsoft для розробки методик електронного навчання // XI міжнародна наукова конференції ім. академіка М.Кравчука. 18-20 трав., 2006 р., м.Київ: Матеріали конф. – К.: ТОВ “Задруга”, 2006 – с.943.

Холод Д.В. Впровадження архітектури електронного навчання на базі системи Microsoft Class Server 4.0. // New Information Technologies in Education for All 2006. 29-31 трав., 2006 р., м.Київ: с.335-342.

АНОТАЦІЯ

Холод Д.В. Дослідження методів побудови сервісно-орієнтованих систем автоматизації електронного навчання. – Рукопис.

Дисертація на здобуття наукового ступеня кандидата технічних наук зі спеціальності 01.05.03 – математичне та програмне забезпечення обчислювальних машин і систем.

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

Запропоновано нову програмну модель системи автоматизацій навчальних процесів, ключовими характеристиками якої є наявність базової функціональності навчального середовища, технологічної та платформної незалежності функціонування, використання відкритих інтерфейсів та алгоритмів взаємодії для інтеграції з існуючими системами автоматизації навчальних процесів. Здійснено програмну реалізацію розробленої моделі яка включає функціональне середовище (framework) та програмний API. Реалізацією моделі є сервісно-орієнтована програмна система “University Learning Directory”, що завдяки розробленим алгоритмам взаємодії з гетерогенними компонентами інтегрується з системою Microsoft Class Server та розширює функціональність можливостями автоматизації процесів тестування та перевірки знань.

Ключові слова: Сервісно-орієнтовані системи, інтерфейс, транспорт, провайдер, сценарій, web-сервіс, framework, class server.

АННОТАЦИЯ

Холод Д.В. Исследование методов построения сервисно-ориенти-рованых систем автоматизации электронного обучения. – Рукопись.

Диссертация на получение ученой степени кандидата технических наук по специальности 01.05.03 – математическое и программное обеспечение вычислительных машин и систем.

Все больше учебных заведений начинают внедрять системы автоматизации электронного обучения с целью улучшения процесса организации и преподавания учебных предметов. Наибольшей популярностью в учебных заведениях пользуются готовые системы, которые свободно распространяются, такие как Іlіas, Open USS, MOODLE и т.п., а также их коммерческие аналоги, например Learning Space, Microsoft Class Server. Каждая из них имеет собственные недостатки и преимущества, которые оказываются в процессе эксплуатации и сопровождения системы.

Однако внедрение готовой автоматизированной системы требует адаптации рабочих процессов заведения к возможностям системы, или наоборот адаптации информационной системы к требованиям заведения. Использование существующих завершенных систем может быть сложной задачей, но пренебрегать функциональными решениями которые предлагают open source или коммерческие системы не рационально. Эффективно реализовать эти согласования без создания соответствующей программной модели всех активных процессов - невозможно.

В качестве средств описания исследуемой программной модели выбраны язык UML, программные модели, которые создаются в рамках Microsoft Dynamic Systems Initiative, а именно System Definition Model (SDM), Service Modelling Language (SML) и средства эффективного представления программных алгоритмов, такие как граф-схемы.

Для достижения поставленной цели было решено следующие задачи:

проанализировано имеющиеся системы автоматизации учебных процессов (САУП), выявленные их преимущества и недостатки, уровень гибкости и универсальности;

исследованы существующие платформы и среды разработки, их возможности, преимущества и недостатки;

сформулированы функциональные требования и осуществлена разработка программной модели системы, проанализирована эффективность функционирования системы;

разработаны и проанализированы алгоритмы работы системы, а именно: решена задача взаимодействия с гетерогенными системами, исследована среда функционирования распределенных компонентов системы и задача управление вычислительными ресурсами системы;

экспериментально проверено функционирования предложенной программной модели путем внедрения системы в учебный процесс факультета кибернетики Киевского национального университета имени Тараса Шевченка.

В работе использовались методы объектно-ориентированного программирования и проектирование, средства описания программных моделей систем (UML, SML), Microsoft Solutions Framework (MSF) для формализации процесса разработки, сервисно-ориентированный подход (SOA) для реализации архитектуры системы, формулы комбинаторики для проверки применимости алгоритмов функционирования.

В первом разделе сделан обзор литературы, исследовано существующие САУП, среды реализации распределенных компонентов, средства программной реализации, и методологии разработки программного обеспечения.

Во втором разделе описана архитектура модели САУП и основные принципы ее функционирования. Также разработана методика стабилизации системы и приведен алгоритм работы стабилизированной системы.

В третьем разделе рассматриваются задачи эффективного использования вычислительных ресурсов разработанной модели САУП реализованной в качестве системы на базе технологии .Net Framework. Также в этом разделе изложена реализация механизмов взаимодействия с гетерогенными компонентами.

При исследовании проблем эффективного использования вычислительных ресурсов системы была выявлена проблема медленных соединений и предложен подход к ее решению.

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

Осуществлена программная реализация модели, которая включает функциональную среду и APІ. Реализацией модели является сервисно-ориентированная система "University Learning Directory", которая благодаря разработанным алгоритмам взаимодействия с гетерогенными компонентами интегрируется с системой Microsoft Class Server и расширяет базовую функциональность возможностями автоматизации процессов тестирования и проверки знаний.

Ключевые слова: сервисно-ориентированные системы, интерфейс, транспорт, провайдер, сценарий, web-сервис, framework, class server.

ANNOTATION

Kholod D.V. Design and development of Service oriented E-learning system. – Manuscript.

Thesis is for Candidate of Science Degree in Technique on the Specialty 01.05.03 – mathematical and the software of computers and systems.

The thesis is devoted to research and development of programming model of system for automation the educational process. The developed model provides the fundamental support for E-learning components at the application programming interface level and framework level.

The new programming model of the E-learning automation system is proposed. The key characteristics of model are the base functionality of E-learning framework, the technological and platform independence of functioning, the use of open interfaces and algorithms of interaction for the integration with the existing E-learning systems. The software realization of developed model includes the functional framework and applications programming interface (API). “University Learning Directory” (ULD) is the informational system than was developed as a realization of described programming model. It is based on the service-oriented architecture. The Microsoft Class Server system was integrated within the ULD by means of developed interaction algorithms with the heterogeneous components. This interaction adds new functional possibilities to automate the processes of testing and checking student’s learning knowledge.

The keywords service oriented systems (SOA), interface, transport, provider, scenario, web service, framework, class server.






Наступні 7 робіт по вашій темі:

Гармонізація національних монетарних політик в процесі євроінтеграції - Автореферат - 31 Стр.
ФОРМУВАННЯ ІНТЕГРАТИВНОЇ ФІСКАЛЬНОЇ МОДЕЛІ В ЄВРОПЕЙСЬКОМУ СОЮЗІ - Автореферат - 28 Стр.
Оптимізація лікувально-діагностичної тактики при хронічному гнійному сальпінгоофориті у жінок фертильного віку - Автореферат - 24 Стр.
ТЕОРЕТИЧНІ ЗАСАДИ ПЛАНУВАННЯ ТА ОРГАНІЗАЦІЇ РОЗСЛІДУВАННЯ ЗЛОЧИНІВ - Автореферат - 26 Стр.
НАУКОВІ ОСНОВИ ПРОЕКТУВАННЯ ІНТЕГРОВАНИХ СИСТЕМ УПРАВЛІННЯ ЯКІСТЮ ПРОДУКЦІЇ (ПОСЛУГ) НА БАЗІ МІЖНАРОДНИХ СТАНДАРТІВ - Автореферат - 39 Стр.
ВІДОБРАЖЕННЯ СТАНУ ТРИВОГИ ПЕРСОНАЖА В АНГЛОМОВНІЙ ХУДОЖНІЙ ПРОЗІ: СЕМАНТИКО-КОГНІТИВНИЙ ТА НАРАТИВНИЙ АСПЕКТИ - Автореферат - 30 Стр.
ФІЗИКО-ТЕХНОЛОГІЧНІ ОСНОВИ ОПТИМІЗАЦІЇ ПЛІВКОВИХ СОНЯЧНИХ ЕЛЕМЕНТІВ НА ОСНОВІ СУЛЬФІДУ ТА ТЕЛУРИДУ КАДМІЮ - Автореферат - 51 Стр.