Task #2163
open
Генерация заготовки тестовой системы по информации об интерфейсе
Added by Alexander Kamkin almost 13 years ago.
Updated almost 6 years ago.
Description
1. Предложить формат для представления информации об интерфейсе (интерфейс между veritool - визардом - генератором). Лучше использовать xml - проще писать парсер.
2. Написать генератор для генерации заготовки тестовой системы (можно использовать библиотеки генерации по шаблонам типа velocity).
декларация интерфейсов
декларация сообщений
декларация/определение сериализаторов/десериализаторов
- Assignee changed from Sergey Smolov to Anonymous
- Status changed from New to Resolved
- Assignee changed from Anonymous to Alexander Kamkin
- Status changed from Resolved to Open
- Assignee changed from Alexander Kamkin to asd ert
Нужно расширить внутреннее представление (Java/XML + документация в wiki):
- описание операций (с каждой операцией должен быть ассоциирован один входной интерфейс и несколько выходных);
- спецификация арбитра выходного интерфейса (fifo, compare);
- описание паттерна сигналов для адаптера интерфейса (регулярные выражения);
- учесть групповые интерфейсы (массивы и двумерные массивы интерфейсов);
- параметризованное описание адаптера группового интерфейса;
- описание соответствия полей и сигналов.
- Status changed from Open to Feedback
- Assignee changed from asd ert to Alexander Kamkin
4. учесть групповые интерфейсы (массивы и двумерные массивы интерфейсов);
5. параметризованное описание адаптера группового интерфейса;
Можно поподробнее про эти пункты: что это вообще значит и как поможет при генерации шаблонов?
- 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
.
Генерация шаблонов:
одиночные интерфейсы: CPPTESK_DECLARE_{INPUT,OUTPUT}
.
групповые интерфейсы: CPPTESK_DECLARE_{INPUT,OUTPUT}_ARRAY
или CPPTESK_DECLARE_{INPUT,OUTPUT}_ARRAY_2D
.
В каждый класс сообщений, передаваемых по групповым интерфейсам, для каждой размерности добавляется целочисленное поле (значение индекса). Название поле берется из XML-описания.
В зависимости от значения индексов (получаемых из соответствующих полей сообщения) в адаптере осуществляется селекция сигналов.
Я сейчас не в Москве, поэтому не могу оперативно отвечать на вопросы. Вопросы можно также адресовать Сергею Смолову и Михаилу Чупилко.
- Status changed from Feedback to New
- Assignee deleted (
asd ert)
Also available in: Atom
PDF