Obs: Não entendi o primeiro parágrafo. O que tem a ver a ASA com execução em paralelo ? A ASA se constrói em compilação. Creio que não tenha entendido a primeira linguagem. A linguagem 2 apresenta uma idéia interessante. Java já possui algo do tipo. Mas não sei se se pode comentar variáveis. Mas pode-se descrever os métodos e variáveis de instância de uma classe utilizando comandos começados por @ colocados em comentários. Ou algo parecido. A linguagem 3 também é interessante, embora quase impossível de implementar como proposta. Já temos algo parecido quando inserimos código em assembler diretamente no código em C/C++: asm mov ax, 0 asm push ax Isto é permitido por alguns compiladores. A linguagem Green possui um comando java@begin e java@end que permite a inserção de código em Java dentro de código em Green. Nota: 1,25 Linguagem 1) Esta linguagem permite a alteração da ASA durante a execução do programa. A linguagem monta a ASA no começo de execução do programa e executa as funções em paralelo. Assim, ao mesmo tempo estão sendo executados operações do tipo “if”, “for”, “while” etc, todas em paralelo. Enquanto uma das funções fica dependente de alguma interação do usuário (leitura de teclado, espera por um botão, etc) as operações ficam bloqueadas. Assim que a interação do usuário/sistema for completada, o programa volta a funcionar. Possui duas idéias principais: a execução das operações em paralelo e alteração da ASA durante a execução. Entende-se execução de operações em paralelo basicamente pela criação de várias instâncias das operações que deveriam, por exemplo, ser executadas dentro do for. Outro exemplo ilustrativo seria, durante uma operação for simples: For (i=0; i < 10; i++) Fatorial(i); A execução da função Fatorial() ocorreria 10 vezes em paralelo, com valores diferentes de i (0, 1, ...). No caso de alguma interação do usuário/sistema com a variável “i”, todas as 10 funções fatorial seriam alteradas. A alteração da ASA ocorreria, por exemplo, se uma variável i fosse alterada enquanto um if for executado. Por exemplo, na execução de: If (i > 10) ... Se a variável “i” for igual a 15, a operação a ser executada seria o else e todos as outras operações dependentes deste else. Se a variável “i” for alterada para 5, a operação corrente passaria a ser o if, alterando a estrutura da ASA. Desta maneira, todos os objetos (variáveis, objetos, etc) estão sendo executados o tempo todo conforme a necessidade, e a mudança de algum deles afeta diretamente todos os outros. Além disto, o programa executa todas as funções em paralelo e a construção da ASA depende assim diretamente de todas as instâncias de todas as variáveis. Linguagem 2) “Linguagem CC (Comment Compiler)” Esta linguagens utiliza comentários localizados no código fonte do programa como diretivas de execução do programa. É necessário também para isso que os mesmos sejam colocados na formatação reconhecida pela linguagem. Por exemplo, tendo um comentário na declaração de cada variável e em cada um dos Ifs, em caso do erro de execução a mensagem de erro seria: (código fonte): // Contador int n = 10; // Posição atual int i; // Calcula fatorial for (i=0; i < n; i++) // Função fatorial fatorial(i); (Ocorreu erro na execução): erro: Variável i (posição atual), variando de (0 a n (contador)), com valor atual de 5, cometeu um erro em fatorial (Função fatorial). Linguagem 3) Esta linguagem permite a execução de construções feitas em outras linguagens. Assim, é possível executar funções de pascal passando como parâmetros objetos C++ e retornando objetos java. Caso o usuario tenha necessidade de manipular 3 linguagens, isto poderia ser feito com o auxilio da mesma. Por exemplo, @java Vector vetor = @pascal GetElements(num : integer, @c++ int total);