• Nenhum resultado encontrado

Os casos de teste desenvolvidos neste trabalho podem ser cate- gorizados de acordo com a fam´ılia de fun¸c˜oes do SO `a qual servem. Apresenta-se a seguir de forma breve o objetivo de cada uma dessas categorias, assim como a fun¸c˜ao de cada um dos casos de teste perten- centes a cada uma delas. Detalhes sobre cada um desses casos de teste podem ser consultados no Apˆendice D.

6.1.1 Escalonamento e execu¸c˜ao

Trata-se de testes que tˆem por objetivo demonstrar o funciona- mento do escalonamento de parti¸c˜oes (tanto de aplica¸c˜ao quanto de sistema) e de processos, e ainda permitir a calibra¸c˜ao das constantes de temporiza¸c˜ao para os demais testes.

001 SLOWPARTITIONSCHEDULING Teste de escalonamento lento de par- ti¸c˜oes (com janelas de tempo da ordem de segundos);

002 FASTPARTITIONSCHEDULING Teste de escalonamento r´apido de

parti¸c˜oes (com janelas de tempo da ordem de milissegundos);

003 SLOWPROCESSSCHEDULING Teste de escalonamento lento de pro- cessos peri´odicos (com per´ıodos da ordem de segundos);

004 FASTPROCESSSCHEDULING Teste de escalonamento r´apido de pro- cessos peri´odicos (com per´ıodos da ordem de milissegundos);

005 TESTCOUNTERCALIBRATION Utilizado para calibra¸c˜ao das cons- tantes de temporiza¸c˜ao utilizadas nos demais testes;

006 RETURNPOINT Teste de tratamento do retorno de todos os contextos de execu¸c˜ao do SO;

007 SYSTEMPARTITION Teste de parti¸c˜ao de sistema que acessa informa¸c˜oes contidas nas estruturas do n´ucleo do SO.

6.1.2 Servi¸cos ARINC 653 b´asicos

S˜ao testes que demonstram o funcionamento dos servi¸cos b´asicos oferecidos pelo SO, englobando tanto aqueles exigidos pela especifica¸c˜ao quanto aqueles desenvolvidos especificamente neste trabalho.

101 SETMODULEMODE IDLE Teste de parada do m´odulo;

102 SETMODULEMODE COLDSTART Teste de reinicializa¸c˜ao do m´odulo; 103 GETPARTITIONID Teste de obten¸c˜ao de identificador de parti¸c˜ao; 104 GETPARTITIONSTATUS Teste de obten¸c˜ao de estado de parti¸c˜ao; 105 SETPARTITIONMODE IDLE PROCESS Teste de parada de parti¸c˜ao

a partir de um de seus processos;

106 SETPARTITIONMODE IDLE PARTITIONERRORHANDLER Teste de parada de parti¸c˜ao a partir de seu processo tratador de erros; 107 SETPARTITIONMODE IDLE PARTITIONHMCALLBACK Teste

de parada de parti¸c˜ao a partir de seu HM callback ;

108 SETPARTITIONMODE COLDSTART PROCESS Teste de reinicia- liza¸c˜ao de parti¸c˜ao a partir de um de seus processos;

109 SETPARTITIONMODE COLDSTART PARTITIONERRORHAN- DLER Teste de reinicializa¸c˜ao de parti¸c˜ao a partir de seu processo tratador de erros;

110 SETPARTITIONMODE COLDSTART PARTITIONHMCALL- BACK Teste de reinicializa¸c˜ao de parti¸c˜ao a partir de seu HM callback ;

111 GETPROCESSID Teste de obten¸c˜ao de identificador de processo; 112 GETPROCESSSTATUS Teste de obten¸c˜ao de estado de processo; 113 SETPRIORITY Teste de altera¸c˜ao de prioridade de processo; 114 SUSPEND RESUME Teste de suspens˜ao e continua¸c˜ao de processo; 115 SUSPENDSELF RESUME Teste de auto-suspens˜ao e continua¸c˜ao de pro-

cesso;

116 SUSPENDSELF RESUME TIMEOUT Teste de auto-suspens˜ao com li-

mite de tempo e continua¸c˜ao de processo; 117 TIMEDWAIT Teste de bloqueio por tempo;

118 TIMEDWAIT SUSPEND RESUME Teste de suspens˜ao e continua¸c˜ao de processo durante bloqueio por tempo;

119 TIMEDWAIT COOPERATIVESCHEDULING Teste de escalona-

mento cooperativo de processos atrav´es do servi¸co TIMED WAIT; 120 REPLENISH Teste de posterga¸c˜ao de deadline de processos; 121 STOPSELF START Teste de auto-parada e rein´ıcio de processo;

122 STOPSELF DELAYEDSTART Teste de auto-parada e rein´ıcio de pro- cesso com atraso;

123 STOP START Teste de parada e rein´ıcio de processo;

124 STOP START PERIODSTART Teste de parada e rein´ıcio de processo peri´odico para verifica¸c˜ao de sua primeira libera¸c˜ao, que deve ser a partir do pr´oximo in´ıcio de per´ıodo da parti¸c˜ao;

125 STOP DELAYEDSTART Teste de parada e rein´ıcio de processo com atraso;

126 DELAYEDSTART Teste de inicializa¸c˜ao de processo com atraso;

127 LOCKPREEMPTION UNLOCKPREEMPTION Teste de bloqueio de interrup¸c˜ao de processos;

128 LOCKPREEMPTION STOPSELF PROCESS Teste de auto-parada durante bloqueio de interrup¸c˜ao de processos;

129 LOCKPREEMPTION STOPSELF PARTITIONERRORHAN- DLER Teste de auto-parada do processo tratador de erros da parti¸c˜ao durante bloqueio de interrup¸c˜ao de processos;

130 GETMYID Teste de obten¸c˜ao de identificador do processo atual.

6.1.3 Servi¸cos internos

Trata-se de testes que demonstram o funcionamento de alguns dos principais servi¸cos internos utilizados no SO desenvolvido, assim como a intera¸c˜ao desses com os servi¸cos b´asicos que influenciam sua opera¸c˜ao.

201 WAITRESOURCE SIGNALRESOURCE Teste de aquisi¸c˜ao e libera¸c˜ao de recurso;

202 WAITRESOURCE SETPRIORITY SIGNALRESOURCE Teste de aquisi¸c˜ao e libera¸c˜ao de recurso com altera¸c˜ao de prioridade de processo;

203 WAITRESOURCE SIGNALRESOURCE TIMEOUT Teste de aqui- si¸c˜ao e libera¸c˜ao de recurso com limite de tempo;

204 WAITRESOURCE SUSPEND TIMEOUT RESUME Teste de aqui- si¸c˜ao e libera¸c˜ao de recurso com limite de tempo e intercala¸c˜ao da suspens˜ao e continua¸c˜ao de processo;

205 WAITRESOURCE SUSPEND SIGNALRESOURCE RESUME Teste de aquisi¸c˜ao e libera¸c˜ao de recurso com suspens˜ao e continua¸c˜ao de processo;

206 WAITRESOURCE SUSPEND RESUME SIGNALRESOURCE Teste de aquisi¸c˜ao e libera¸c˜ao de recurso com intercala¸c˜ao da suspens˜ao e continua¸c˜ao de processo.

6.1.4 Servi¸cos ARINC 653 de comunica¸c˜ao

Demonstram o funcionamento dos elementos de comunica¸c˜ao in- traparti¸c˜ao e interparti¸c˜ao, explorando ao m´aximo os servi¸cos relacio- nados e as possibilidades de uso de cada um desses elementos.

301 EVENT Teste de eventos;

302 SEMAPHORE FIFO Teste de sem´aforo com atendimento em pol´ıtica FIFO ;

303 SEMAPHORE PRIORITY Teste de sem´aforo com atendimento por pri- oridade;

304 SEMAPHORE DEADLOCK Teste de deadlock de sem´aforos; 305 BLACKBOARD Teste de blackboard ;

306 BUFFER Teste de buffer ;

307 BUFFER FIFO Teste de buffer com atendimento em pol´ıtica FIFO ; 308 BUFFER PRIORITY Teste de buffer com atendimento por prioridade; 309 BUFFER TIMEOUT RECEIVE Teste de buffer com limite de tempo de

recebimento;

310 BUFFER TIMEOUT SEND Teste de buffer com limite de tempo de en- vio;

311 BUFFER FULL EMPTY Teste de buffer com preenchimento e esvazia- mento totais;

312 SAMPLINGPORT STANDARD Teste de portas de amostragem conec- tadas a parti¸c˜oes do mesmo m´odulo;

313 SAMPLINGPORT PSEUDO MODULE1 Teste de portas de amostra- gem conectadas a parti¸c˜oes de m´odulos diferentes (utilizado em conjunto com o teste 314 SAMPLINGPORT PSEUDO MODULE2);

314 SAMPLINGPORT PSEUDO MODULE2 Teste de portas de amostra- gem conectadas a parti¸c˜oes de m´odulos diferentes (utilizado em conjunto com o teste 313 SAMPLINGPORT PSEUDO MODULE1);

315 QUEUINGPORT STANDARD Teste de portas de enfileiramento conec- tadas a parti¸c˜oes do mesmo m´odulo;

316 QUEUINGPORT PSEUDO MODULE1 Teste de portas de enfileira- mento conectadas a parti¸c˜oes de m´odulos diferentes (utilizado em conjunto

com o teste 317 QUEUINGPORT PSEUDO MODULE2);

317 QUEUINGPORT PSEUDO MODULE2 Teste de portas de enfileira- mento conectadas a parti¸c˜oes de m´odulos diferentes (utilizado em conjunto com o teste 316 QUEUINGPORT PSEUDO MODULE1).

6.1.5 Monitoramento

Tˆem por objetivo demonstrar o funcionamento dos mecanismos relacionados ao monitoramento (health monitoring ) oferecidos pelo SO.

401 HEALTHMONITORING CURRENTSYSTEMSTATE Teste de de- tec¸c˜ao dos estados do sistema pelo mecanismo de monitoramento;

402 HEALTHMONITORING PROPAGATION APPLICATIONERROR Teste de propaga¸c˜ao de erros de aplica¸c˜ao;

403 HEALTHMONITORING PROPAGATION STACKOVERFLOW Teste de detec¸c˜ao e propaga¸c˜ao de erros de estouro de pilha;

404 HEALTHMONITORING PROPAGATION MEMORYVIOLATION Teste de detec¸c˜ao e propaga¸c˜ao de erros de viola¸c˜ao de mem´oria.

6.1.6 Especiais

S˜ao testes que fazem uso de recursos encontrados apenas em determinadas plataformas de hardware ou desenvolvidos de forma es- pec´ıfica para uma determinada plataforma.

501 FLOATINGPOINT Demonstra o funcionamento do salvamento e da res- taura¸c˜ao de contexto quando da utiliza¸c˜ao de um coprocessador aritm´etico de ponto flutuante;

502 SAMPLINGPORT SENSOR MODULE1 Teste de portas de amostra- gem conectadas a parti¸c˜oes de m´odulos diferentes que realiza a transmiss˜ao de amostras de um sensor obtidas atrav´es de uma entrada ADC (utilizado em conjunto com o teste 503 SAMPLINGPORT SENSOR MODULE2); 503 SAMPLINGPORT SENSOR MODULE2 Teste de portas de amostra- gem conectadas a parti¸c˜oes de m´odulos diferentes que gera um sinal PWM com base em amostras de um sensor (utilizado em conjunto com o teste 502 SAMPLINGPORT SENSOR MODULE1).