Детальная информация

Название: Разработка аспектно-ориентированного расширения для языка Kotlin: магистерская диссертация: 09.04.01
Авторы: Скрипаль Борис Алексеевич
Научный руководитель: Ицыксон Владимир Михайлович
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2017
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: Программирования языки; Вычислительные машины электронные персональные — Программирование; аспектно-ориентированное программирование; аспектно-ориентированное расширение
УДК: 004.42.04(043.3); 004.438(043.3)
Тип документа: Выпускная квалификационная работа магистра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Магистратура
Код специальности ФГОС: 09.04.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/2/v17-4122
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Ключ записи: RU\SPSTU\edoc\45045

Разрешенные действия:

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа: Анонимные пользователи

Сеть: Интернет

Аннотация

Работа посвящена разработке аспектно-ориентированного подхода для языка Kotlin. Аспектно-ориентированный подход позволяет компактно описывать и внедрять сквозную функциональность в программы, написанные в стиле объектно-ориентированного программирования. Для большинства популярных языков программирования уже существуют подобные расширения. Язык Kotlin является новым языком программирования, для которого еще не разработано многих необходимых расширений. В данной работе решается задача разработки АОП-расширения для языка Kotlin, закрывающего один из пробелов. Для решения указанной задачи был разработан язык описания аспектов и подход статического внедрения аспектов на уровне промежуточного представления программы. Спроектирована архитектура АОП-расширения Kotlin, реализованы парсеры, составляющие модель аспектов по их описанию. Реализован модуль внедрения аспектов на уровне промежуточного представления программы. Проведено функциональное тестирование разработанного прототипа. Разработанное АОП-расширение может быть использовано для внедрения сквозной функциональности в программы на языке Kotlin. Разработанный язык аспектов описан отдельно от приложения и может быть использован при проектировании других АОП-расширений языка Kotlin.

Права на использование объекта хранения

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все Прочитать Печать Загрузить
Интернет Авторизованные пользователи СПбПУ Прочитать Печать Загрузить
-> Интернет Анонимные пользователи

Оглавление

  • ВВЕДЕНИЕ
  • 1. Обзор существующих аспектно-ориентированных расширений
    • 1.1. Аспектно-ориентированный подход
    • 1.2. Способы применения аспектов
    • 1.3. Критерии оценки аспектно-ориентированного расширения
    • 1.4. Обзор существующих аспектно-ориентированных расширений
      • 1.4.1. AspectJ
      • 1.4.2. SpringAOP
      • 1.4.3. PostSharp
      • 1.4.4. Aspect.NET
      • 1.4.5. Результаты сравнения
    • 1.5. Выводы
  • 2. Постановка задачи
    • 2.1. Функциональные требования
    • 2.2. Решаемые задачи
    • 2.3. Выводы
  • 3. Проектирование аспектно-ориентированного расширения для языка Kotlin
    • 3.1. Разработка языка аспектов
      • 3.1.1. Описание аспекта
      • 3.1.2. Описание срезов
      • 3.1.3. Описание советов
    • 3.2. Выбор способа внедрения аспектов
    • 3.3. Архитектура программной системы
    • 3.4. Внедрение аспектов
      • 3.4.1. Выбор способа внедрения аспектов
      • 3.4.2. Описание PSI
      • 3.4.3. Формирование срезов
      • 3.4.4. Внедрение кода советов
    • 3.5. Выводы
  • 4. Разработка прототипа аспектно-ориентированного расширения
    • 4.1. Средства разработки
    • 4.2. Архитектура проекта
      • 4.2.1. Разработка грамматики аспектов
      • 4.2.2. Разработка структуры прототипа
    • 4.3. Выводы
  • 5. Тестирование прототипа аспектно-ориентированного расширения
    • 5.1. Программа испытаний
      • 5.1.1. Проверка правильности построения срезов
      • 5.1.2. Проверка корректности построения кода совета
      • 5.1.3. Проверка способа внедрения советов
      • 5.1.4. Проверка работоспособности прототипа на больших проектах
    • 5.2. Методика испытаний
      • 5.2.1. Методика проверки корректности формирования срезов
      • 5.2.2. Методика проверки корректности построения кода совета
      • 5.2.3. Методика проверки корректности внедрения кода совета
      • 5.2.4. Методика проверки корректности прототипа на больших проектах
    • 5.3. Проведение испытаний
      • 5.3.1. Проверка корректности построения срезов
      • 5.3.2. Проверка корректности построения кода совета
      • 5.3.3. Проверка корректности внедрения советов
      • 5.3.4. Проверка работы на больших программах
    • 5.4. Выводы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ А. Грамматика языка аспектов
  • ПРИЛОЖЕНИЕ Б. Текст программы, используемой при тестировании
  • ПРИЛОЖЕНИЕ В. Фрагмент текста программы прототипа

Статистика использования

stat Количество обращений: 206
За последние 30 дней: 0
Подробная статистика