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 | |
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 |
|
Internet | Authorized users SPbPU |
|
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. Выводы
- 3.1. Разработка языка аспектов
- 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. Выводы
- 5.1. Программа испытаний
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ А. Грамматика языка аспектов
- ПРИЛОЖЕНИЕ Б. Текст программы, используемой при тестировании
- ПРИЛОЖЕНИЕ В. Фрагмент текста программы прототипа
Access count: 207
Last 30 days: 0