1
2
3
4
Componentes do Sistema | Interface Interactiva | Base de Dados Multimedia | Base de Conhecimentos
Paradigmas de Interfaces |
Linguagem |
Formalismo no Desenho IMS |
Módulos da Interface
No protótipo IMS procurou-se ensaiar diversos paradigmas modernos de interface
interativa em programas informáticos: interface funcional (acesso directo a funções do
programa), interface metafórica (acesso através de icones ou imagens evocativas de
funções ou grupos de funções do programa), manipulação directa de objectos (e.g.
"drag-and-drop"), ajuda por contexto, niveis diferidos de complexidade.
Na face do protótipo (ver imagem anterior), encontram-se explicitadas as principais
funções que o sistema visa satisfazer, com os respectivos pontos de acesso: ler
principais documentos em consulta, fazer perguntas, visualizar informação relevante,
inserir nova informação / opiniões, e introdução ao sistema. Contudo, o principal mapa de
entrada da interface do protótipo (imagem em baixo), previlegia o paradigma metafórico,
em que cada edificio "virtual" conduz a um grupo consistente de funções.
Interface metafórica: "Vila Virtual" da Consulta técnica e Pública
(desenho baseado no e-world, apple)
Assim, nesta "Vila Virtual" da Consulta Técnica e Pública, temos:
- "Quiosque" informativo ("Reception"), para identificação do utilizador, roteiro do
sistema, configuração da interface consoante preferências, etc.
- "Centro de Consulta Pública" ("Public Consultation"), para ler os principais
documentos;
- "Consultório Virtual" ("Experts") de peritos em diversas areas, para fazer
perguntas, com pesquisa de dados por tema ou questão;
- "Centro de Simulação" ("What If Scenarios"), com sistema pericial para análise de
cenários hipotéticos e suas consequências;
- "Arquivos" ("Archives"), para visualização directa dos dados existentes sem
formato rigido de criterios de pesquisa;
- "Correios" ("Mailbox"), para leitura e envio de mensagens a pessoas e entidades;
- "Centro Informático", para inserção de dados e classificação de ficheiros.
Um aspecto importante, e que foi alvo de muita reflexão, é o facto da interface manter as
designações e algumas mensagens em inglês, conforme a primeira versão do protótipo.
De facto, dado que este projecto se inscreveu no meu trabalho de investigação para o
doutoramento no MIT, USA, e para possibilitar o acompanhamento por parte do
respectivo comité de tese do MIT, foi necessário encontrar uma solução de
compromisso.
Em termos praticos, era impossivel duplicar em tempo util o desenvolvimento do
protótipo, numa versão em portugês e outra em inglês. Assim, enquanto o conteudo
(dados, conhecimentos) tinha de ser, necessáriamente, com predominancia total do
portugês (caso de estudo da CTRSU de S. João da Talha), os elementos da interface
que permitem a "navegação" continuaram a ser desenvolvidos em inglês. Para facilitar a
utilização do protótipo por pessoas sem conhecimentos desta lingua, foi acrescentado
um comando de "ajuda" em portugês, para cada função principal.
Módulo "Recepção"
Módulo "Centro de Consulta Pública"
Todo o desenho do protótipo IMS, e em particular a sua interface, foi baseado numa
descrição formal (BNF), unica forma de manter a consistência num programa de larga
dimensão, com multiplos módulos, como este. A descrição completa das definições
formais encontra-se incluida num dos próprios módulos do "software" (CD-ROM anexo).
{*SU_name : system unit ; *type : S }
slots := *parent , *metaclasses , *classes , *SU_name , *type , *comment
referencelist := nil
*parent := nil
*metaclasses := presentation , representation , question , proximity
, link , domain , people , entity , place , timeframe
*classes := agent , knowledge_unit
*SU_name -> identifier
*type := S | metaclass | class | slot | instantiation | definition
*comment -> brief text description
S -> (init symbol) |
Symbol table:
':' -> attribute assignement
'*' -> slot identifier
':=' -> instantiation assignement
'|' -> 'or' list separator
',' -> 'and' list separator
'->' -> definition
'{x}' -> any instantiation of x |
{*SU_name : knowledge_unit ; *type : class}
slots := *metadata_identifier , *representation_descr , *presentation_descr
, *domains , *peoples , *entities , *places , *timeframes , *source_people
, *source_entity , *links , *cross_ref
referencelist :=nil
*parent := system unit
*metadata_identifier := metadata_ID
*representation_descr := representation
*presentation_descr := presentation
*cross_ref := { metadata_ID } |
{*SU_name : link ; *type : metaclass}
slots := *link_ID , *l_origin , *l_destination , *l_kind , *l_date ,
*l_creator , *l_status , *l_guards , *l_weight , *l_why , *l_button
referencelist := nil
*parent := system unit
*link_ID -> integer
*l_origin := { knowledge_unit | question }
*l_destination := { knowledge_unit | question }
*l_kind := domain | places | people | entities | question
*l_creator := { people }
*l_status := enabled | disabled
*l_guards := set of conditions
*l_weight := 0 ... 1
*l_buttons := { button } |
{*SU_name : representation ; *type : metaclass}
slots := nil
referencelist := nil
*parent := system unit
*classes := textual | tables | logic | commands | images | audiovisual
| maps | equations | rules | frames
equations := algebraic
logic := boolean | predicate_calculus
textual | algebraic | boolean | predicate_calculus -> ascii string
commands -> IMS program instructions (script or compiled) [parameters] |
{*SU_name : question ; *type : metaclass}
slots := nil
referencelist := nil
*parent := system unit
*classes :=
what (info) about this | who (states) this | when (was) this | where
(is) this | Why (is) this | expand/specify/generalize this
what (are) the consequences of this
what [contradictory | corroborative] (statements) to this (exist)
what [knowledge_unit] (are within) proximity (to) this
how this relates to that
this | that := knowledge_unit | set_of knowledge_unit |
Módulo de "Consultório Virtual" do Protótipo:
Perguntas a peritos, como consultores independentes ou representando uma Instituição
(em foco: "gabinetes virtuais" de consultores, gerados 'in-loco' e variando consoante a pergunta,
permitindo confrontar varios pontos de vista disponiveis sobre a mesma questão)
Módulo de "Consultório Virtual" do Protótipo:
(em foco: resposta detalhada de consultor , com documentação fotográfica de apoio)
Módulo "Consulta de Cenários Hipoteticos" do Protótipo:
O utilizador define um cenario, o sistema deduz as consequencias, a partir de regras e modelos capturando conhecimento de diversos peritos
Módulo "Caixa de Correio" do Protótipo: Ler e enviar mensagens, comentários.
Módulo "Arquivo". Em foco: Visualização de Fotografias a partir de lista completa
Módulo "Arquivo". Em foco: Visualização de videos a partir de lista completa