Project

General

Profile

Development Milestones » History » Version 3

Alexander Kamkin, 04/02/2014 09:14 AM

1 1 Alexander Kamkin
h1. Development Milestones
2
3 2 Alexander Kamkin
h2. Version 2 (deadline: 31/08/2014)
4 1 Alexander Kamkin
5 2 Alexander Kamkin
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.
6 1 Alexander Kamkin
7 2 Alexander Kamkin
h3. Version 2.0 (deadline: 30/04/2014)
8 1 Alexander Kamkin
9 3 Alexander Kamkin
_Keywords_: test situations, exceptions, initialization code, branching instructions
10
11 2 Alexander Kamkin
* _Test Situations_
12
** Manual description of test situations in Java and XML should be supported
13
** Test situations should be accessible from test templates (corresponding solvers should be invoked, and generated data should be substituted into the test program)
14
** Each instruction should have a top-level test situation (by default, the top-level situation is @Random@)
15
** There should be a configuration file assigning top-level test situations to instructions (@Random@, @Zero@, etc.)
16
* _Initialization Code_
17
** Manual specification of initialization code (for each access mode) should be supported
18
** Automated extraction of initialization code (for each access mode) should be implemented
19
* _Exceptions_
20
** Mechanism for specifying exceptions should be clarified (probably, a predefined function, like @RaiseException@, should be introduced)
21
** Means for describing exception handling logic should be added
22
* _Branch Instructions_
23
** Facilities for defining/using labels in test templates should be revisited
24
** Combinatorial test program generation based on test templates with branch instructions should be implemented
25
* _Documentation_
26
** All new facilities should be documented
27
28 1 Alexander Kamkin
h3. Version 2.1 (deadline: 31/05/2014)
29
30 3 Alexander Kamkin
_Keywords_: VLIW, aliases, self-checking test programs
31
32
* _Specification_
33
** Auxiliary nML constructs, like @alias@, should be enabled
34
** Mechanisms for calling operations in operations should be implemented
35
** Means for specifying VLIW architectures (e.g., Elbrus) should be added
36
* _Testing_
37
** Mechanisms for calling test templates in test templates should be implemented
38
** Generation of self-checking test programs should be supported
39
** Means for writting test templates for VLIW architectures should be added
40
* _Example_
41
** A fragment of the Elbrus architecture should specified
42
** Some test templates for the Elbrus architecture should be written
43
* _Documentation_
44
** All new facilities should be documented
45 2 Alexander Kamkin
46
h3. Version 2.2 (deadline: 30/06/2014)
47
48 1 Alexander Kamkin
# поддержка композиции тестовых ситуаций
49
## дизъюнктивная композиция (случайный выбор на основе весов)
50
## конъюнктивная композиция (с возможностью указания "жестких" и "мягких" ограничений)
51
# поддержка декомпозиции тестовых ситуаций (представление тестовой ситуации в форме дизъюнктивной композиции уточняющих ситуаций - импликантов)
52
## например, путем построения BDD: @rule(situation)@
53
## или с помощью других методов генерации тестов для реализаций логических функций
54
## набор правил декомпозиции должен быть расширяемым
55
# поддержка извлечения тестовых ситуаций из кода
56
## тестовая ситуация верхнего уровня (для отдельной инструкции) строится как дизъюнктивная композиция извлеченных ситуаций
57
## если в шаблоне для некоторой инструкции не указана тестовая ситуация, по умолчанию используется ситуация верхнего уровня
58
# поддержка итерации тестовых ситуаций
59
## систематический перебор тестовых ситуаций: @iterate(situation)@ или @iterate(rule(situation))@
60 2 Alexander Kamkin
61
h3. Version 2.3 (deadline: 31/07/2014)
62
63
# вынесение функций работы с тестовым знанием в проект TestBase
64
# создание среды разработки MicroTESK (модуль для Eclipse)
65
# разработка формата трассы выполнения тестовой программы
66
67
Promotion.
68
miniMIPS
69
opencores
70
71
h2. Version 3
72
73
h3. Version 3.0
74
75
# поддержка микроархитектурных спецификаций
76
## спецификация устройства управления памятью
77
## спецификация конвейера микропроцессора
78
# рефакторинг внутреннего представления
79
## унификация с проектом Retrascope
80
81
h3. Version 3.1
82
83
# поддержка многоядерных микропроцессоров
84
85
h3. Version 3.2
86
87
# интеграция с Promela-спецификациями протоколов когерентности