Project

General

Profile

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-спецификациями протоколов когерентности