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