Development Milestones » History » Revision 3
Revision 2 (Alexander Kamkin, 04/02/2014 09:00 AM) → Revision 3/9 (Alexander Kamkin, 04/02/2014 09:14 AM)
h1. Development Milestones h2. Version 2 (deadline: 31/08/2014) MicroTESK v2 should fully support instruction set specifications and random/combinatorial template-based test program generation. This is the minimal functionality that makes the MicroTESK tool useful. h3. Version 2.0 (deadline: 30/04/2014) _Keywords_: test situations, exceptions, initialization code, branching instructions * _Test Situations_ ** Manual description of test situations in Java and XML should be supported ** Test situations should be accessible from test templates (corresponding solvers should be invoked, and generated data should be substituted into the test program) ** Each instruction should have a top-level test situation (by default, the top-level situation is @Random@) ** There should be a configuration file assigning top-level test situations to instructions (@Random@, @Zero@, etc.) * _Initialization Code_ ** Manual specification of initialization code (for each access mode) should be supported ** Automated extraction of initialization code (for each access mode) should be implemented * _Exceptions_ ** Mechanism for specifying exceptions should be clarified (probably, a predefined function, like @RaiseException@, should be introduced) ** Means for describing exception handling logic should be added * _Branch Instructions_ ** Facilities for defining/using labels in test templates should be revisited ** Combinatorial test program generation based on test templates with branch instructions should be implemented * _Documentation_ ** All new facilities should be documented h3. Version 2.1 (deadline: 31/05/2014) _Keywords_: VLIW, aliases, self-checking test programs * _Specification_ ** Auxiliary полная поддержка языка nML constructs, like @alias@, should be enabled ** Mechanisms for calling operations in operations should be implemented поддержка алиасов регистров ** Means for specifying VLIW architectures (e.g., Elbrus) should be added поддержка вызовов операций из операций * _Testing_ поддержка вызовов шаблонов из других шаблонов ** Mechanisms for calling test templates in test templates should be implemented ** Generation of self-checking test programs should be supported ** Means for writting test templates for VLIW architectures should be added * _Example_ поддержка самопроверяющих тестовых программ ** A fragment of the Elbrus architecture should specified ** Some test templates for the Elbrus architecture should be written * _Documentation_ ** All new facilities should be documented поддержка архитектур с широким командным словом (VLIW) h3. Version 2.2 (deadline: 30/06/2014) # поддержка композиции тестовых ситуаций ## дизъюнктивная композиция (случайный выбор на основе весов) ## конъюнктивная композиция (с возможностью указания "жестких" и "мягких" ограничений) # поддержка декомпозиции тестовых ситуаций (представление тестовой ситуации в форме дизъюнктивной композиции уточняющих ситуаций - импликантов) ## например, путем построения BDD: @rule(situation)@ ## или с помощью других методов генерации тестов для реализаций логических функций ## набор правил декомпозиции должен быть расширяемым # поддержка извлечения тестовых ситуаций из кода ## тестовая ситуация верхнего уровня (для отдельной инструкции) строится как дизъюнктивная композиция извлеченных ситуаций ## если в шаблоне для некоторой инструкции не указана тестовая ситуация, по умолчанию используется ситуация верхнего уровня # поддержка итерации тестовых ситуаций ## систематический перебор тестовых ситуаций: @iterate(situation)@ или @iterate(rule(situation))@ h3. Version 2.3 (deadline: 31/07/2014) # вынесение функций работы с тестовым знанием в проект TestBase # создание среды разработки MicroTESK (модуль для Eclipse) # разработка формата трассы выполнения тестовой программы Promotion. miniMIPS opencores h2. Version 3 h3. Version 3.0 # поддержка микроархитектурных спецификаций ## спецификация устройства управления памятью ## спецификация конвейера микропроцессора # рефакторинг внутреннего представления ## унификация с проектом Retrascope h3. Version 3.1 # поддержка многоядерных микропроцессоров h3. Version 3.2 # интеграция с Promela-спецификациями протоколов когерентности