Курсовая работа: Домашнее задание 2
Описание
Характеристики курсовой работы
Список файлов
- Домашнее задание 2
- docs_task2
- docs_task2.rar 100,14 Kb
- 1_prac_intro_ru.pdf 399,61 Kb
- 2_prac_functest_intro_ru.pdf 360,63 Kb
- 3_prac_functest_chained_ru.pdf 344,28 Kb
- REQS_BCS_INIT_ru.pdf 231,75 Kb
- REQS_BCS_SKV_ru.pdf 316,8 Kb
- REQS_ChainedDevices_BCVM_ru.pdf 383,66 Kb
- task2.doc 50,5 Kb
- task2.pdf 97,6 Kb
- Приведение виртуалки в порядок.txt 843 b
- Решение (avasite)
- Log1 - нормальная кодировка.txt 3,05 Kb
- Log1.log 2,58 Kb
- Readme.txt 2,8 Kb
- TCK.c 5,48 Kb
- TCK.h 3,58 Kb
- TaskFT_ChainedDevices_avasilenko_151214_13h25m.project.tbz 21,16 Kb
- _ VasilenkoAE - answer.zip 23,53 Kb
Чтобы виртуалка нормально себя вела лучше переустановить virtual box tools:
#su
#apt-get update
#apt-get install linux-headers-$(uname -u)
Пойти и кликнуть в менюшке виртуальной машины «Устройства» -> «Подключить образ, …»
Зайти в проводник в виртуалке «Меню приложений» -> «Файловый мнеджер» и скопировать то, что есть на cd-rom куда-нибудь на виртуалку.
Потом запустить «<>.run»
Перегрузить виртуалку.
Теперь всё в порядке с разрешением, перетаскиванием файлов из хоста в виртуалку и обратно, …
**************************************** ***********
* Протокол функционального тестирования LOG1 *
* Собран компонентом tck *
* Тип компонента: TCK::TCK *
* Имя эксперимента: exp *
* Дата эксперимента: Пнд Дек 14 13:57:41 MSK 2015 *
* Продолжительность эксперимента: 7с 910мс *
* Эксперимент запущен пользователем: user *
**************************************** ***********
>>>> [0мс] от начала эксперимента
---------------------------------------- -----------
|Starting functional testing of the central computer (BCVM)
---------------------------------------- -----------
Тест "3.1.1"
---------------------------------------- -----------
|// Checking startup, first cyclogram handling on arinc and first message sending duration on mils ( 50 + 100 + 50 ).
|Switching on the 'Work' mode
|RTS_WHEN( 'H_in == 1', 200 )
---------------------------------------- -----------
>>>> [200мс] от начала эксперимента
Тест "3.1.1" не прошёл
---- Нарушены требования: BCVM.SKV.START.HTRANS
---------------------------------------- -----------
|Error: waiting too long for the 'Work' mode
---------------------------------------- -----------
Тест "3.1.2"
---------------------------------------- -----------
|// Checking if bcvm process correcly 'sensor failure flag', waiting for the main cycle of bcvm, arinc and mils delays ( 1000 + 100 + 50 ).
|RTS_WHEN( 'H_in == 0 && P_in == 0 && T_in == 0', 1150 )
---------------------------------------- -----------
>>>> [2с 300мс] от начала эксперимента
Тест "3.1.2" прошёл
++++ Выполнены требования: BCS.SKV.SENSFAIL.FLAG
Тест "3.1.3"
---------------------------------------- -----------
|// Checking if bcvm process correcly incorrect sensor data, waiting for the main cycle of bcvm, arinc and mils delays ( 1000 + 100 + 50 ).
|RTS_WHEN( 'H_in == 0 && P_in == 0 && T_in == 0', 1150 )
---------------------------------------- -----------
>>>> [4с 300мс] от начала эксперимента
Тест "3.1.3" прошёл
++++ Выполнены требования: BCS.SKV.SENSFAIL.HNEG
Тест "3.1.4"
---------------------------------------- -----------
|// Checking if bcvm process correcly incorrect sensor data, waiting for the main cycle of bcvm, arinc and mils delays ( 1000 + 100 + 50 ).
|RTS_WHEN( 'State_in == 1', 1150 )
---------------------------------------- -----------
>>>> [5с 450мс] от начала эксперимента
Тест "3.1.4" не прошёл
---- Нарушены требования: BCS.SKV.SENSFAIL.FORCEFLAG
---------------------------------------- -----------
|Error: waited too long for correct state to be stored
---------------------------------------- -----------
Василенко Анатолий
521 группа
Тест номер 1 - проваливается, потому что там происходит сравнение с тем значением, которое я передал от имени сенсора, однако при передаче по шине значение портится и "1" становитя "0.99". Что приводит к провалу теста, т.к. в требованиях написано "БЦВМ должна начать выдачу полученного от датчика (Sensor) значения параметра H_sens в хранилище".
(Видно, что иногда не правильные значения передаются и когда запускается модель "Stand" (хотя не всегда)).
(У себя я видел, как значение меняется за счёт его печати:
H_sens = 1;
while(true)
{
DelayBeforeNextOp(1000);
RTS_PRINTF( "got %f", H_in );
}
)
Тест номер 4 - проваливается, потому что в bcvm допущена ошибка:
H_out = 0.0;
T_out = 0.0;
P_out = 0.0;
State_out = State_sens; // Должно быть = любому ненулевому значению
Также в тестах 3.1.{2,3,4} в случае их успешного завершения (т.е. если bcvm будет детектировать ошибку данных), я отправляю от имени сенсора новые валидные данные и жду 1150 милисекунд, чтобы bcvm перешла в нормальный режим работы и тем самым я исключаю побочный эффект своего тест (на самом деле не принципиально важно, что я назову нормальным режимом работы, важно просто условиться, чтобы был конкретный режим работы, чтобы можно было написать тест так, чтобы после срабатывания одного теста, это не приводило к срабатыванию последующих тестов (например, у меня есть тест 3.1.2 и 3.1.3, которые выполняются последвательно, и оба проверяют, что bcvm детектирует ошибки датчика, однако если бы не было восстаноления состояния, то т.к. первый тест переводит bcvm в состояние "Sensor Failure", то второй тест будет срабатывать мгновенно за первым))