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).