Table | Card | RUSMARC | |
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 |
Annotation
Работа посвящена разработке аспектно-ориентированного подхода для языка Kotlin. Аспектно-ориентированный подход позволяет компактно описывать и внедрять сквозную функциональность в программы, написанные в стиле объектно-ориентированного программирования. Для большинства популярных языков программирования уже существуют подобные расширения. Язык Kotlin является новым языком программирования, для которого еще не разработано многих необходимых расширений. В данной работе решается задача разработки АОП-расширения для языка Kotlin, закрывающего один из пробелов. Для решения указанной задачи был разработан язык описания аспектов и подход статического внедрения аспектов на уровне промежуточного представления программы. Спроектирована архитектура АОП-расширения Kotlin, реализованы парсеры, составляющие модель аспектов по их описанию. Реализован модуль внедрения аспектов на уровне промежуточного представления программы. Проведено функциональное тестирование разработанного прототипа. Разработанное АОП-расширение может быть использовано для внедрения сквозной функциональности в программы на языке Kotlin. Разработанный язык аспектов описан отдельно от приложения и может быть использован при проектировании других АОП-расширений языка Kotlin.
Document access rights
Network | User group | Action | ||||
---|---|---|---|---|---|---|
ILC SPbPU Local Network | All |
![]() ![]() ![]() |
||||
Internet | Authorized users SPbPU |
![]() ![]() ![]() |
||||
![]() |
Internet | Anonymous |
Table of Contents
- ВВЕДЕНИЕ
- 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. Программа испытаний
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ А. Грамматика языка аспектов
- ПРИЛОЖЕНИЕ Б. Текст программы, используемой при тестировании
- ПРИЛОЖЕНИЕ В. Фрагмент текста программы прототипа
Usage statistics
|
Access count: 206
Last 30 days: 0 Detailed usage statistics |