Figura 9: RdP-T de acesso ao barramento CAN, com trˆes grupos de tarefas (LIME;ROUX,2003).
p1 p3
Figura 10: RdP-T de duas tarefas sobre um processador (LIME;ROUX,2003).
2003).
5.2 An´alise de Escalonabilidade sobre a RdP-T
Considerando que as tarefas que comp˜oem o sistema est˜ao modeladas (etapa 1) em redes de Petri temporais e que estas representam uma soluc¸˜ao de projeto para o software, propomos verificar a priori se um dado conjunto de tarefas cumpre ou n˜ao seus requisitos temporais (etapas 4 e 6).
Para isso, a an´alise de escalonabilidade prop˜oe-se a responder `a seguinte pergunta: ”Cada tarefa satisfaz o seu deadline?”. A t´ecnica de tempo global apresentada no cap´ıtulo 3 deve ent˜ao
5.2 An´alise de Escalonabilidade sobre a RdP-T 73
ser aplicada sobre a RdP-T modelada de acordo com a sec¸˜ao 5.1 para a gerac¸˜ao do grafo de classes de tempo global. Ap´os a gerac¸˜ao deste grafo, uma sequˆencia de disparo ´e gerada de acordo com uma das pol´ıticas de escalonamento propostas a seguir, para a observac¸˜ao dos tempos de modo a responder `a pergunta do in´ıcio deste par´agrafo.
Algumas an´alises espec´ıficas s˜ao poss´ıveis de serem realizadas sobre os dados gerados pela t´ecnica de tempo global e associados `as sequˆencias de disparos. A seguir exemplificamos algu-mas.
An´alise de deadline e An´alise de janela. Os requisitos temporais das tarefas podem ser de deadline, de sincronismo e de distˆancia. Interessam-nos as duas primeiras: a an´alise de deadline
´e realizada tomando-se como base o valor do deadline, ou seja, da limitac¸˜ao ao tempo m´aximo para o t´ermino da tarefa, enquanto a an´alise de janela, ´e realizada tomando-se como base a delimitac¸˜ao m´axima e m´ınima, ou seja um intervalo, do instante de t´ermino.
An´alise de Hiperper´ıodo (hyper period) ou de Ciclo Maior (major cycle). “(...) Quando tare-fas peri´odicas s˜ao executadas indefinidamente, a observac¸˜ao do comportamento teria tamb´em que ser permanente. Entretanto, como o comportamento do conjunto de tarefas ´e peri´odico, ´e sufici-ente analisar somsufici-ente um per´ıodo, ou pseudoper´ıodo, (...) chamado per´ıodo de escalonamento, tamanho do escalonamento ou hiperper´ıodo (...)”. O hiperper´ıodo ´e delimitado por instantes cr´ıticos. “ O per´ıodo de escalonamento de um conjunto de tarefas inicia-se na data de ativac¸˜ao mais cedo, i.e., na data ti=Min{ri,0}, sendo ri,0, a data de primeira ativac¸˜ao da tarefa i, sendo i pertencente ao conjunto de tarefas peri´odicas, considerando todas as tarefas desse conjunto”
(COTTET et al., 2002). O per´ıodo conclui-se em tf=Max{ri,0,(rj,0+Dj)}+2·MMC(Ti). Esta
´e uma func¸˜ao, principalmente, do m´ınimo m´ultiplo comum (MMC) dos per´ıodos (Ti), sendo ri,0 e rj,0, as datas das primeiras ativac¸˜oes das tarefas i e j que variam no conjunto de ´ındices de tarefas peri´odicas e aperi´odicas, respectivamente, e sendo Dj o deadline da tarefa aperi´odica j (COTTET et al., 2002).
An´alise de pior caso (wcet). Os sistemas de tempo real somente podem garantir que os deadlines s˜ao satisfeitos se os tempos de execuc¸˜ao do pior caso (worst case execution time -wcet) de todas as tarefas da aplicac¸˜ao s˜ao conhecidos a priori. O wcet de uma tarefa ´e um limite superior para o intervalo de ativac¸˜ao da tarefa e seu t´ermino. Deve ser v´alido para todos os cen´arios de execuc¸˜ao da tarefa (HATLEY; PIRBHAI, 1987).
5.2 An´alise de Escalonabilidade sobre a RdP-T 74
Mapeamento de Pol´ıticas de Escalonamento
Ap´os a modelagem das RdP-T a partir do proposto na sec¸˜ao 5.1, ou seja, utilizando os padr˜oes de projeto e a gerac¸˜ao do grafo de classes de acordo com a t´ecnica TG, propomos a gerac¸˜ao de caminhos que se referem `as sequˆencias de disparo, de acordo com a definic¸˜ao 12. Estes caminhos devem ser gerados de acordo com algum crit´erio pr´e-definido. Nas sec¸˜oes a seguir estabelecemos os crit´erios para as pol´ıticas de escalonamento Earliest Deadline First e Fixed Priority. Para o caso de uma pol´ıtica de escalonamento Executiva C´ıclica (CE), para Sched:Procs 7→ {CE}, onde CE ´e Executiva C´ıclica, o modelo RdP-T representa somente uma tarefa que ´e tipicamente realizada como um lac¸o infinito na func¸˜ao principal main(), como na figura 6. Devido ao fato de CE n˜ao possuir um crit´erio espec´ıfico a ser satisfeito na enumerac¸˜ao dos caminhos, esta pol´ıtica
´e alcanc¸ada somente pela modelagem da RdP-T e n˜ao ´e necess´ario formalizar esta func¸˜ao Sched.
Fixed Priority
(Sched(Π(γ(t))) =PF )
A func¸˜aoϖ: Tasks7→Nguia a enumerac¸˜ao da sequˆencia de disparo composta pelas transic¸˜oes dispar´aveis tf. Ou seja, as prioridades de execuc¸˜ao das tarefas s˜ao associadas `as transic¸˜oes tida RdP-T e, para a func¸˜aoϖ, tf =tipara a ticom a maior prioridade. No caso das transic¸˜oes com a mesma prioridade em uma mesma classe, um dos seguintes crit´erios de desempate podem guiar a enumerac¸˜ao: uma escolha FIFO (primeiro-a-entrar-primeiro-a-sair); uma escolha “Earliest De-adline First” como apresentaremos na pr´oxima sec¸˜ao; ou uma escolha aleat´oria.
Ao final desta enumerac¸˜ao temos uma sequˆencia completa de disparos, gerada de acordo com a pol´ıtica de escalonamento PF, e um intervalo que corresponde a seu tempo global, i.e. um intervalo referente ao ac´umulo do tempo desde o in´ıcio at´e o final da execuc¸˜ao da sequˆencia de disparos, de acordo com a t´ecnica TG e apresentado em 3.3.3.
Earliest Deadline First (Sched(Π(γ(t))) =EDF )
A func¸˜aoδ: Tasks7→(Q+×(Q+∪ {∞}))guia a enumerac¸˜ao sobre o grafo de classes usando a pol´ıtica de escalonamento Earliest Deadline First. Esta pol´ıtica permite escolher a transic¸˜ao tique possui o intervalo com menor o limite superior (deadline m´aximo) dado porδ(τ)como a seguir:
Seja uma transic¸˜ao ticom rk(ti) = [a,b]calculado na classe ck, ck[tf >ck+1, e oδ(τ)de uma