Engenharia Informática do ToonTalk

ToonTalk é um interpretador para uma linguagem de  programação concorrente restrita.  Programação concorrente restrita é uma mistura de programação lógica concorrente e programação lógica restrita. (Vê por exemplo, Saraswat) As linguagens com as quais os programas são facilmente trocados com os programas ToonTalk são Janus, Flat Guarded Horn Clauses, KL1, Flat Concurrent Prolog, Parlog, e Strand. A sintaxe destas linguagens é textual, enquanto o ToonTalk tem uma sintaxe animada orientada para acções como nos jogos de computador. O ambiente de programação também é completamente diferente. No ToonTalk, o processo de construção, testes, e debugging dos programas faz lembrar os jogos de computador. "From Prolog and Zelda to ToonTalk" é um documento que discute estas ideias em detalhe.

Pictorial Janus é a versão visual da linguagem Janus na qual as imagens são utilizadas como código fonte e a execução de um programa pode ser vista como uma animação. ToonTalk difere do Pictorial Janus (e todas a linguagens de programação visuais) em que o código fonte é animado e concreto, opondo-se à sintaxe estática e abstracta das linguagens visuais. (Visita o Pictorial Janus ftp site e a página da Universidade de Paderborn.)

O modelo computacional que está por de trás do ToonTalk suporta a criação dinâmica e a conclusão de processos assíncronos. As capacidades de envio e recepção oferecem meios para estes processos comunicarem e sincronizarem. Todo o estado é local ao processo. Existe uma forte relação entre linguagens de programação concorrentes orientadas a objectos e o ToonTalk. (Consulta os documentos do ToonTalk.) Aqui está um pequeno documento sobre como o ToonTalk é concorrente e porque é que é difícil estender as linguagens convencionais para serem concorrentes.

ToonTalk inclui uma sequência de mais de 60 puzzles. A ligação à programação e engenharia informática para cada puzzle está descrita aqui.

Uma maneira de perceber o ToonTalk é que oferece representações concretas de conceitos computacionais abstractos. Para cada abstracção computacional o ToonTalk oferece um elemento equivalente.

Abstracção Computacional Representação no ToonTalk
computação cidade
actor ou processo ou objecto

casa

métodos robots
pré-condições do método conteúdo do balão de pensamento
acções do método acções ensinadas ao robot
tuplos ou mensagens ou vectores caixas
testes de comparação balanças
gerar actor camiões carregados
terminar actor bombas
constantes números, texto e imagens
canal com capacidades de transmissão pássaros
canal com capacidades de recepção ninhos
armazenamento do programa cadernos

Outra maneira de perceber o modelo computacional do ToonTalk é considerar que podes treinar robots para:

· enviar uma mensagem

dando uma caixa ou um bloco a um pássaro,

· gerar um novo agente

largando uma caixa e uma equipa de robots num camião,

· executar operações primitivas (ex. +, -, *)

largando um bloco num bloco,

· copiar um elemento

utilizando a varinha mágica,

· terminar um agente

activando uma bomba,

· alterar o conteúdo de um tuplo

tirar os elementos e colocar novos.

principal | procura | compra | manual | notícias | informação | perguntas | apoio | downloads | imprensa | contacto