Conclusões <A NAME=concl> </A>



next up previous contents
Next: References Up: GAMA-X Geração Semi-Automática Previous: Versão X11 do

Conclusões  

É hoje ponto assente que uma boa Interface Humano-Computador é um factor fundamental para o sucesso de qualquer sistema software interactivo.

Para além da complexidade inerente à concepção de um sistema software, o desenvolvimento de uma interface humano-computador, deve ainda ter em conta o factor humano com as suas características de não-determinismo, imprecisão, etc. O conceito de Interface em Modo Assistido surge desta necessidade. Uma Interface Assistida age de um modo preventivo: evita que o utilizador cometa erros, solicita informação necessária ainda não fornecida, etc.

O objectivo principal deste trabalho foi o desenvolvimento e implementação de um formalismo para a especificação da componente de controlo de diálogo (tradicionalmente dita sintáctica) para Interfaces em Modo Assistido: os Guiões de Interacção. Ao permitirem a especificação, não só da sintaxe da linguagem de interacção, mas também das condições semânticas a que essa linguagem deve obedecer, os Guiões de Interacção permitem desenhar um diálogo em que o utilizador, embora tendo a iniciativa (cf. Controlo Dialogue Dominant) é guiado através da interface (cf. Modo Assisitido).

Depois da apresentação dos Guiões de Interacção e dos Descritores de Apresentação, utilizados para caracterizar lexicamente os Guiões, foi feito o seu enquadramento no âmbito mais global do sistema GAMA-X - um UIMS para a linguagem CAMILA (descrita no Capítulo 4) - sendo apresentada a arquitectura proposta para o sistema. Em consequência da sua modularidade, o GAMA-X consegue acompanhar a aplicação desde o estado de protótipo até uma eventual implementação, com as óbvias vantagens de consistência da Interface, ao longo das diversas fases de desenvolvimento.

Finalmente, foi descrita a implementação da componente de runtime do GAMA-X em NYAGSL.

A divisão dos Guiões em três tipos com objectivos bem definidos, se por um lado guia o desenho de interfaces orientadas ao comando (como era objectivo), por outro, dificulta a especificação de outro tipo de interfaces. A utilização de um único tipo de Guião (que, grosso modo, corresponderia ao VALSYNTH) flexibilizaria a especificação. No entanto, deixaria de ser possível estabelecer, com tanta clareza, regras relativas à manutenção da validade semântica do contexto de interacção. Poderemos então dizer que as interfaces assistidas deixariam de ser suportadas para passarem, apenas, a ser possíveis. Este problema poderia, por sua vez, ser resolvido se fosse implementado um mecanismo de detecção e aviso de alterações no estado da aplicaçãogif. Tal poderia originar, no entanto, interfaces com um comportamento pouco desejável: a meio da execução de uma tarefa ela poderia deixar de ser válida sendo cancelada por iniciativa do próprio sistema.

A utilização de Petri Nets C/E (aumentadas com condições e acções nas transições) permitiu especificar, de uma forma simples e rápida, a semântica dos Guiões de Interacção. A utilização de um animador de redes, por outro lado, demonstrou que elas são, também, um modelo adequado para a implementação dos Guiões de Interacção. Apenas em casos onde se torna necessário proceder à reinicialização global das redes surgiram problemas, dada a complexidade que a inclusão de todas as transições necessárias para o efeito acarretaria. A solução encontrada consistiu em colocar a responsabilidade da reinicialização no animador das redes. Note-se que esta solução é satisfatória em termos de implementação mas, relativamente à especificação formal, em rigor, seria necessário fazer o cálculo das transições referidas.

A actual versão dos Descritores de Apresentação (utilizados para especificar o Modelo da Apresentação), contempla, ainda, poucas características léxicas. Outras poderão ser, no entanto, adicionadas sem perturbar grandemente o funcionamento do sistema, uma vez que cada Apresentação tratará aquelas características para as quais possui capacidade e das quais tem conhecimento. O desenvolvimento de frontends para diversos ambientes encarregar-se-á, certamente, de fazer surgir a necessidade de outras características.

Em relação à implementação da componente de runtime, foi tomada a decisão de deixar a cargo do Modelo da Apresentação a activação dos diferentes Guiões conforme vão sendo necessários para controlar a Interface. Seria talvez interessante estudar a outra possibilidade apresentada, colocando essa responsabilidade no Controlador de Diálogo. Deste modo, será possível ao Modelo da Aplicação intrometer-se, mais facilmente, no diálogo Modelo da Apresentação/Controlador de Diálogo e assim simular interacção. Tal permitirá, por exemplo, que o Modelo da Aplicação receba directamente invocações de operações e faça feedback para o utilizador das mesmas.

A actual versão do Modelo da Apresentação, a correr em XMetoo, não é muito interessante do ponto de vista estrito de utilização. Uma versão para X11 está a ser implementada, mas problemas com as comunicações no ambiente híbrido C/XMetoo, têm atrasado a sua conclusão. Está ainda a ser considerada a hipótese de transportar o sistema GAMA-X para Xlisp, o que permitirá a utilização do Winterp [May90]gif - um sistema para a geração de interfaces X11 - para a implementação do Modelo da Apresentação.

Por último, em relação ao sistema GAMA-X, está já disponível, como vimos, uma versão para XMetoo do Módulo de Interacção com o Utilizador, estando a ser desenvolvida a versão X11 como foi dito. Relativamente ao Módulo de Geração de Interfaces, está praticamente acabado o compilador de Guiões de Interacção.

Para que o sistema se possa considerar completo, falta então estudar e implementar:



next up previous contents
Next: References Up: GAMA-X Geração Semi-Automática Previous: Versão X11 do



Jose Franscisco Creissac Campos
Wed Jan 31 20:30:35 MET 1996