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
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)
- Mapear formalmente a equivalência estrutural e semântica entre
Kattis/BAPCtools(problem.yaml,data/sample,data/secret,generators),YAPExIL/ProFormAeWOKDEX(Core e Extended Profile); - 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; - Integrar validação automática com JSON Schema (
jsonschema/ajv) e invocação deBAPCtools/verifyproblempara garantir validade técnica pós-conversão; - 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ógicosFUNCTIONAL,MISCONCEPTIONePERFORMANCE? - 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
MISCONCEPTIONvs.secretpuro) 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/eapendices/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:
- Por que esse tema chamou sua atenção?
- Você prefere priorizar o par WOKDEX <-> ICPC/BAPCtools ou incluir também ProFormA/YAPExIL desde o início?
- Qual sua disponibilidade semanal estimada para o TCC?