Linguagem intermediária universal

Boa tarde pessoal,
Estou desenvolvendo um projeto para conclusão de curso que basicamente trata-se da definição de uma linguagem de baixo nível universal (semelhante a um assembly ou bytecode) e da criação de uma máquina virtual para interpretação deste código (cada arquitetura de microcontrolador terá sua máquina virtual dedicada). A ideia é deixar a lógica dos produtos independente do microcontrolador utilizado, facilitando assim upgrades de hardware e possibilitando o desenvolvimento de interfaces de programação em diversas linguagens (fluxograma, ladder, blocos, etc) que sejam comuns a todos os microcontroladores.
Não sei se minha especificação acima ficou clara, segue abaixo uma imagem que descreve a ideia.
A pergunta que gostaria de fazer é: Vocês conhecem algo do gênero já desenvolvido?
Já vi especificações de maquinas virtuais java para uC, mas não é bem esse meu objetivo.
Jonas Rekowsky.
Estou desenvolvendo um projeto para conclusão de curso que basicamente trata-se da definição de uma linguagem de baixo nível universal (semelhante a um assembly ou bytecode) e da criação de uma máquina virtual para interpretação deste código (cada arquitetura de microcontrolador terá sua máquina virtual dedicada). A ideia é deixar a lógica dos produtos independente do microcontrolador utilizado, facilitando assim upgrades de hardware e possibilitando o desenvolvimento de interfaces de programação em diversas linguagens (fluxograma, ladder, blocos, etc) que sejam comuns a todos os microcontroladores.
Não sei se minha especificação acima ficou clara, segue abaixo uma imagem que descreve a ideia.
A pergunta que gostaria de fazer é: Vocês conhecem algo do gênero já desenvolvido?
Já vi especificações de maquinas virtuais java para uC, mas não é bem esse meu objetivo.
Jonas Rekowsky.