Статья 2 Investigation of Methods for Testing AspectOriented Software Исследование методов для аспекта тестирования ориентированное программное обеспечение


aspect confirmation { before: call



Скачать 65.55 Kb.
страница5/24
Дата23.06.2022
Размер65.55 Kb.
#130952
ТипСтатья
1   2   3   4   5   6   7   8   9   ...   24
Статья 2-Исследование методов аспекта тестирования (9000 слов) (1-4 главы)

aspect confirmation
{
before: call (public void update* (..)) // pointcut
{
// advice which executes when woven into the executing system
int value = 0 ;
string userPassword = Password.Get ( value ) ;
while (value < 3 && userPassword != thisUser.password ( ) )
{
// 3 values to get the right password
value = value + 1 ;
userPassword = Password.Get ( value ) ;
}
if (userPassword != thisUser.password ( )) then
System.Logout (thisUser.uid);
}
}
Figure 2: Construction of an Aspect with AspectJ. (Sommerville, 2010)
После вырезания точки есть код, который известен как совет. Этот совет реализует
сквозную проблему. Совет-это метод, подобный конструкции, который содержит дополнительное поведение, которое должно быть добавлено в согласованной точке соединения. Совет вплетается в точки соединения, когда сопоставляется шаблон
точечного разреза. Другими словами, совет используется для выражения сквозных действий, которые должны выполняться в теле метода в согласованной точке соединения. (Александер и др., 2004). Хорошо известны три вида объектов советов: до совета, после совета и вокруг совета. В случае "перед советом" его тело выполняется перед телом согласованной точки соединения. После консультации выполняется после выполнения тела согласованной точки соединения. Согласно Александру и др. (2004), ан вокруг тела совета окружает точку соединения спичек. Рекомендации могут изменить выполнение согласованного тела точки соединения или даже заменить согласованное тело точки соединения. Другими словами,
рекомендации по обходу могут полностью обойти соответствующие элементы точки соединения или сделать управление выполнением соответствующей точки соединения, зависимым от рекомендаций по обходу.
Точка соединения используется pointcuts для указания того, где должен выполняться код, и это отличительная характеристика аспектов. Чтобы понять, что означает точечный разрез, нам нужно понять еще одну концепцию—идею точки соединения. Точка соединения отражает событие, которое происходит во время выполнения программы; таким образом, это может быть вызов метода, инициализация переменной, обновление поля и т. Д. (Sommerville, 2010, стр. 574). Точка соединения — это четко определенная точка выполнения программы. Примерами точек соединения являются вызов или выполнение методов, доступ к атрибуту и инициализация объекта (Паризи и Гани,2007).
Поведение в аспектах объединяется с исходным кодом в процессе создания аспектов. Мы можем сказать, что плетение — это процесс объединения сквозных проблем с основными концепциями системы или программы. Переплетение аспектов составляет код базовых классов в AspectJ, и аспекты гарантируют, что применимые рекомендации выполняются в соответствующей точке соединения. На рисунке 3 показана иллюстрация аспектного плетения. Ответственность ткача аспектов заключается в объединении рекомендаций в точках соединения, указанных в разрезах точек. Аспектный ткач на рисунке является расширением компилятора, который обрабатывает определение аспектов, а также классов объектов и методов, определяющих систему. Затем ткач создает новую программу с включенными аспектами в указанных точках соединения. Правильность процесса плетения подтверждается выполнением сквозных задач в нужных местах в конечной системе (Sommerville, 2010, стр. 575).



Скачать 65.55 Kb.

Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   ...   24




База данных защищена авторским правом ©vossta.ru 2022
обратиться к администрации

    Главная страница