Details

Title Разработка аспектно-ориентированного расширения для языка Kotlin: магистерская диссертация: 09.04.01
Creators Скрипаль Борис Алексеевич
Scientific adviser Ицыксон Владимир Михайлович
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint Санкт-Петербург, 2017
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects Программирования языки ; Вычислительные машины электронные персональные — Программирование ; аспектно-ориентированное программирование ; аспектно-ориентированное расширение
UDC 004.42.04(043.3) ; 004.438(043.3)
Document type Master graduation qualification work
File type PDF
Language Russian
Level of education Master
Speciality code (FGOS) 09.04.01
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/2/v17-4122
Rights Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key RU\SPSTU\edoc\45045
Record create date 10/18/2017

Allowed Actions

Action 'Read' will be available if you login or access site from another network

Action 'Download' will be available if you login or access site from another network

Group Anonymous
Network Internet

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

Network User group Action
ILC SPbPU Local Network All
Read Print Download
Internet Authorized users SPbPU
Read Print Download
Internet Anonymous
  • ВВЕДЕНИЕ
  • 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. Выводы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ А. Грамматика языка аспектов
  • ПРИЛОЖЕНИЕ Б. Текст программы, используемой при тестировании
  • ПРИЛОЖЕНИЕ В. Фрагмент текста программы прототипа

Access count: 207 
Last 30 days: 0

Detailed usage statistics