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