OpenCyber Academy
Pesquisa doutoral · Capítulo 3 · Português
Código do curso: OCA-207Capítulo 03: OCA-207-C003

Capítulo 3 — Proposta de contribuição original

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Mapa da aula

Aula 03 publicada. Mapa, exemplo, EX015.

flowchart TD
  N0["3.1 Que tipo de contribuição?"]
  N1["3.2 A ordenação da restauração como problema de prog"]
  N2["3.3 Grafos de dependência com reservas"]
  N3["3.4 O mecanismo"]
  N4["3.5 Hipóteses, métricas e o menor efeito de interess"]
  N5["3.6 Linhas de base"]
  N6["3.7 Explicações rivais"]
  N7["3.8 Condições de falha e registro de riscos"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
  N7 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX015"]

Desenho lógico

flowchart LR
  N0["3.1 Que tipo de contribuição?"]
  N1["3.2 A ordenação da restauração como problema de prog"]
  N2["3.3 Grafos de dependência com reservas"]
  N3["3.4 O mecanismo"]
  N4["3.5 Hipóteses, métricas e o menor efeito de interess"]
  N5["3.6 Linhas de base"]
  N6["3.7 Explicações rivais"]
  N7["3.8 Condições de falha e registro de riscos"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX015"]
[3.1 Que tipo de contribuição?]
    |
    v
[3.2 A ordenação da restauração como problema de prog]
    |
    v
[3.3 Grafos de dependência com reservas]
    |
    v
[3.4 O mecanismo]
    |
    v
[3.5 Hipóteses, métricas e o menor efeito de interess]
    |
    v
[3.6 Linhas de base]
    |
    v
[3.7 Explicações rivais]
    |
    v
[3.8 Condições de falha e registro de riscos]
    |
    v
[Exemplo resolvido] --> [Exercício EX015]

Objetivos de aprendizagem e conexão

Ao fim deste capítulo, o estudante será capaz de:

  1. Tipificar uma contribuição de doutorado (artefato, método, medição, constatação empírica, teoria) e declarar as evidências que cada tipo exige.
  2. Especificar um mecanismo como uma cadeia de elos que prediz um padrão de resultados, incluindo onde a intervenção não deveria ajudar.
  3. Representar as dependências intersetoriais como um grafo com reservas, calcular o tempo até o impacto e explicar o que a representação deixa de fora.
  4. Relacionar a ordenação da restauração com a teoria clássica de programação (scheduling) e usar essa relação para escolher linhas de base e prever trocas.
  5. Escrever hipóteses primária, de mecanismo, de contribuição sobre a melhor prática e de não inferioridade, com um menor efeito de interesse justificado.
  6. Construir uma tabela de explicações rivais e um conjunto de condições de falha declaradas com antecedência que estreitariam ou abandonariam a alegação.

O Capítulo 2 identificou a lacuna: a ordenação da restauração ciente das dependências é muitas vezes proposta e fracamente testada. Este capítulo a transforma numa proposta que poderia estar errada. O Capítulo 4 replicará as linhas de base e pilotará o procedimento.

3.1 Que tipo de contribuição?

Tabela da aula; deslize para ver todas as colunas →

Tipo Exemplo em segurança de IC Evidência mínima
Artefato Uma cossimulação aberta de distribuição, água e telecomunicações Testes de verificação; documentação; evidências de uso por outros
Método Um procedimento para calcular prioridades de restauração a partir de dados de dependência Comparação com a melhor prática atual em métricas declaradas, em mais de um contexto
Medição Um instrumento validado para a duração das reservas ou a acurácia do mapa de dependências Evidências de confiabilidade e de validade
Constatação empírica "Os operadores já priorizam as instalações críticas, mas não usam a temporização das reservas" Um estudo amostrado e documentado de operadores
Teoria Um mecanismo que explica quando a ordenação ciente das dependências ajuda Previsões que o discriminam das rivais, testadas

A contribuição pretendida do Cascade Study é um método com um mecanismo: uma regra para ordenar a restauração (o artefato é incidental) e uma explicação de quando ela supera a prática atual. Dizer isso cedo importa, porque "construímos um simulador e nosso método venceu" é uma demonstração de artefato, e não uma contribuição de método.

3.2 A ordenação da restauração como problema de programação

Quando uma única equipe de restauração precisa restaurar os alimentadores um de cada vez, a ordenação da restauração é um problema de programação em máquina única: cada alimentador j é uma tarefa com tempo de processamento p_j (manobras manuais, inspeção, reenergização), e o objetivo depende do que está sendo minimizado.

  • Se o objetivo for clientes-hora perdidos, cada alimentador contribui com (clientes em j) × (instante de conclusão C_j). Minimizar Σ w_j C_j numa máquina é resolvido exatamente ordenando as tarefas por w_j / p_j em ordem decrescente — a regra de Smith (Smith, 1956). Com tempos esperados de restauração iguais, isso é simplesmente "mais clientes primeiro". A ordenação convencional usada como linha de base neste livro não é, portanto, ingênua: ela é ótima para clientes-hora nesse cenário idealizado.
  • Se o objetivo for a perda de serviços críticos, um serviço s alimentado pelo alimentador j só é perdido a partir do momento em que sua reserva b_s se esgota até que o alimentador seja restaurado: loss_s = w_s × max(0, C_j + lag − b_s). A reserva funciona como um prazo, e o objetivo se parece com o atraso ponderado (weighted tardiness). O atraso ponderado total em máquina única é fortemente NP-difícil (Lenstra, Rinnooy Kan and Brucker, 1977), então as regras práticas são heurísticas. Ordenar pelo prazo mais cedo — aqui, pelo menor tempo até o impacto — é uma heurística clássica que ignora os pesos.

Essa relação dá ao estudo três coisas que um enquadramento puramente de segurança deixaria escapar. Primeiro, uma previsão teórica da troca: qualquer ordenação que se afaste da regra de Smith precisa aumentar os clientes-hora esperados, então uma margem de não inferioridade sobre os clientes-hora não é opcional. Segundo, um limite superior para o benefício alcançável: com poucos alimentadores, a enumeração exaustiva dá uma ordenação oráculo para cada sorteio de cenário, o que mostra quanta margem qualquer heurística deixa. Terceiro, um modo de falha conhecido da heurística proposta: uma regra do menor tempo até o impacto ignora os pesos e o espalhamento (fan-out), então pode perder para uma regra que restaure o alimentador que protege mais serviços ponderados, mesmo que o primeiro impacto desse alimentador ocorra um pouco mais tarde. O Capítulo 6 mostra exatamente isso.

3.3 Grafos de dependência com reservas

3.3.1 Representação

Represente cada relação fornecedor → dependente como uma aresta dirigida rotulada com a reserva do dependente para aquele fornecedor. Se o fornecedor A falha no instante t_A, o dependente B falha em t_A + b_AB, a menos que seja restaurado antes. Se B falha quando qualquer de seus fornecedores falha (um "OU" de falhas — sem redundância), o instante de falha de B é o mínimo sobre os caminhos de entrada, o que é um cálculo de caminho mínimo com as reservas como pesos das arestas.

3.3.2 Laboratório do tempo até o impacto

# Lab 3 - time-to-impact on a synthetic Riverbend dependency graph (offline, standard library only)
# Edge (supplier -> dependant, buffer_hours): the dependant fails `buffer_hours` after it loses that supplier.
import heapq
edges = [
    ("F2", "TEL", 8),     # telecom central office: batteries plus generator fuel on hand
    ("F2", "HOSP", 26),   # hospital: generator fuel on hand
    ("F3", "WATER", 9),   # treatment plant generator + clearwell storage
    ("F3", "WSCADA", 2),  # water SCADA server UPS
    ("TEL", "WSCADA", 0), # remote telemetry needs the carrier circuit
    ("WATER", "HOSP", 4), # hospital on-site water storage
    ("TEL", "DISPATCH", 1),  # emergency dispatch: ring-down backup lasts 1 h
    ("F1", "RES", 0), ("F4", "COM", 0),
]
def time_to_impact(initial):  # initial: {node: failure time}
    graph = {}
    for s, d, b in edges:
        graph.setdefault(s, []).append((d, b))
    best = dict(initial)
    pq = [(t, n) for n, t in initial.items()]
    heapq.heapify(pq)
    while pq:
        t, n = heapq.heappop(pq)
        if t > best.get(n, float("inf")):
            continue
        for d, b in graph.get(n, []):
            if t + b < best.get(d, float("inf")):
                best[d] = t + b
                heapq.heappush(pq, (t + b, d))
    return best
tti = time_to_impact({"F1": 0, "F2": 0, "F3": 0, "F4": 0})
for node in sorted(tti, key=lambda n: (tti[n], n)):
    print(f"{node:9} fails at t={tti[node]:>3} h")
degree = {}
for s, d, _ in edges:
    degree[s] = degree.get(s, 0) + 1
    degree[d] = degree.get(d, 0) + 1
print("degree ranking:", sorted(degree, key=lambda n: (-degree[n], n))[:4])

Saída esperada:

COM       fails at t=  0 h
F1        fails at t=  0 h
F2        fails at t=  0 h
F3        fails at t=  0 h
F4        fails at t=  0 h
RES       fails at t=  0 h
WSCADA    fails at t=  2 h
TEL       fails at t=  8 h
DISPATCH  fails at t=  9 h
WATER     fails at t=  9 h
HOSP      fails at t= 13 h
degree ranking: ['TEL', 'F2', 'F3', 'HOSP']

Três lições. Os caminhos indiretos predominam: o gerador próprio do hospital dá 26 horas, mas ele falha na hora 13 pelo caminho da água (9 + 4). Um estudo que registrasse apenas a reserva de energia direta de cada instalação erraria sua prioridade em meio dia. Grau não é consequência: a centralidade de grau classifica TEL em primeiro lugar, o que é razoável aqui, mas classifica HOSP acima de WATER e nada diz sobre a temporização. O pressuposto do OU é forte: o SCADA da água falha na hora 0 + 0 via TEL somente se a telemetria não tiver caminho alternativo; em muitas concessionárias, os operadores conseguem operar a estação localmente sem o SCADA, então a falha de WSCADA pode não ter nenhuma consequência para o serviço. O grafo precisa distinguir a perda de uma função da perda de um serviço.

3.3.3 O que a representação deixa de fora

Arestas com reservas fixas omitem: a dinâmica do esgotamento (o combustível de um gerador dura mais em carga parcial); a redundância (lógica "E" — um hospital com duas alimentações independentes só falha quando as duas falham); as dependências da restauração (um alimentador não pode ser reenergizado sem comunicações com as equipes de campo — uma dependência na direção da recuperação); as reservas humanas (operação manual, ajuda mútua, entregas de combustível que estendem as reservas se as estradas e as telecomunicações funcionarem); e a adaptação do adversário (um adversário que conheça a lista de prioridades pode visar o topo dela). Uma proposta precisa listar quais omissões poderiam inverter suas conclusões e como o estudo vai testá-las (§3.7).

3.4 O mecanismo

Um mecanismo é uma cadeia de elos, cada um dos quais poderia falhar, que prediz um padrão, e não apenas um efeito médio:

  1. Os serviços críticos dependem de reservas cujas durações variam muito (horas para as baterias das telecomunicações e as reservas do despacho, dias para o combustível do hospital).
  2. Numa queda de vários alimentadores que exige a restauração manual e sequencial, a ordem de restauração determina quais reservas se esgotam.
  3. A prática convencional ou maximiza os clientes restaurados (regra de Smith) ou restaura primeiro os "clientes críticos", numa ordem que não usa a temporização das reservas.
  4. Ordenar pelo tempo até o impacto restaura os alimentadores cujos serviços críticos falhariam primeiro, então menos reservas se esgotam.
  5. Portanto, a perda ponderada de serviços críticos diminui.

O mecanismo prediz um padrão:

  • Benefício sobre a ordenação pelos clientes sempre que os serviços críticos estiverem em alimentadores com poucos clientes.
  • Benefício sobre a ordenação por sinalização crítica apenas quando elas discordam — quando a ordem por tempo das reservas entre os alimentadores críticos difere da ordem por número de clientes entre eles. Quando as ordens coincidem, as duas regras são idênticas e o benefício precisa ser zero.
  • Nenhum benefício quando as reservas excedem o tempo total de restauração — se toda reserva durar mais do que a queda, a ordenação não pode importar para os serviços críticos.
  • Um custo em clientes-hora em relação à regra de Smith, maior quando os serviços críticos estão em alimentadores pequenos.
  • Fragilidade diante de erros no mapa — se o mapa de dependências ou as reservas estiverem errados, a ordenação pode ser pior do que uma simples lista de sinalização.

Um mecanismo que prediz onde a intervenção falha vale mais do que um que prediz apenas o sucesso, porque as falhas são o que o distingue das rivais.

3.5 Hipóteses, métricas e o menor efeito de interesse

Métrica primária: perda ponderada de serviços críticos numa janela de 72 horas, com pesos declarados com antecedência (hospital 5, água 4, telecomunicações 3, despacho de emergência 4 por hora de serviço), obtidos junto às equipes de gestão de emergências dos parceiros antes de qualquer simulação (Capítulo 1, §1.6.3). Métrica secundária (de segurança): clientes-hora perdidos (milhares).

  • H1 (benefício sobre a ordenação pelos clientes). DEP reduz a perda ponderada média de serviços críticos em pelo menos 20% em comparação com SILO.
  • H2 (contribuição sobre a melhor prática). DEP reduz a perda ponderada média de serviços críticos em pelo menos 10% em comparação com CRITFLAG (lista de sinalização de clientes críticos ordenada por clientes), em cada região do estudo.
  • H3 (padrão do mecanismo). A diferença DEP − CRITFLAG é zero quando as duas ordens coincidem e cresce com o número de posições em que elas diferem; ela diminui em direção a zero à medida que as reservas crescem em relação ao tempo de restauração.
  • H4a/H4b (não inferioridade). DEP aumenta os clientes-hora perdidos médios em no máximo 15% em comparação com SILO (H4a) e com CRITFLAG (H4b).

Menores efeitos de interesse. Os limiares de 20% e 10% e a margem de 15% são julgamentos práticos, e não convenções estatísticas: os parceiros declararam (sintético) que uma mudança na prática de restauração exige retreinamento, revisão de procedimentos e explicações ao regulador, o que só empreenderiam para uma redução de pelo menos 10% na perda de serviços críticos em relação à sua prática atual de sinalização crítica; e o conselho da cooperativa não aceitaria mais de 15% de clientes-hora adicionais sem consulta pública. Registre quem definiu cada limiar e quando; um limiar escolhido depois de ver os resultados não vale nada.

Observe que a teoria de programação prevê que H4a vai falhar sempre que os serviços críticos estiverem em alimentadores pequenos. Declará-la com antecedência mesmo assim é correto: o estudo deve relatar o tamanho da troca com honestidade em vez de escondê-lo, e um teste de não inferioridade que falha é uma constatação para os formuladores de políticas.

3.6 Linhas de base

Uma contribuição só é tão forte quanto a linha de base que ela supera.

Tabela da aula; deslize para ver todas as colunas →

Linha de base Por que incluí-la O que superá-la mostraria
SILO — mais clientes primeiro Ótima para clientes-hora com durações iguais (regra de Smith); padrão comum Que a ordenação ciente da criticidade protege os serviços críticos — esperado e fraco como contribuição
CRITFLAG — primeiro os alimentadores com alguma instalação crítica listada, por clientes Representa a prática difundida de manter listas de clientes críticos A contribuição de fato: que a informação de temporização agrega valor além de uma lista
ORACLE — a melhor de todas as ordenações para cada sorteio (calculável para ≤ 6–7 alimentadores) Limite superior para qualquer regra Quanta margem resta; se DEP está perto do ótimo
RANDOM (opcional) Verificação de sanidade Que a métrica não é degenerada

Superar SILO é necessário, mas não suficiente; a alegação vive ou morre diante de CRITFLAG. O exemplo resolvido em §3.9 mostra como uma proposta que omitisse CRITFLAG teria parecido impressionante e estaria errada.

3.7 Explicações rivais

Tabela da aula; deslize para ver todas as colunas →

Rival Previsão que a apoiaria Característica do desenho que a testa
Qualquer lista de criticidade explica o ganho, e não a temporização DEP ≈ CRITFLAG Linha de base CRITFLAG; H2
O ganho é um artefato dos pesos O ganho desaparece com pesos iguais ou alternativos Sensibilidade aos pesos (Capítulo 6)
O ganho é um artefato das reservas curtas na região escolhida O ganho some com reservas realistas mais longas Análise de escalonamento das reservas; segunda região com contratos de combustível
O modelo foi construído para favorecer DEP (circularidade) O ganho diminui num modelo construído de forma independente ou com um mapa errado Segunda região construída por outro modelador a partir dos dados dos parceiros; teste de erro do mapa
Os operadores não seguiriam a ordenação As escolhas no exercício de mesa diferem de DEP mesmo com a exibição do tempo até o impacto Exercício de mesa cego com operadores (Capítulo 5)
O pressuposto de uma equipe determina o resultado O ganho desaparece com várias equipes Port Halvard com duas equipes
Erro de discretização ou de implementação Os resultados mudam com o passo de tempo ou a implementação Verificação contra uma implementação independente baseada em eventos (Capítulo 4)

3.8 Condições de falha e registro de riscos

Condições de falha declaradas com antecedência (cada uma corresponde a uma mudança na alegação):

Tabela da aula; deslize para ver todas as colunas →

Condição Consequência para a alegação
H2 falha nas duas regiões Abandonar a contribuição de método; relatar que a temporização não acrescenta nada mensurável às listas de sinalização crítica; manter a análise de programação como contribuição teórica.
H2 falha numa região e se sustenta na outra Estreitar para as condições que as distinguem; testar H3 para ver se o mecanismo explica a diferença.
Padrão de H3 ausente (ganho sem relação com a divergência das ordens) Mecanismo sem apoio; qualquer ganho fica sem explicação e não deve ser generalizado.
H4b falha Relatar uma troca; o método não é "gratuito" em relação à prática atual.
O ganho desmorona com erros plausíveis no mapa Alegação condicionada à acurácia do mapa; acrescentar a auditoria do mapa como pré-requisito.
Os operadores rejeitam a ordenação no exercício de mesa Alegação limitada a "um apoio à decisão cuja adoção não está comprovada"; estudar as barreiras à adoção.

Registro de riscos (seleção): saída de um parceiro (mitigação: desenho com região sintética que não depende dos dados de um único parceiro); exposição de dados sensíveis (armazenamento em níveis, nenhum mapa real no texto público); erro do simulador (reimplementação independente e testes unitários); participantes do exercício de mesa identificáveis (relato agregado, nenhuma combinação de função com concessionária no texto público); pressão do financiador (acordo de publicação assinado antes do início do trabalho).

3.9 Exemplo resolvido: a proposta que quase omitiu a linha de base real

O primeiro rascunho do candidato comparava DEP apenas com SILO e relatava, numa rodada piloto, uma redução de quase 90% na perda ponderada de serviços críticos. A banca de orientação fez duas perguntas: O que as concessionárias fazem de fato hoje? e O que uma ordenação perfeita alcançaria? Entrevistas (sintéticas) com três despachantes revelaram que as três concessionárias mantêm uma lista de clientes críticos e restauram cedo esses alimentadores. O candidato acrescentou CRITFLAG e ORACLE. O piloto mostrou então DEP e CRITFLAG quase indistinguíveis em Riverbend, ambos longe de ORACLE. O veredito da banca: o número de 90% media o valor de ter uma lista de clientes críticos, o que não é novo; a pergunta em aberto é se a temporização agrega valor, e Riverbend sozinha — com apenas dois alimentadores críticos, ordenados do mesmo jeito pela maioria das regras — não pode respondê-la. A proposta foi revisada para declarar H2 e H3 com antecedência, para escolher uma segunda região segundo critérios de desenho declarados (mais alimentadores críticos, ordens divergentes de reservas e de clientes, duas equipes, contratos de combustível) antes de qualquer simulação nela, e para executar uma análise de muitas regiões em que a divergência entre as ordens varia sistematicamente.

Esta é a decisão de desenho mais importante do livro: escolha a comparação que representa a melhor prática atual, e não a que faz o método parecer melhor.

3.10 Erros comuns e limites

  • Comparar com uma linha de base espantalho (nenhuma priorização, ou aleatória).
  • Omitir o lado do custo de uma troca que a teoria de programação prevê.
  • Definir "crítico" depois de ver quais instalações se beneficiam.
  • Codificar as reservas como valores pontuais, sem incerteza.
  • Tratar um grafo com semântica de OU como se modelasse redundância.
  • Escrever um mecanismo que prediz apenas o sucesso.
  • Definir o menor efeito de interesse por convenção estatística em vez de pela consequência prática.

  • Escolher o segundo contexto depois de ver que tipo de região favorece o método, em vez de fixar os critérios de seleção com antecedência.

  • Tratar uma regra do menor tempo até o impacto como ótima quando a teoria de programação mostra que o problema ponderado é difícil e que a regra ignora os pesos e o espalhamento.
  • Registrar apenas a reserva de energia direta de cada instalação, de modo que caminhos indiretos, como a dependência do hospital em relação à água, passem despercebidos.
  • Deixar que o parceiro que fornece os dados também escolha os limiares sem registrar quem os definiu e quando.

Exercícios — capítulo 3

EX015 — Tipificação da contribuição. Objetivo: associar alegações a evidências. Insumos: quatro alegações de tese sintéticas: (a) "Lançamos o GridWater-Sim 2.0"; (b) "Nosso instrumento de levantamento da duração das reservas é confiável"; (c) "As concessionárias raramente usam a temporização das reservas ao ordenar a restauração"; (d) "A ordenação pelo tempo até o impacto reduz a perda de serviços críticos." Restrições: usar §3.1. Passos: (1) atribuir a cada alegação um tipo de contribuição; (2) declarar a evidência mínima que esse tipo exige; (3) declarar qual alegação depende de outra; (4) dizer qual alegação o Cascade Study não deve fazer apenas a partir de (a). Evidência esperada: tabela. Rubrica: 3 = tipos e evidências corretos, (d) dependente de (a) apenas como instrumento, (c) precisa de um estudo empírico amostrado; 2 = um erro; 1 = evidências genéricas; 0 = nada.

EX016 — Verificação pela teoria de programação. Objetivo: aplicar a regra de Smith. Insumos: clientes de Riverbend F1 9000, F2 1200, F3 2500, F4 6000; durações de restauração de 4, 3, 5 e 4 horas, respectivamente; uma equipe. Restrições: mostrar os cálculos. Passos: (1) calcular w/p para cada alimentador; (2) dar a ordem de Smith; (3) calcular os clientes-hora (milhares) para a ordem de Smith e para a ordem F2, F3, F1, F4; (4) declarar o aumento percentual. Evidência esperada: cálculos. Rubrica: 3 = ordem F1, F4, F3, F2 (razões 2250, 1500, 500, 400), totais de 135,7 e 227,6 mil clientes-hora, um aumento de 67,7%; 2 = deslize aritmético; 1 = regra errada; 0 = nada.

EX017 — Extensão do tempo até o impacto. Objetivo: estender o Laboratório 3. Insumos: Laboratório 3. Restrições: off-line. Passos: (1) acrescentar uma dependência de entrega de combustível: a reserva do gerador do hospital passa a 60 h se TEL estiver disponível para pedir combustível, modelada substituindo a reserva F2 → HOSP por 60 e acrescentando TEL → HOSP com reserva 30; (2) executar e registrar o instante de falha de HOSP; (3) explicar por que o resultado não mudou; (4) declarar o que o grafo com semântica de OU não consegue expressar sobre esse arranjo de combustível. Evidência esperada: código, saída, explicação. Rubrica: 3 = HOSP ainda em 13 h via água; explica que uma extensão da reserva condicionada a outro serviço é uma relação E/condicional que o grafo de OU não consegue expressar; 2 = saída correta, explicação parcial; 1 = saída errada; 0 = não executado.

EX018 — Conjunto de hipóteses. Objetivo: operacionalizar hipóteses. Insumos: o mecanismo de §3.4, aplicado a outro domínio de sua escolha (por exemplo, a restauração de sites de telecomunicações após um incidente cibernético numa operadora, com hospitais e despacho como dependentes). Restrições: uma hipótese de benefício, uma de contribuição sobre a melhor prática, uma de padrão do mecanismo e uma de não inferioridade; limiares justificados. Passos: (1) escrever cada hipótese com população, intervenção, comparador, desfecho e direção; (2) definir cada desfecho operacionalmente; (3) justificar cada limiar por uma consequência prática. Evidência esperada: bloco de hipóteses. Rubrica: 3 = completas e operacionais, comparador de melhor prática nomeado, limiares justificados por consequências e responsáveis; 2 = um elemento vago; 1 = limiares arbitrários; 0 = nada.

EX019 — Tabela de explicações rivais. Objetivo: desenhar contra as alternativas. Insumos: suas hipóteses do EX018. Restrições: pelo menos seis rivais. Passos: (1) listar pelo menos seis explicações rivais para um resultado positivo; (2) para cada uma, declarar a previsão que a apoiaria; (3) nomear a característica do desenho que a testa. Evidência esperada: tabela. Rubrica: 3 = seis ou mais rivais plausíveis, incluindo a adequação da linha de base, os pesos, a circularidade e a adoção, cada uma com uma característica de desenho concreta; 2 = quatro ou cinco; 1 = genéricas; 0 = nada.

EX020 — Condições de falha e critérios do segundo contexto. Objetivo: tornar a contribuição falseável e evitar a escolha seletiva do contexto de validação. Insumos: sua proposta. Restrições: pelo menos cinco condições de falha com consequências; critérios de seleção de um segundo contexto escritos antes de ele ser modelado. Passos: (1) escrever condições de falha associadas a mudanças na alegação; (2) escrever de três a cinco critérios de seleção do contexto derivados do mecanismo; (3) explicar como um revisor poderia verificar que os critérios foram fixados com antecedência. Evidência esperada: duas listas e um parágrafo. Rubrica: 3 = cada condição muda uma alegação específica, critérios derivados do mecanismo (divergência das ordens, número de equipes, faixa das reservas), pré-registro com carimbo de tempo nomeado; 2 = critérios não derivados do mecanismo; 1 = vagos; 0 = nada.

Síntese do capítulo

Uma contribuição de doutorado precisa dizer de que tipo ela é e precisa superar a melhor prática atual, e não um espantalho. A ordenação da restauração é um problema de programação: a regra de Smith torna "mais clientes primeiro" ótima para clientes-hora, enquanto os serviços críticos limitados por reservas criam um objetivo de atraso ponderado para o qual as regras simples são heurísticas. Essa teoria prevê a troca, fornece um limite oráculo e expõe a fraqueza da regra proposta. Os grafos de dependência com reservas revelam caminhos indiretos que dominam a temporização, mas sua semântica de OU, suas reservas fixas e as dependências humanas e na direção da recuperação que lhes faltam precisam ser nomeadas. O mecanismo prediz um padrão — benefício apenas onde a temporização e o número de clientes discordam, nenhum quando as reservas são longas, um custo em clientes-hora e fragilidade diante de erros no mapa —, e as hipóteses, as linhas de base, as rivais e as condições de falha são escritas de modo que cada parte desse padrão possa ser mostrada falsa.

Respostas comentadas

EX015 — Tipificação da contribuição. (a) Artefato — precisa de documentação, testes de verificação e evidências de uso. (b) Medição — precisa de evidências de confiabilidade (teste–reteste, entre avaliadores) e de validade. (c) Constatação empírica — precisa de um estudo amostrado e documentado das concessionárias, com base amostral e taxas de resposta. (d) Método — precisa de comparação com a melhor prática atual em métricas declaradas, em mais de um contexto. (d) usa (a) como instrumento; (a) sozinha não pode sustentar (d), porque a existência do simulador nada diz sobre se o método supera a prática atual. (c) é uma pré-condição para saber se (d) é novo na prática.

EX016 — Verificação pela teoria de programação. Razões w/p: F1 9000/4 = 2250; F2 1200/3 = 400; F3 2500/5 = 500; F4 6000/4 = 1500. Ordem de Smith: F1, F4, F3, F2. Instantes de conclusão 4, 8, 13, 16 h → clientes-hora = 9000·4 + 6000·8 + 2500·13 + 1200·16 = 135.700 → 135,7 mil. Ordem F2, F3, F1, F4: conclusões 3, 8, 12, 16 → 1200·3 + 2500·8 + 9000·12 + 6000·16 = 227.600 → 227,6 mil. Aumento de 67,7%. (Nos laboratórios deste livro, os clientes-hora também são contados por alimentador até a restauração; o atraso de reinício se aplica apenas aos serviços críticos.)

EX017 — Extensão do tempo até o impacto. Com F2 → HOSP = 60 e TEL → HOSP = 30, o instante de falha do hospital pela energia é min(60, 8 + 30 = 38) = 38 h, mas pela água é 9 + 4 = 13 h, então HOSP ainda falha em 13 h. O resultado não muda porque o caminho determinante é o da água. Mais fundamentalmente, o arranjo "o gerador dura 60 h se as telecomunicações funcionarem para pedir combustível, senão 26 h" é uma reserva condicional — uma combinação E/OU que um grafo de caminho mínimo com pesos fixos nas arestas não consegue expressar. Modelá-la exige reservas dependentes do estado (como nos intervalos de dependência do Laboratório 5, estendidos) ou uma simulação em que as entregas de combustível são eventos que exigem TEL.

EX018 — Conjunto de hipóteses. Exemplo para a restauração de sites de telecomunicações após um incidente cibernético numa operadora: Benefício — "Restaurar as estações rádio-base na ordem do tempo até o impacto dos serviços dependentes reduz a perda ponderada da capacidade de chamadas de emergência e da conectividade dos hospitais em ≥ 20% em comparação com a restauração pelo número de assinantes atendidos." Melhor prática — "…em ≥ 10% em comparação com a lista de sites prioritários existente da operadora." Mecanismo — "O ganho é zero onde a ordem da lista e a ordem do tempo até o impacto coincidem e cresce com a divergência; ele some quando a autonomia das baterias dos sites excede o tempo total de restauração." Não inferioridade — "Os assinantes-hora perdidos aumentam em ≤ 15% em comparação com a lista de sites prioritários." Desfechos definidos operacionalmente (por exemplo, tentativas de chamadas de emergência que falham por hora, a partir dos contadores da rede numa simulação). Limiares justificados pelo custo de mudança declarado pela operadora e pelas expectativas de qualidade do serviço do regulador, com responsáveis e datas.

EX019 — Tabela de explicações rivais. Rivais: qualquer lista de prioridades explica o ganho (teste: linha de base da lista); pesos (teste: pesos alternativos); baterias curtas na rede escolhida (teste: escalonamento das baterias, segunda rede); circularidade (teste: modelo independente, erro do mapa); adoção (teste: exercício de mesa com engenheiros); equipe única ou deslocamento ignorado (teste: equipes e matriz de deslocamento); o redirecionamento do tráfego para sites vizinhos torna a ordem irrelevante (teste: modelo com cobertura dos vizinhos). A nota máxima inclui pelo menos circularidade, adequação da linha de base, pesos e adoção.

EX020 — Condições de falha e critérios do segundo contexto. Condições de falha: como em §3.8, adaptadas. Critérios do segundo contexto derivados do mecanismo: pelo menos três sites de serviços críticos; divergência entre a ordem da lista e a ordem do tempo até o impacto em pelo menos duas posições; faixa das reservas sobrepondo-se ao tempo total de restauração; um modelo de equipes diferente do primeiro contexto. Verificação pelos revisores: uma emenda ao pré-registro com carimbo de tempo (num registro público ou num commit do repositório com tag assinada) datada antes de qualquer simulação do segundo contexto, mais a declaração do modelador de que não teve acesso aos resultados do primeiro contexto.