Program for learn about agent-oriented programming
Автор роботи: Ліцеїст 11-Г класу Ліхошва Ілля Олександрович Керівник роботи: Ентін Й.А.
Тема: Створення навчальної програми з агентно-орієнтованого програмування з наочним прикладом
Актуальність задачі Полягає в дослідженні та поданні учбового матеріалу з агентно-орієнтованого програмування (далі АОП), візуалізації на прикладі задачі з комбінаторики, проведенню тестування за набутими знаннями. Використання АОП для дослідження залежностей об’єктів побудови від умов (довжина окремих ланок, задання конкретної кінцевої цілі), використання для цього основних парадигм програмування. АОП все ширше використовується в кібернетиці (Адаптивні системи), інтелектуальних інформаційних системах (ІІС). В роботі досліджено вплив систем різних умов на результат. АОП використовується в пошукових двигунах, комп’ютерних іграх, чат-боти для співбесід.
Мета роботи Створення навчальної програми з агентно-орієнтованого програмування з наочним застосуванням для обчислення кількості конфігурацій, утворених складеною лінійкою. Середовище програмування .NET C# (WPF + Windows Forms) У програмі використані технології платформи .Net 4.0 - 4.6 та мови програмування C#. Для розробки та дизайну користувацького інтерфейсу використана технологія WPF. Застосовані анімації, тригери на події, графічні частини, екран запуску (Splash screen). Програма використовує багатопотоковість, методи, події, класи, наслідування та інші зручності для роботи великих проектів. Для виводу теоретичної частини використовуються TreeView та Browser. Для тестування застосовується файл бази даних XML з рандомізацією кожного наступного питання та відповідей у ньому. Для оптимізації швидкості виконання, в коді використані LINQ-вирази, обернені умови для оператора if, лямбда-вирази, авто-властивості, наслідування конструкторів та ін.
Призначення розробки Агентно-орієнтований підхід – це відносно нова парадигма програмування, яка поступово входить у наше життя. Усе більше людство наближається до створення «штучного інтелекту». АОП, можливо, один з крокі на шляху до цього високотехнологічного відкриття. Саме це й надихнуло мене створити програму, яка ближче познайомить початківця з теорією, допоможе побачити приклади використання у різноманітних середовищах (інтернет, чати, ігри) та візуалізація на простому, але наочному прикладі.
Область застосування Проект є корисним для ознайомлення та набуття знань з АОП. Він розрахований на рівень початківця, який тільки починає знайомитися з парадигмами програмування, бажає побачити, як це працює (хоча б у спрощеному вигляді). Програма дозволяє познайомитися з процесами агента, що залежать від дій, які відбуваються навколо нього та по відношенню до нього.
Програма складається з наступниз розділів: матеріал подано у вигляді чотирьох розділів: 1.Теорія – матеріал з АОП, зібраний та групований по розділам. 2.Приклади – колекція відеозаписів, на яких зображена робота АОП у практиці (ігри, пошукові двигуни, чат-боти та ін.). 3.Наочний приклад – програма, що генерує поведінку агентів-лінійок при заданих умовах та вхідних параметрах. 4.Тестування – частина, в якій користувач може протестувати себе, перевірити свої знання та відповісти на питання в тестовій формі.
Висновки Під час виконання роботи був набутий досвід створення ефективних віконних програм за допомогою потужного фреймворку .NET для С#, вивчено багато властивостей, можливостей використання та напрямків дослідження агентно-орієнтованого підходу, створення протоколів обміну повідомленнями, створення та роботи з об’єктами, агентами, класами, потоками та їх застосування до різноманітних задач. Створена ефективна та невибаглива у відношенні ресурсів системи програма, з інтуїтивно зрозумілим інтерфейсом. Можливо, вона буде слугувати для здобуття початкових знань в агентно-орієнтованому програмуванні. Опрацьована значна кількість матеріалів та книг з агентно-орієнтованого програмування, структуровано розміщена у розділі «Теорія» програми. Розглянуто відмінності між агентно-орієнтованим підходом та об’єктно-орієнтованим. Попри жорсткіші обмеження, агенти демонструють більш цікавіші, кращі, ефективніші результати. Можливо, це пов’язано з більшою подібністю агента до живої істоти, ніж об’єкта. Разом з тим, агентно-орієнтований підхід ще не став провідною парадигмою побудови корпоративних промислових додатків та інформаційних систем, і вимагає розробки ефективних і доступних для розуміння і практичного використання архітектури і методологій програмування АОС, потребує просування в середовище системотехніків і розробників програмного забезпечення.
Мова програмування та версія середовища: C#, .Net 4.0 Client Profile
• Процесор – x86/x64 з тактовою частотою не менше 1 ГГц • Оперативна пам’ять – 512Mb • Вільне місце на жорсткому диску: не менше 200 Мб. • Монітор – 1280х1024 • ОС – Windows XP або новіше
Додаткові програми: • Adobe Reader XI або вище • Бібліотеки .Net 4.0 Client Profile
Файл запуску "AOP Ruler.exe".