Overview » History » Version 3
Sergey Groshev, 12/24/2009 12:47 PM
Картинка
1 | 1 | Sergey Groshev | h1. Overview |
---|---|---|---|
2 | |||
3 | Инфраструктура для аспектно-ориентированной трассировки и для анализа таких трасс. |
||
4 | |||
5 | h2. Назначение проекта |
||
6 | |||
7 | Технология расширяемой трассировки Aspectrace предназначена для разработчиков и тестировщиков, которым нужно трассировать (логгировать) при работе многокомпонентного приложения или теста *разнородную* и *структурированную* информацию, после чего гибко выбирать из полученной трассы нужные данные, анализировать их, связывать между собой и строить разнообразные отчёты. |
||
8 | |||
9 | Технология поддерживает расширяемый формат трассы. Поддерживаются подключаемые модули (называемые _аспектами_), каждый из которых предназначен для работы с информацией определённого вида, определяет собственные модели данных и типы сообщений трассы. Аспекты могут подключаться приложениями, генерирующими и анализирующими трассу, независимо друг от друга в нужных комбинациях, что позволяет гибко собирать из компонентов генератора отчётов (как готовых библиотечных, так и разработанных под конкретную задачу), анализирующих различные срезы информации, нужные отчёты. Предусмотрены механизмы, облегчающие связывание данных из разных аспектов. Также поддерживаются подключаемые модули, определяющие различные внешние представления и способы хранения трассы. |
||
10 | |||
11 | h2. Ключевые свойства |
||
12 | |||
13 | # *Универсальность:* |
||
14 | Технология не привязана к какой-либо предметной области, классу приложений, способу тестирования, языку программирования, платформе или способу хранения данных. |
||
15 | # *Расширяемость:* |
||
16 | Структура трассы и архитектура системы допускают добавление новых видов информации (аспектов) без дополнительных накладных расходов и без необходимости перекомпиляции старых приложений. Также возможно прозрачное добавление способов внешнего хранения трассы. |
||
17 | # *Модульность:* |
||
18 | Приложение, генерирующее трассу, сбрасывает в неё без ущерба для логической целостности только ту информацию, которую разработчик считает существенной. По мере необходимости можно добавлять сброс новых видов информации. |
||
19 | Приложение, анализирующее трассу, выбирает из неё только понятную ему и существенную для него информацию, безболезненно (как по ресурсам, так и с точки зрения согласованности данных) игнорируя все остальное. Архитектура системы позволяет легко настраивать, какую информацию брать из трассы, какими способами её обрабатывать и как связывать между собой, что позволяет создавать легко настраиваемые отчёты, собираемые из готовых компонентов. |
||
20 | # *Простота связывания:* |
||
21 | Предоставляются средства, упрощающие автоматическое связывание разнородной информации при анализе трассы. |
||
22 | # *Унификация:* |
||
23 | Стандартные виды информации, используемые в различных предметных областях, трассируются и обрабатываются в унифицированном виде, что позволяет легко разрабатывать как собственные библиотеки аспектов, так и универсальные обработчики, принимающие информацию из разных аспектов. |
||
24 | # *Структурированность данных:* |
||
25 | Поддерживается сброс в трассу структурированной информации и извлечение её с сохранением структуры. |
||
26 | # *Гибкость трассировки и анализа:* |
||
27 | Возможность легко настраивать, что трассировать, а что нет; какую информацию брать из трассы, как её анализировать, как связывать между собой и как представлять. |
||
28 | |||
29 | h2. Архитектура |
||
30 | |||
31 | 3 | Sergey Groshev | !http://forge.ispras.ru/attachments/133/Aspectrace_architecture.gif! |
32 | 1 | Sergey Groshev | |
33 | h2. Примеры использования |
||
34 | |||
35 | source:trunk/src/java/com/unitesk/aspectrace/sampleApp |
||
36 | |||
37 | h2. Ссылки на более подробные документы |
||
38 | |||
39 | source:trunk/docs/Aspectrace_manual.doc |
||
40 | |||
41 | |||
42 | h1. Ссылки для скачивания |
||
43 | |||
44 | Файлы поставки можно скачать здесь: http://forge.ispras.ru/projects/list_files/aspectrace |
||
45 | |||
46 | Данный проект зависит от проекта "coverage":http://forge.ispras.ru/projects/show/coverage , файлы поставки которого можно скачать здесь: http://forge.ispras.ru/projects/list_files/coverage |