DaCoPAn Software Engineering Project - Проект DaCoPAn - К. Кулаков, А. Ананьин, М. Крышень J. Brown, V. Vainio
Motivation Internet protocols form the basis of data communication education Almost no tools for studying real network protocols A tool for homework & classroom teaching DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Протоколы Интернета - основа изучения обмена данных в сети Практически нет инструментов для изучения реального поведения сетевых протоколов Инструмент для самостоятельного и аудиторного обучения Мотивация Distributed & cross-cultural aspect Распределенность и трансграничность
Traditional methods DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Традиционные методы
Solution A network with 2 computers Run tcpdump Save the network traffic into 2 files Take these files, analyze & merge them A file is output from the Analyzer This file is input for the Animator DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет tcpdump analyzer animator Сеть с двумя сетевыми ЭВМ Запуск tcpdump Сохранение данных о сетевом трафике в 2 файлах Анализ и объединение данных этих файлов Файл, полученный с помощью Analyzer Этот файл - входные данные для Animator Решение
Uses for DaCoPAn DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Преподаватели могут использовать сценарии для показа наиболее важных идей Обучение Ускоряет процесс подготовки лекций Могут загрузить DaCoPAn для домашнего использования Студенты Может использоваться как персональное электронное средство обучения Инструмент может быть использован для упражнений студентам Применение DaCoPAn Удобное представление событий при работе сетевых протоколов Использование файла событий для обработки данных сетевого трафика Исследователи
High level architectureАрхитектура DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет tcpdump analyzer animator DaCoPAn analyzer
Архитектура: Analyzer DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет tcpdump Message mapper Events calculator Log reader PEF writer PEF file Получение двух файлов tcpdump на двух компьютерах. Чтение каждого файла tcpdump. Поиск соответствующих пакетов протоколов и объединение пакетов в один список. Преобразование последовательности пакетов в последовательность событий, вычисление переменных протоколов и дополнительных событий. Запись последовательности сообщений в файл в формате PEF. Получен файл событий протоколов.
Результат tcpdump DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 0 (DF) 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 0 (DF) 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 0 (DF) 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 51 (DF) 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 0 (DF) [tos 0x10] 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 14 (DF) [tos 0x10] 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 0 (DF) 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 34 (DF) 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 0 (DF) [tos 0x10] 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 15 (DF) [tos 0x10] 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 0 (DF) 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 33 (DF) 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 0 (DF) [tos 0x10] 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 0 (DF) 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 0 (DF) 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 0 (DF) 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 51 (DF) 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 0 (DF) [tos 0x10] 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 14 (DF) [tos 0x10] 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 0 (DF) 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 34 (DF) 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 0 (DF) [tos 0x10] 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 15 (DF) [tos 0x10] 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 0 (DF) 17:13: zeta.cs.karelia.ru.ftp > iota.cs.prv.dcs: tcp 33 (DF) 17:13: iota.cs.prv.dcs > zeta.cs.karelia.ru.ftp: tcp 0 (DF) [tos 0x10] tcpdump log 1 tcpdump log 2
Алгоритмы DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Поиск соответствующих друг другу пакетов в двух файлах tcpdump Определение потерянных пакетов Вычисление переменных протоколов Преобразование последовательности пакетов в последовательность событий: Дефрагментация Построение дерева инкапсуляции
Файл событий протоколов DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет
High level architectureАрхитектура DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет tcpdump analyzer animator DaCoPAn animator
Архитектура: Animator DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет XML Input / Output PEF XML file Выходной файл Analyzer (Файл событий протоколов) Модуль обработки XML Преобразование в структуры данных Просмотр и настройка анимации Data Structures Animations & Settings
Animator screenshot 1 DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Снимок экрана 1
DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Animator screenshot 2Снимок экрана 2
DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Animator screenshot 3Снимок экрана 3
Traceability DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Трассируемость Первичные требования Сценарии использования (описание и реальные данные) Проектирование (алгоритмы и элементы интерфейса пользователя) Тестирование Сдача заказчику
DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Java 1.4 JUnit CVS Eclipse кодирование CVS JUnit рефакторинг (реорганизация) NetBeans кодирование CVS Построение графического интерфейса пользователя Инструменты: Animator
DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Инструменты: Analyzer Переносимость: ANSI C, и стандарт POSIX Microsoft Visual C++ Моделирование: UML – разработка модели прецедентов Командная работа: CVS репозиторий, Web-сайт проекта, форум, Метрики проекта: SCLC – подсчет количества строк исходного кода Gantt Project – расписание проекта Инструменты разработки: automake, autoconf, WinPcap, libpcap, WinDump, tcpdump Служебные программы и шаблоны документов, предоставленные университетом Хельсинки
Documentation 1 x Project plan 1 x Requirements document 3 x Design documents 2 x Implementation documents 1 x HTML Javadoc (Animator) 2 x Test plan documents 3 x Test execution documents 1 x Installation instructions 1 x Conclusion document Documents produced DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Документация Available at along with meeting agendas, photos, links.. 1 x План проекта 1 x Документ требований 3 x Документ проектирования 2 x Документ реализации 1 x HTML Javadoc (Animator) 2 x План тестов 3 x Документ тестирования 1 x Инструкция по установке 1 x Итоговый документ Полученная документация Доступные на вместе с повестками собраний, фотографиями, ссылками,...
Студенты –Интернациональная –11 из двух университетов (+Мадрид) –Две команды: ПетрГУ-5 и ХелУ-6 –Управление: 1+1 ̶ > 1 Руководство –2 руководителя (в каждом ун-те) –2 инструктора (для каждой команды) Заказчик –Маркку Койо (ХелУ) Организация DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет
Метрики DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет P-группаH-группаСовм.Всего Студентов Рабочих часов Раб.час / студент Эл.писем Тем в форуме Сообщений в форуме Собраний Документов Страниц
Метрики DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Analyzer (P-группа) Animator (H-группа) Модулей Подпрограмм Строк кода в основ. прогр. Размер после компиляции 27 (ANSI C) Кб 77 (Java) Строк кода в тестов. прогр. Тестов блоков Интеграционных тестов Аттестационных тестов
Расписание проекта DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет
Microsoft technologies DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Технологии Microsoft Переносимое приложение (Windows и UNIX) Реализация на языке С (ANSI, POSIX) и Java Windows версия реализована на платформе Microsoft Visual С++ Соответствие стандартам STD Интернет Использование технологии XML
DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Заключение Завершенный программный продукт Перспективные методы разработки ПО Алгоритмы
DaCoPAn Software Engineering Project University of Helsinki Petrozavodsk State University Проект DaCoPAn Университет Хельсинки Петрозаводский Государственный Университет Thank you, Спасибо, Kiitos, Gracias!