Conversores Bidirecionais e Validadores de Interoperabilidade entre WOKDEX, ICPC/Kattis/BAPCtools e YAPExIL/ProFormA

Transpilação bidirecional de pacotes de problemas com validação por JSON Schema, BAPCtools/problemtools e relatório de perdas semânticas

[object Object]
Feedback Formativo
Sem CEP
Data de Publicação

14/11/2026

Data de Modificação

14/11/2026

Código: TCC 03 · Trilha: Trilha 1: Sistemas e Juízes · Status: Disponível · Modalidade: Sistema / Ferramenta + Avaliação Técnica · Perfil: Individual · Complexidade: Média · Regime Ético: Sem CEP (Computacional)

1. Contexto e Problema

Docentes e organizadores de maratonas possuem milhares de problemas empacotados em padrões técnicos consolidados como ICPC/Kattis (problem.yaml, BAPCtools) ou formatos acadêmicos europeus (ProFormA XML e YAPExIL JSON). No apendices/analise-plataformas.tex, a tese compara PExIL, YAPExIL, ProFormA, CodeRunner e WOKDEX, registrando explicitamente que “interoperabilidade operacional não é alegação do baseline”.

Hoje não existe ferramenta automatizada que converta esses pacotes para a estrutura WOKDEX (metadata.yaml + test-cases/ por cenário + wok-scheme.json), nem que exporte pacotes WOKDEX de volta para importação direta via bt (BAPCtools) ou problemtools (verifyproblem) preservando rastreabilidade de perdas (lossy mapping report).

2. O que será feito (Objetivos Técnicos e Escopo)

  1. Mapear formalmente a equivalência estrutural e semântica entre Kattis/BAPCtools (problem.yaml, data/sample, data/secret, generators), YAPExIL/ProFormA e WOKDEX (Core e Extended Profile);
  2. Implementar uma ferramenta CLI (transpilador de pacotes, ex.: wok-convert) com suporte a conversão bidirecional, preservação de enunciados/limites/soluções e geração automática de stubs de cenários;
  3. Integrar validação automática com JSON Schema (jsonschema/ajv) e invocação de BAPCtools / verifyproblem para garantir validade técnica pós-conversão;
  4. Avaliar a taxa de fidelidade estrutural, perdas semânticas documentadas e tempo de conversão sobre uma amostra real de pacotes ICPC/Kattis e do Corpus WOKDEX.

3. Perguntas para você refletir

Se você se identifica com as questões abaixo, este tema pode ser uma boa escolha:

  • O que se perde (ou precisa ser enriquecido) quando um pacote ICPC tradicional com apenas sample/secret é convertido para cenários pedagógicos FUNCTIONAL, MISCONCEPTION e PERFORMANCE?
  • Como projetar um relatório explícito de perdas (lossy mapping report) para que um docente saiba exatamente o que revisar manualmente após importar um pacote?
  • Como garantir idempotência parcial em testes de ida e volta (round-trip) entre formatos XML, YAML e JSON?

4. Divisão Sugerida (TCC 1 e TCC 2)

  • TCC 1: Mapeamento formal dos schemas (XML/YAML/JSON), análise de incompatibilidades (ex.: cenários MISCONCEPTION vs. secret puro) e arquitetura do conversor CLI.
  • TCC 2: Implementação dos parsers/geradores, suíte de testes de ida e volta (round-trip), validação em pacotes reais e publicação como ferramenta open-source.

5. Entregáveis e Métricas de Avaliação

6. Pré-requisitos e Tecnologias Sugeridas

  • Base necessária: Python (ou TypeScript/Go), manipulação de XML/YAML/JSON, design de CLI e familiaridade com estrutura de problemas de programação competitiva.
  • Tecnologias e conceitos envolvidos: JSON Schema Draft-07 (wok-scheme.json), BAPCtools, problemtools (verifyproblem), testes round-trip.

7. Origem e Ponto de Partida

  • Origem na pesquisa WOKDEX:
    • apendices/analise-plataformas.tex (comparativo entre PExIL, YAPExIL, ProFormA, CodeRunner e WOKDEX);
    • apendices/docs/bapc-tools/, apendices/docs/kattis-tools/, apendices/docs/icpc-format/, apendices/docs/problem-tools/ e apendices/docs/wok-format/;
    • apendices/wokschema/wok-scheme.json (JSON Schema Draft-07).
  • Consulte também o guia de Metodologia e Ética.

8. Como demonstrar interesse

Antes de agendarmos uma conversa, prepare respostas curtas para:

  1. Por que esse tema chamou sua atenção?
  2. Você prefere priorizar o par WOKDEX <-> ICPC/BAPCtools ou incluir também ProFormA/YAPExIL desde o início?
  3. Qual sua disponibilidade semanal estimada para o TCC?
De volta ao topo