http://dx.doi.org/10.17213/0321-2653-2017-3-29-34
ПОИСК И АНАЛИЗ СКВОЗНЫХ ФУНКЦИОНАЛЬНОСТЕЙ В РАЗМЕЧЕННОЙ ГРАММАТИКЕ ЯЗЫКА ПРОГРАММИРОВАНИЯ
Головешкин Алексей Валерьевич – аспирант, кафедра «Алгебра и дискретная математика», Институт математики, механики и компьютерных наук имени И.И. Воровича, Южный федеральный университет, г. Ростов-на-Дону, Россия. E-mail: alexeyvale@gmail.com
Сквозной функционал (crosscutting concern) ортогонален существующему разбиению программного кода на единицы модульности. Составляющие сквозной функционал участки кода логически связаны, но физически разбросаны по различным файлам, классам, методам. Разметка кода и построение модели размеченной программы позволяют ускорить процесс разработки и уменьшить его подверженность ошибкам за счёт анализа зависимостей между выделенными функциональностями.
В работе анализируется понятие сквозного функционала программы, рассматривается формальная модель, пригодная для его представления и анализа, демонстрируется её адаптация и применение для анализа сквозной функциональности в грамматике языка программирования.
сквозная функциональность; прорезающая функциональность; спутанный код; распределённый код; приоритетная декомпозиция; аспект; аспектно-ориентированное программирование; разметка кода; метрики прорезания; формальная грамматика; компилятор.
[
- Kienzle J., Yu Y., Xiong J. On Composition and Reuse of Aspects. // University of Central Florida. URL: http://www.eecs.ucf.edu/leavens/FOAL/papers-2003/kienzle-yu-xiong.pdf (дата обращения: 15.12.2016).
- Kaindl H. What is an Aspect in Aspect-oriented Requirements Engineering // Proceedings of the 13th International Workshop on Exploring Modeling Methods for Systems Analysis and Design, Montpellier, France, June 16 – 17, 2008. P. 164 – 170.
- Masuhara H., Kiczales G. Modeling Crosscutting in Aspect-Oriented Mechanisms. // Object-Oriented Programming, ser. LNCS. 2003. Vol. 2743.
P. 2 – 28. - Фуксман А.Л. Технологические аспекты создания программных систем. М.: Статистика, 1979. 184 с.
- Горбунов-Посадов М.М. Как растёт программа // Открытые системы. 2000. № 10. С. 43 – 47.
- Conejero J.M., Hernández J., Jurado E., Berg K.G., van den. Crosscutting, what is and what is not?: A Formal definition based on a Crosscutting Pattern // University of Twente. URL: http://doc.utwente.nl/64648/1/ConHerJurBer2007.pdf (дата обращения: 25.11.2016).
- Berg K.G. van den, Conejero, J.M., Hernández J. Identification of Crosscutting in Software Design. // 8th International Workshop on Aspect-Oriented Modeling. Bonn, Germany, March 2006. P. 1 – 7.
- Conejero J.M., Figueiredo E., Garcia A., Hernández J., Jurado E. Early Crosscutting Metrics as Predictors of Software Instability. // Objects, Components, Models and Patterns, ser. LNBIP. 2009. Vol. 33. P. 136 – 156.
- Головешкин А.В. IDE с аспектной разметкой кода для работы с YACC-грамматиками: магистерская дис. Южный федеральный университет, Ростов н/Д., 2015.
- The GPPG Parser Generator. Documentation // CodePlex. Gardens Point Parser Generator. URL: http://gppg.codeplex.com/downloads/get/378046 (дата обращения: 20.12.2016).