Project

General

Profile

Actions

Overview » History » Revision 2

« Previous | Revision 2/8 (diff) | Next »
Sergey Groshev, 12/24/2009 12:45 PM


Overview

Инфраструктура для аспектно-ориентированной трассировки и для анализа таких трасс.

Назначение проекта

Технология расширяемой трассировки Aspectrace предназначена для разработчиков и тестировщиков, которым нужно трассировать (логгировать) при работе многокомпонентного приложения или теста разнородную и структурированную информацию, после чего гибко выбирать из полученной трассы нужные данные, анализировать их, связывать между собой и строить разнообразные отчёты.

Технология поддерживает расширяемый формат трассы. Поддерживаются подключаемые модули (называемые аспектами), каждый из которых предназначен для работы с информацией определённого вида, определяет собственные модели данных и типы сообщений трассы. Аспекты могут подключаться приложениями, генерирующими и анализирующими трассу, независимо друг от друга в нужных комбинациях, что позволяет гибко собирать из компонентов генератора отчётов (как готовых библиотечных, так и разработанных под конкретную задачу), анализирующих различные срезы информации, нужные отчёты. Предусмотрены механизмы, облегчающие связывание данных из разных аспектов. Также поддерживаются подключаемые модули, определяющие различные внешние представления и способы хранения трассы.

Ключевые свойства

  1. Универсальность:
    Технология не привязана к какой-либо предметной области, классу приложений, способу тестирования, языку программирования, платформе или способу хранения данных.
  2. Расширяемость:
    Структура трассы и архитектура системы допускают добавление новых видов информации (аспектов) без дополнительных накладных расходов и без необходимости перекомпиляции старых приложений. Также возможно прозрачное добавление способов внешнего хранения трассы.
  3. Модульность:
    Приложение, генерирующее трассу, сбрасывает в неё без ущерба для логической целостности только ту информацию, которую разработчик считает существенной. По мере необходимости можно добавлять сброс новых видов информации.
    Приложение, анализирующее трассу, выбирает из неё только понятную ему и существенную для него информацию, безболезненно (как по ресурсам, так и с точки зрения согласованности данных) игнорируя все остальное. Архитектура системы позволяет легко настраивать, какую информацию брать из трассы, какими способами её обрабатывать и как связывать между собой, что позволяет создавать легко настраиваемые отчёты, собираемые из готовых компонентов.
  4. Простота связывания:
    Предоставляются средства, упрощающие автоматическое связывание разнородной информации при анализе трассы.
  5. Унификация:
    Стандартные виды информации, используемые в различных предметных областях, трассируются и обрабатываются в унифицированном виде, что позволяет легко разрабатывать как собственные библиотеки аспектов, так и универсальные обработчики, принимающие информацию из разных аспектов.
  6. Структурированность данных:
    Поддерживается сброс в трассу структурированной информации и извлечение её с сохранением структуры.
  7. Гибкость трассировки и анализа:
    Возможность легко настраивать, что трассировать, а что нет; какую информацию брать из трассы, как её анализировать, как связывать между собой и как представлять.

Архитектура

attachment:Aspectrace_architecture.gif!

Примеры использования

source:trunk/src/java/com/unitesk/aspectrace/sampleApp

Ссылки на более подробные документы

source:trunk/docs/Aspectrace_manual.doc

Ссылки для скачивания

Файлы поставки можно скачать здесь: http://forge.ispras.ru/projects/list_files/aspectrace

Данный проект зависит от проекта coverage , файлы поставки которого можно скачать здесь: http://forge.ispras.ru/projects/list_files/coverage

Updated by Sergey Groshev over 14 years ago · 2 revisions