Project

General

Profile

Actions

Task #2163

open

Генерация заготовки тестовой системы по информации об интерфейсе

Added by Alexander Kamkin almost 13 years ago. Updated almost 6 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
01/09/2012
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Published in build:

Description

1. Предложить формат для представления информации об интерфейсе (интерфейс между veritool - визардом - генератором). Лучше использовать xml - проще писать парсер.
2. Написать генератор для генерации заготовки тестовой системы (можно использовать библиотеки генерации по шаблонам типа velocity).
декларация интерфейсов
декларация сообщений
декларация/определение сериализаторов/десериализаторов

Actions #1

Updated by Sergey Smolov over 12 years ago

  • Assignee changed from Sergey Smolov to Anonymous
Actions #2

Updated by Sergey Smolov about 12 years ago

  • Status changed from New to Resolved
  • Assignee changed from Anonymous to Alexander Kamkin
Actions #3

Updated by Alexander Kamkin over 11 years ago

  • Status changed from Resolved to Open
  • Assignee changed from Alexander Kamkin to asd ert

Нужно расширить внутреннее представление (Java/XML + документация в wiki):

  1. описание операций (с каждой операцией должен быть ассоциирован один входной интерфейс и несколько выходных);
  2. спецификация арбитра выходного интерфейса (fifo, compare);
  3. описание паттерна сигналов для адаптера интерфейса (регулярные выражения);
  4. учесть групповые интерфейсы (массивы и двумерные массивы интерфейсов);
  5. параметризованное описание адаптера группового интерфейса;
  6. описание соответствия полей и сигналов.
Actions #4

Updated by asd ert over 11 years ago

  • Status changed from Open to Feedback
  • Assignee changed from asd ert to Alexander Kamkin
4. учесть групповые интерфейсы (массивы и двумерные массивы интерфейсов);
5. параметризованное описание адаптера группового интерфейса;

Можно поподробнее про эти пункты: что это вообще значит и как поможет при генерации шаблонов?

Actions #5

Updated by Alexander Kamkin over 11 years ago

  • Assignee changed from Alexander Kamkin to asd ert

В XML-языке описания тестовых систем необходимо учесть, что интерфейсы могут быть групповыми. Что это значит? Это значит, что в языке должна быть возможность для декларации массивов однотипных интерфейсов (интерфейсов с одинаковым типом сообщений, одинаковым типом арбитров и т.п.). С точки зрения XML это означает, что для тэга "интерфейс" добавляются дополнительные атрибуты: type (значения: "single" (по умолчанию) или "array") и dim (примеры значений: "[<name-of-the-dimension>=3]", "[<name-of-the-dimension>=4][<name-of-the-dimension>=5]").

При описании адаптеров для групповых интерфейсов имеется следующая особенность. В зависимости от значения индексов интерфейса нужно выбрать тот или иной сигнал аппаратуры. Например, для интерфейса I[0] нужно в адаптере выбрать сигнал signal_0, а для интерфейса I[1] - signal_1.

Actions #6

Updated by Alexander Kamkin over 11 years ago

Генерация шаблонов:

  • Декларация интерфейсов

одиночные интерфейсы: CPPTESK_DECLARE_{INPUT,OUTPUT}.
групповые интерфейсы: CPPTESK_DECLARE_{INPUT,OUTPUT}_ARRAY или CPPTESK_DECLARE_{INPUT,OUTPUT}_ARRAY_2D.

  • Декларация сообщений

В каждый класс сообщений, передаваемых по групповым интерфейсам, для каждой размерности добавляется целочисленное поле (значение индекса). Название поле берется из XML-описания.

  • Генерация адаптеров

В зависимости от значения индексов (получаемых из соответствующих полей сообщения) в адаптере осуществляется селекция сигналов.

Actions #7

Updated by Alexander Kamkin over 11 years ago

Я сейчас не в Москве, поэтому не могу оперативно отвечать на вопросы. Вопросы можно также адресовать Сергею Смолову и Михаилу Чупилко.

Actions #8

Updated by Sergey Smolov almost 6 years ago

  • Status changed from Feedback to New
  • Assignee deleted (asd ert)
Actions

Also available in: Atom PDF