Skip to content

Runtime e Rastreabilidade Semântica

Executando a Lógica Modelada

O código gerado pelo Tradutor MZ-M → Código não contém toda a lógica de negócio; ele contém a estrutura e a orquestração da lógica definida no seu modelo .mzm. A lógica de implementação real reside no código manual do desenvolvedor (as implementation_refs e primary_action_refs).

Para que o código gerado execute a lógica modelada, ele interage com um Kernel de Runtime MZ-M Mínimo. Este kernel é uma pequena biblioteca ou conjunto de funções que encapsula a lógica central para a execução de operações modeladas em MZ-M. Ele é chamado pelo código gerado e fornece uma interface padronizada para serviços essenciais em tempo de execução:

  • Gerenciamento de Contexto: Torna o Contexto Vivo (dados do ambiente de runtime) acessível para as regras e ações primárias.
  • Execução de Regras: Fornece uma forma padronizada de chamar as implementações reais das Regras, passando os dados e o contexto necessários.
  • Disparo de Eventos: Encaminha Eventos disparados (pelo código gerado das Intenções ou Efeitos Causais) para os Handlers de Geometria Causal correspondentes.
  • Rastreamento Semântico: Captura o fluxo da execução da lógica modelada.

O código gerado chama as funções deste Kernel para realizar as operações definidas no modelo. Por exemplo, em vez de o código gerado saber como executar uma regra, ele chama mzm_runtime.rules.run_rule("nome_da_regra", ...) no Kernel.

Rastreabilidade Semântica: Entendendo o "Por Quê"

Um dos pilares mais poderosos do Método MZ-M é a Rastreabilidade Semântica. Ela resolve o problema de entender por que o sistema se comportou de uma certa maneira, especialmente quando algo inesperado acontece.

Como isso funciona? O Kernel de Runtime, em conjunto com o código gerado, registra a execução da lógica modelada em um formato estruturado chamado Traço Semântico.

O Que é um Traço Semântico?

Um Traço Semântico é uma sequência cronológica de Eventos Lógicos que ocorreram durante a execução de uma operação (Ex: uma Intenção, um fluxo causal). Ele não registra apenas chamadas de funções técnicas, mas sim a narrativa da lógica de negócio:

  • Intenção "LoginUsuario" iniciada com input X.
  • Regra de pré-condição "usuario_existe" avaliada com resultado TRUE e motivo Y.
  • Regra de pré-condição "senha_correta" avaliada com resultado FALSE e motivo "Senha Incorreta".
  • Intenção "LoginUsuario" falhou nas pré-condições.
  • Evento "LoginDeUsuarioFalhou" disparado com payload Z.
  • Relação Causal [0] ON "LoginDeUsuarioFalhou" verificada.
  • Condição when_context da Relação Causal [0] avaliada com resultado TRUE/FALSE.
  • ... e assim por diante ...

Cada evento no traço pode incluir detalhes relevantes, como os parâmetros usados em uma regra, o resultado de uma condição de contexto, ou o payload de um evento disparado.

Benefícios da Rastreabilidade Semântica

  • Debugging Revolucionário: Entenda a causa raiz de um bug lógico rapidamente, seguindo o fluxo exato da lógica modelada. Veja quais regras falharam, quais condições de contexto não foram atendidas.
  • Auditoria e Conformidade: Tenha um registro verificável de como as decisões lógicas foram tomadas para cada operação.
  • Observabilidade de Negócio: Monitore o sistema a partir de uma perspectiva de lógica de negócio, não apenas técnica.
  • Análise de Comportamento: Analise traços agregados para entender padrões de uso, gargalos lógicos ou falhas comuns no sistema real (alimenta a Metacognição).

Integração com o Ambiente (Adaptadores e Middleware)

Para que a execução MZ-M aconteça dentro de um framework, precisamos de componentes que atuam como a "interface" entre o mundo externo/técnico e o núcleo de runtime:

  • Adaptadores para Frameworks: Mapeiam entradas do framework (requisições HTTP, mensagens de fila) para chamadas a Intenções MZ-M, e mapeiam a saída da Intenção de volta para a resposta do framework.
  • Middleware de Contexto: No pipeline de processamento do framework, ele coleta dados do ambiente (sessão, requisição, configs) e monta o Contexto Vivo, disponibilizando-o para o Kernel de Runtime.

Em conjunto, o Kernel de Runtime, Adaptadores e Middleware permitem que a lógica modelada execute, utilize o contexto do ambiente, interaja com código manual e gere traços semânticos, tudo dentro da arquitetura existente do seu sistema.


Anterior: Ferramentas Essenciais >> | Próximo: A Visão Completa: Metacognição e Ecossistema >>