Глава 5 - EGEN   

   
5.1   Обзор

EGen – это программный пакет, предоставленный TPC и предназначенный для облегчения процесса реализации TPC-E. EGen предоставляет:
  •  последовательную генерацию данных, независимую от нижележащих сред
  •  генерацию Транзакций и контроль за процессом исполнения Фреймов
  •  макеты проектов и шаблоны создания файлов.
В этом пункте излагаются ограничения и инструкции, управляющие использованием EGen. Для получения детализированной информации о EGen, особенностях и функциях, предоставляемых им, и том, как Организатору теста следует использовать эти особенности и функции, см. Приложение A.


5.2   Термины EGen

5.2.1. EGen – это программная среда, предоставленная TPC, которая должна использоваться в реализации TPC-E. Программная среда логически разделена на три составляющих: EGenProjectFiles, EGenInputFiles и EGenSourceFiles. Эти программные составляющие предоставляют средства для использования: EGenLoader для генерации данных, используемых для заполнения базы данных, EGenDriver для создания транзакционных данных и EGenTxnHarness контроля вызова фрейма.

5.2.2. EGenProjectFiles – это набор файлов, предоставляемых TPC, используемых для облегчения построения пакетов EGen в среде Организатора теста.

5.2.3. EGenInputFiles –
это набор текстовых файлов, предоставляемых TPC, содержащих ряды разделенных табуляцией данных, которые используются частями EGen в качестве «сырого» материала для создания данных.

5.2.4 EGenSourceFiles –
набор файлов исходных кодов и заголовков на языке C++, предоставляемых TPC
EGenLoader – это двоичный исполняемый файл, созданный с использованием методов, описанных в EGenProjectFiles при помощи исходного кода из EGenSourceFiles, включая любые расширения, внесенные Организатором теста (см. Пункт 5.7.4). Во время исполнения, EGenLoader использует EGenInputFiles для создания набора данных, представляющих исходное состояние базы данных TPC-E

5.2.5  EGenDriver подразделяется на следующие части:
EGenDriverCE предоставляет ключевой функционал, необходимый для реализации Эмулятора клиента.
EGenDriverMEE предоставляет ключевой функционал, необходимый для реализации Эмулятора фондовой биржи.
EGenDriverDM предоставляет ключевой функционал, необходимый для реализации Генератора обслуживания данных.

5.2.6  EGenDriver предоставляет ключевой транзакционный функционал (такой как, например, Сочетание транзакций и создание входных данных), необходимый для реализации Драйвера

5.2.7  EGenTxnHarness определяет набор интерфейсов, используемых для контроля и связи входных и выходных данных, Транзакций и Фреймов.

5.2.8  EGenValidate это двоичный исполняемый файл, созданный с использованием методов, описанных в EGenProjectFiles с помощью исходного кода из EGenSourceFiles. Во время исполнения, EGenValidate использует входные данные, предоставленные Организатором, для проверки того, что за время Интервала измерения, установленного Организатором, были получены верные результаты транзакции Trade-Result по каждой Единице обработки

5.2.9  EGenLogger создает журнал исходной конфигурации и любой реконфигурации EGenDriver и EGenLoader, и сравнивает текущую конфигурацию с настройками TPC-E по умолчанию.


5.3. Совместимость версий EGen

5.3.1
Крупные и незначительный изменения спецификации и EGen должны соответствовать друг другу. Соответствия изменений третьего уровня не являются принципиальными принципиальны (см. Пункт TPC 5.3 для получения информации о пересмотре спецификации). Версию EGen можно определить вызовом функции GetEGenVersion, находящейся в файле «EGen / SRC / EGenVersion.cpp»

5.3.2
Предполагается, что EGen производит корректные данные. Однако на Организаторе теста лежит обязанность гарантировать, чтобы случайное распределение всех значений данных, вводов и сочетаний транзакций, произведенных EGen, соответствовало всем ограничениям, изложенным в спецификации (например, к Сочетанию транзакций, правилам выполнения, ограничениям, накладываемым на наполнение данными, и т.д.).

5.3.3 Любые ошибки, существующие в соответствующей версии EGen, как предусмотрено TPC, считаются согласованными со спецификацией. Поэтому любые такие ошибки не могут служить основой для проблемы соответствия.

5.3.4 EGen написан в ISO C / C + + на основе следующих стандартов:
  •   ИСО / МЭК 9899:1999 Язык программирования C
  •   ISO / IEC 14882:2003 Язык программирования C + +
Отказ C/C++ компилятора, в компилировании EGen из-за несоответствия вышеупомянутым стандартам не является дефектом или ошибкой EGen.

5.3.5 Использование EGen в соответствующем спецификации Драйвере
Поскольку код EGen написан на языке C++, у Организатора Теста есть возможность расширить классы, предоставленные TPC, не изменяя EGenSourceFiles непосредственно. Кроме того, есть неявное требование, чтобы Организаторы разработали собственные методы для некоторых классов для того, чтобы произвести рабочую реализацию Драйвера.
Есть два случая, которые нужно рассмотреть:
- Реальные классы: Эти классы (и соответствующие методы) полностью определены и реализованы в EGenSourceFiles.
- Виртуальные Классы: Эти классы (и соответствующие методы) полностью определены и частично реализованы в EGenSourceFiles.
В целях сохранения целостности эталонного теста, необходимо придерживаться следующих требований:
Реальные классы должны использоваться как есть. Они не могут быть подклассифицированы, перегружены или изменены иным образом.
Виртуальные классы должны быть расширены Организаторами, через подклассификацию и/или реализацию недостающих методов.

5.3.6 Решение ошибок EGen
Решение ошибок EGen
Если организатор теста должен исправить ошибку в EGen, чтобы показать результат, должны быть выполнены следующие шаги:
1. Ошибка должна быть сообщена TPC, следуя методу, описанному в пункте 5.3.7, не позднее предоставления самого результата..
2. Ошибка и модификация, использованная для исправления ошибки, должны быть указаны в FDR, как описано в пункте 9.4.5.1.
3. Модификация, используемая, чтобы исправить ошибку, должна быть рассмотрена аудитором, сертифицированным TPC.
Кроме того, модификация и любые последствия модификации могут использоваться как основание для возникновения проблемы соответствия.

5.3.7 Процесс сообщения о проблемах с EGen
EGen был проверен на множестве платформ. Тем не менее, невозможно гарантировать, что EGen функционально правилен во всех аспектах или будет работать правильно на всех платформах. На Организатора теста ложиться ответственность гарантировать, что EGen будет работать правильно в его среде(ах).

5.3.7.1 Проблемы переносимости между платформами
Если организатор полагает, что в EGen наличествуют проблемы портативности, он должен:
  •  Описать точный характер проблемы портативности.
  •  Описать точный характер предлагаемого решения.
  •  Связаться с администратором TPC с указанной выше документацией (в печатном или электронном виде), и послать запрос о проблеме. Организатор должен обеспечить контактную информацию для отправки ответа (например Имя, Адрес, Номер телефона, Электронная почта).
TPC даст первоначальный ответ спонсору в течение 7 дней с момента получения уведомления о проблеме портативности. Но он не гарантирует решение этого вопроса в течение 7 дней.
Если TPC одобрит запрос, то с организатором свяжутся с детальными инструкциями о том, как действовать. Возможные методы решения включают в себя:
  •  выпуск обновленной спецификации TPC и обновления EGen
  •  издание формуляра TCP, документирующего принятые изменения в EGen. В случае выпуска формуляра и использования его организатором, применяются соответствующие политики документирования (см. пункт 9.4.5.1).
Если TPC не одобрит запрос, то TPC предоставит Организатору объяснение, почему запрос не был одобрен. TPC может также предложить альтернативное решение, которое считает приемлемым.

5.3.7.2 Другие проблемы
Для любых других проблем с EGen организатор должен:
Описать точный характер проблемы.
Описать точный характер предлагаемого решения.
Связаться с администратором TPC с указанной выше документацией (в печатном или электронном виде) и послать запрос о проблеме. Организатор должен обеспечить контактную информацию для ответа (например, Имя, Адрес, Номер телефона, Электронная почта).

5.3.8 Отправка предложений по улучшениям EGen
В результате использования EGen у Организаторов теста могут возникнуть предложения по его улучшению. Чтобы отправить предложение, организатор должен:
1. Описать точный характер предлагаемого улучшения.
2. Описать любую предложенную реализацию улучшения.
3. Связаться с администратором TPC с указанной выше документацией (в печатном или электронном виде) и послать запрос о предложении улучшения EGen. Организатор должен обеспечить контактную информацию для ответа (например, Имя, Адрес, Номер телефона, Электронная почта).
TPC не гарантирует принятие каждого представленного предложения. Однако все конструктивные предложения будут обработаны TPC, и ответ будет предоставлен организатору теста.

5.4 EGenProjectFiles

EGenProjectFiles, предоставленные TPC, предназначаются для использования Организатором теста в качестве шаблона для разработки собственных сред EGen. Использование EGenProjectFiles не является обязательным.

5.5 EGenInputFiles

Модификация EGenInputFiles, предоставленных TPC, недопустима.

5.6 EGenSourceFiles

Модификация EGenSourceFiles, предоставленных TPC, недопустима за исключением случаев, предусмотренных пунктом 5.3.

5.7 EGenLoader

5.7.1 Данные для совместимой TPC-E базы данных должны быть сгенерированы EGenLoader. Версия используемого EGenLoader должна быть совместимой с версией спецификации, результат публикуется в соответствии с перечнем, приведенным в п. 5.3.

5.7.2 Предполагается, что EGenLoader производит правильное число строк для каждой таблицы TPC-E. Однако из-за случайного характера данных, сгенерированных EGenLoader, возможно, они не будут соответствовать пункту 2 этой спецификации. В этом случае тест базы данных считается недействительным.

5.7.3 Если EGenLoader генерирует пустую строку, то она должна быть загружена в базу данных.

Если Организатор теста расширяет интерфейс загрузки EGenLoader (как описано в Приложении A.6.6), весь дополнительный код должен быть просмотрен аудитором, сертифицированным TPC. Об использовании и ревизии дополнительного кода нужно сообщить в отчете. О дополнительном коде нужно сообщить в дополнительных файлах.
Примечание: цель данного пункта заключается в гарантировании, что все данные, производимые EGenLoader, не изменяются, кроме как в случае задач форматирования типов данных базы данных и сортировки данных, в то же время предоставляя Организаторам возможности настраивать EGenLoader, чтобы указать, каким образом данные загружаются в базу данных.

5.8 EGenDriver

5.8.1 Обо Всем что выводит EGenLogger нужно сообщить в дополнительных файлах. Если какой-нибудь вывод EGenLogger содержит "NO", указывая, что правильные значения по умолчанию не использовались, результат эталонного теста некорректен.

5.8.2 Организаторы должны использовать конструктор для каждого объектного класса (CCE, CMEE, or CDM), который не имеет параметра(ов) RNGSEED.

5.8.3 Организаторы должны гарантировать, что значения, предоставленные в качестве параметров UniqueID для конструкторов каждой объектной группы (CCE, CMEE, или CDM), были уникальны в пределах каждой объектной группы.

5.8.4 Входные данные Транзакций генерируются классами EGenDriverCE, EGenDriverMEE и EGenDriverDM. Каждый экземпляр CE, MEE и DM должен быть подтвержден, используя последовательные значения некоторых глобальных вводов, и должен использовать те же значения, что и все экземпляры EGenLoader во время генерации исходных данных.
Содержимое EGenInputFiles, используемое всеми экземплярами класса EGenLoader (при создании базы данных) и всеми экземплярами CE, MEE и DM (во время обработки базы данных), должно быть содержимым EGenInputFiles для версии TPC-E, которая используется в публикации эталонного теста.

5.8.5 EGenDriverCE

5.8.5.1 Совместимая со спецификацией реализация CE должна использовать EGenDriverCE.

5.8.5.2 Если используется разделение клиента в EGenDriverCE, то конфигурация должна удовлетворять требованиям п. 6.4.2.

5.8.6 EGenDriverMEE

5.8.6.1 Совместимая со спецификацией реализация MEE должна использовать EGenDriverMEE.

5.8.7 EGenDriverDM

5.8.7.1 Соответствующий спецификации Генератор Обслуживания данных должен использовать EGenDriverDM.

5.8.7.2 Один и только один экземпляр класса Генератора Обслуживания данных необходим и разрешен во время выполнения теста.

5.9 EGenTxnHarness

5.9.1 Соответствующая спецификации реализация TPC-E должна использовать EGenTxnHarness.

5.10 EGenValidate

5.10.1 Соответствующая спецификации TPC-E реализация должна использовать EGenValidate, чтобы проверить, что в Интервале Измерения есть корректные результаты торгов в каждой единице обработки.









Статья: Глава 5 - EGEN

Перейти на главную страницу компании "Софтпоинт"