Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
themes_2012_spring.doc
Скачиваний:
0
Добавлен:
14.11.2019
Размер:
83.46 Кб
Скачать

Темы курсовых и дипломных работ и кандидатских диссертаций проф. В.О. Сафонов, весна 2012 г.

1. Аспектно-ориентированное программирование (аоп) и Aspect.Net

Полезные сайты:

 http://aosd.net   – общий сайт АОП

- https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=8658 –дистрибутив  Aspect.NET 2.2 (с поддержкой языков C# и VB.NET)

http://www.aspectdotnet.org – сайт проекта Aspect.NET (на английском языке)

http://polyhimnie.math.spbu.ru/jtl, раздел ASPECT.NET – материалы по Aspect.NET на русском языке

Направления:

- Развитие системы Aspect.NET – инструмента аспектно-ориентированного программирования для платформы Microsoft.NET (работа в составе проектной группы);

- разработка библиотек аспектов и их применение в различных решениях и проблемных областях;

- формализация и моделирование АОП

- создание инструментов АОП для платформы Java

Темы:

1.1. Разработка конверторов для системы Aspect.NET с метаязыка АОП (Aspect.NET.ML) в определения пользовательских атрибутов (custom attributes) для языков: J#.NET, F#.NET, Python, Ruby

            1.2. Участие в развитии подсистемы внедрения аспектов (aspect weaver) – реализация новых видов точек присоединения (join points)

            1.3. Участие в развитии Aspect.NET Framework (GUI для управления аспектами)

            1.4. Разработка аспектизатора (aspectizer) – инструмента для выделения аспектов из не аспектно-ориентированных программ

            1.5. Разработка отладчика (debugger) в терминах аспектов для системы Aspect.NET

            1.6. Разработка библиотек аспектов для различных проблемных областей (Web-программирование, бизнес, экономика, инженерия знаний и др.)

            1.7. Разработка инструментов тестирования системы Aspect.NET

            1.8. Разработка для системы Aspect.NET формальных спецификаций аспектов и верификатора аспектов и результатов их внедрения с использованием верификатора Z3

            1.9. Разработка библиотеки аспектов для trustworthy software development                   (синхронизация процессов, security, design-by-contract и др.) – тема выполняется аспирантом Денисом Фроловым, 2011-2012 гг.; возможно участие в проекте

            1.10. Участие в переносе Aspect.NET на новые платформы - Visual Studio.NET 2010,  Phoenix SDK, CCI

            1.11. Разработка системы Aspect.Java – аналога Aspect.NET для Java-технологии с тем же метаязыком АОП, на основе аннотаций

          1.12. Real.Aspect: Разработка инстумента АОП с архитектурой, аналогичной Aspect.NET, для исследовательской платформы IBM Java Real-Time

          1.13. Моделирование аспектов: Разработка и реализация расширения UML для моделирования и проектирования аспектов в системе Aspect.NET

         1.14. Разработка аналога Aspect.NET для преобразований unmanaged-кода в среде Windows с использованием Microsoft Phoenix

        1.15. Разработка системы для aspect-oriented knowledge management – аспектно-ориентированного управления знаниями

1.16. Использование АОП и Aspect.NET для облачных вычислений на платформе Windows Azure

1.17. Использование АОП и Aspect.NET для 3D Web и Virtual Worlds

1.18. Сопровождение системы Aspect.NET: ведение базы данных ошибок (bug tracking database), исправление ошибок, поддержка текущей версии исходных кодов Aspect.NET, автоматическая рассслка уведомлений об изменениях и др.

1.19. Разработка формальной модели АОП

2.  Инженерия знаний и Knowledge.NET

  http://www.knowledge-net.ru

-  Участие в проекте Knowledge.NET – инструмента представления и обработки знаний для платформы Microsoft.NET.

- Разработка систем управления знаниями и интеллектуальных решений на базе Knowledge.NET

    2.1. Участие в разработке и реализации языка Knowledge.NET - расширения языка C# для представления знаний (фреймов, продукций, семантических сетей, нечетких знаний, ассоциативных знаний, онтологий);

    2.2. Участие в разработке редактора и визуализатора знаний в формате Knowledge.NET

    2.3. Разработка подсистемы извлечения знаний (knowledge discovery) из Интернета в формате Knowledge.NET

    2.4. Разработка библиотек примеров представления и использования знаний в системе Knowledge.NET для различных предметных областей (разработка ПО, бизнес, экономика, медицина и др.)

    2.5. Разработка подсистемы извлечения знаний (knowledge discovery) из  данных научных экспериментов в системе Knowledge.NET.

    2.6. Разработка экспертной системы Everyday Intelligent Advisor (советчик в повседневной деятельности) на базе системы Knowledge.NET

    2.7. Разработка инструментов тестирования Knowledge.NET

    2.8. Разработка системы поиска в локальных сетях на базе Knowledge.NET

2.9. Разработка интеллектуальной информационной системы для поддержки жизненного цикла разработки программ

2.10. Разработка конвертора знаний из языка Knowledge.NET в язык OWL

3. Компиляторы, Microsoft Phoenix, CCI (Common Compiler Infrastructure)

 http://connect.microsoft.com/phoenix  -  инструментарий Microsoft Phoenix для разработки языковых процессоров, оптимизации, анализа и преобразований программ

 http://www.msdnaa.net/curriculum/?id=7698 -  курс проф. В.О. Сафонова по компиляторам

http://www.vladimirsafonov.org/trustworthycompilers - информация о книге проф. В.О. Сафонова по компиляторам

Темы:

 3.1. Участие в реализации front-end компилятора C# на базе Phoenix

 3.2.  Реализация Visual Prolog для платформы Microsoft.NET

 3.3.  Реализация функционального языка Objective Caml (O’Caml) для платформы Microsoft.NET.

3.4. Разработка и реализация высокоуровневых языково-независимых абстрактных  синтаксических деревьев  (HL-AST) для Microsoft Phoenix

3.5. Разработка системы построения front-end’ов компиляторов Phoenix-FETE для Microsoft Phoenix (продолжение и завершение проекта) – тема начата аспирантом И. Соболевским, осень 2011 г.

 3.6. Разработка и реализация интерактивного окружения для визуализации, создания и редактирования файлов исполняемого промежуточного кода (PE files) Microsoft.NET на базе технологии Microsoft Phoenix.

3.7. Разработка инструмента визуализации процесса работы компилятора – лексического анализа, синтаксического анализа, семантического анализа, организации таблиц, оптимизации и генерации кода.

4. Операционные системы Microsoft

4.1. Исследование и развитие операционной системы Windows на основе ее исходных кодов      и инструментария, предоставляемых корпорацией Microsoft (Windows Academic Program):       изучение и развитие Windows CRK, Windows WRK, участие в проекте ProjectOZ.

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

5. Java-технология, операционные системы, технологии и аппаратные платформы фирмы Oracle

5.1. (тема предложена Oracle в 2010 г.) Автоматизация настройки и поддержки тестового окружения

3+ системы виртуализации (VMWARE, Oracle VM, VirtualBox), 40+

операционных систем - Linux/Solaris/Windows, 4+ десктопа, 2+ look&feel'а, Sun Grid Engine.

Автоматизация настройки и проверки настройки тестового окружения после установки или перезагрузки операционной системы. Автоматизация определения характеристик тестовой машины: desktop, look&feel, printer и т.д.

Автоматизация очистки тестового окружения после тестового цикла.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]