Home

as a PDF

image

Contents

1. 20 Microsoft Word draft07 sim doc Iof x PLONG BANG PING Insert Format Tools Table Window Help O SChIOCHy OR j t 1 int coli nec RK ET OR WPH 2 Page 1 Sec 1 1 99 Figura 4 Tela de um editor de textos ap s ter sido customizada pelo usu rio Na tela apresentada acima os menus File Edit e View puderam ser substitu dos por PLONG BANG e PING respectivamente descaracterizando a aplica o As barras de ferramenta tamb m foram eliminadas e outra foi criada em seu lugar sem que haja qualquer pista sobre o significado de seus cones Como o n mero de combina es pode ser bastante grande deve se classificar ou hierarquizar as alternativas de extens o de forma a privilegiar algumas em detrimento a outras garantindo que apenas um n mero razo vel de sugest es de extens o seja apresentado ao usu rio Cabe ao designer estabelecer estas classifica es tendo em vista que o usu rio poder tamb m neste caso expandir o escopo dos operadores de extens o 3 1 3 Considera es A nossa abordagem parte de tr s pressupostos b sicos O primeiro que pensamos de forma anal gica ou seja tendemos a pensar em conceitos novos com base em conceitos conhecidos Lakoff e Johnson 1980 Lakoff 1987 O segundo que ao interagir com uma aplica o o usu rio tem uma necessidade e est tentando expressar esta necessidade no mbito da aplica o a fim de obter como resultado
2. o onde a nica interpreta o poss vel seria a literal Reproduzimos abaixo o exemplo da p gina 60 Exemplo Sejam os tipos robot block toy e beeper Consideremos os tr s grupos de classifica o a seguir 1 Stuff robot block toy beeper 2 Actors robot Things block toy beeper 3 Actors with wheels for legs robot Things that are solid and regular shaped block Things that are made up of blocks toy Things that beep 3 times beeper 2 Defina as opera es para os tipos que estiverem mais acima em uma cadeia meton mica Para al m destes ser o geradas itera es com base em quantificadores universais Nossos mecanismos de c lculo de meton mia percorrem as poss veis cadeias meton micas nos dois sentidos Para baixo do todo T para uma parte P por exemplo substituindo uma ocorr ncia de T por P em opera es que se apliquem a P e n o a T No sentido oposto de uma parte P para o todo T por exemplo o mecanismo funciona como um gerador de itera es atrav s de quantifica o universal do tipo para todo P em T TT Exemplo Seja a opera o paint transportable object color como alterando o valor do atributo color do tipo transportable object e os predicados is a toy transportable object instance of toy 1 toy part_of block1 toy1 part_of block2 toy1 part_of connector1 toy1 contained toy1 box1 attribute_of color block A opera
3. o brasileira Schmalhofer F K hn O e Boschert S The Acquisition and Utilization of Knowledge in Beginners and Advanced Learners Em Wender Schmalhofer e Bocker eds Cognition and Computer Programming Ablex Publishing Corporation Norwood NJ 1995 Saussure F de Cours de Linguistique G n rale Paris Payot 1916 Schank R C Identification of Conceptualizations Underlying Natural Language Em Schank amp Colby eds Computer Models of Thought and Language Freeman San Francisco 1973 AZ Schank 1975 Suchman 1987 Thagard e Verbeurgt 1998 Weber e B gelsack 1995 Winograd 1996 Witschital 1995 Zloof 1981 Schank R C Conceptual Information Processing North Holland Amsterdam 1975 Suchman L Plans and Situated Actions The Problems of Human Machine Communication Cambridge MA Cambridge University Press 1987 Thagard P e Verbeurgt K Coherence as Constraint Satisfaction Cognitive Science Journal 1998 Resumo dispon vel em http www umich edu cogsci abstract 5 98thagard html Weber G e B gelsack A Representation of Programming Episodes in the ELM Model Em Wender Schmalhofer e B cker eds Cognition and Computer Programming Ablex Publishing Corporation Norwood NJ 1995 Winograd T Ed Bringing Design to Software Addison Wesley 1996 Witschital P TRAPS An Intelligent Tutoring Environment ofr Novice Programm
4. o extens vel Uma vers o posterior deve permitir que as extens es reais ou potenciais da vers o Qk anterior continuem v lidas Caso contr rio o usu rio dever descartar o modelo aprendido e construir um novo reiniciando o caminho de aprendizado Assim precisamos fazer mais investiga es sobre a escalabilidade do modelo e sua repercuss o sobre o ciclo de vida das aplica es extens veis Na medida em que oferecemos ao usu rio maneiras de ele se expressar espontaneamente conseguimos capturar padr es de usabilidade tais como percebidos pelos usu rios Trabalhos futuros poderiam explorar o uso do nosso modelo para capturar padr es de intera o e funcionalidade desejados pelos usu rios Estes padr es podem constituir uma fonte importante para novos princ pios de design qualificados pelos destinat rios do produto projetado ou seja pelos usu rios No cen rio de Engenharia Semi tica consideramos uma aplica o uma comunica o unilateral do designer para o usu rio Em aplica es extens veis podemos conceber a invers o dos pap is onde o designer passa a ser o receptor de uma mensagem enviada pelo usu rio atrav s das extens es formuladas Outra quest o interessante a ser investigada a possibilidade de utilizar outros recursos ling sticos para gerar extens es atrav s de figuras de linguagem como um todo e outros mecanismos de natureza pragm tica Este ponto aproxima as linguagens de inter
5. gram tica e pragm tica Lyons 1981 Todos estes tentam tratar da quest o das distin es que emergem entre as coisas em abstrato e as coisas em situa o Al m disto fazemos tamb m a distin o entre express o e conte do inspirada em Hjelmslev 1963 Aplicado ao ambiente computacional um token expressivo a realiza o na interface de um token de conte do Assim as bases de conhecimento previstas na arquitetura que supomos representam e modelo est tico do dom nio a natureza classificat ria dos elementos do dom nio e suas rela es est ticas Aqui est o representados n o apenas os tipos de objetos do dom nio mas tamb m uma taxonomia dos atributos destes tipos Por exemplo em nosso exemplo de aplica o para esta tese Se o 4 1 O Prot tipo color e shape s o atributos do tipo appearance ou seja classification appearance color shape Al m dos atributos representamos neste modelo a estrutura ou composi o dos tipos atrav s de rela es do tipo part of e modelo din mico do dom nio intera es entre os elementos do dom nio no tempo e para um determinado fim S o representados como uma seqii ncia de instru es e atrav s de pr e p s condi es Estes elementos instru es pr e p s condi es tamb m podem ser classificados de forma a permitir a aplica o dos operadores de extens o como ser visto mais adiante e modelo da aplica o intera es entre
6. o aplicando a a um tipo de objeto para a qual n o havia sido projetada De acordo com o princ pio de analogia local que seguimos somente um AA elemento do sintagma original pode ser modificado numa tentativa de preservar ao m ximo o significado de cada sintagma que poderia ser perdido caso fosse permitido variar diversos elementos simultaneamente at no limite distorcer completamente o enunciado original 3 3 2 Classifica es Utilizadas nos C lculos de Meton mias Os c lculos de meton mias s o realizados com base em determinados tipos de rela es entre os tipos representados nos modelos tais como parte todo conte do continente produto produtor etc Embora algumas rela es j sejam tidas como meton mias por default como part of e contained in necess rio que o designer indique que rela es adicionais podem ser utilizadas nos c lculos de meton mias Ele pode fazer isto utilizando um predicado da forma metonymic relations created by written by built by Exemplo Sejam os predicados instance of karel robot instance of lerak robot instance of toy1 toy is a toy transportable object operation pick robot transportable object e a rela o created by toy1 lerak Utilizando a representa o de meton mia descrita acima posso interpretar pick karel lerak como sendo pick karel toy 1 visto que a opera o pick est definida para transportable object e n o para robot 3
7. o V aplicada ao tipo A e com um complemento do tipo B Sejam C e D outros tipos Nosso mecanismo de extens o procura dar uma interpreta o aos sintagmas C V B varia o de A para C e A V D varia o de B para D mas n o para o sintagma C V D varia es de A para C e B para D simultaneamente Entretanto este ltimo caso pode ser gerado pelos de extens o por constru o Esta restri o se deve ao princ pio de interpreta o local que afirma que devemos variar o menos poss vel o contexto do enunciado de forma a tentar fazer sentido dele Brown e Yule 1983 Varia es concomitantes de A para C e B para D possivelmente conter o intera es entre os tra os sem nticos de D e C que fogem ao escopo deste trabalho A interpreta o de um sintagma geralmente comandada pelo verbo Um sintagma pode ser representado por um conjunto de tipos que podem assumir o papel de sujeito e um conjunto de tipos que podem assumir o papel de complemento As classifica es que envolvem estes tipos s o utilizadas pelo mecanismo de extens o na tentativa de dar uma interpreta o metaf rica a um tipo que n o perten a ao conjunto de tipos esperados para cada sintagma Sejam A V Z B V Z e C V Z sintagmas definidos para a opera o V aplicados ao tipo A ao tipo B e ao tipo C respectivamente com complemento do tipo Z Sejam tamb m as classifica es C1 A D T e C2 A B E F T Dado um enunciado na forma T V Z se
8. o de par metros Forward True e Wrap wdFindContinue Neste caso houve uma quebra entre a linguagem de interface ou seja os elementos do di logo com os quais o usu rio estava acostumado a interagir e a linguagem de extens o ou seja os par metros da opera o que ele deve manualmente digitar para realizar a opera o Este tipo de descontinuidade dificulta e em certos casos impossibilita a edi o pelo usu rio final do c digo resultante da grava o de uma macro Algumas linguagens de extens o tentam solucionar os problemas apresentados importando abstra es de outras linguagens de programa o o que as torna ainda mais dif ceis de utilizar Como descrito por Ghezzi e Jazayeri the proliferation of built in abstractions as opposed to mechanisms for defining new abstractions has the principal effect of making the language large without exhausting all the needs that may arise in different applications Ghezzi e Jazayeri 1987 A atividade de programa o envolve a grosso modo uma linguagem de programa o e um ambiente de desenvolvimento Este ambiente deve oferecer documenta o tanto sobre 14 a linguagem de programa o quanto sobre sua interface Esta documenta o deve ir al m de manuais on line e incluir explica es sobre o funcionamento da aplica o revelando a inten o de design do designer original Como levantado por da Silva et al 1997 este mecanismo de explica o integr
9. representamen S sem ntica semiose semi tica s mbolo signo sintaxe sistema T tipo qualquer a o realizada pelo sistema ativada atrav s de um elemento de interface ou atrav s da linguagem de extens o qualquer processo de customiza o ou extens o feito por usu rios finais programa o na qual a partir de uma grava o de macro a aplica o generaliza os comandos gravados para gerar um programa Pode utilizar ou n o mecanismos de infer ncia e diferentes fontes de conhecimento express o do signo estudo dos significados das palavras e express es ato de interpreta o de um signo ou seja de gera o de um interpretante a partir da express o do signo ou representamen estudo dos signos e processos de significa o e de comunica o signo cuja convencionada rela o express o conte do algo que quer dizer alguma coisa para algu m pode ser cone ndice ou s mbolo estudo da estrutura e disposi o de palavras em uma senten a aplica o abstra o de um conjunto de inst ncias que compartilham atributos e rela es com outras inst ncias e tipos 101 token type U usabilidade usu rio final W wizard uma inst ncia de um tipo tipo medida associada facilidade de aprendizado efici ncia de uso capacidade de reten o do que foi aprendido baixo ndice de erros e satisfa o dos usu rios Nielsen 1993 usu
10. Ap s uma an lise mais cuidadosa percebemos que lidamos de fato com duas opera es distintas uma opera o de sele o relativa posi o atual do cursor utilizando as setas do teclado e uma opera o de sele o utilizando o mouse Ao ativar a opera o de grava o a opera o de sele o atrav s do teclado mantida mas a de sele o com o mouse n o est mais dispon vel Este caso nos mostra que embora exista uma regra ou explica o para uma mudan a entre os modos o fato de n o deixar isto claro atrav s da interface gera d vidas para o usu rio que pode perceber a mudan a como um comportamento inconsistente da aplica o Outro problema encontrado com fregii ncia em aplica es extens veis a mudan a no comportamento acionado por um signo de interface durante a intera o ou durante uma extens o Aplica o Microsoft WordO for Windows 2 0 O usu rio est acostumado a interagir com a aplica o e quando erra ativa a op o de undo e desfaz o ltimo passo de intera o Ap s gravar uma macro o usu rio decide test la Vendo que o resultado n o foi o desejado decide ativar o undo Entretanto o documento n o foi restaurado ao seu estado anterior execu o da macro Apenas o ltimo comando da macro foi desfeito Em alguns casos este comportamento pode n o ser percebido o usu rio pode pensar que todas as opera es da macro foram desfeitas e o resultado pode ser desas
11. Informatica PUC RioInf MCC 19 96 Rio de Janeiro 1996 DiGiano C A vision of highly learnable end user programming languages Child s Play 96 Position Paper 1996 DiGiano C e Eisenberg M Self disclosing design tools A gentle introduction to end user programming Em Proceedings of DIS 95 Ann Arbor Michigan August 23 25 1995 ACM Press 1995 Draper S Display Managers as the Basis for User Machine Comunication Em D Norman e S Draper eds User Centered System Design Hillsdale NJ Lawrence Erlbaum 1986 Pp 339 352 Eco U The Semantics of Metaphor Em Eco U The Role of the Reader Indiana University Press Bloomington IN pp 67 89 1979 Eco U Semiotics and the Philosophy of Language Indiana University Press Bloomington IN 1986 Eco U A Theory of Semiotics Bloomington Indiana University Press 1976 a1 Eisenberg 1995 Fillmore 1968 Fischer 1998 French 1995 Furtado 1992 Gelernter e Jagannathan 1990 Gibbs 1993 Ghezzi e Jazayeri 1987 Halasz e Moran 1982 Eisenberg M Programmable Applications Interpreter Meets Interface SIGCHI Bulletin Apr Vol 27 2 ACM Press 1995 Fillmore C The case for case Em Universals in Linguist Theory ed E Bach e R T Harms New York Holt 1968 Fischer G Beyond Couch Potatoes From Consumers to Designers In Proceedings of the 5 Asia Pacific Computer Human Interact
12. o extens vel que traz para a linguagem de interface mecanismos de extens o que fazem uso de alguns recursos sem ntico pragm ticos a saber met foras e meton mias Atrav s da interface apresentamos os modelos do dom nio e da aplica o permitimos que os usu rios indiquem o ponto de partida das extens es desejadas e os guiamos passo a passo atrav s destas extens es utilizando mecanismos do tipo wizard Como as extens es s o geradas por c lculos metaf ricos e meton micos e sugeridas aos usu rios que t m a palavra final sobre a extens o resultante o designer consegue manter consist ncia com o significado pretendido da aplica o Isto obtido atrav s de restri es nas extens es tanto da funcionalidade quanto da interface da aplica o Ao trazer estes recursos de extens o para a interface evitamos problemas de descontinuidade entre intera o e extens o e permitimos que usu rios leigos em programa o fa am extens es nas aplica es sem precisar primeiro aprender conceitos ou linguagens de programa o Para tanto o modelo prev que a aplica o revele gradualmente os modelos de dom nio e da aplica o medida que forem necess rios para as extens es DiGiano e Eisenberg 1995 DiGiano 1996 Em outras palavras nossa abordagem tem como resultado dar aos usu rios recursos para estender os modelos criados pelo designer da aplica o de forma controlada Ela quebra barreiras entre interfa
13. o paint toy1 interpretada literalmente A opera o paint block1 tamb m visto que color atributo de block J a opera o paint connector1 seria interpretada como paint toy 1 visto que connector1 n o possui o atributo color Percorrendo a cadeia meton mica no sentido oposto a opera o paint box1 seria interpretada como para todo transportable object em box1 paint transportable object color visto que box1 tamb m n o possui o atributo color 3 Como consegii ncia de 2 interessante expressar como rela es meton micas todas as rela es que possam dar origem a itera es como ilustrado abaixo Uma rela o located poderia ser definida como meton mica a fim de gerar itera es do tipo para todo elemento E localizado em L pick E como interpreta o de uma opera o pick L que n o possui significado literal Assim o designer deve se dar conta de que o potencial dos c lculos de extens o por meton mia s o diretamente proporcionais ao comprimento das cadeias que puderem ser estabelecidas de acordo com as rela es meton micas 4 Evite criar um conceito unificador Como nosso mecanismo procura interpretar as express es que n o possuem sentido literal atrav s da navega o por cadeias meton micas se todas estas cadeias atingirem um tipo unificador este tipo ser sempre considerado uma poss vel interpreta o para qualquer tipo de express o neutralizando as oposi es d
14. rio que interage com a aplica o possivelmente leigo em conceitos de programa o sequ ncia de di logos que guia o usu rio visando a realiza o de uma determinada tarefa ou opera o complexa Ap ndice B Listagens Este ap ndice apresenta algumas listagens em Prolog do nosso prot tipo a fim de ilustrar como os mecanismos de extens o apresentados ao longo deste trabalho podem ser implementados nesta linguagem Representa o dos Elementos do Modelo Est tico As listagens nesta se o ilustram a representa o dos elementos do modelo est tico de type robot dc type beeper de type transportable object de type nil de type thing dc_is a dc_is a dc_is a dc_is a dc_is a dc_is a dc_is a dc_is a dc_is a dc_is a toy transportable_object beeper transportable_object box transportable object box container corner container bin container bag container street road avenue road bin fixed object SE A Da PLS a E SS ni de is a wall fixed object de is a lamppost fixed object de is a fixed object thing de is a robot actor dec is a territory place de is a container place de is a transportable object thing is a X Y de is a X Y subtype SubTipo Tipo is_a SubTipo Tipo subtype SubTipo Tipo is a SubTipo X subtype X Tipo dc_part_of dc_part_of dc_part_of dc_part_of dc_part_of dc_part_of block toy connector toy
15. 3 3 Classifica es Utilizadas nos C lculos de Met foras Podemos observar pelos elementos que devem ser representados na base de conhecimento a presen a de diversos tipos de classifica o classifica o de tipos atributos rela es e opera es Estas classifica es s o fundamentais para a gera o de met foras que se baseiam na semelhan a entre elementos Quanto mais rica a classifica o dos elementos da base maiores as chances das infer ncias feitas pelos c lculos de extens o em conseguir uma boa interpreta o para os AG enunciados do usu rio No nosso modelo podemos representar uma classifica o de forma extensional ou intensional Uma classifica o pode ser descrita por um predicado da forma classification lt nome classifica o gt lt conjunto de elementos gt O tipo do elemento classificado pode ser type instance attribute value relation operation Entretanto as classifica es de types costumam j estar representadas por rela es do tipo is a Os seguintes predicados ilustram as demais classifica es classification measurable stuff size volume length width height weight classification low intensity small short narrow light classification high intensity large tall wide heavy classification ownership have own De forma semelhante nossa base de conhecimento prev a categoriza o de a es de acordo com o sugerido em Schank 1973 Schank 1
16. Borgers options E T Tabl ARANHA Track Changes User Information Compatibility File Locations aeneo er LES view General Edit Print Save Spelling amp Grammar M straight quotes with smart Page Layout view options IV Ordinals 1st with superscrip Show T Fractions 1 2 with Fraction Vo 5j I Highlight I Symbol characters with s Object anchors M Bookmarks E ESA ara undetine cai T Text boundaries Tl Field codes S o Picture placeholders Field shading I Internet and network paths FP Animated text aways 2 IV ScreenTips Automatically as you type J Format beginning of list item Nonprinting characters I Define styles based on yourf Tab characters T Optional hyphens T Spaces T Hidden text Tl Paragraph marks IV all Window IV Status bar IV Horizontal scroll bar IV vertical ruler IV Vertical scroll bar Figura 3 Algumas telas de configura o de par metros em um editor de textos comercial Nossos recursos de extens o filtram o n mero de extens es poss veis procurando apresentar apenas as mais prov veis Para tanto utilizamos um principio de interpreta o local Brown e Yule 1983 Este princ pio diz que o ouvinte n o deve criar um contexto maior do que o necess rio para se chegar a uma interpreta o Em nosso modelo isto significa calcular os elementos de maior semelhan a com o elemento indicado para a extens o onde apenas um dos elementos enuncia
17. Esta a id ia central da Engenharia Semi tica de Souza 1993 de Souza 1996 de Souza 1997 Trata se de uma abordagem com base te rica para o design de c digos e linguagens de interface de usu rio A Engenharia Semi tica defende que grandes avan os ocorrer o quando os designers perceberem que eles e n o a aplica o que eles projetam est o se comunicando com os usu rios atrav s da interface da aplica o e os usu rios por sua vez perceberem que n o est o recebendo uma mensagem de um sistema ou de uma m quina mas sim do designer Para que os usu rios sintam a necessidade e possam estender uma aplica o eles precisam inicialmente entender seu significado e como novos significados podem ser acrescentados a ela A Engenharia Semi tica pretende facilitar estes processos de interpreta o do usu rio atrav s do design cuidadoso das linguagens envolvidas na aplica o Al m de decifrar as inten es do designer os usu rios devem agora poder expressar suas pr prias inten es Pretendemos motiv los a utilizar este recurso comunicativo para escrever suas pr prias mensagens A Figura 1 ilustra os processos que ocorrem em aplica es extens veis 17 modelo almejado de uso modelo percebido gt de uso E extens es ma do usu rio extens es do usu rio modelo da aplica o intera o modelo pretendido de uso design e implementa o usu
18. Numa interface predominantemente visual h pouca articula o dos signos expressivos e portanto dificilmente conseguimos formular regras de constru o de novos signos Eco 1976 Martins 1998 Em uma aplica o extens vel isto implica a perda de controle das extens es no mbito expressivo visto que n o temos como restringir ou guiar o usu rio por tais extens es O resultado uma total liberdade de customiza o da interface para refletir extens es de funcionalidade cujo resultado pode ser uma degenera o da interface como apresentado na Figura 4 na p gina 40 7 Utilize os mecanismos de gera o de extens es como ferramenta de design para detectar distor es existentes ou oportunidades adicionais de extens o Os mecanismos apresentados neste trabalho possuem al m da capacidade interpretativa uma capacidade gerativa na medida em que podem gerar o conjunto de express es TA metaf ricas e meton micas e verificar sua validade prov vel que muitas das express es geradas n o sejam plaus veis e portanto n o tenham grande utilidade Neste caso o designer pode ajustar as classifica es dos elementos no modelo a fim de representar mais precisamente o dom nio e as extens es potenciais que ele pretende disponibilizar ao usu rio final on 5 Conclus es Este cap tulo compara nossa abordagem com trabalhos relacionados enumera e analisa as contribui es apresentadas para a comunidade cient
19. T part of U acrescenta op o ao wizard cria itera o do tipo para todo T de U para existir cada rela o meton mica que exista entre S e T ex S part of T acrescenta op o ao wizard cria itera o do tipo para todo S de T Esse procedimento leva em conta tanto a dire o ascendente na cadeia de rela es meton micas de uma parte para o todo quanto a dire o descendente do todo para as partes O mecanismo de cria o de itera es deve ser complementado por um mecanismo de cria o de condicionais a fim de restringir a execu o das itera es caso necess rio Este mecanismo descrito a seguir Restri es na Execu o de uma Opera o Para restringir a execu o de uma instru o conjunto de instru es ou de uma itera o poder amos criar atrav s da interface condicionais de acordo com o procedimento abaixo Para cada instru o se envolver tipo T para cada atributo A de T user show option restringir de acordo com algum valor V de atributo A de T para cada rela o R entre T e outro tipo S user show option restringir de acordo com alguma rela o envolvendo TeS Entretanto esta n o uma maneira muito eficiente pois um tipo pode possuir v rios atributos com diversos valores poss veis e ou muitas rela es com outros tipos KK Captura do Contexto de uma Opera o Uma forma mais adequada de restringir uma opera o seria configurar pr condi es atr
20. a es s o conceitualizados metaforicamente como objetos atividades como subst ncias e estados como continentes Lakoff e Johnson 1980 Estes grupos e categoriza es nos ajudam a perceber rela es que n o est o bvias no modelo do dom nio mas que podem ser computadas de forma a apresentar aos usu rios finais op es de extens o como ser visto mais adiante no Cap tulo 3 Programa o Via Interface Meton mias Uma meton mia procura focar um aspecto selecionado de um objeto em detrimento a outros aspectos visando atingir um determinado efeito comunicativo de forma mais simples do que com a express o literal correspondente Para tanto se utiliza de rela es do tipo causa efeito parte pelo todo local pelo evento produtor pelo produto e etc Utilizando eixos meton micos podemos navegar pela ontologia com base em rela es do tipo parte todo agente objeto agente instrumento e etc 2 5 2 Analogias e Abdu o Nosso estudo inclui uma investiga o sobre racioc nio abdutivo que pode ser entendido da seguinte forma Peirce 1931 a regra todos os A s que s o B s s o C s resultado este A C caso ent o este A B Este tipo de racioc nio difere do racioc nio dedutivo que parte de regra e caso para o resultado e do racioc nio indutivo que parte de caso e resultado regra Embora haja imensa controv rsia e discuss o sobre a natureza pr pria da abdu o Hintikka
21. a possibilidade de realiza o de uma nova tarefa Estas hip teses refor am a nossa op o por fazer de nosso mecanismo de interpreta o dos enunciados do usu rio um processo de analogia local Brown e Yule 1983 Desta forma partimos do enunciado do usu rio e caso n o haja interpreta o literal para este enunciado tentamos variar um de seus elementos na tentativa de alcan ar uma intepreta o v lida A forma como variamos estes elementos dada pelos operadores de met foras e meton mias aplicados aos modelos do dom nio e da AN aplica o E importante observar que o usu rio n o precisa saber o que uma met fora ou uma meton mia para utilizar estes recursos em seus enunciados Nosso terceiro pressuposto que como o usu rio forma um modelo conceitual de uma aplica o atrav s de sua intera o com ela dificilmente ele obter um modelo conceitual correto e completo o que refor a nossa op o por recursos lingiifsticos que permitem que os usu rios utilizem enunciados aproximados muitas vezes incorretos do ponto de vista literal Nossos mecanismos permitem interpretar ou dar sentido a enunciados que n o estiverem representados diretamente no modelo mas apenas atrav s de classifica es ou rela es com outros elementos Com isto um usu rio que utilize um modelo conceitual parcial para se expressar de maneira anal gica a um enunciado literal ter alguma chance de produzir o resultado esperado
22. conclui que a dificuldade dos usu rios em programar suas aplica es est nas linguagens de programa o que lhes s o oferecidas Assim parte da pesquisa em programa o feita por usu rios finais deve destinar se a projetar linguagens de programa o mais adequadas a serem oferecidas pelas aplica es extens veis para os usu rios finais que desejem estend las Nossos estudos de Souza e Barbosa 1996 Barbosa et al 1997 da Silva et al 1997 Barbosa et al 1998 indicam que uma linguagem de programa o adequada pode n o ser o bastante para resolver o problema A interface das aplica es extens veis tamb m deve ser cuidadosamente projetada para facilitar n o apenas a intera o com a aplica o mas agora tamb m sua extens o Nossa abordagem parte do princ pio que os usu rios podem querer estender a aplica o partindo de um determinado objeto ou opera o mudando apenas algumas de suas propriedades ou parte de seu comportamento Nesta hip tese o usu rio pensaria da seguinte forma Se houvesse uma opera o como essa mas que pudesse ser aplicada sobre aquele objeto ou Se houvesse um objeto como esse mas que possuisse mais gt tais propriedades Fica evidente que esta maneira de raciocinar se baseia na percep o de semelhan as e na elabora o de analogias que ling isticamente se expressam preferencialmente atrav s de met foras e meton mias De forma a a
23. conte do express o representados em nosso prot tipo LQ CONTE DO DESCRI O DA EXPRESS O posi o coordenada avenida X rua Y x y mundo para tela X Y forma representa o 2D esfera sphere pequeno c rculo com padr o s lido forma de muro wall shaped grande quadrado com padr o em diagonal cubo cube pequeno quadrado com padr o s lido caixa box shaped grande quadrado oco orienta o Forma com orienta o ou olho no quadrado que a circunscreve N S L O forma com ponto de orienta o apontando para o norte sul leste oeste ou olho no topo parte inferior lado direito lado esquerdo do quadrado que a circunscreve Tabela 3 Exemplos de mapeamento conte do express o representados em nosso prot tipo Os mapeamentos est o agrupados de acordo com os valores de cada atributo Assim ao se estender um tipo de objeto acrescentando se um ou mais atributos a aplica o deve verificar se algum mapeamento deve ser obedecido Quanto mais gramaticalizado for este mapeamento mais f cil ser diagnosticar as altera es e resolver os conflitos que podem surgir da combina o de diferentes tipos de atributos Por exemplo vamos criar um novo tipo de objeto chamado blip que deve ser uma esp cie de beeper objeto sem orienta o cuja representa o uma esfera mas com o atributo orientation Esse novo atributo deve ser refletido na express o do ob
24. di logos do tipo wizard Do ponto de vista do usu rio as op es de extens o lhe ser o apresentadas de forma casual com a possibilidade de acessar explica es sobre como estas op es foram calculadas No caso de uma extens o por constru o mesmo que apenas uma op o seja z7 encontrada esta ser apresentada para o usu rio Isto importante para o usu rio se sentir no controle da aplica o e saber que ele sempre poder rejeitar as op es que lhe forem oferecidas Este ponto distingue claramente nossa abordagem daquelas onde n o se presume que haja falhas na gera o de analogias e o algoritmo executado automaticamente como por exemplo mecanismos de automatiza o de edi o e formata o de textos habilitados por default em alguns editores de texto comerciais Em nossa abordagem utilizamos um mecanismo semelhante ao di logo atrav s de wizards que guiam o usu rio passo a passo atrav s das etapas de extens o Nossos wizards apresentam widgets componentes visuais interativos familiares ao usu rio tais como campos de texto bot es de sele o check boxes bot es de op o radio buttons listas com sele o simples ou m ltipla e bot es de comando Estes widgets tamb m possuem legendas que ser o utilizadas para descrever as op es geradas de acordo com a linguagem de explica o projetada no ambiente O acesso seqiiencial via wizards visa a reduzir a carga cognitiva sobre o usu ri
25. estes mesmos mecanismos durante a intera o com uma aplica o computacional Al m disto ao utilizarmos recursos de met fora e meton mia obtemos express es mais 02 interessantes do que as obtidas com operadores de extens o de natureza puramente lexical ou sint tica importante comentar sobre o novo papel do designer no projeto das aplica es extens veis descritas neste trabalho De criador de uma ferramenta de trabalho o designer passa a ser tamb m criador de uma ferramenta de autoria O impacto disto a necessidade de fornecer para os usu rios finais ferramentas semelhantes s utilizadas pelo designer mas principalmente suporte programa o a ser feita por n o programadores Este suporte deve se concentrar na revela o e manipula o dos modelos subjacentes e dos conceitos de programa o propriamente ditos Esta nova perspectiva traz a necessidade de um suporte ainda maior para o pr prio designer a fim de ajud lo a identificar o potencial de extens o da sua aplica o e fazer os ajustes necess rios 5 2 Contribui es As t cnicas existentes para programa o feita por usu rios finais pouco exploram o potencial comunicativo das linguagens de intera o e de extens o presentes nas pr prias aplica es Quando projetadas com objetivos comunicativos em mente as aplica es permitem uma explora o extensiva de uso de recursos ling sticos Em nosso trabalho exploramos o uso de met foras e
26. fica descreve suas limita es e lan a novos desafios na forma de sugest es para trabalhos futuros 5 1 Discuss o Esta se o apresenta uma avalia o da nossa abordagem com rela o a abordagens existentes para aplica es extens veis apresentadas na Se o 2 1 Aplica es extens veis A t cnica de grava o de macros consiste em armazenar os passos de intera o do usu rio agrupando os sob um s nome para reproduzir estes passos em um momento futuro As sele es do usu rio com rela o a valores de par metros s o gravadas como constantes e as opera es em uma segii ncia linear de instru es sem possibilidade de estruturas do tipo condicional ou itera o Uma extens o gerada utilizando nosso mecanismo de wizards n o apresenta estas limita es pois os valores constantes podem 01 ser substitu dos por atributos dos tipos do modelo e pode se criar restri es sobre a execu o de uma instru o pr condi es assim como estruturas de repeti o Outra t cnica comum para programa o feita por usu rios finais a configura o de par metros utilizada geralmente para pequenos conjuntos de configura o sobre o funcionamento de uma aplica o como por exemplo se um arquivo deve ser armazenado periodicamente se um verificador ortogr fico em um editor de textos deve verificar cada palavra digitada pelo usu rio ou esperar que o usu rio dispare explicitamente o verifica
27. gt attribute of Propriedade Tipo de attribute of shape thing lt prefixo gt value of Propriedade Tipo dc value of shape box box shaped ValorPropriedade lt prefixo gt relation Relacao TipoOrigem de relation is located actor corner TipoDestino Tabela 2 Exemplos de predicados sobre tipos definidos pelo designer da aplica o O c lculo de met foras e meton mias feito sobre semelhan as e rela es entre os elementos da base de conhecimento Para realizar estes c lculos o designer precisa representar os modelos est tico e din mico do dom nio e da aplica o No modelo est tico devem ser representados e tipos e classifica es dos tipos e atributos dissociados dos tipos e suas classifica es e rela es est ticas tipicamente rela es de composi o ou rela es meton micas de natureza f sica como parte de e conte do continente A2 No modelo din mico do dom nio devem ser representados e rela es din micas e suas classifica es rela es gen ricas ou rela es meton micas do tipo causa efeito produto produtor etc e opera es e suas classifica es estas opera es devem ser definidas por suas pr e p s condi es Devem ser classificadas pelos pap is que os tipos do dom nio exercem em cada opera o e quanto ao resultado de cada opera o 3 3 Gera o de Met foras e Meton mias O processo de gera o de met foras e meton
28. mais limitada do que uma linguagem de programa o utilizamos mecanismos inatos aos seres humanos Comparativamente com linguagens de programa o o que propomos que ao inv s de se utilizar um conhecimento especializado para uma tarefa especializada programa o se utilize uma fonte de conhecimento natural Lakoff e Johnson 1980 aplicada a uma tarefa especializada As t cnicas de programa o por exemplos ou por demonstra o podem ser classificadas de acordo com a presen a ou aus ncia de mecanismos de infer ncia Algumas t cnicas de 09 programa o por demonstra o fazem infer ncias sobre um conjunto de intera es do usu rio com a aplica o visando generalizar segii ncias de passos de intera o em uma extens o de funcionalidade Cypher 1993b Kurlander e Feiner 1993 Lieberman 1993a Outras possuem um mecanismo de generaliza o deixando a cargo do usu rio especificar em tempo de execu o os valores que tiverem sido abstra dos no mecanismo de generaliza o e n o possu rem valor determinado Lieberman 1993b Grande parte dos mecanismos de infer ncia utilizados nas t cnicas de programa o por demonstra o s o dependentes do dom nio e da aplica o Nossa abordagem oferece mecanismos gen ricos que operam sobre modelos do dom nio e da aplica o em que estejam representados os elementos descritos na se o 3 2 Representa o do conhecimento Uma das vantagens da n
29. mecanismos humanos de fluid analogy making Hofstadter et al 1995 Met foras por analogia ou por propor o foram definidas por Arist teles como sendo do formato A B X Y Em Eco 1986 O objetivo das aplica es do grupo de Hofstadter responder a perguntas do tipo O que o Ade Y Afirmar que X o A de Y significa que nos referimos implicitamente ao papel que A exerce com rela o a uma entidade B n o mencionada mas presumivelmente bvia Na aplica o Tabletop French 1995 Hofstadter et al 1995 por exemplo h uma lista de categorias plat nicas abstratas A aplica o lida com press es mentais ou press es inter agentes Segundo French e Hofstadter essas press es nos fazem relaxar as categoriza es de um objeto e assim fazer analogias Segundo eles for a human the process of perceptually scanning a tabletop situation involves focusing briefly on one area and then on another and having one s attention gradually drawn in more and more to specific areas Algumas destas press es s o enumeradas como por exemplo press es de localiza o de pertencer a uma categoria ou a grupos Para defender a aplicabilidade de sua solu o a softwares reais e mais complexos eles enfatizam que estes tipos de press o s o universal or nearly so in the sense of existing in virtually any domain in which analogies can be made Os conceitos utilizados na aplica o Tabletop s o apresentado
30. meton mias para fins de extens o da funcionalidade e da interface de aplica es Conseguimos trazer para a interface mecanismos de extens o que realizam c lculos de natureza n o lexical sobre os elementos dos modelos de dom nio e da aplica o representados na base de conhecimento Os c lculos atrav s de operadores metaf ricos e meton micos utilizam alguns dos mecanismos que ocorrem na linguagem natural o que facilita a compreens o de sua aplica o por parte do usu rio Dentre as t cnicas de programa o feita por usu rios finais a programa o via interface se situa entre grava o de macros e linguagem de programa o Ela quebra barreiras entre interface e ambiente de extens o incorporando linguagem de interface mecanismos meta lingii sticos de extens o de natureza sem ntico pragm tica met foras e meton mias A t cnica de grava o de macros traz para a interface mecanismos de extens o de natureza puramente lexical Comparada a linguagens de programa o a programa o via interface permite que o usu rio se expresse de maneira natural e QA contextualizada na tarefa como proposto por Nardi 1993 e procura dar uma interpreta o a suas express es que seja v lida no ambiente computacional dentro do escopo da aplica o Al m da capacidade interpretativa das express es do usu rio nossa abordagem oferece ainda um mecanismo de constru o de extens es Ao longo deste processo co
31. meton mica envolvidos em cada passo juntamente com as classifica es relevantes para cada um TA 4 5 Situa es de Uso Esta se o apresenta algumas situa es de uso do prot tipo onde pretendemos ilustrar seu funcionamento atrav s da descri o de algumas situa es de uso S o apresentados tamb m os predicados correspondentes aos passos indicados nos walkthroughs A Tabela 5 mostra os passos para se criar um novo tipo puppet no prot tipo a partir de um tipo existente beeper tomando emprestados atributos de um outro tipo lamppost Os passos indicam tamb m a correspond ncia de uma linha da tabela com a figura que a sucede PASSO A O DO USU RIO RESPOSTA DA INTERFACE 1 seleciona um beeper B destaca a representa o do beeper B na figura 2 seleciona ferramenta de alguma indica o de mudan a para modo extens o de extens o 3 apresenta op es 0 na 1 criar novo tipo de objeto com base em figura B 2 criar ou estender opera o envolvendo beeper 3 criar ou estender rela o envolvendo beeper 4 criar novo tipo gen rico 4 seleciona op o 1 apresenta caixa de texto para usu rio digitar nome do novo tipo mostra os atributos de B e as op es 1 acrescentar atributo 2 remover atributo 3 modificar valor de atributo 5 digita puppet e seleciona exibe nome do novo tipo e as op es na op o 1 1 criar atributo figura 2 pegar atrib
32. mia modelo modelo da aplica o programa o feita por usu rios finais rea que estuda os processos comunicativos envolvidos em interfaces gr ficas e na intera o humano computador programa o feita por usu rios finais tudo o que a aplica o capaz de fazer conjunto de opera es dispon veis para o usu rio ou internas aplica o de Ov signo cuja rela o express o conte do semelhan a signo cuja rela o express o conte do de causalidade tipo de racioc nio que partindo de um caso e um resultado procura inferir uma regra o conceito que se forma na mente do interpretador de um signo e que por sua vez pode se tornar um signo em um novo processo de interpreta o causando semiose ilimitada recurso ling stico no qual a significa o literal de uma palavra substitu da por outra em virtude de uma rela o de semelhan a recurso ling stico que consiste em designar um objeto por uma palavra designativa de outro objeto que tem com o primeiro uma rela o de causa e efeito de continente e conte do de lugar e produto de mat ria e objeto de autor e obra etc representa o da estrutura e comportamento de um sistema com a qual se procura explicar ou prever dentro de um quadro te rico as propriedades do sistema modelo que define a funcionalidade da aplica o 1AN O opera o programa o feita por usu rios finais programming by demonstration
33. mias essencialmente um processo abdutivo Peirce 1931 Hintikka 1997 Ele levanta possibilidades de extens o que podem ser vistas como hip teses sobre aplica es alternativas e utiliza estas hip teses para gerar novas informa es No nosso caso o resultado uma extens o na funcionalidade e na interface de uma aplica o A gera o de met foras feita sobre semelhan as entre os elementos da base de conhecimento seja com rela o a seus atributos sua composi o ou rela es de que participam A gera o de meton mias por sua vez feita sobre determinados tipos de rela es entre estes elementos 3 3 1 Eixos de Extens o Tomamos como ponto de partida de uma extens o um enunciado do usu rio representado por um sintagma da forma sujeito verbo complemento ou varia es que omitam o sujeito ou complemento ou seja sujeito verbo e verbo complemento respectivamente Nossos mecanismos de extens o suportam extens o em dois eixos paradigm tico ou sintagm tico Saussure 1916 Numa extens o no eixo paradigm tico criamos um tipo novo com base em um tipo existente e substitu mos o tipo original nos sintagmas que o envolviam originalmente na tentativa de criar novos enunciados Uma extens o no eixo sintagm tico por sua vez uma tentativa de utilizar um tipo existente em um sintagma que n o o envolvia originalmente criando tamb m novos enunciados Isto significa fazer um uso criativo de uma opera
34. nova opera o e o prot tipo get permit actor corner e a mensagem Esta opera o inv lida pois cont m uma instru o envolvendo a rela o may use actor thing onde thing n o est definido O que voc quer fazer 1 criar rela o may use actor corner com base na rela o may use actor thin considerar thing igual a pedir o valor de thing em tempo de execu o 4 ignorar a instru o TA 11 seleciona op o 1 exibe nome da nova opera o e o prot tipo get permit actor corner a mensagem Esta opera o v lida e as op es acrescentar par metro remover par metro modificar par metro restringir execu o acrescentar elemento de interface para disparar a o ONS ay 600 ND Sore 12 seleciona op o 5 exibe op es 1 acrescentar item de menu 2 acrescentar bot o 13 seleciona op o 1 exibe hierarquia de menus aberta em Ownership e pede para usu rio selecionar posi o do novo item neste menu sugerindo a posi o abaixo de Borrow 14 aceita sugest o igual ao passo 9 exibe nome da nova opera o e o prot tipo get permit actor corner a mensagem Esta opera o v lida e as op es acrescentar par metro remover par metro modificar par metro restringir execu o OV RO UN Te acrescentar elemento de interface para disparar a o 15 seleciona fi
35. o O potencial de aplica o dos operadores metaf ricos baseados nessas classifica es de semelhan a dependente da riqueza da representa o dessas destas classifica es na base de conhecimento Exemplo Seja size um atributo do tipo block cujos valores poss veis s o representados pelo conjunto Values size block small medium large Seja ainda uma classifica o Large qualifiers large tall wide huge Se o mecanismo de express o encontrar um token block size huge verificar que n o v lido e em busca de tokens v lidos com mesma classifica o de huge encontraria o conjunto Large qualifiers onde Large qualifiers n Values size block large que a op o sugerida Caso n o houvesse classifica o alguma os valores sugeridos seriam apenas os elementos de Values size block Se por outro lado Large qualifiers fosse definido de forma incompleta como Large qualifiers tall wide huge tamb m n o resultaria em nenhuma op o v lida O procedimento acima considera um tipo simples de classifica o dos elementos da base Para aumentar o potencial das extens es por met foras devemos ter diferentes eixos de categoriza o desses elementos Desta forma o procedimento pode ser modificado para que seja levado em conta o n mero de classifica es em comum entre os elementos Nesse novo procedimento quanto mais classifica es semelhantes houver entre os elementos maior sua pr
36. o de uma analogia em todas as situa es Em nossa abordagem cabe ao usu rio utilizar tais mecanismos para se expressar ou seja o usu rio quem ensina a aplica o Al m disto a volatilidade de nosso mecanismo de interpreta o evita a globaliza o de uma analogia situada reduzindo assim o risco de esta analogia ser tomada como v lida para todos os casos 264 3 1 1 Extens o por Interpreta o Os recursos sem ntico pragm ticos de met foras e meton mias podem ser utilizados de forma bastante eficiente na comunica o com a aplica o principalmente no que diz respeito a casos omissos e em casos de falha de compreens o por parte do usu rio Em um editor de textos quando n o h sele o e acionado o comando de Formatar Negrito a aplica o coloca toda a palavra sob o cursor em negrito Uma interpreta o literal nada faria pois a unidade m nima para esta formata o o caractere Este um exemplo do uso de uma meton mia do tipo continente palavra conte do cursor de texto Eco 1976 Lakoff e Johnson 1980 Desta forma caso haja uma omiss o ou ambigiiidade na comunica o da inten o do usu rio o mecanismo de extens o procura o elemento mais pr ximo que seja semelhante ou relacionado ao elemento indicado ou que se encaixe em seu enunciado 3 1 2 Extens o por Constru o via Wizards No segundo caso de extens o suportado por nosso modelo os mecanismos de ext
37. rio designer d sentido X quer dizer X Figura 1 Processos estudados pela Engenharia Semi tica no caso de aplica es extensiveis O modelo pretendido de uso indica como o designer percebe que o usu rio vai utilizar a aplica o ou seja a interpreta o do designer para a solu o dos problemas do usu rio ou melhor da sua interpreta o destes problemas J o modelo percebido de uso indica como o usu rio percebe que pode utilizar a aplica o embora n o seja necessariamente o modelo almejado de uso ou seja como o usu rio gostaria de utiliz la De acordo com de Souza as regras e modelos arbitr rios subjacentes s aplica es s o raramente comunicados aos usu rios de Souza 1997 Nossa abordagem centrada na comunica o exp e a exist ncia de c digos que podem ser aprendidos e permite revelar as regras gramaticais e sem nticas em n veis sucessivos para que os usu rios possam fazer uso destes recursos ling sticos para construir um novo discurso e assim estender as aplica es Uma aplica o extens vel deve fornecer ent o um ambiente de aprendizado para os usu rios Alguns componentes importantes em tal ambiente s o interfaces multimodais sistemas baseados em conhecimento e de explica o m dulos de ajuda e documenta o e ambientes de programa o textuais e gr ficos Uma arquitetura assim ilustrada pela Figura 2 de Souza 1997 10 Interpretado
38. rob 4 criar novo tipo gen rico 712 Seleciona op o 2 apresenta caixa de texto para digitar nome da nova opera o exibe mensagem selecione opera o da lista abaixo ou o elemento de interface que a dispara 5 sna figura digita get permit e clica no item borrow Thing Actor 6 O na figura exibe o prot tipo da opera o borrow actor thing e as op es 1 acrescentar par metro 2 remover par metro 3 modificar par metro 4 restringir execu o 7 O na figura seleciona op o 3 exibe lista de par metros actor e thing e a mensagem Selecione o par metro a ser alterado 8 na figura seleciona thing exibe tipos existentes e a mensagem Selecione o tipo 9 na figura seleciona corner exibe nome da nova opera o e o prot tipo get permit actor corner e a mensagem Esta opera o inv lida pois cont m um teste envolvendo a rela o own actor thing onde thing n o est definido O que voc quer fazer 1 criar rela o own actor corner com base em own actor thing considerar thing igual a pedir o valor de thing em tempo de execu o 4 considere o teste verdadeiro e execute as instru es a ele subordinadas 5 considere o teste falso e ignore as instru es a ele subordinadas 10 seleciona op o 1 exibe nome da
39. sem ntico pragm ticos utilizando c lculos de met foras e meton mias Estes mecanismos foram escolhidos devido ao reconhecimento das Ci ncias Cognitivas do papel que desempenham em nosso racioc nio em especial quando tentamos descrever ou entender um conceito abstrato ou complexo Lakoff e Johnson 1980 Lakoff 1987 Lakoff 1993 Ortony 1993 Descrevemos um modelo de aplica es extens veis que utiliza uma base de conhecimento onde devem ser representados os elementos do dom nio e da aplica o que podem ser estendidos bem como as classifica es necess rias aos mecanismos de extens o Nosso modelo considera os aspectos comunicativos das aplica es computacionais Para garantir a consist ncia entre a aplica o original e a aplica o estendida seguimos princ pios da Engenharia Semi tica de Souza 1993 e prevemos no modelo a representa o de regras que restringem as extens es na interface a fim de refletir adequadamente as extens es de funcionalidade Abstract In the past few years we have witnessed an increase in software functionality as an attempt to meet most users needs This approach brings about serious usability challenges due to an increase in application complexity as well In order to try and meet users needs without overloading the application with functionality that is rarely used there is a tendency to allow end users to configure or program applications by means of mechanisms that sup
40. 1997 a acep o por n s apresentada uma das poss veis operacionaliza es da proposta original de Peirce Como o racioc nio abdutivo nos pode ser til Outros trabalhos de pesquisa definem o racioc nio abdutivo como a tentativa de gerar novas hip teses possivelmente hip teses explicativas um tipo de racioc nio que ao contr rio do racioc nio dedutivo gera novas informa es Nossos c lculos de analogia fazem exatamente isso levantam possibilidades de extens o que podem ser vistas como hip teses sobre aplica es alternativas Outra defini o de abdu o a trata como um passo de interroga o De acordo com Isaac Levi Em Hintikka 1997 The task of constructing potential answers to a question is the task of abduction in the sense of Peirce The Fixation of Belief and Its Undoing p 71 The conclusions of abductions are conjectures that are potential answers to questions Deduction elaborates on the implications of assumptions already taken for granted or of conjectures when they are taken for the sake of argument to be true Induction weeds out for rejection some conjectures leaving the survivors for further consideration ibid p 77 Se considerarmos que o procedimento de gera o de analogias uma tentativa de responder quest o o que an logo a X7 podemos tra ar um paralelo te rico entre o racioc nio abdutivo e os m todos de c lculo de analogias No nosso
41. 79 Karelzim Acting upon world Ioj x Session Mode Help Extension Wizard Step 1 You have selected beeper beeper 1 for extension What do you want to do create a new type of object based on beeper beeper 1 C ct C ct MWe nrrnaaowno Creating a new type of object called puppet based on beeper beeper 1 Object s properties cardinality O max shape sphere What do you want to do create new property p borrow another object s properties Extension Wizard Step 4 Creating a new type of object called puppet based on bee Borrowing lamppost properties te Select the desired property LES O shape Figura 8 Seqii ncia de telas ilustrando parte da situa o de uso da cria o de um novo tipo a partir de um tipo existente A Tabela 6 mostra os passos para se criar uma opera o get permit actor corner no prot tipo com base em uma opera o existente borrow actor thing Os passos indicam tamb m a correspond ncia de uma linha da tabela com a figura que a sucede PASSO A O DO USU RIO RESPOSTA DA INTERFACE 1 Clica em um rob R destaca representa o do rob na figura 2 Seleciona ferramenta de alguma indica o de mudan a para modo extens o de extens o 3 apresenta op es O na 1 criar novo tipo de objeto com base em figura R 2 criar ou estender opera o envolvendo rob 3 criar ou estender rela o envolvendo
42. 975 Por exemplo classification ptrans pick thing put thing classification ptrans give buy sell lend rent Estes tipos de categoriza o permitem fazer c lculos de met foras sobre os elementos da base como ser descrito em detalhes nos mecanismos de extens o apresentados na pr xima se o 3 4 Mecanismos de extens o Esta se o apresenta algoritmos que procuram interpretar os enunciados do usu rio ou orient lo passo a passo pelas extens es utilizando di logos do tipo wizard 3 4 1 Tipos de Extens o Extens es Vol teis ou por Interpreta o Este mecanismo parte do princ pio que ao interagir com a aplica o o usu rio est tentando se comunicar com ela e para tanto ele transmite enunciados que fazem sentido para ele e que ele espera que produzam algum resultado na aplica o visando a realiza o de uma tarefa Em aplica es tradicionais enunciados que n o possuem interpreta o literal s o tidos como erro tipicamente erros de sintaxe AGB Para cada enunciado do usu rio que n o possua interpreta o literal nosso mecanismo procura dar uma interpreta o que produza um resultado na aplica o Para tanto necess rio que o enunciado seja um sintagma da forma sujeito verbo complemento e que apenas um elemento n o se encaixe nos sintagmas que podem ser gerados pela linguagem projetada originalmente pelo designer da aplica o Seja A V B um sintagma definido para a opera
43. 981 Malone T W Lai K and Fry C Experiments with Oval A Radically Tailorable Tool for Cooperative Work In ACM Transactions on Information Systems Vol 13 No 2 April 1995 pp 177 205 Martins IH Um Instrumento de An lise Semi tica para Linguagens Visuais de Interfaces Tese de Doutorado Computer Science Department PUC Rio Brazil 1998 Microsoft Corporation Microsoft Word Developer s Kit Second Edition Redmond Microsoft Press 1994 Microsoft Corporation Microsoft Visual Basic Language Reference 1995 Microsoft Corporation The Windows Interface Guidelines for Software Design Redmond Microsoft Press 1995 OA Myers 1992 Myers et al 1992 Nadin 1988 Nardi 1993 Nielsen 1993 Norman 1986 Norman 1999 Noth 1997 Oliveira 1999 Myers B A Languages for Developing User Interfaces London Jones and Bartlett Publishers Inc Boston 1992 Myers B Canfield Smith D e Horn B Report of the End User Programming Working Group Em Myers B Ed Languages for Developing User Interfaces Boston Jones and Bartlett pp 343 366 1992 Nadin M Interface Design and Evaluation Semiotic Implications Em Hartson R e Hix D eds Advances in Human Computer Interaction Volume 2 45 100 1988 Nardi B A Small Matter of Programming The MIT Press Cambridge MA 1993 Nielsen J Usability Engineering Academic Press 1993 Norm
44. Cont nuo Semi tico de Souza 1999 descritos a seguir Para tanto vamos considerar as seguintes defini es e um signo em uma linguagem qualquer s mbolo presente em enunciados desta linguagem percebido por um ouvinte ou leitor como tendo significado e um signo lexical uma palavra desta linguagem e um signo frasal um construto gramatical v lido desta linguagem ou seja uma organiza o estruturada de signos lexicais que cont m um significado completo baseado em modelo e um signo realizado em uma linguagem uma palavra ou senten a existente nesta linguagem e um signo potencial em uma linguagem uma palavra ou senten a inexistente nesta linguagem mas que pode ser gerado por extens es em seu vocabul rio ou em sua gram tica extens es estas que obedecem os padr es derivacionais desta linguagem Princ pio de Abstra o Interpretativa Dadas duas linguagens computacionais Li e Lj quaisquer Li uma abstra o interpretativa de Lj se e a sem ntica de Li pode ser descrita em Lj 99 e um usu rio de Li pode dar sentido a todos os seus signos lexicais e frasais utilizando tr s fontes fundamentais i os padr es de ocorr ncia destes signos em discurso situado em Li ou seja sua distribui o e as oposi es entre eles ii algum conhecimento meta lingii stico extr nseco sobre Li tal como explica es em linguagem natural sobre Li oferecidas por sua documenta o sistema de a
45. Schank 1973 Schank 1975 para representar o resultado ou efeito de uma opera o Gram tica de Casos Para representar os pap is exercidos pelos tipos nas opera es do modelo din mico do nosso prot tipo podemos utilizar os seguintes conceitos 44 e A agente instigador da a o tipicamente animado e instrumento causa do evento ou objeto usado para causar o evento tipicamente inanimado e D dativo entidade afetada pela a o tipicamente animado e F factitivo objeto ou ser resultante do evento e L locativo local do evento e S fonte local a partir de onde algo se move e G meta local para onde alguma coisa se move e B benefici rio ser em cujo interesse ou benef cio o evento ocorreu tipicamente animado e O objeto entidade que recebe a a o ou que se transforma o caso mais gen rico O rn predicados a seguir ilustram a classifica o de algumas opera es v lidas no dom nio do nosso prot tipo op classification role move agent robot op classification role pick put agent robot op classification role pick put object transportable object op classification role build assemble disassemble agent robot op classification role build assemble disassemble instrument tool op classification role build assemble object block connector op classification role build assemble factive toy op classification role disassem
46. Simone Diniz Junqueira Barbosa Programa o Via Interface Tese apresentada ao Departamento de Inform tica da PUC Rio como parte dos requisitos necess rios obten o do grau de Doutor em Ci ncias em Inform tica Orientadora Clarisse Sieckenius de Souza Departamento de Inform tica Pontif cia Universidade Cat lica do Rio de Janeiro Rio de Janeiro 5 de maio de 1999 Resumo A ind stria de software vem ao longo dos anos aumentando a funcionalidade das aplica es numa tentativa de satisfazer as necessidades do maior n mero de usu rios poss vel Esta solu o no entanto implica grandes desafios de usabilidade devido complexidade cada vez maior destas aplica es Uma tend ncia que visa a acomodar as necessidades dos usu rios sem sobrecarregar o software com funcionalidade de uso infrequente permitir que os pr prios usu rios finais configurem ou programem as aplica es atrav s de mecanismos de extens o que suportam um tipo espec fico de programa o chamado programa o feita por usu rios finais Entretanto grande parte das t cnicas existentes para tal n o conseguem atingir n veis aceit veis de utilidade e usabilidade Este trabalho trata alguns desafios de aplica es extens veis propondo uma abordagem que rompe com algumas barreiras entre interface e extens o Esta abordagem traz para a interface e ao alcance dos usu rios finais mecanismos de extens o de software com base em recursos
47. a entre express o e conte do tal como especificada pelo designer original Em particular destacamos a possibilidade de a extens o ser refletida diretamente no layout de interface como descrito na se o Mapeamento Conte do Express o de Tipos Esta quest o ilustra o papel de nossa pesquisa no quadro geral de Engenharia Semi tica Tal como argumentado em Barbosa et al 1999 a programa o feita por usu rios finais apresenta com clareza os problemas de constru o e transmiss o de significado em programas computacionais O ponto central que na qualidade de designers precisamos comunicar n o apenas a nossa interpreta o sobre os conjuntos de tarefas que disponibilizamos atrav s da interface mas tamb m o contexto desta interpreta o os Somente quando o usu rio consegue entender e adotar este contexto torna se poss vel estender consistentemente uma aplica o computacional Nosso modelo gen rico o bastante para n o limitar o trabalho do designer Ele lhe oferece um ferramental poderoso para embutir sem ntica em uma aplica o extens vel O designer poder escolher a linguagem de representa o e os tipos de classifica o mais adequados ao dom nio de sua aplica o desde que satisfa a os requisitos de linguagens de representa o e de tipos de classifica o definidos pelo modelo Caber a ele tamb m regular o n vel de extensibilidade oferecido ao usu rio de acordo com a classe alvo de us
48. a extens o ou programa o O design de aplica es extens veis levanta algumas quest es entre outras Quando o usu rio vai querer programar Ele pode aprender a programar Caso possa quais s o suas dificuldades A que se devem As respostas para estas perguntas como esta tese pretende mostrar s o no momento dif ceis de dar Por m poss vel fazer algumas observa es facilmente comprov veis em nossa pr pria e intensa experi ncia cotidiana como usu rios de software O usu rio vai querer programar ou estender a aplica o quando perceber que precisa de uma opera o que n o est dispon vel Para isto no entanto ele precisa conhecer a aplica o o suficiente para saber que esta opera o n o pode ser realizada diretamente atrav s da intera o com a aplica o original Embora possa parecer dif cil que um usu rio final qualquer seja capaz de aprender a programar enquanto esteja realizando sua tarefa estudos indicam que os pr requisitos para se escrever ou descrever procedimentos semelhantes a programas e g dominar um c digo formal ter capacidade de formular um plano de a es imaginar diferentes cen rios em que modifica es s o feitas nos planos n o s o extraordin rios para a m dia dos usu rios Em particular Nardi aponta diversas linguagens formais com as quais as pessoas lidam no dia a dia como aritm tica tabelas de jogos e receitas de tric entre outras Nardi 1993 Ela
49. a tentativa de satisfazer as necessidades do maior n mero de usu rios poss vel Entretanto essa solu o n o apenas n o consegue atingir totalmente a meta como ainda acarreta outros problemas t o graves quanto ou mais do que a falta de funcionalidade Os processos de design de software dedicam grande esfor o na elicita o an lise e especifica o de requisitos de forma a maximizar a utilidade e efici ncia do software resultante Pressman 1996 Entretanto essa estrat gia de solu o ainda n o garante a consecu o total da meta visto que os problemas dos usu rios podem mudar com o tempo e os engenheiros de requisitos e de software n o t m como prever toda a evolu o das tarefas dos usu rios Al m disto os usu rios podem querer fazer um uso criativo da aplica o utilizando a para solucionar problemas para os quais a aplica o n o havia sido projetada Assim vemos que mesmo as aplica es com muita funcionalidade n o conseguem resolver todos os problemas de todos os usu rios o tempo todo Devido natureza evolutiva das aplica es computacionais os usu rios est o sujeitos a utilizar diversas vers es de uma mesma aplica o Cada vers o geralmente incorpora novas opera es visando a atender uma classe maior de problemas Para tornar essas novas opera es dispon veis devem ser criados tamb m novos elementos de interface desde itens de menu at bot es e toolbars quando n o complexos pa
50. acompanhamento do hist rico das opera es este tamb m pode ser utilizado para selecionar a indica o de uma opera o para extens o Ap s indicar o elemento de origem da extens o ele deve ativar o mecanismo de extens o utilizando o signo de interface designado para tal Ao selecionar um tipo para extens o nosso mecanismo permite as seguintes extens es e Criar um novo tipo de conte do ex senten as em um editor de textos criada uma duplicata do tipo de origem que poder ent o ser alterada AQ e Criar um novo tipo expressivo ex estilos de par grafo em um editor de textos criada uma duplicata do tipo expressivo de origem que poder ent o ser alterada e Definir o mapeamento conte do express o de um tipo novo Ao selecionar uma opera o para extens o nosso mecanismo permite e Criar alguns tipos de itera o de acordo com a cadeia meton mica de que os tipos envolvidos na opera o participam e Criar alguns tipos de condicional segundo os atributos dos tipos envolvidos na opera o e Definir o mapeamento conte do express o de uma nova opera o ou seja acrescentar ou remover um signo de interface para ativar esta opera o Como as extens es s o monot nicas s se pode remover um signo de interface que tenha sido definido pelo usu rio As pr ximas subse es descrevem os procedimentos realizados para cada tipo de extens o 3 4 2 Extens es em Tipos Ap s i
51. ado aos ambientes de intera o e de extens o n o oferecido A extens o de uma aplica o geralmente pressup e um ambiente de desenvolvimento embutido na pr pria aplica o Entretanto as interfaces da aplica o e deste ambiente de desenvolvimento s o geralmente independentes e muito diferentes Os usu rios devem atravessar um golfo enorme ao mudar de um contexto para outro de utilizar para estender a aplica o Al m disso o sub ambiente de extens o frequentemente desconsidera a falta de experi ncia do usu rio final em programar e a falta de conhecimento de conceitos de computa o em geral O que encontramos com freqii ncia n o passa de um editor de texto e uma lista de comandos e suas estruturas sint ticas para que o usu rio escreva o c digo desde o princ pio al m de algumas ferramentas de acompanhamento da execu o e depura o do c digo escrito O resultado que os usu rios n o sabem nem por onde come ar Nosso trabalho oferece um modelo que traz para a linguagem de interface e ao alcance de usu rios leigos em programa o mecanismos de extens o que fazem uso de operadores meta lingii sticos para possibilitar alguns tipos de extens o sobre a aplica o Utilizamos a Engenharia Semi tica como principal fundamento te rico de nossa abordagem como ser descrito a seguir 2 2 Engenharia Semi tica Esta se o apresenta conceitos da Engenharia Semi tica que utilizamos co
52. alguns elementos do dom nio e do sistema necess rios para a implementa o da funcionalidade da aplica o e de sua interface nN Neste modelo ficam representados os mapeamentos entre os objetos do dom nio conte do e sua realiza o na interface express o definidos extensional e ou intensionalmente A arquitetura descrita anteriormente pressup e a exist ncia de uma linguagem de interface com o usu rio uma linguagem de programa o feita por usu rios finais e uma linguagem de representa o de conhecimento A pr xima subse o apresenta caracter sticas desej veis destas linguagens Linguagens envolvidas em aplica es extens veis Como estamos lidando com diversos tipos de representa o interface programas e explica es n o podemos deixar de investigar tamb m os mecanismos semi ticos que permeiam essas representa es Estudamos mecanismos comunicativos com base na teoria Semi tica Andersen 1990 Andersen et al 1993 Nadin 1988 e mais especificamente com base na Engenharia Semi tica de Souza 1993 de Souza 1996 que nos permitem projetar melhores linguagens de interface de programa o e de explica o Com isto pretendemos tratar parte da crise descrita por N th de que tanto fil sofos quanto cientistas da rea de Computa o utilizam e discutem representa es sem qualquer fundamenta o semi tica para o conceito o que enfraquece sua argumenta o Noth 1997 No
53. almente de poss veis rela es entre esses objetos tais como proximidade posi o externa em um grupo de objetos grupos de objetos vs objetos simples rela es estabelecidas previamente e tipos de composi o de objetos tais como repeti o categoria superior comum e tamanho Estas rela es entre objetos os tornam mais ou menos destacados e assim mais ou menos adequados cria o de analogias Analogias por Generaliza o Furtado Furtado 1992 apresenta um algoritmo para computar analogias atrav s da combina o de c lculos de unifica o e generaliza o Segundo ele dois elementos El e E2 s o an logos se o resultado E3 de sua generaliza o for n o trivial Para efetuar este c lculo ele obt m a generaliza o mais espec fica msg most specific generalization entre dois termos que um termo que ret m a informa o presente nos dois termos e introduz novas vari veis em caso de conflito Por exemplo se T1 p a b e T2 p c b ent o msg T1 T2 p X b Enquanto o desafio lan ado por Furtado tratava de aplicar este c lculo de analogias a textos narrativos Furtado 1992 podemos utiliz lo sobre os modelos computacionais do dom nio e da aplica o 22 Analogias por Tipos de Restri o Holyoak e Thagard estudam os processos de racioc cio anal gico sob a perspectiva de uma teoria de restri es m ltiplas Holyoak e Thagard 1996 Eles descrevem tr s classes de restr
54. an D A Cognitive Engineering Em Norman D A e Draper S eds User Centered Systems Design Lawrence Erlbaum and Associates Hillsdale NJ pp 31 61 1986 Norman D A Affordances and Design Publica o eletr nica em http www jnd org dn mss affordances and design html Noth W Representation in semiotics and in Computer Science Em Semiotica 115 3 4 203 213 Oliveira D A S Uma Abordagem Semi tica para a Aquisi o e Representa o de Conhecimento Tese de Doutorado a ser defendida em Maio de 1999 na Ortony 1993 Pattis 1995 Peirce 1931 Preece et al 1994 Pressman 1996 Rich e Knight 1994 Schmalhofer et al 1995 Saussure 1916 Schank 1973 Ortony A ed Metaphor and Thought 2 Edition Cambridge University Press 1993 Pattis R E Roberts J e Stehlik M Karel the Robot A Gentle Introduction to the Art of Programming New York N Y John Wiley and Sons 1995 Peirce C S Collected Papers Cambridge Ma Harvard University Press extra do de Buchler Justus ed Philosophical Writings of Peirce New York Dover 1955 1931 Preece J Rogers Y Sharp E Benyon D Holland S Carey T Human Computer Interaction Addison Wesley 1994 Pressman R Software Engineering A Practitioner s Approach Fourth edition MacGraw Hill 1996 Rich E e Knight K Intelig ncia Artificial 2 Edi o Makron Books do Brasil 1994 tradu
55. ao inv s de receber uma mensagem de erro Gostar amos de ressaltar que os c lculos apresentados neste trabalho n o pretendem formar um conjunto completo de c lculos poss veis e interessantes mas apenas um conjunto b sico e ele mesmo extens vel das possibilidades que surgem com tal abordagem Nosso trabalho traz alguns mecanismos de extens o para a linguagem de interface ou UIL User Interface Language Dentre as t cnicas de programa o feita por usu rios finais nossa abordagem se situa entre mecanismos de grava o de macros e linguagens de programa o Possibilitamos que de forma controlada e atrav s de intera es com a linguagem de interface sejam feitos alguns tipos de extens o na aplica o utilizando met foras e meton mias em um racioc nio abdutivo Atrav s de associa es entre os elementos dos modelos representados na base de conhecimento conseguimos gerar sugest es de extens es de natureza sem ntico pragm tica e n o apenas lexical e que ser o aceitas ou descartadas pelos usu rios finais Nosso modelo prev a exist ncia ou n o de uma linguagem de extens o dispon vel aos usu rios finais ou EUPL End User Programming Language A restri o sobre esta linguagem que ela seja semioticamente cont nua com a UIL como descrito na se o 2 2 Engenharia Semi tica O ponto central do nosso trabalho entretanto quebrar algumas barreiras entre a linguagem de interface UIL e a linguag
56. ardi 1993 De acordo com a autora linguagens de script como definidas em Cypher 1993a seriam ent o mais adequadas aos usu rios finais Outro tipo de linguagem de programa o que consideramos foram as linguagens de programa o visuais Chang 1990 utilizadas principalmente para lidar com opera es espaciais Estas linguagens privilegiam aplica es cujo dom nio apresente um 1 Embora os usu rios geralmente conhe am o dom nio da aplica o n o sabem como este foi modelado pelo designer Desta forma uma aplica o extens vel precisa tamb m dar suporte revela o deste modelo para o usu rio 1A mapeamento dos elementos perceptivos da linguagem visual e seus atributos est ticos cor forma tamanho para os elementos do dom nio J em rela o s opera es este tipo de linguagem privilegia as opera es de natureza espacial como ordena o transla o rota o e assim por diante Isto explica porque grande parte dos trabalhos em Chang 1990 s o aqueles que utilizam como representa o visual grafos rvores e manipula es sobre estas estruturas Elementos que possuem uma realiza o concreta s o mais adequados a representa es visuais Entretanto conceitos abstratos que n o possuem uma representa o gr fica convencionada tornam se um exerc cio de interpreta o que pode dificultar ou impossibilitar a tarefa do usu rio Este problema se deve principalmente baixa expressividad
57. articular s o muito limitados se aplicados a linguagens que possuem um n vel baixo de articula o como linguagens de interface inteiramente visuais de manipula o direta ou ic nicas A capacidade do ser humano de fazer associa es metaf ricas ou meton micas est vinculada a nossos esquemas de categoriza o Lakoff descreve alguns n veis de categoriza es onde as de n vel b sico s o aquelas caracterizadas principalmente por percep o gest ltica capacidade de visualiza o intera o motora fun o social e memoriza o Lakoff 1987 neste n vel de classifica o que nos expressamos com mais frequ ncia Portanto desej vel que o designer represente os elementos do dom nio e da aplica o primeiramente neste n vel recorrendo aos n veis mais abstratos ou mais especializados de acordo com a necessidade segundo uma op o consciente de suas KA implica es Uma classifica o em um n vel mais abstrato implica menos distin es e consegiientemente menor potencial de extens o Por outro lado uma classifica o em n veis mais especializados pode produzir mais detalhes do que se pretende Classifica es muito complexas podem exigir uma intera o maior com o usu rio para decidir qual das muitas alternativas geradas corresponde extens o desejada De qualquer forma esta decis o deve ser tomada pelo designer de acordo com o dom nio e o modelo da aplica o tendo em vista a classe de us
58. as Esta se o apresenta uma listagem que ilustra o c lculo de met foras poss veis entre elementos do modelo com base em sua classifica o same classification X Y C classification C Set1 member X Set1 member Y Set1 X Y same classification among Set X Y C classification C Set1 member X Set1 member Y Set1 member Y Set X Y all same classification among Set X List C findall Y same classification among Set X Y C List Listagem 6 C lculo de Met foras com base nas classifica es dos elementos da base An lise de Instru es Esta se o apresenta uma listagem do mecanismo de an lise de instru es visando dar uma interpreta o a express es que n o possuem interpreta o literal v lida Este mecanismo considera instru es contendo atribui es condicionais e chamadas de opera es analyze instruction analyze instruction if T chop T NewT then analyze_boolean_expression NewT analyze_instruction Operation A O la Iv FIT analyze expression la lv analyze operation Operation A O F analyze instruction Operation A LO FIT analyze operation Operation A O I F analyze instruction else analyze instruction fi analyze instruction RValue T analyze rvalue RValue analyze expression T analyze boolean expression Exp boolean operator Operator append R Operator L Ex
59. av s de uma indica o do contexto da opera o Para tanto deveriam ser indicados quais os elementos no contexto anterior execu o da opera o s o relevantes para sua execu o ou seja quais os elementos que devem ser considerados preferencialmente no algoritmo acima para gerar as pr condi es desta opera o Ao indicar os elementos a serem considerados como contexto de uma opera o a ser estendida estamos na realidade criando classifica es tempor rias que envolvem estes elementos e que ser o utilizadas no c lculo da extens o atual e descartadas ao final deste processo Mapeamento Conte do Express o de Opera es Enquanto o mapeamento conte do express o de tipos trata da visualiza o de um tipo o mapeamento de opera es trata principalmente dos signos de interface que disparam a opera o Outra distin o feita aqui quanto ao momento de atualiza o da visualiza o das inst ncias dos tipos As inst ncias de tipos expressivos podem ser atualizadas a cada passo de execu o de uma opera o ou podem ser atualizadas apenas ao final da execu o de toda a opera o Esta distin o leva em considera o o que mais importante na opera o o resultado final estado final dos elementos de interface ou o modo como procedimento efetuado trajet ria dos elementos de interface Caso o designer da opera o esteja interessado apenas no resultado final desnecess rio e inefici
60. av s dos seguintes est gios e defini o do objetivo e formula o da inten o e especifica o de uma seqii ncia de a es e execu o da a o e percep o do estado do sistema e interpreta o do estado e avalia o do estado do sistema com rela o aos objetivos e inten es A Engenharia Cognitiva apresenta os golfos de execu o e de avalia o como sendo elementos est ticos ou invariantes durante toda a vida da aplica o Cabe ao designer da aplica o original projet los estreitos a fim de facilitar a intera o do usu rio com a YA aplica o Entretanto nas aplica es extens veis o usu rio assume o papel de designer mesmo que de forma limitada e cabe a ele agora estreitar estes golfos atrav s de intera es com a pr pria aplica o Embora haja afirma es de que uma abordagem centrada no usu rio possa dar conta de aplica es extens veis Malone 1995 ao abstrair para fora do modelo o papel do designer na cria o da aplica o a Engenharia Cognitiva limita sua aplicabilidade no caso das aplica es extens veis pois n o oferece previs es claras para o caso de o usu rio se tornar ele pr prio um designer A Engenharia Semi tica por sua vez traz para este cen rio o papel do designer como sendo respons vel pela cria o da aplica o e de todas as intera es de que ela possa participar Grande parte da argumenta o referente ao designer original se aplica tamb m ao
61. ble object toy op classification role disassemble factive block connector Depend ncia Conceitual Reproduzimos aqui um conjunto de a es primitivas retirados das redes de depend ncia conceitual que julgamos teis para classificar o modelo din mico do dom nio do nosso prot tipo ATRANS transfer ncia de uma rela o abstrata dar PTRANS transfer ncia da localiza o f sica de um objeto ir PROPEL aplica o de for a f sica a um objeto empurrar MOVE movimento de uma parte do corpo de algu m levantar se GRASP segurar um objeto agarrar BUILD construir novo objeto a partir de um objeto existente montar aT op classification result move ptrans op classification result pick put atrans op classification result build build importante observar que estas classifica es s o dependentes de dom nio As classifica es apresentadas aqui s o teis para o dom nio do nosso prot tipo no qual um rob se move em um plano e pode carregar objetos ou deposit los no mundo Outros dom nios requerem outros conjuntos de classifica es Cabe ao designer utilizar os recursos de classifica o mais adequados ao dom nio de sua aplica o 4 4 Mapeamentos Express o Conte do Ap s estender a funcionalidade da aplica o precisamos ainda estender a interface para refletir as altera es feitas Isso levanta as seguintes quest es Como ligar um trecho d
62. ca o existente PROGRAMA O VIA INTERFACE EM A O O Prot tipo Modelo Est tico Modelo Din mico Mapeamentos Express o Conte do Situa es de Uso Orienta es para o Designer CONCLUS ES Discuss o Contribui es Trabalhos Futuros REFER NCIAS AP NDICE A GLOSS RIO AP NDICE B LISTAGENS 42 44 44 45 45 46 46 49 54 57 58 61 61 62 62 63 63 65 66 68 71 76 81 81 84 86 88 98 103 ndice de Figuras Figura 1 Processos estudados pela Engenharia Semi tica no caso de aplica es extensiveis Figura 2 Arquitetura de aplica o centrada na comunica o Figura 3 Algumas telas de configura o de par metros em um editor de textos comercial Figura 4 Tela de um editor de textos ap s ter sido customizada pelo usu rio Figura 5 Prefixos utilizados na linguagem de representa o Figura 6 Por o de tela ilustrando o mundo de Karel Figura 7 Representa o de parte do modelo est tico do dom nio do nosso prot tipo Figura 8 Segii ncia de telas ilustrando parte da situa o de uso da cria o de um novo tipo a partir de um tipo existente Figura 9 Seqii ncia de telas ilustrando parte da segii ncia de uso de cria o de uma nova opera o a partir de uma opera o existente 18 19 38 40 42 64 64 73 76 ndice de Tabelas Tabela 1 Ilustra o do uso dos prefixos que distinguem designer usu rio e cont
63. caso esperamos que o usu rio d uma dica inicial sobre quem X ou seja qual a origem da analogia A partir deste elemento vamos percorrendo a base de conhecimento em busca de respostas a esta pergunta respostas estas que nos indicar o as poss veis analogias que envolvam o elemento selecionado 2n Com base na indica o do usu rio e nas regras presentes na base de conhecimento utilizamos um tipo de racioc nio inspirado no racioc nio abdutivo e que chamamos de racioc nio com base em explica es Este tipo de racioc nio utiliza as associa es e classifica es dos elementos da base para gerar hip teses de extens o atrav s de operadores de met foras e meton mias e caso necess rio gerar explica es sobre as analogias sugeridas 2 5 3 Met foras e Semi tica Outra disciplina que contribui para a compreens o e gera o de met foras a Semi tica Umberto Eco faz uso de exemplos liter rios para mostrar sob uma abordagem estrutural que uma met fora pode ser desmembrada em uma cadeia de conex es meton micas Eco 1979 Em suas palavras the mechanism of metaphor reduced to that of metonymy relies on the existence or the hypothesis of existence of partial semantic fields that permit two types of metonymic relation i the codified metonymic relation inferable from the very structure of the semantic field ii the codifying metonymic relation born when the structure of a semantic field is culturally e
64. ce e ambiente de extens o incorporando linguagem de interface mecanismos meta lingii sticos de extens o de natureza sem ntico pragm tica a saber met foras e metonimias Embora nosso modelo considere a linguagem de interface e n o a linguagem de extens o propriamente dita ele prev que caso haja uma linguagem de extens o dispon vel aos usu rios esta lhes seja gradualmente revelada juntamente com os modelos do dom nio e da aplica o Assim promovemos uma capacita o gradual do usu rio que vai desde a intera o passando pelas extens es que utilizam os recursos metalingiifsticos at possivelmente a gera o manual de c digo escrito na linguagem de extens o e em um ambiente apropriado que chamamos de sub ambiente de extens o de uma aplica o Nosso trabalho pode ser utilizado para complementar abordagens que modelam o conhecimento e aprendizado do usu rio como em Schmalhofer et al 1995 Weber e Bogelsack 1995 Witschital 1995 Enquanto estas abordagens se baseiam em modelos cognitivos e tentam tratar do processo de compreens o e aprendizado humano a nossa se concentra nos aspectos semi ticos ou de comunica o entre interface e usu rios mais especificamente no potencial comunicativo de met foras e meton mias para extens o de software O ponto central desta tese a introdu o de um novo paradigma de programa o feita por usu rios finais que chamamos de programa o via int
65. dor etc Observe que neste tipo de extens o o usu rio precisa encontrar o par metro que deseja configurar em meio a um grande n mero de par metros Uma t cnica muito flex vel de programa o feita por usu rios finais a disponibiliza o de uma linguagem de programa o ou de script geralmente textual que o usu rio pode utilizar para escrever o c digo da extens o Entretanto esta t cnica n o adequada a usu rios finais leigos em programa o visto que eles n o possuem conhecimento sobre conceitos b sicos de computa o como vari veis condicionais e itera es entre outros Myers 1992 Introduction Al m disso grande parte das aplica es extens veis sequer apresenta o modelo subjacente da aplica o e do dom nio ao usu rio que conseqiientemente n o conhece os tipos que pode manipular Algumas abordagens tentam reduzir este problema apresentando a cada passo de intera o do usu rio o comando equivalente na linguagem de extens o Esta t cnica de revela o progressiva ou progressive disclosure segundo DiGiano e Eisenberg 1995 DiGiano 1996 pretende instruir gradativamente o usu rio com rela o aos modelos do dom nio e s estruturas sint ticas aceitas pela linguagem de extens o Mas mesmo esta abordagem n o oferece orienta es sobre os conceitos de programa o necess rios para a reda o manual de c digo em uma linguagem de programa o ou script Embora nossa abordagem seja
66. dos modificado de cada vez ou seja cada extens o sugerida gerada modificando se apenas um elemento do enunciado original tal como projetado pelo designer da aplica o Entretanto esta restri o pode ser considerada r gida demais para uma determinada aplica o ou uma determinada classe de usu rios ou seja pode impedir que c lculos interessantes sejam realizados Para tratar este problema nosso modelo pode ser estendido para que se possa ampliar o escopo dos operadores de analogia Este escopo pode ser determinado pelo designer como um valor constante ou uma faixa de valores que o usu rio pode escolher para regular o potencial de interpreta o e gera o das met foras e meton mias Por 20 exemplo podemos navegar pelas cadeias de rela es part of de mais de um elemento envolvido no enunciado gerando enunciados diferentes Em nosso prot tipo a aplica o faz alguns c lculos e sugere as op es que o designer original previu como prov veis mas os usu rios t m a possibilidade de pedir que os c lculos sejam realizados com menos restri es e com escopo mais amplo Assim mantemos os usu rios no controle de suas extens es fazendo infer ncias apenas no sentido de orient los sem no entanto restringir demasiadamente suas tarefas Para isto poder amos definir o conceito de dist ncia entre elementos como sendo o n mero de rela es entre eles Elementos adjacentes possuiriam dist ncia 1 enquanto element
67. dr es de manipula o direta Com isso o usu rio levado com freqii ncia a ter que reaprender a utilizar uma parcela da aplica o a cada nova vers o Com o passar do tempo a interface pode se tornar t o complexa que o usu rio n o consegue mais absorver todo o modelo da aplica o Esta situa o se torna ainda mais evidente em aplica es de prop sito geral como editores de texto e planilhas Qual seria ent o a solu o Muitas aplica es hoje em dia oferecem mecanismos de customiza o ou programa o transferindo para o usu rio parte do problema de design onde ele se torna tamb m respons vel pela efici ncia da aplica o na resolu o de seus problemas Elas s o o reflexo de uma tend ncia a querer aumentar ao inv s de substituir as habilidades dos usu rios Adler e Winograd 1992 Winograd 1996 Essas aplica es suportam o que chamado de end user programming ou programa o feita por usu rios finais Um dos objetivos dessas aplica es permitir que o pr prio usu rio programe a aplica o Myers et al 1992 Nardi 1993 Cypher 1993a Eisenberg 1995 Fischer 1998 T cnicas de configura o de par metros grava o de macros de programa o por demonstra o e at mesmo linguagens de programa o completas s o oferecidas para os usu rios finais estenderem suas aplica es Chamaremos de aplica o extens vel a aplica o que disponibilize um ou mais mecanismos que possibilitem su
68. e do express o na linguagem de representa o Tabela 2 Exemplos de predicados sobre tipos definidos pelo designer da aplica o Tabela 3 Exemplos de mapeamento conte do express o representados em nosso prot tipo Os mapeamentos est o agrupados de acordo com os valores de cada atributo Tabela 4 Conjunto t pico de widgets que podem ser utilizados no mapeamento contetido express o das opera es e seus par metros Tabela 5 Situa o de uso do prot tipo num exemplo onde o usu rio deseja criar um novo tipo a partir de um tipo existente Tabela 6 Situa o de uso do prot tipo num exemplo onde o usu rio deseja criar uma nova opera o a partir de uma opera o existente 43 43 69 70 72 75 Nota o utilizada nesta tese Os termos em l ngua estrangeira est o representados em it lico Um asterisco ao lado de uma express o indica um termo cuja defini o pode ser encontrada no gloss rio no Ap ndice A Trechos de c digo e pseudo c digo est o escritos em fonte sem serifa Formata o em negrito utilizada para destacar algumas express es ao longo do texto Os exemplos apresentados neste trabalho est o representados em corpo menor e com endenta o diferenciada Agradecimentos Ao CNPq pela ajuda financeira recebida durante o curso Aos colegas do Departamento de Inform tica e em especial aos membros do Semiotic Engineering Research Group pelos estudo
69. e c digo a um signo de interface poss vel manter uma correspond ncia entre trechos de programa o e signos de interface Em outras palavras podemos identificar padr es de programa o correspondentes a certos signos de interface Responder estas quest es um passo essencial na solu o do problema de manter a correspond ncia entre a linguagem de interface e a linguagem de extens o Nossa abordagem trata essas quest es de maneira an loga extens o da funcionalidade Representamos na base de conhecimento os tipos expressivos rela es entre eles e principalmente mapeamentos que o designer previu entre conte do e express o ou seja entre elementos de funcionalidade e de interface Da mesma forma como na extens o da funcionalidade aqui tamb m as extens es devem ser monot nicas preservando o significado m nimo da interface original Mas h limita es adicionais aqui pois o usu rio n o pode incorporar primitivas de express o que n o tenham sido previstas pelo designer Por exemplo se o designer original n o tiver previsto o uso de cor n o h nenhuma fun o da aplica o que trate esse atributo e portanto o usu rio n o teria como utiliz lo Por outro lado caso o designer tenha oferecido um conjunto abrangente de primitivas os usu rios ter o bastante liberdade para fazer composi es dessas primitivas resultando nos mais diversos tipos expressivos A tabela a seguir ilustra alguns mapeamentos
70. e da aplica o Podemos utilizar a no o de perspectiva em que determinada classifica o se aplica como em classified as E C P Oliveira 1999 Cada perspectiva demarca uma esp cie de leitura espec fica do dom nio impedindo argumenta es e express es que n o fa am sentido em determinadas situa es de uso Neste caso o modelo do dom nio pode ser visto como uma macro perspectiva ou uma perspectiva global que define os elementos e rela es invariantes ou seja v lidos em todas as perspectivas ay 4 Programa o via Interface em A o Este cap tulo descreve o uso do nosso modelo apresentando alguns tipos de representa o e classifica o que podem ser vistos como orienta es para um designer que queira utiliz lo Apresentamos nosso prot tipo e ilustramos alguns caminhos de intera o com os mecanismos de wizards para estend lo Pretendemos assim ilustrar como o estudo realizado pode ser utilizado no design de outras aplica es extens veis e aplicado a outros dom nios 4 1 O Prot tipo Nosso prot tipo foi inspirado no rob Karel utilizado por Pattis para ensinar conceitos b sicos de programa o Pattis 1995 Bergin et al 1997 O nosso modelo consiste em um mundo bi dimensional no qual um rob pode se mover em um grid e interagir com objetos do mundo A Figura 6 apresenta uma por o de tela do nosso prot tipo ilustrando 42 o rob na esquina 4 3 e olhando para o leste doi
71. e de linguagens visuais quando comparadas s textuais Martins 1998 Em aplica es extens veis torna se fundamental lidar com os tipos abstratos e n o suas inst ncias o que torna ainda mais dif cil represent los visualmente Al m disto os usu rios finais encontram os mesmos problemas de linguagens de programa o tradicionais ou seja a necessidade de conhecer conceitos e t cnicas de programa o e computa o em geral Em todos os estilos de linguagem de programa o os usu rios finais precisam lidar com linguagens comput veis No caso de linguagens imperativas eles precisam aprender a manipular vari veis condicionais e itera es No caso de linguagens funcionais o usu rio deve estar familiarizado com aplica o de fun es No caso de linguagens l gicas praticamente precisa conhecer l gica de primeira ordem Programa o por demonstra o Programa o por demonstra o se assemelha t cnica de programa o por grava o de macros mas ao inv s de a aplica o registrar literalmente as opera es ativadas pelo usu rio ela cria programas generalizados a partir destas opera es e os programas resultantes podem conter itera es e condicionais A id ia de se definir problemas de forma operacional atrav s de exemplos foi proposta por Zloof atrav s do sistema de recupera o de informa es de bancos de dados QBE Query By Example cujo usu rio alvo era aquele com pouca ou nenhuma experi
72. em de programa o e descontinuidades e inconsist ncias entre o sub ambiente de intera o antes da extens o e o mesmo ap s a extens o Na an lise de editores de texto foram escolhidas as fun es de busca e substitui o de armazenamento de arquivos e de undo Estas fun es foram escolhidas por serem representativas de problemas de manipula o de strings de problemas de nome de espa os de usu rio e de controle de execu o Comparou se o acionamento destas fun es atrav s de intera o na interface com o c digo resultante da grava o em macro bem como os par metros que os usu rios podem ou devem configurar em cada caso Embora a an lise tenha sido feita por p s graduandos da rea de Computa o Barbosa et al 1997 diversos problemas e dificuldades foram detectados quando eles pr prios tentaram construir extens es o que sugere que seria ainda mais dif cil para usu rios leigos em programa o realizarem suas tarefas utilizando os mecanismos de extens o oferecidos por estas aplica es Um dos problemas encontrados nas aplica es extens veis analisadas foi a descontinuidade entre os sub ambientes e linguagens de intera o e de extens o Ao ativar uma opera o de extens o de grava o de macro muitas vezes ocorre apenas uma mudan a no estado ou modo da aplica o com pouca mudan a perceptiva como uma simples altera o no cursor do mouse o que leva o usu rio a crer que pode c
73. em de extens o EUPL Como nosso modelo define na UIL os mecanismos de extens o permitidos temos uma defini o operacional A1 das estruturas existentes e potenciais que fazem sentido na pr pria UIL Com isto podemos dar sentido a enunciados n o literais bastante interessantes 3 2 Representa o do conhecimento Esta se o apresenta a representa o dos elementos necess rios aos c lculos de extens o por met foras e meton mias Nossa abordagem permite apenas extens es monot nicas ou seja extens es que n o permitem destruir ou alterar diretamente os elementos e as rela es definidos previamente pelo designer de forma a preservar o significado m nimo da aplica o tal como projetado por ele Para isto precisamos distinguir primeiramente o que faz parte deste conjunto m nimo da aplica o e o que foi acrescentado pelo usu rio Dessa forma teremos sempre uma marca o nos predicados os prefixados com a letra d s o predicados embutidos na aplica o pelo designer enquanto os prefixados com a letra u indicam extens es feitas por usu rios Visto que mecanismos de estender aplica es devem prever n o apenas a extens o de sua funcionalidade mas tamb m da interface correspondente devemos ainda diferenciar os predicados quanto sua funcionalidade ou conte do e quanto interface ou express o 66 499 Para isso prefixamos com a letra c predicados relacionados funcional
74. ens o guiam o usu rio passo a passo por sua extens o atrav s de di logos do tipo wizard O objetivo dos wizards revelar ao usu rio as possibilidades de extens o da aplica o atrav s do potencial de uso de met foras e meton mias em aplica es computacionais Nossos wizards apresentam ao usu rio diversas op es de extens o com base em uma indica o inicial sua sobre que tipo ou opera o deve ser estendido Estas op es s o calculadas pelos mecanismos de analogia descritos mais adiante com base nos modelos do dom nio e da aplica o medida que o usu rio percorre os di logos os modelos e alguns conceitos de programa o lhe s o apresentados de maneira casual e ele pode pedir mais explica es sobre cada passo de extens o Como efeito secund rio deste mecanismo temos a capacita o gradual do usu rio para um n vel de extens o que requeira mais conhecimento como escrever c digo em uma linguagem de programa o propriamente dita Muito cuidado deve ser tomado ao apresentar para o usu rio as poss veis extens es sobre um trecho de c digo Se apresentarmos todas as poss veis op es corremos o risco de sobrecarregar o usu rio com informa es excessivas como pode ocorrer em aplica es extens veis por configura es de par metros Figura 3 27 AutoCorrect x AutoCorrect AutoFormat As You Type AutoText AutoFormat Apply as you type i IV Automatic bulleted lists I
75. ensional o conjunto dos elementos que pertencem classifica o definido por uma regra ou predicado Uma classifica o definida intensionalmente resulta em maior potencial de extens o visto que a inclus o de novos elementos na classifica o pode ser calculada pela regra ou predicado que a define Em uma defini o extensional entretanto caberia ao usu rio incluir ou n o os novos tipos criados em cada classifica o Al m disto um designer n o consegue antecipar e representar a sem ntica de uma classifica o definida extensionalmente Neste caso um usu rio poderia acrescentar elementos que n o se encaixam na sem ntica pretendida pelo designer causando distor es sem nticas em futuros c lculos de extens o Exemplo Seja M o conjunto de tipos de objetos mensur veis ou que possuem tamanho e l liquido o conjunto de tipos imensur veis Caso o designer defina M bloco caixa e o usu rio crie um novo tipo brinquedo que tamb m mensur vel este n o inclu do automaticamente em M Caso o designer permita que o usu rio insira os novos tipos nas classifica es existentes o usu rio deveria explicitamente redefinir M bloco caixa brinquedo Entretanto nada o impediria de redefinir I l quido brinquedo ou ambos Por outro lado se o designer definir M te Types attribute size t e te Types attribute size t ent o assim que o usu rio criar um novo tipo brinquedo que tamb m po
76. ental Leaps Analogy in Creative Thought Cambridge MA The MIT Press 1996 Hopcroft J e Ullman J Introduction to Automata Theory Languages and Computation Addison Wesley Reading MA 1979 Kurlander D e Feiner S A History Based Macro by Example System Em Watch What I Do Programming by Demonstration edited by Allen Cypher MIT Press Cambridge Ma 1993 Lakoff G Women Fire and Dangerous Things The University of Chicago Press Chicago 1987 Lakoff G The contemporary theory of metaphor Em Ortony A ed Metaphor and Thought ae edition Cambridge University Press Cambridge MA pp 202 251 1993 Lakoff G e Johnson M Metaphors We Live By The University of Chicago Press Chicago 1980 a2 Leite J C 1998 Lieberman 1993a Lieberman 1993b Lyons 1981 Malone 1995 Martins 1998 Microsoft 1994 Microsoft 1995a Microsoft 1995b Leite J C Modelos e Formalismos para a Engenharia Semi tica de Interfaces de Usu rio Tese de Doutorado Departamento de Inform tica PUC Rio Outubro de 1998 Lieberman H Mondrian A Teachable Graphical Editor Em Cypher A et al eds Watch What I Do Programming by Demonstration Lieberman H Tinker A Programming by Demonstration System for Beginning Programmers Em Cypher A et al eds Watch What I Do Programming by Demonstration Lyons J Language and Linguistics Cambridge University Press 1
77. ente atualizar os tokens expressivos a cada passo de execu o No caso de extens o de opera es geralmente h um ou mais tipos destinados ativa o de opera es definidas por usu rios finais como por exemplo bot es em uma barra de ferramentas ou itens de menu Caso o designer deseje aumentar o potencial de extens o da interface pode permitir que o usu rio classifique suas opera es de acordo com uma determinada taxonomia e a partir da sugerir os tipos e a localiza o dos elementos de ativa o das novas opera es Entretanto quanto maior for a liberdade do usu rio mais chances h de se romper com o design original Para restringir as altera es feitas no espectro expressivo da aplica o o designer deve representar na base regras que governam o mapeamento conte do express o KA Por exemplo o designer pode representar uma regra que restringe o mapeamento de opera es para o tipo expressivo item de menu Desta forma somente este tipo de signo de interface poder ser utilizado para acionar opera es atrav s da interface Neste caso uma opera o estendida n o poderia ser disparada por um bot o de comando por exemplo Para tanto necess rio categorizar os signos de interface de maneira a refletir os sintagmas v lidos na linguagem definida pelo designer original Uma extens o em uma opera o resultar em um novo sintagma cujo signo de interface ter que satisfazer as regras est
78. entro do dom nio Desta forma os mecanismos de extens o podem gerar distor es dando interpreta es sem significado para o usu rio To Em nosso prot tipo se criarmos um conceito unificador world acrescentando os predicados part of actor world part of thing world e part of place world os mecanismos de interpreta o poderiar gerar distor es do tipo pick world world que fazem pouco ou nenhum sentido para o usu rio e em nada contribuem para suas tarefas Caso seja necess rio criar um conceito unificador o mecanismo de c lculo de extens es dever ser modificado para parar o c lculo por meton mias antes de alcan ar este conceito 5 Explore o mecanismo de classifica o para criar sin nimos Nosso esquema de classifica es pode ser utilizado para criar sin nimos aumentando a expressividade da linguagem do usu rio Vale observar que caso dois elementos compartilhem todas as classifica es estes s o considerados pela aplica o como sin nimos perfeitos ou co expressivos sejam eles tipos atributos ou valores de atributos Sejam small medium large os valores poss veis do atributo size A classifica o big large permite interpretar express es da forma size big como significando size large 6 Utilize com cautela a linguagem visual O n vel de articula o dos elementos representados determina o escopo dos operadores e conseqiientemente limita a expressividade da linguagem
79. erface inspirado em duas fontes b sicas no c lculo de met foras e meton mias e nas no es de Abstra o Interpretativa e Cont nuo Semi tico da Engenharia Semi tica como ser visto ao longo desta tese O Cap tulo 2 Fundamentos Te ricos apresenta fundamentos te ricos relacionados ao nosso trabalho das reas de Computa o Semi tica e Ci ncia Cognitiva Nosso modelo descrito no Cap tulo 3 Programa o Via Interface O Cap tulo 4 Programa o via Interface em A o apresenta um contexto de uso do nosso modelo exemplificado atrav s de um prot tipo Finalmente no Cap tulo 5 Conclus es comparamos nossa abordagem com trabalhos relacionados resumimos nossas contribui es e apontamos dire es para trabalhos futuros Como material de suporte esta tese inclui dois ap ndices um gloss rio no Ap ndice A que descreve os termos utilizados ao longo da tese e o Ap ndice B que cont m listagens em Prolog que ilustram os mecanismos apresentados ao longo desta tese 2 Fundamentos Te ricos 2 O objetivo deste cap tulo apresentar os conceitos utilizados neste trabalho e em trabalhos relacionados Em particular descrevemos algumas t cnicas de programa o feitas por usu rios finais apresentando defini es problemas e desafios encontrados em aplica es extens veis Em seguida apresentamos os conceitos de Engenharia Semi tica e como s o utilizados para auxiliar o designe
80. ers Em Wender Schmalhofer e Bocker eds Cognition and Computer Programming Ablex Publishing Corporation Norwood NJ 1995 Zloof M QBE OBE A language for office and business automation IEEE Computer May 1981 pp 13 22 1981 A7 Ap ndice A Gloss rio Este ap ndice apresenta alguns dos termos utilizados nesta tese cujas defini es s o importantes para o entendimento da mesma e que por esse motivo desejamos clarificar o m ximo poss vel A abdu o tipo de racioc nio que a partir de um resultado consiste em gerar um caso e uma hip tese explicativa plaus vel sobre como chegar ao resultado a partir do caso gerado affordance facilidade percebida pelo usu rio a partir da interface Winograd 1996 Norman 1999 ambiente parte da aplica o que possui interface completa como menus di logos e uma identidade visual pr pria e um estado e g ambiente de intera o vs ambiente de extens o analogia tipo de racioc nio associativo com base em rela es e semelhan as entre conceitos no aplica o estendida aplica o extens vel aplica o original C configura o programa o por cont nuo semi tico entre linguagens D dedu o design designer dom nio Utilizamos este termo aqui para descrever o tipo de racioc nio que envolve o uso de met foras ou meton mias aplica o original mais o conjunto de opera es acrescentadas pelo usu rio final e d
81. es sugeridas pelo mecanismo de extens o O procedimento completo apresentado na pr xima subse o Em linhas gerais as op es que podem ser sugeridas pelo mecanismo de extens o s o 1 considerar um valor constante 2 substituir por uma express o v lida 3 pedir o valor para o usu rio em tempo de execu o 4 criar um novo elemento parte atributo valor ou rela o para substituir um elemento ausente e utiliz lo na express o 5 eliminar a instru o que envolve a express o inv lida 6 substituir toda a opera o por uma opera o semelhante de acordo com uma classifica o na base A cada altera o feita sobre um tipo as opera es que envolvem tal tipo s o verificadas novamente para que sejam resolvidas as omiss es ambigiiidades e conflitos Extens o da Base Atrav s da Verifica o de um Enunciado O procedimento abaixo verifica a validade de um enunciado e caso envolva refer ncias inv lidas tenta estender a base de forma a torn lo v lido KNA dado um enunciado ou instru o se contiver uma express o E que n o possa ser calculada acrescenta op o ao wizard ignorar instru o se E envolver um valor V que n o fa a parte dos valores poss veis do atributo A acrescenta op o ao wizard pedir o valor durante a execu o acrescenta op o ao wizard substituir por uma constante acrescenta op o ao wizard acrescentar o valor V aos valores poss veis de A e man
82. esso de extens o da funcionalidade da aplica o os mecanismos de extens o devem requisitar explica es de forma esquem tica a fim de preservar os objetivos comunicativos aqui delineados Em outras palavras cada extens o deve possuir uma express o correspondente na linguagem de explica o Em suma a programa o centrada na comunica o pode ser entendida como um esfor o do designer para contar aos usu rios o que ele tinha em mente ao projetar a aplica o e assim aumentar as chances de ser bem compreendido aumentando a usabilidade utilidade e extensibilidade da aplica o 10 Nosso trabalho se concentra no ciclo inferior ilustrado na Figura 2 que realiza racioc nios sobre as indica es feitas atrav s da interface e sobre uma base de conhecimento de forma a estender a aplica o Vale notar que esta arquitetura ideal servindo como refer ncia para o prot tipo que desenvolvemos Bases de conhecimento Utilizamos um modelo est tico e um modelo din mico para representar o conhecimento necess rio aos mecanismos de c lculo de extens o A distin o entre modelo est tico e modelo din mico pode ser encontrada sob diversas formas na literatura acad mica Em Linguagens de Programa o Gelernter e Jagannathan apresentam space maps e time maps Gelernter e Jagannathan 1990 Em Engenharia de Software e IHC temos modelo de dom nio e modelo de tarefas Pressman 1996 Preece et al 1994 Em Ling stica
83. estruturas correspondentes inferindo conhecimento novo a partir do antigo e efici ncia inferencial capacidade de incorporar dentro da estrutura do conhecimento informa es adicionais que possam ser utilizadas para direcionar melhor os mecanismos de infer ncia e efici ncia aquisicional capacidade de adquirir novas informa es com facilidade Inicialmente procuramos representar os objetos rela es e atributos do modelo est tico utilizando apenas predicados do tipo heran a is a e composi o part of Entretanto estes predicados n o foram suficientes para computar analogias de acordo com os NA mecanismos estudados Foi necess rio utilizar uma representa o mais rica e estruturada e embutir na base de conhecimento mais de uma taxonomia Como os c lculos de met foras e meton mias s o realizados sobre rela es entre os elementos sejam estes tipos atributos ou opera es o requisito b sico para as linguagens de representa o a serem utilizadas que permitam expressar rela es associativas Tendo em vista esta restri o deixamos a crit rio do designer escolher a linguagem de representa o mais adequada para o seu dom nio Al m disto ele poder utilizar mais de um tipo de representa o desde que mantenha representada a associa o entre os diversos elementos da base de conhecimento Por exemplo ele pode utilizar l gica de primeira ordem para representar o modelo est tico e l gica te
84. face das linguagens naturais no sentido de serem aquelas c digos naturais de comunica o entre usu rios e sistemas Um trabalho futuro imediato a implementa o completa deste modelo visando a coletar dados emp ricos que validem ou levem a ajustes as propostas te ricas aqui apresentadas 07 Refer ncias Adler e Winograd 1992 Andersen 1990 Andersen et al 1993 Apple 1992 Asymetrix 1994 Adler P e Winograd T eds Usability Turning Technologies into Tools Oxford University Press New York NY 1992 Andersen P B A Theory of Computer Semiotics Cambridge Cambridge University Press 1990 Andersen P B Holmqvist B Jensen F F eds The Computer as Medium Cambridge University Press 1993 Apple Computer Inc Macintosh Human Interface Guidelines Reading Ma Addison Wesley 1992 Asymetrix Corporation Openscript Reference Manual 1994 Qe Barbosa et al 1997 Barbosa et al 1998 Barbosa et al 1999 Bergin et al 1997 Bruce 1975 Brown e Yule 1983 Chang 1990 Chomsky 1959 Cypher 1993a Barbosa S D J Cara M P Cereja J R Cunha C K V de Souza C S Interactive Aspects in Switching between User Interface Language and End User Programming Environment A Case Study Em Proceedings of WOMH 97 Sao Carlos Brazil 1997 Barbosa S D J da Cunha C K V da Silva S R P Knowledge and Communication Perspectives in E
85. haja um n mero excessivo de par metros e combina es diferentes A outra um efeito consistente das extens es sobre o significado e a ret rica global da aplica o tal como inicialmente projetada pelo designer ou seja impedir que uma extens o desdiga o que o designer disse em primeiro lugar Grava o de macros Esta t cnica permite que os usu rios ativem um gravador de instru es que registra cada passo de intera o dentro de uma sequ ncia de comandos Esta segii ncia armazenada e pode ser reproduzida quando necess rio Embora seja uma t cnica bastante popular ela literal demais ou seja grava literalmente os eventos de interface situados no contexto de grava o tendo como constantes os valores das vari veis de contexto Uma macro resultante de grava o uma segii ncia linear de instru es Ela representa um aut mato finito cuja classe de problemas resolv veis bastante restrita Chomsky 1959 Hopcroft e Ullman 1979 Para contornar estas limita es muitas das aplica es que permitem gravar instru es em uma macro oferecem tamb m mecanismos de edi o de macros Aplica o Microsoft WordO for Windows 2 0 O usu rio possui um PC em casa e um Macintosh no trabalho e precisa frequentemente salvar o documento para Mac para levar para o trabalho Abre o arquivo desejado CARTA1 DOC e grava uma macro para armazen lo no disquete e no formato que possa ser lido no editor de
86. i es utilizadas na analogia e semelhan a racioc nio guiado por uma semelhan a direta dos elementos envolvidos e estrutura racioc nio guiado pela necessidade de identificar paralelos estruturais consistentes entre os pap is nos dom nios de origem e de destino das analogias A principal press o para estabelecer um isomorfismo entre os elementos de origem e de destino Em alguns casos este tipo de restri o dominante sobre as restri es por semelhan a e objetivo racioc nio guiado pelos objetivos do raciocinador ou seja o que a analogia deve atingir Estes tr s tipos de restri o operam como diferentes press es no c lculo de analogias de maneira semelhante s press es inter agentes de French 1995 Em outro artigo Thagard e Verbeurgt descrevem modelos para computar coer ncia de forma a satisfazer estas restri es Thagard e Verbeurgt 1998 Os algoritmos de c lculos de analogias apresentados nesta se o podem ser utilizados em nosso mecanismo de extens o por met foras e meton mias descrito no pr ximo cap tulo QA 3 Programa o Via Interface Este cap tulo descreve um modelo para aplica es extens veis que torna poss vel a programa o via interface utilizando os recursos de met foras e metonimias Apresentamos as caracter sticas das aplica es extens veis geradas a partir do nosso modelo e descrevemos os mecanismos de c lculo de extens o 3 1 Vis o Geral As ap
87. idade da 66199 aplica o e com a letra e predicados relacionados interface da mesma Dessa forma temos os seguintes prefixos usu rio uc ue conte do express o de de designer Figura 5 Prefixos utilizados na linguagem de representa o A tabela a seguir apresenta predicados que ilustram a utiliza o destes prefixos AA de type box dc_ tipo de conte do definido pelo designer uc type doll uc_ tipo de conte do definido pelo usu rio de type shape de_ tipo expressivo definido pelo designer ue type composite shape ue tipo expressivo definido pelo usu rio Tabela 1 Ilustra o do uso dos prefixos que distinguem designer usu rio e conte do express o na linguagem de representa o Estes prefixos s o utilizados em toda a representa o Para os predicados que n o precisam ou n o devem fazer estas distin es s o utilizadas varia es como por exemplo c type Type que retorna todos os tipos de conte do do modelo tenham sido criados pelo designer ou pelo usu rio ou ainda type Type que retorna todos os tipos sejam de conte do ou de express o criados pelo designer ou pelo usu rio A tabela a seguir ilustra alguns predicados de tipos definidos pelo designer Defini o Exemplo lt prefixo gt is a Tipo Supertipo de is a robot actor lt prefixo gt part of Parte Coisa de part of block toy lt prefixo
88. il nil de operation put actor transportable object nil nil dc operation face actor thing nil nil dc_operation borrow actor thing nil nil dc_operation lend actor thing nil nil dc_operation return actor thing nil nil dc_relation dc_relation dc_relation dc_relation is with thing actor belongs to thing actor built by thing actor lives actor place de classification ownership is with belongs to dc op classification result move face turn ptrans de op classification result pick put borrow lend return atrans de op classification result build build Listagem 4 Representa o de rela es opera es e algumas classifica es C lculo de Meton mias Esta se o apresenta uma listagem que ilustra o c lculo de meton mias poss veis entre dois tipos do modelo possible metonymy A B A B m rel A B possible metonymy A B A L mchain A X L1 m rel X B append L1 B L possible metonymy A B A L m rel A X mchain X B L1 append X L1 L possible metonymy A B A L mchain A TA L1 m_rel TA TTA mchain TTA B L2 append L1 TTA L2 L mchain A B X L mchain A B X L mchain A B B mchain A B B rel A X mchain X B L a A X mchain X B L rel A B a A B m is m is m rel m rel gt gt B part_of A B B contained A B Listagem 5 C lculo de Meton mias C lculo de Met for
89. ined What do you want to do 7 create relation Actor owniCorner based on Actor own Thing consider Thing equal to ask for the value of Thing during execution consider test as true and execute included statements Hel Cancel b a consider test as false and skip included statements Help Cancel lt Back Next gt Figura 9 Seq ncia de telas ilustrando parte da segii ncia de uso de cria o de uma nova opera o a partir de uma opera o existente 4 6 Orienta es para o Designer Esta se o apresenta orienta es para o designer que deseje projetar uma aplica o com base no modelo apresentado neste trabalho Indicamos classifica es de uso freq ente que TA podem ser teis e esclarecemos algumas implica es de certas decis es tanto de representa o quanto de classifica o 1 Defina o n vel b sico de categoriza o Crie classifica es de acordo com uma an lise das distin es relevantes do dom nio e para a classe pretendida de tarefas do usu rio Como o significado determinado por oposi es entre os elementos classifica es muito abrangentes n o permitem que os mecanismos gerem interpreta es ou extens es interessantes pois considera tudo igual Por outro lado quanto mais espec ficas forem as classifica es mais elas limitam o escopo dos mecanismos de extens o at no limite s haver um tipo de elemento por classifica
90. ingir as opera es sobre conjuntos que possam gerar novas classifica es a fim de manter o cont nuo semi tico da aplica o resultante Caso fosse poss vel utilizar os operadores l gicos de conjun o disjun o e nega o o usu rio poderia criar novas classifica es que negassem a sem ntica pretendida pelo designer da aplica o rompendo com o nosso requisito de monotonicidade das extens es an H casos em que o designer da aplica o pode querer disponibilizar qualquer tipo de extens o sobre as classifica es Tais aplica es seriam tipicamente ferramentas de design onde os usu rios seriam eles pr prios designers que precisariam de muita liberdade mas que tamb m teriam todo o conhecimento necess rio para n o criar uma aplica o com distor es sem nticas Precisamos ent o definir que opera es sobre os conjuntos podemos disponibilizar de forma a permitir acrescentar sem ntica base de conhecimento sem no entanto entrar em conflito ou negar a sem ntica previamente definida As opera es de uni o interse o e diferen a de conjuntos podem ser utilizadas com seguran a mantendo a monotonicidade das extens es visto que n o podem anular as informa es presentes na base 3 6 1 Uni o de classifica es existentes Sejam Cl e C2 duas classifica es distintas A classifica o C C1 U C2 resulta em uma classifica o em um n vel mais abstrato obtida ao se relaxar um ou mais tra o
91. ion Conference IEEE Computer Society 1999 pp 2 9 French R The Subtlety of Sameness The MIT Press Cambridge MA 1995 Furtado Antonio L Analogy by Generalization and the Quest of the Grail ACM SIGPLAN Notices Volume 27 No 1 January 1992 Gelernter D e Jagannathan S Programming Linguistics Cambridge Ma MIT Press 1990 Gibbs R Making Sense of Tropes Em Ortony ed Metaphor and Thought 2 Edition Cambridge University Press 1993 Ghezzi C Jazayeri M Programming Language Concepts 2 Edition John Wiley and Sons Inc 1987 Halasz F e Moran T P Analogy Considered Harmful Em Human factors in computer systems conference proceedings Gaithersubrg Maryland ACM Press 1982 ay Hintikka 1997 Hjelmslev 1963 Hofstadter et al 1995 Hofstadter 1979 Holyoak e Thagard 1996 Hopcroft e Ullman 1979 Kurlander e Feiner 1993 Lakoff 1987 Lakoff 1993 Lakoff e Johnson 1980 Hintikka J What is Abduction The fundamental problem of contemporary epistemology Manuscrito n o publicado Hjelmslev L Prolegomena to a Theory of Language Menascha Wincosin University Press 1963 Hofstadter D et al Fluid Concepts and Creative Analogies Basic Books A Division of HarperCollins Publishers Inc New York NY 1995 Hofstadter D R G del Escher Bach an Eternal Golden Braid Basic Books New York NY 1979 Holyoak K J e Thagard P M
92. ioridade dentre as op es de extens o sugeridas ao usu rio Pode se limitar o n mero de elementos semelhantes apresentados ao usu rio Ao atingir um n mero m ximo de elementos o algoritmo ignora o restante Entretanto pode ser interessante permitir que o usu rio controle este n mero m ximo de elementos Assim ele pode aumentar ou reduzir o alcance dos operadores de extens o de acordo com sua necessidade Ele pode fazer isso restringindo os candidatos queles que possu rem no m nimo um n mero m de classifica es em comum amp 9 Sejam Set1 Set2 Setn os conjuntos de elementos classificados como C1 C2 Cn Podemos definir como melhores candidatos a substituir um elemento e os elementos pertencentes ao conjunto Best e m onde m o n mero m nimo de classifica es em comum entre os elementos O n mero de classifica es em comum entre o elemento e e um elemento aj num aj card Vile e Set A aj Set Ci Assim o conjunto de melhores candidatos a substituir e Best e m Vj num aj gt m aj Outro refinamento que pode ser feito organizar as classifica es em hierarquias Dessa forma pode se selecionar os eixos de classifica o a serem privilegiados nos c lculos de analogias Uma classifica o pode ser definida extensional ou intensionalmente Em uma defini o extensional s o enumerados os elementos que pertencem classifica o No caso de uma defini o int
93. ipuladas para os sintagmas originais Como os sintagmas estendidos s o gerados a partir de uma altera o em apenas um dos componentes de um sintagma existente uma interface bem estruturada facilitar a defini o e o posicionamento dos novos signos de interface que dever o ser criados para refletir a extens o de funcionalidade Considere uma hierarquia de menus organizada da seguinte forma menu opera o submenu lt gt elemento a que a opera o aplicada sub submenu lt gt complementos Seja o mapeamento de um sintagma A V B para o item V A B na estrutura de menus Caso seja criado um novo sintagma A V B este dever ser mapeado para um item V A B ou seja ser criado um novo submenu A do menu V com um sub submenu B Analogamente um novo sintagma A V B dever ser mapeado para um item V A B ou seja um novo item B no sub submenu V A Estes mapeamentos devem ser especificados completamente pelo designer e representados na base de conhecimento Assim as extens es feitas na funcionalidade da aplica o poder o ser refletidas de forma controlada na interface a fim de manter a consist ncia com o design original 3 5 Wizards Este cap tulo descreveu at agora como as poss veis extens es s o calculadas com base em analogias Esta se o descreve como as op es de extens o devem ser apresentadas aos usu rios no caso das extens es persistentes ou geradas por constru o atrav s de
94. isponibilizadas atrav s de extens es na interface aplica o que pode ser modificada pelo usu rio seja por configura o de par metros por grava o de macro por demonstra o por programa o ou qualquer outro mecanismo aplica o que ainda n o foi estendida pelo usu rio ou ainda o conjunto de opera es primitivas dispon veis para o usu rio atrav s de intera o com a aplica o quando a aplica o oferece diversas op es que o usu rio pode selecionar para configurar a aplica o n o uma tarefa de programa o propriamente dita mas se encaixa no conceito de end user programming duas linguagens s o semioticamente cont nuas se uma delas L1 puder ser considerada linguagem de descri o sem ntica da outra L2 e se al m disso a linguagem de descri o sem ntica L1 contiver um componente pragm tico que possa distinguir quais os tokens da linguagem descrita L2 que fazem sentido tipo de racioc nio que partindo de um caso e uma regra alcan a um resultado atividade de projetar uma aplica o e ou sua interface profissional envolvido no desenvolvimento de software ou de interface de software em algum n vel conceitual ou de especifica o rea de conhecimento que envolve todas as tarefas de um determinado usu rio an end user programming engenharia semi tica extens o F funcionalidade cone ndice indu o interpretante M met fora meton
95. jeto nesse caso em sua representa o na interface Examinando os mapeamentos de atributos de orienta o vemos que existem duas op es ter um ponto de refer ncia para a orienta o acrescentando um elemento gr fico adicional como um nariz ou indicar por um quadrado circunscrevendo o objeto com um ponto indicando a orienta o Cabe ao usu rio decidir mas as restri es de representa o impostas pelo designer devem ser mantidas visando manter o significado da aplica o De maneira semelhante extens o de tipos uma extens o de funcionalidade ou opera o tamb m deve ser refletida na interface Para tanto utilizamos os widgets componentes visuais interativos que estiverem dispon veis no ambiente computacional utilizado A tabela a seguir apresenta um conjunto t pico de widgets presentes em grande parte dos ambientes gr ficos atuais Apple 1992 Microsoft 1995b Estes widgets s o utilizados LA no mapeamento de opera es tanto com rela o sua ativa o quanto entrada de dados para os par metros complementos destas opera es widget comportamento interativo comportamento funcional bot o de comando parece pressionado dispara a o pushbutton enquanto o bot o do mouse estiver pressionado item de menu destacado enquanto dispara a o selecionado mas n o disparado grupo de bot es de apenas um fica selecionado define valor a partir de u
96. juda on line manual de usu rio e outros iii o conhecimento do usu rio sobre computa o e sua bagagem cultural 2 Em outras palavras uma linguagem Li uma abstra o interpretativa de uma outra linguagem Lj se mesmo que a sem ntica de Li possa ser descrita completamente em Lj um usu rio possa dar sentido a Li sem jamais saber que Lj existe Princ pio de Cont nuo Semi tico Dadas duas linguagens computacionais Li e Lj elas s o ditas semioticamente cont nuas se e Li uma abstra o interpretativa de Lj e Lj uma abstra o interpretativa de uma outra linguagem Lx e Lj possui uma defini o sint tica de texto como uma organiza o estruturada espec fica de senten as cujo significado incorpora elementos intencionais e Qualquer usu rio que seja completamente proficiente em Li e Lj pode sempre traduzir qualquer texto em Lj em um signo arbitrariamente complexo realizado ou potencial em Li Em outras palavras duas linguagens s o semioticamente cont nuas se uma delas Lj for considerada uma linguagem de descri o sem ntica da outra Li e se al m disto a linguagem de descri o sem ntica Lj possuir um marcador sint tico que pode distinguir dois tipos de enunciados pragmaticamente diferentes os que possuem sentido realizado ou potencial na linguagem descrita Li e aqueles que n o o possuem Este componente discrimina a gera o de sub estruturas de senten as sintaticamente corretas q
97. judar os usu rios finais a realizar extens es simples mas que n o s o poss veis apenas atrav s de mecanismos de configura o e de grava o de macros nossa abordagem utiliza justamente estudos sobre analogia para calcular poss veis extens es e sugerir op es de extens o com base em alguma indica o pr via do usu rio sobre o foco da extens o ou seja opera o ou objeto que ele deseja estender Nosso trabalho faz parte de um conjunto abrangente de trabalhos dentro da rea de Engenharia Semi tica de Souza 1993 cujo objetivo maior oferecer meios de melhorar a comunica o entre designer e usu rios Consideramos principalmente as linguagens com as quais os usu rios devem interagir De acordo com a Engenharia Semi tica vemos que linguagens adequadas promovem melhor usabilidade da aplica o resultante No caso espec fico de aplica es extens veis o usu rio deve lidar n o apenas com uma linguagem de interface mas tamb m com algum tipo de linguagem de programa o ou extens o o que envolve considera es adicionais e requer expans es do quadro te rico de Engenharia Semi tica Essencialmente o ponto central da expans o est em o usu rio passar a exercer o papel de algum tipo de designer e de consegiientemente o designer de aplica es extens veis ter de realizar uma esp cie de meta design ou design para o design Em outras palavras enquanto as interfaces das aplica es que n o podem
98. l tico ndice de Figuras ndice de Tabelas Nota o utilizada nesta tese Agradecimentos 2 INTRODU O FUNDAMENTOS TE RICOS 2 1 Aplica es extens veis 2 2 2 3 2 4 2 5 2 1 1 T cnicas de programa o feita por usu rios finais 2 1 2 Problemas e desafios Engenharia Semi tica Engenharia Cognitiva e Aplica es Extens veis Representa o do Conhecimento 2 4 1 Representa o dos Modelos do Dom nio Analogias 2 5 1 Met foras e Meton mias 2 5 2 Analogias e Abdu o 2 5 3 Met foras e Semi tica 2 5 4 Analogias em Intelig ncia Artificial PROGRAMA O VIA INTERFACE Vis o Geral 3 1 1 Extens o por Interpreta o 3 1 2 Extens o por Constru o via Wizards 3 1 3 Considera es vii viii o N 16 24 25 26 27 28 29 31 31 35 35 37 37 40 3 2 3 3 3 4 3 5 3 6 4 4 1 4 2 4 3 4 4 4 5 4 6 5 5 1 5 2 5 3 Representa o do conhecimento Gera o de Met foras e Meton mias 3 3 1 Eixos de Extens o 3 3 2 Classifica es Utilizadas nos C lculos de Meton mias 3 3 3 Classifica es Utilizadas nos C lculos de Met foras Mecanismos de extens o 3 4 1 Tipos de Extens o 3 4 2 Extens es em Tipos 3 4 3 Extens es em Opera es Wizards Discussao 3 6 1 Unido de classifica es existentes 3 6 2 Interse o de classifica es existentes 3 6 3 Diferen a entre classifica es existentes 3 6 4 Especializa o de uma classifi
99. lica es extens veis atuais disponibilizam principalmente mecanismos de grava o de macros e linguagens de programa o Microsoft 1994 Outras oferecem ainda mecanismos de programa o por demonstra o Cypher 1993a algumas das quais incluem mecanismos de infer ncia para calcular as extens es com base em a es pr vias do usu rio Cypher 1993b Kurlander e Feiner 1993 Lieberman 1993a No cap tulo anterior na se o 2 1 2 Problemas e desafios indicamos algumas defici ncias destas abordagens Em particular nosso modelo evita algumas das limita es das grava es de macro que as tornam pouco teis fora do contexto espec fico em que foram gravadas como aus ncia de vari veis e de estruturas de controle Evitamos ainda o excesso de 28 generalidade e exig ncia de conhecimento pr vio das linguagens de programa o o que dificulta seu uso por usu rios leigos e certas infer ncias realizadas sem intera o com o usu rio que podem fugir de seu controle e de sua compreens o como em algumas aplica es de programa o por demonstra o Em nossa abordagem as extens es podem ser feitas de duas maneiras por interpreta o de um enunciado do usu rio que n o possua sentido literal ou por constru o atrav s de di logos do tipo wizard No primeiro caso os mecanismos de extens o s o utilizados para tentar fazer sentido de um enunciado do usu rio que n o possui interpreta o literal As ex
100. m Tabela 6 Situa o de uso do prot tipo num exemplo onde o usu rio deseja criar uma nova opera o a partir de uma opera o existente TE Karelzim Act create a new type of object based on robot Karel of ES Session Mode H create or extend an operation involving a robot Extension Wizard Step 2 Creating or extending an operation involving a robot Type in new operation name pet permit To extend an operation select it or click on operation trigger Actor move Actor turn Direction h O Actor borrow Thing Actor Actor give Thing Actor Extension Wizard Step 3 Creating operation Actor get permit Thing Actor as an extension to Actor borrow Thing Actor n n Extension Wizard Step 4 What do you want to do e Creating operation Actor get permit Thing Actor as an add parameter extension to Actor borrow Thing Actor remove parameter s Changing parameter s SH Mw nrMDxsowno te change parameter s Select a parameter constrain execution be Extension Wizard Step 5 Extending operation Actor borrow Thing Actor Za Changing parameter Thing to iii AEA Creating operation Actor get permit Corner Actor as an extension to Select an object type actor borrow Thing Actor Your operation is not valid because it contains a test involving the relation Actor own Thing where Thing is undef
101. m conjunto de op o radio de cada vez alternativas mutuamente exclusivas buttons grupo de bot es de zero ou mais selecionados define valor a partir de um conjunto de sele o check de cada vez alternativas inclusivas boxes caixa de lista zero ou mais op es define valor es dentre alternativas listbox selecionadas exclusivas ou inclusivas listas de sele o simples ou m ltipla respectivamente caixa de texto usu rio precisa digitar valor define valor textbox Tabela 4 Conjunto tipico de widgets que podem ser utilizados no mapeamento conte do express o das opera es e seus par metros Uma associa o comum feita entre itens de menu e a estrutura das opera es Se a estrutura for opera o objeto complementos por exemplo temos um menu para cada opera o um item de menu para cada objeto de cada opera o e um submenu para cada complemento respectivamente Ao representar este mapeamento no modelo da aplica o uma extens o pode ser automaticamente mapeada mantendo a consist ncia com o design original Como estamos lidando com a varia o de apenas um elemento dos sintagmas este mapeamento garante a preserva o da sem ntica dos signos de interface resultantes Caso fosse poss vel variar mais de um elemento de um sintagma este significado poderia ser perdido A pr xima se o descreve algumas situa es de uso do nosso prot tipo indicando os c lculos com base metaf rica ou
102. mbutida na base de conhecimento Quanto mais sem ntica for representada na base por meio das categoriza es mais pr ximos os mecanismos se tornar o dos mecanismos de met foras e meton mias em linguagem natural Se por outro lado tivermos um esquema de classifica o mais simples as extens es geradas ter o uma rela o mais fraca com a sem ntica do dom nio e da aplica o No limite quando n o houver classifica o alguma os procedimentos trabalhar o com associa es de natureza sint tica apenas pouco fazendo al m de computar interpreta es literais dos enunciados Por exemplo seja um atributo size com valores value of small size value of medium size value of large size Seja tamb m um token size big que precisa ser interpretado Caso haja uma classifica o classification big things big large long obterei como op o de interpreta o a substitui o de big por large Entretanto se n o houver uma classifica o que envolva big e um dos valores v lidos do atributo size as op es de interpreta o seriam de natureza sint tica ou seja a substituir big por um dos valores v lidos de size dentre small medium large b substituir big pelo valor do atributo size da inst ncia b pedir ao usu rio o valor de big em tempo de execu o ou c considerar size big constante e igual a Estes mecanismos s o limitados se comparados aos mecanismos presentes na linguagem natural Em p
103. mo base te rica para nosso trabalho e a arquitetura de aplica o proposta em de Souza 1997 O objetivo promover uma melhor compreens o deste trabalho descrevendo o contexto no qual ele se encaixa como a abordagem semi tica contribui para o desenvolvimento de aplica es extens veis e enumerar quest es te ricas de fundo que s o discutidas ao longo desta tese A Engenharia Semi tica investiga aplica es de software utilizando uma perspectiva de comunica o de Souza 1993 Em primeiro lugar h uma comunica o unilateral do designer para o usu rio onde o designer tenta comunicar ao usu rio sua interpreta o sobre o problema deste e que solu o ele o designer lhe oferece Al m disto a pr pria aplica o vista como um agente comunicativo que troca mensagens com o usu rio Entretanto a aplica o um agente muito especial que emite exatamente as mesmas mensagens toda vez que se encontra na mesma situa o Um dos objetivos da Engenharia Semi tica tornar os usu rios conscientes de que as aplica es s o produtos de um ser humano que nelas fixou sua interpreta o para determinados problemas e tarefas dos usu rios e algumas solu es para estes problemas Abordagem centrada na comunica o Aplica es computacionais podem ser vistas como artefatos de meta comunica o pois s o mensagens do designer aos usu rios mensagens estas que enviam e recebem outras mensagens do usu rio
104. mporal para representar o modelo din mico do dom nio Para o nosso prot tipo escolhemos utilizar uma combina o de m todos declarativos e procedimentais para poder usufruir das vantagens de ambos Estes incluem conceitos de gram tica de casos Fillmore 1968 Bruce 1975 e depend ncia conceitual Schank 1973 Schank 1975 que ser o descritos no Cap tulo 4 Programa o via Interface em A o Para manipular o conhecimento representado fazemos uso de recursos meta lingii sticos para calcular extens es base de conhecimento Os operadores de extens o ser o descritos em detalhes no Cap tulo 3 Programa o Via Interface Por agora basta saber que os c lculos feitos s o de natureza sem ntico pragm tica e n o apenas lexical Desta forma a qualidade das extens es est intimamente ligada ao tipo de conhecimento sobre o dom nio que estiver representado e n o gram tica da linguagem de extens o propriamente dita Ao trazer alguns recursos de extens o para a linguagem de interface nosso trabalho oferece um mecanismo atraente para a aquisi o de novas informa es sobre os elementos e as tarefas de um dom nio a partir da aplica o de operadores de extens o sobre informa es existentes 2 5 Analogias Esta se o apresenta conceitos de analogias e met foras pelas ci ncias cognitivas e descreve alguns de seus usos dentro da rea de Intelig ncia Artificial 97 2 5 1 Met fo
105. ncia em programa o ou em matem tica Zloof 1981 Hoje em dia existem diversos tipos de aplica es que se encaixam na defini o de programa o por demonstra o e elas podem ser subdivididas em aplica es 11 com ou sem mecanismos de infer ncia ou diferir no tipo de construtos de programa a que d o suporte ou no tipo de conhecimento embutido na aplica o Cypher 1993a Em um editor de textos existe um mecanismo que tenta adivinhar quando o usu rio deseja criar uma lista numerada Basta digitar um n mero seguido de tab e algum texto adicional que ao pressionar a tecla Enter o editor de texto automaticamente insere o n mero consecutivo ao digitado Supondo que o usu rio deva digitar diversos dados cuja primeira informa o seja um n mero sua tarefa interrompida a cada novo par grafo devido a uma op o habilitada por default e cuja desativa o n o de f cil acesso Um dos problemas da t cnica de programa o por demonstra o a necessidade de o usu rio ter que exemplificar sua inten o atrav s de diversos exemplos numa tentativa de enumerar todas as situa es que possam ocorrer para que os mecanismos de infer ncia produzam um bom resultado ou seja uma extens o que se assemelha quela pretendida pelo usu rio De modo geral n o lhe s o apresentados claramente os modelos subjacentes do dom nio ou da aplica o Em outras palavras uma aplica o projetada para prog
106. ndicar um tipo para estender o mecanismo de extens o cria uma c pia do tipo indicado e gera as seguintes op es dentre as quais o usu rio dever selecionar uma e alterar a composi o do tipo acrescentando partes e alterar composi o do tipo removendo partes e acrescentar novos atributos e acrescentar atributos existentes em um outro tipo e remover atributos e acrescentar os valores poss veis de um atributo e remover valores poss veis de um atributo e assim criar restri es sobre estes valores As extens es que acrescentam partes atributos ou valores podem criar ambigitidades e as que removem tais elementos podem resultar em opera es inv lidas caso haja AQ opera es que fa am refer ncia aos elementos que foram removidos Ap s realizar uma altera o o mecanismo de extens o verifica as opera es afetadas a fim de detectar as express es inv lidas ou amb guas e sugerir novas altera es que as tornem v lidas Este c lculo tamb m feito com base em met foras e meton mias O mecanismo de extens o percorre a base de conhecimento em busca de poss veis alternativas express o inv lida de acordo com alguma rela o de semelhan a entre o elemento indefinido e os elementos a ele relacionados atrav s de atributos em comum composi o semelhante ou rela es em comum com outros elementos Caber ao usu rio decidir o que fazer com as express es inv lidas dentre as op
107. nseguimos manter o usu rio no controle das mesmas Nossos mecanismos percorrem os modelos do dom nio e da aplica o calculando poss veis met foras e meton mias e sugerindo alternativas Para facilitar a extens o de aplica es por usu rios finais utilizamos wizards para gui los neste processo sugerindo alternativas a partir de uma indica o do pr prio usu rio sobre a inten o de extens o O estilo de intera o proposto permite uma apresenta o incremental dos modelos do dom nio e da aplica o assim como uma gradual introdu o de conceitos de programa o DiGiano e Eisenberg 1995 DiGiano 1996 Como os mecanismos de extens o s o acessados a partir da linguagem de interface mas operam na linguagem de extens o de forma previs vel e controlada o cont nuo semi tico preservado por defini o pois estes mecanismos garantem que toda extens o feita possua correspond ncia nestas duas linguagens Uma consequ ncia do nosso modelo promover as extens es categoria de affordance Winograd 1996 Norman 1999 As affordances de uma aplica o computacional s o as facilidades percebidas pelos usu rios a partir da interface A partir do momento em que trazemos o mecanismo de extens es para a interface ele fica automaticamente ao alcance do usu rio integrado s facilidades intr nsecas da aplica o A programa o via interface restringe as poss veis extens es de forma a preservar a consist nci
108. o 1997 da Silva S R P de Souza C S Ierusalimschy R A Communicative Approach to End User Programming Languages Em Lucena C J P ed Monografias em Ci ncia da Computa o Departamento de Inform tica PUC RioInf MCC 47 97 Rio de Janeiro 1997 de Souza C S The Semiotic Engineering of User Interface Languages International Journal of Man Machine Studies No 39 pp 753 773 1993 de Souza C S The Semiotic Engineering of Concreteness and Abstractness from User Interface Languages to End User Programming Languages Em Andersen P Nadin M Nake F 1996 Informatics and Semiotics Dagstuhl Seminar Report No 135 p 11 Schlo Dagstuhl Germany de Souza C S Supporting End User Programming with Explanatory Discourse Em Proceedings of Intelligent Systems and Semiotics Maryland USA September 22 25 1997 pp 461 466 1997 de Souza C S Semiotic engineering principles for evaluating end user programming environments Em an de Souza e Barbosa 1996 DiGiano 1996 DiGiano e Eisenberg 1995 Draper 1986 Eco 1979 Eco 1986 Eco 1976 Lucena C J P ed Monografias em Ci ncia da Computa o Departamento de Inform tica PUC RioInf MCC 10 99 Rio de Janeiro 1999 de Souza C S e Barbosa S D J End User Programming Environments The Semiotic Challenges Em Lucena C J P ed Monografias em Ci ncia da Computa o Departamento de
109. o ouvinte conhe a o campo metaf rico e em fun o dele entenda o dado novo Brown e Yule 1983 Tomamos como ponto de partida os estudos de Lakoff e Johnson que afirmam que met foras fazem parte do nosso sistema conceitual ou seja que pensamos metaforicamente Lakoff e Johnson 1980 A partir de seus resultados projetamos mecanismos que realizam alguns mapeamentos metaf ricos sobre os modelos de uma aplica o Os estudos de teorias de met foras Lakoff 1987 Lakoff 1993 nos fornecem eixos universais para tomar como ponto de partida para os c lculos de poss veis analogias sobre os elementos do dom nio Nesta se o descrevemos alguns destes eixos e como podem ser aplicados no nosso modelo no Met foras de Orienta o Uma maneira de organizar conceitos em estruturas por meio de met foras de orienta o principalmente orienta o espacial para cima para baixo frente tr s fundo raso central perif rico Este tipo de racioc nio pode ser utilizado para navegar atrav s dos modelos do dom nio e da aplica o Pensando em uma representa o topol gica destes modelos os deslocamentos de orienta o sugeridos podem ser mapeados para elementos com o mesmo pai pai filho raiz folha Met foras Ontol gicas Uma met fora ontol gica ocorre quando entendemos uma experi ncia em termos de entidades ou objetos e subst ncias familiares e assim podemos agrupar categorizar e quantific las Eventos e
110. o da diversidade de op es dispon veis estruturando as de acordo com regras que permitem a usu rios frequentes prever o pr ximo passo Idealmente em termos do modelo de intera o a cada momento o usu rio poder ver o que est sendo gerado de diferentes maneiras visualizando o modelo est tico o modelo din mico vendo o c digo textual gerado caso haja uma linguagem de extens o textual dispon vel ao usu rio final ou pedindo explica es sobre o passo atual Entendemos que desta forma revelamos gradualmente aos usu rios conceitos da aplica o e de programa o em geral Assim os usu rios mais interessados podem aprender com a aplica o para caso necess rio passar a escrever c digo diretamente sem o aux lio dos c lculos de analogia e da apresenta o passo a passo atrav s de wizards 3 6 Discuss o Os procedimentos de extens o definidos nas se es anteriores apresentam algumas quest es que devem ser esclarecidas sob a luz das teorias em que nosso trabalho se baseia Uma primeira quest o importante se refere s classifica es de que os mecanismos de extens o fazem uso Como saber que tipo de classifica o deve ser representada amp Q Os algoritmos apresentados se baseiam nas classifica es dos elementos representados na base de conhecimento Se tivermos um esquema de classifica es rico os procedimentos geram extens es melhores ou seja que fazem mais sentido de acordo com a sem ntica e
111. o que acarreta outros problemas como ser visto a seguir Linguagens de programa o Devido s limita es de grava o de macros muitas aplica es extens veis disponibilizam verdadeiras linguagens de programa o para os usu rios finais Algumas aplica es apresentam linguagens com menos recursos e cujos itens lexicais s o tomados da linguagem natural visando facilitar a compreens o Estas s o chamadas linguagens de script Nas aplica es que oferecem linguagens de script ou de programa o para os usu rios finais geralmente encontramos uma mudan a no modo de opera o ou at um ambiente diferente para a extens o da aplica o O que ocorre comumente uma mudan a dr stica na interface da aplica o quando o usu rio escolhe fazer uma extens o onde lhe oferecido um editor de programa textual na maioria das vezes Assim o usu rio final encontra se desorientado n o sabendo por onde come ar como interagir com esta nova aplica o Al m disso os usu rios finais geralmente s o leigos em programa o e precisam de suporte n o apenas para compreens o dos modelos do dom nio e da aplica o e da intera o com a mesma mas tamb m para o aprendizado de conceitos e t cnicas de programa o em geral z 2 Outro problema a pr pria linguagem de programa o De acordo com Nardi uma linguagem de programa o para usu rios finais deve ser espec fica para a tarefa do usu rio N
112. o que possa ser executada execute a opera o correspondente e pare se houver apenas um sintagma S A V X onde a substitui o de X por B resulte em uma opera o que possa ser executada execute a opera o correspondente e pare se houver v rios sintagmas S Xi V B que possam ser executados como A V B ent o verifique para qual Xi h mais classifica es em comum com A substitua execute e pare se houver v rios sintagmas S A V Xi que possam ser executados como A V B ent o verifique para qual Xi h mais classifica es em comum com B substitua execute e pare se n o considere o enunciado A V B e tente criar este sintagma atrav s de uma extens o persistente na base No ltimo passo tente criar este sintagma envolve um algoritmo que estende a base atrav s da verifica o de um sintagma Este algoritmo ser apresentado na pr xima se o Extens o por Constru o Atrav s de Wizards Este mecanismo parte do princ pio que o usu rio deseja fazer uma extens o sobre algum elemento existente na aplica o Isto requer que ele indique este elemento que chamamos de elemento de origem da extens o Este elemento pode ser um tipo ou uma opera o Para estender um tipo geralmente o usu rio indica uma de suas inst ncias ou tokens Para estender uma opera o ele pode indicar o elemento de interface que a ativa como um item de menu ou bot o na barra de ferramentas Caso a aplica o possua um mecanismo de
113. oken3d X Y Z analyze token3z X Y Z analyze token3 extens es por met fora 3a e 3b analyze token3a X Y Z debugwrite 0 a token w w Y mAn X Y Z of Y X attribute findall VV of VV Y X LV findall Value Classification same_classification_among LV Z Value Classification LO nonempty LO swritef S change w to another valid value of attribute w in classification w n Z Y LO add_user_option S true analyze_token3a _ analyze_token3b X Y Z debugwrite 0 b token w w w n X Y Z of Y X attribute findall VV of VV Y X LV same classification among LV X Y C nonempty LV swritef S change w to another valid value of attribute w of type w in classification w n Z Y X LV add user option S true analyze tokensb analyze_token3c X Y Z debugwrite 0 c token w w w n X Y Z not of Y X attribute findall AA of AA X attribute LA nonempty LA swritef S change w to another valid attribute of type w one of w n Y X LA add user option S true analyze token3c analyze token3d X Y Z debugwrite 0 d token w w w n X Y Z of Y X attribute findall VV of VV Y X LV swritef S2 add value w to set of valid values w of attribute w of type Mw n Z LV Y X add_user_option S2 true analyze_token3d _ analyze_token3z X Y Z s
114. ontinuar a interagir com a aplica o como de costume Entretanto algumas opera es podem n o estar dispon veis ao usu rio no modo de extens o sem que isto lhe seja indicado Aplica o Microsoft WordO for Windows 2 0 O usu rio deseja copiar um peda o de texto e col lo em diversos locais do texto Ao ativar a opera o de grava o de macro o cursor do mouse alterado para indicar a mudan a de modo e aparece uma toolbar com bot es para interromper ou encerrar a grava o O usu rio tenta selecionar o peda o de 12 texto que quer copiar utilizando o mouse mas n o consegue Nada acontece nenhuma mensagem lhe apresentada O usu rio acessa o menu com o mouse para ativar a op o de ajuda e ap s alguma insist ncia encontra a informa o de que no modo de grava o a sele o do texto com o mouse n o funciona e que necess rio utilizar o teclado Este exemplo ilustra a falta de uma sinaliza o clara da mudan a do modo de intera o para o modo de extens o no que diz respeito maneira como o usu rio pode acessar determinadas opera es A opera o de sele o de texto est dispon vel tanto no modo de intera o quanto no de extens o mas uma das maneiras de acess la n o est dispon vel no modo de extens o Para um usu rio que n o est acostumado a utilizar o teclado como ferramenta de sele o a tarefa de selecionar um texto muito grande pode se tornar bastante trabalhosa
115. os entre os quais n o houvesse um caminho de rela es posssuiriam dist ncia infinita O usu rio poderia ent o estabelecer a dist ncia m xima a ser navegada pelos mecanismos de extens o calibrando assim o escopo dos c lculos de met foras e meton mias Um cuidado que devemos ter ao permitir que usu rios estendam uma aplica o n o permitir que eles alterem o funcionamento b sico da aplica o ou sua interface original Nossa abordagem imp e uma limita o s extens es poss veis a aplica o deve vir com um conjunto de recursos que n o podem ser revogados ou destru dos pelo usu rio ou seja as extens es feitas sobre a aplica o possuem car ter monot nico Esta restri o preserva o significado m nimo da aplica o que representa a inten o de design Isto fundamental para manter a consist ncia do discurso da aplica o e assim garantir algumas das pr condi es para manter uma comunica o eficiente entre usu rio e designer via aplica o A restri o de monotonicidade tamb m se aplica interface Um problema encontrado com freqii ncia em aplica es extens veis a desfigura o da interface ap s os usu rios terem feito suas extens es N o permitimos por exemplo que usu rios alterem a opera o que ativada por um item de menu da interface original como certas aplica es que permitem uma customiza o total da interface como o Microsoft Word Microsoft 1994 Figura 4
116. ossa abordagem para programa o feita por usu rios finais utilizar mecanismos familiares aos usu rios que fazem uso de met foras para descrever ou interpretar um conceito novo em termos de outro conhecido ou uso de meton mias para fazer refer ncia a um elemento atrav s de uma rela o com outro elemento Como utilizamos estes tipos de racioc nio ao nos comunicarmos em linguagem natural torna se mais f cil transpor estes mecanismos para o ambiente computacional do que inventar novos mecanismos de infer ncia criados especificamente para este ambiente em detrimento compreens o e facilidade de uso pelo usu rio em intera es com uma aplica o Portanto assumimos que ao interagir com uma aplica o o usu rio utiliza a linguagem de interface dispon vel para compor enunciados que fazem sentido para ele e que ele espera que produzam um determinado resultado visando a realiza o de uma tarefa Sob esta perspectiva comunicativa tentamos produzir um resultado a partir dos enunciados do usu rio que n o possuem sentido literal Para tanto utilizamos mecanismos que permitem descrever um elemento em termos de outro de acordo com classifica es de semelhan a e com alguns tipos de rela o Como estes mecanismos s o familiares aos usu rios finais e usados em sua comunica o em linguagem natural muitas vezes sem que eles tenham consci ncia desta utiliza o percebemos que h grandes chances de eles tentarem utilizar
117. p analyze expression R analyze expression L analyze rvalue boolean operator X member X lt gt lt gt lt gt operator X member X analyze_expression Exp operator Operator append R Operator L Exp analyze_expression R analyze_expression L analyze_expression Exp analyze token Exp analyze token2a Exp analyze token3 Exp analyze tokenZa X Y debugwrite 0 token w w n X Y of Y X T extens o por met fora 2a analyze_token2a X Y debugwrite 0 token w w n X Y findall VV of VV X _ LV of P X T classification C LC member YVal LC member YVal LV swritef S change w to w among valid w of w w n Y YVal T X LV add_user_option S true analyze_token2 X Y analyze_token2a _ analyze_token2 X Y debugwrite 0 token w w n X Y findall VV of VV X _ LV of P X T swritef S change w to another valid w of Y w one of w n Y T X LV add_user_option S true analyze_token2b X Y analyze_token2 _ analyze_token2b X Y swritef S2 w w X Y analyze_token S2 analyze_token2b _ analyze_token3 X Y Z debugwrite 1 token w w w n X Y Z of Z Y X analyze_token3 X Y Z analyze_token3a X Y Z analyze_token3b X Y Z analyze_token3c X Y Z analyze t
118. peso Se Cl x e Types x tamanho grande e C2 x e Types x peso pesado ent o C C1 C2 resulta em uma classifica o dos elementos x e Types x tamanho grande A x peso pesado 3 6 4 Especializa o de uma classifica o existente Seja C uma classifica o A classifica o C1 resulta da especializa o de C com rela o a um tra o sem ntico e d origem tamb m a C1 seu conjunto complementar com rela o a Exemplo Seja C t Types f t Criamos um subconjunto C1 t C t tamanho pequeno e por conseguinte CI C Cl t e CI t tamanho pequeno s extens es apresentadas acima podemos associar express es ling sticas visando a apresent las de forma casual aos usu rios finais que podem n o ter no es de opera es sobre conjuntos Por exemplo sejam X e Y os nomes de classifica es distintas a uni o poderia ser expressa por tudo que for X ou que for tamb m Y a interse o por tudo que for X e tamb m for Y a diferen a poderia ser expressa por tudo que for X mas n o Y e o complementar tudo que n o for X Tamb m interessante notar que para cada classifica o C de um elemento E existe uma rela o da forma classified as E C rela o esta que deve lidar n o com atributos mas sim tra os sem nticos ou differentie Eco 1976 Estas classifica es definem uma nova rede de rela es sobre os modelos do dom nio
119. port the so called end user programming However many existing techniques fail to attain acceptable thresholds of usefulness and usability This work addresses some of the challenges posed by extensible applications We follow an approach that drops some walls between interface and extension This approach brings some extension mechanisms to the interface and readily accessible to end users namely extensions based on the semantic pragmatic resources of metaphors and metonymies These mechanisms were chosen due to the acknowledgment of the Cognitive Sciences of their critical role in our reasoning processes especially when we try to describe or understand complex or abstract concepts Lakoff e Johnson 1980 Lakoff 1987 Lakoff 1993 Ortony 1993 We describe an extensible application model that makes use of a knowledge base in which we represent the domain and application elements that may be extended as well as the necessary classifications for calculating the possible extensions Our model takes into account the communicative aspects of computer applications and follows Semiotic Engineering de Souza 1993 principles to guarantee the consistency between the original application and the extended one For that purpose our model entails the representation of rules that constrain interface amendments so that extended functionality is adequately reflected at the resulting interface ndice Anal tico Resumo Abstract ndice Ana
120. presentar os mapeamentos conte do express o 4 3 Modelo Din mico Para representar a classifica o dos elementos no modelo din mico do dom nio em nosso prot tipo utilizamos conceitos de gram tica de casos Fillmore 1968 Bruce 1975 e depend ncia conceitual Schank 1973 Schank 1975 Para utiliza o no c lculo de met foras e meton mias uma opera o representada no nosso modelo pelos tipos envolvidos na opera o seus pap is e as pr e p s condi es da opera o N o objetivamos aqui advogar em favor desta ou aquela representa o de conhecimento mas apenas ilustrar o uso de algumas representa es como poss veis formas de modelar o dom nio a fim de possibilitar a gera o de met foras e meton mias Met foras de Rela es Causais As met foras de rela es causais podem ser teis na representa o de uma opera o que envolve agentes objetos instrumentos estado inicial e estado final Elas utilizam tanto os pap is que os tipos assumem ao participar da opera o quanto os resultados da execu o da opera o Para representar estas classifica es utilizamos conceitos derivados de gram ticas de casos e de redes de depend ncia conceitual Mais especificamente utilizamos os conceitos derivados de gram ticas de casos para classificar os tipos referenciados por uma opera o de acordo com os pap is que exercem nesta opera o e os conceitos de a es primitivas de Schank
121. r preciso decidir por uma interpreta o de T como semelhante a A a B ou a C poss vel que uma ou mais das semelhan as a serem tentadas n o leve a nenhuma interpreta o consistente i e que o c lculo n o seja efetuado Por m se todas as op es forem v lidas como A e T est o classificados como semelhantes em pelo menos duas classifica es diferentes a interpreta o de T como semelhante a A preferida Assim o sintagma T V Z interpretado como sendo A V Z e esta a opera o realizada AT O algoritmo utilizado para interpretar um enunciado dado o enunciado E da forma A V B para cada sintagma S Z V B definido se houver rela o meton mica do tipo part of ou contained entre A e Z no sentido A part of Z considere o sintagma Z V Be pare se houver rela o meton mica do tipo part of ou contained entre A e Z no sentido Z part of A considere uma itera o executando a a o correspondente ao sintagma Z V B para todo A e pare para cada sintagma S A V Z definido se houver rela o metonimica do tipo part of ou contained entre B e Z no sentido B part of Z considere o sintagma A V Z e pare se houver rela o metonimica do tipo part of ou contained entre B e Z no sentido Z part of B considere uma itera o executando a a o correspondente ao sintagma A V Z para todo B e pare se houver apenas um sintagma S X V B onde a substitui o de X por A resulte em uma opera
122. r de Linguagem de Macro base de programas e dados Sistema de Tratamento de Erros Sistema Raciocinador Interpretador de Linguagem de Representa o de Conhecimento Widgets de Interfaces Gr ficas rea de Manipula o Direta Interface Multimodal Multic digo Perguntas e Respostas em LN Visualiza o de Texto e Diagramas Edi o de Texto base de conhecimento Figura 2 Arquitetura de aplica o centrada na comunica o Com exce o de algumas aplica es de programa o por demonstra o as aplica es extensiveis com frequ ncia n o possuem um subsistema baseado em conhecimento que parte integrante da nossa arquitetura como pode ser visto no canto inferior esquerdo da figura No canto superior esquerdo temos um subsistema de interpreta o de programas e tratamento de erros que fazem uso de uma base de programas e dados que por sua vez o reposit rio das extens es do usu rio acrescidas base de forma modular Nesta arquitetura os processos de comunica o se d o atrav s de atividades integradas de programa o e explica o O objetivo estender o conceito de co referencialidade ling stica do mbito de interfaces para o mbito das aplica es como um todo Quando duas linguagens s o co referenciais uma express o em uma destas linguagens possui uma express o correspondente na outra e vice versa Quando os usu rios entram em um proc
123. r de uma aplica o a atingir seu objetivo comunicativo ou seja facilitar o entendimento e uso da aplica o pelo usu rio Finalmente apresentamos estudos sobre analogias e sua aplica o na rea de Ci ncia da Computa o em particular em Intelig ncia Artificial Estes estudos t m a fun o de mostrar o potencial de uso dos mecanismos anal gicos para extens o de software e a viabilidade da implementa o de alguns destes mecanismos no ambiente computacional 2 1 Aplica es extens veis Chamamos aplica es extens veis as aplica es que podem ser de alguma forma configuradas ou estendidas pelos usu rios finais Em uma aplica o extens vel chamamos de sub ambiente de intera o as partes da aplica o com as quais o usu rio interage sem inten o de estend la e de sub ambiente de extens o as partes da aplica o com as quais o usu rio interage durante o processo de extens o da mesma Uma aplica o extens vel pode funcionar no modo de intera o ou no modo de extens o estados em que o usu rio interage com o sub ambiente de intera o ou com o sub ambiente de extens o respectivamente Como resultado de uma extens o teremos ainda o sub ambiente de intera o estendido ou seja o ambiente com o qual o usu rio passa a interagir ap s ter feito uma extens o 2 1 1 T cnicas de programa o feita por usu rios finais Esta se o descreve t cnicas que permitem que usu rios criem seus pr prio
124. rama o por demonstra o privilegia a intera o com o usu rio no sentido usu rio gt aplica o Como ser visto ao longo deste trabalho as aplica es projetadas para programa o via interface consideram os aspectos comunicativos do usu rio com a aplica o nos dois sentidos o usu rio expressa suas inten es atrav s da interface e a aplica o por sua vez revela os modelos embutidos pelo designer e as regras que governam os mecanismos de infer ncia da aplica o Atrav s deste ciclo de comunica o o usu rio se torna mais capacitado em prever as infer ncias que a aplica o pode fazer e assim pode se expressar de maneira a maximizar a efici ncia dos mecanismos de infer ncia obtendo melhores extens es 2 1 2 Problemas e desafios A an lise de algumas aplica es extens veis de prop sito geral como editores de texto planilhas e editores gr ficos revela que todas oferecem mecanismos de grava o de macro e algumas permitem que o usu rio escreva c digo diretamente em uma linguagem de programa o textual 19 Ao fazermos tal an lise tentamos identificar problemas espec ficos a aplica es extens veis desconsiderando problemas encontrados em aplica es que n o podem ser estendidas Procuramos e descontinuidades e inconsist ncias entre as interfaces dos sub ambientes de intera o e de extens o e descontinuidades e inconsist ncias entre a linguagem de interface e a linguag
125. ras e Meton mias Nesta subse o apresentamos defini es de met fora e meton mia descrevemos seu efeito no discurso e enumeramos algumas distin es feitas por Lakoff e Johnson Lakoff e Johnson 1980 Lakoff 1987 Lakoff 1993 Atrav s de exemplos ilustramos poss veis representa es que favorecem o uso computacional destes mecanismos para extens o de software Tanto met foras quanto meton mias descrevem uma conex o entre dois elementos onde um termo substitu do por outro Met foras s o baseadas em semelhan a enquanto meton mias expressam rela es cont guas simples entre objetos como parte pelo todo causa pelo efeito etc Gibbs 1993 Em ambos os casos a significa o literal de uma palavra substitu da por outra Zz Um exemplo de met fora Vejo o que voc quer dizer Neste caso ver possui um significado n o literal entender Um exemplo de meton mia dizer Gosto de ler Machado de Assis para se referir s obras deste escritor e n o pessoa O efeito principal da meton mia focar em um aspecto selecionado de um objeto ON esconder os outros por meio das rela es que este objeto possui com outros Isto fundamental para as express es n o literais na comunica o pois revelam o que importante para quem fala Na met fora o efeito principal revelar pressuposi es Ou seja quando algu m se expressa metaforicamente est dizendo que pressup e que
126. road territory corner street corner avenue bag robot Sia ee an ae HA part_of X Y dc_part_of X Y part of X X fail part of SubTipo Tipo part_of SubTipo X part_of X Tipo de relation contained transportable object container dc relation contained thing corner Listagem 1 Representa o da hierarquia de tipos do prot tipo incluindo heran a composi o e rela es meton micas do tipo conte do continente dc attribute dc attribute dc attribute dc attribute size length shape color dc value of small size dc value of medium size dc value of large size de value of long length dc value of short length dc value of sphere shape dc value of cube shape de value of red color dc value of green color de value of blue color de classification appearance shape color de classification measure size length de classification big things big large long Listagem 2 Representa o de atributos e suas classifica es instance of beeperi beeper instance of instance of instance of instance of karel robot connector1 connector nil nil box1 box aon eS Listagem 3 Algumas inst ncias definidas na base Representa o dos Elementos do Modelo Din mico A listagem abaixo ilustra a representa o dos elementos do modelo din mico de operation move actor nil nil dc operation pick actor transportable object n
127. s sem nticos Exemplo Seja pequeno m dio grande o conjunto de valores poss veis do atributo tamanho Se Cl x e Types x tamanho pequeno A f x e C2 x e Types x tamanho pequeno A f x ent o C C1 U C2 resulta em uma classifica o dos elementos C x e Types f x onde o tamanho n o relevante 3 6 2 Interse o de classifica es existentes Sejam C1 e C2 duas classifica es distintas A classifica o C C1 A C2 resulta em uma classifica o em um n vel mais espec fico obtida ao se restringir os elementos com rela o a um ou mais tra os sem nticos Exemplo Seja pequeno m dio grande o conjunto de valores poss veis do atributo tamanho Se Cl x e Types x tamanho pequeno e C2 x e Types x tamanho grande ent o C C1 A C2 resulta em uma classifica o dos elementos x e Types x tamanho m dio Se Cl nC2 este tipo de extens o n o far efeito sobre a base ou sobre os futuros c lculos de extens o de tipos e opera es 1 3 6 3 Diferen a entre classifica es existentes Sejam C1 e C2 duas classifica es distintas A classifica o C C1 C2 resulta em uma classifica o paralela que pode resultar em uma especializa o de Cl com rela o aos tra os sem nticos relevantes a C2 Exemplo Seja pequeno m dio grande o conjunto de valores poss veis do atributo tamanho e leve pesado o conjunto de valores poss veis do atributo
128. s beepers nas esquinas 3 4 e 6 4 representados pelos c rculos em vermelho e dois muros representados em azul Gni be B r E E S a E n p coco na 12345 6 7 8 910 Karel s status No of beepers 9 Position Sr 4 3 Orientation east Figura 6 Por o de tela ilustrando o mundo de Karel A Figura 7 apresenta uma por o do modelo est tico do dom nio do prot tipo located 4 located is a BEEPER is a Cwatt part_of part_of CONNECTOR supports PLATFORM Figura 7 Representa o de parte do modelo est tico do dominio do nosso prot tipo LA As pr ximas se es descrevem alguns tipos de classifica es que podem ser utilizados nos c lculos de extens o Sempre que poss vel s o apresentados exemplos com base em nosso prot tipo 4 2 Modelo Est tico Para classificar os elementos do modelo est tico utilizamos categoriza es que com frequ ncia geram met foras tal como mostrado por Lakoff e Johnson Lakoff e Johnson 1980 S o as met foras de orienta o personifica o e de condutor Personifica o Com freqii ncia utilizamos caracter sticas humanas para descrever aspectos de objetos f sicos ou mesmo abstratos Exemplos destas classifica es s o classification classification classification classification things on top top head things in middle middle body things at bottom bo
129. s comandos personalizados Essas t cnicas s o reunidas sob o selo de programa o feita por usu rios finais embora nem todas envolvam uma atividade de programa o propriamente dita Utilizaremos a classifica o das t cnicas de programa o para usu rios finais apresentada em Cypher 1993a Configura o de par metros Nesta t cnica s o apresentadas diversas alternativas predefinidas que o usu rio pode selecionar de acordo com sua prefer ncia Uma aplica o extens vel que utiliza esta t cnica pode ser analisada de acordo com o n mero de par metros que o usu rio pode configurar e o n mero de combina es obtidas Poucos par metros e combina es resultam em um baixo potencial de extens o da aplica o enquanto muitos par metros reduzem as chances de o usu rio prever com sucesso qual ser a configura o resultante da combina o desses par metros limitando seu uso Embora possa ser um mecanismo de programa o poderoso do ponto de vista computacional vejam se as redes neurais por exemplo seu emprego por usu rios finais naturalmente muito limitado visto que o n mero de par metros que se pode esperar que os usu rios entendam e configurem bastante pequeno O grande desafio para utiliza o dessa t cnica descobrir quais e quantos par metros poder o ser configurados pelos usu rios a fim de garantir duas coisas Uma a satisfa o de suas necessidades individuais sem que
130. s e inst ncias de objetos VE acrescida de rela es est ticas entre eles O modelo din mico por sua vez uma representa o das intera es entre as coisas no tempo e para um determinado fim Trata se de rela es din micas O modelo da aplica o cont m especificidades do design da aplica o e de sua interface assim como sua intera o com o sistema operacional subjacente Os modelos s o criados pelo designer da aplica o Para contemplar a programa o feita por usu rios finais pretendemos dar lhes recursos para estender estes modelos de forma controlada Nossa abordagem quebra barreiras entre interface e ambiente de extens o incorporando linguagem de interface os mecanismos metaf ricos e meton micos de extens o que s o mecanismos meta lingii sticos sem ntico pragm ticos e n o apenas lexicais Isso nos leva a mais uma quest o Se um modelo do dom nio extens vel como se representa as regras que governam as extens es E como s o representados os novos tipos e opera es 2 4 1 Representa o dos Modelos do Dom nio Nossa abordagem procura utilizar um sistema de representa o de conhecimento com as seguintes propriedades Rich e Knight 1994 e adequa o representacional capacidade de representar todos os tipos de conhecimento necess rios ao dom nio em quest o e adequa o inferencial capacidade de manipular as estruturas representacionais de modo a derivar novas
131. s em French 1995 Hofstadter Hofstadter 1979 apresenta o conceito de slippage como o uso de um conceito no lugar de outro tolerado mesmo quando n o h uma correspond ncia entre dois conceitos dentro de um determinado contexto French expande este conceito e define tr s tipos de slippages exporta o transporte e importa o Um slippage de exporta o uma generaliza o em uma situa o ou framework resultante de uma abstra o geralmente no n vel b sico de categoriza o n vel b sico como definido em Lakoff 1987 Um slippage de transporte envolve o mapeamento desta abstra o para uma outra situa o ou framework reunificando as vari veis livres 29 obtidas no processo de variabiliza o J um slippage de importa o ou conceitual consiste na substitui o de um ou mais conceitos do esquema original por conceitos adequados que s se aplicam situa o final Segundo French a verdadeira gera o de analogias envolve os tr s tipos de slippages Seu trabalho uma tentativa de fornecer uma unified framework in which categorization recognition and analogy making can be seen as being if not precisely the same related in a very deep and essential way French 1995 Seus mecanismos geram analogias a partir de categoriza es e informa es fornecidas ao computador A pesquisa de French tamb m revela a import ncia da categoriza o n o apenas de objetos e seus atributos mas especi
132. s em conjunto e discuss es que tanto contribu ram para este trabalho A minha Orientadora Professora Clarisse Sieckenius de Souza pelo incentivo boa forma o acad mica n o apenas pela exig ncia de um trabalho bem feito mas principalmente por ser ela pr pria exemplo a ser seguido e em especial pela dedica o em todos os momentos e nas mais diversas circunst ncias Aos amigos Karin Andr Viviana Leonardo Vera dentre tantos outros for being there A toda minha fam lia que sempre me apoiou e ajudou Em especial aos meus pais que ao longo de toda minha vida contribu ram para minhas realiza es Aos meus filhos Gabriel e Eduardo nascidos e criados em meio aos estudos e desenvolvimento desta tese pela distra o e alegria proporcionadas nos momentos de pausa muitas vezes for ada e tamb m pela compreens o e bom comportamento nas muitas vezes em que me ouviram dizer a mam e precisa trabalhar na tese permitindo assim a conclus o deste trabalho Agora podemos brincar Ao meu marido Lu s Fernando melhor amigo e companheiro de todas as horas incans vel pelo incentivo a todo custo pelas broncas necess rias ou merecidas pela ajuda em todos os sentidos por todos os sacrif cios mas principalmente pelo amor carinho e dedica o incompar veis Este trabalho dedicado a voc l Introdu o A industria de software vem ao longo dos anos aumentando a funcionalidade das aplica es num
133. ser estendidas devem considerar a curva de aprendizado do usu rio para facilitar a transi o de usu rio novato para usu rio experiente em nosso caso temos tamb m que facilitar a transi o de usu rio experiente designer novato para usu rio experiente designer experiente Vale observar aqui que n o pretendemos transformar os usu rios em programadores mas oferecer lhes um ferramental que lhes possibilite assumir o papel de solucionadores de problemas seja envolvendo programa o ou n o Por esta raz o preferimos nos referir a extens o ao inv s de programa o ao citarmos os mecanismos e linguagens envolvidos nesse processo As linguagens de extens o devem ser cuidadosamente projetadas para permitir seu uso por usu rios leigos em programa o Uma das pesquisas de nosso grupo consiste em projetar uma linguagem de programa o mais natural aos usu rios finais da Silva e Ierusalimschy 1997 Barbosa et al 1999 Entretanto ainda assim podemos considerar longo o caminho que os usu rios devem percorrer para realizar suas tarefas desde o aprendizado sobre como interagir com a aplica o passando por como interagir com um sub ambiente de extens o aprender conceitos b sicos de programa o descobrir o modelo subjacente da aplica o ou da parte que se quer estender e finalmente aprender como utilizar todo este conhecimento para resolver o problema atual Nosso trabalho apresenta um modelo de aplica
134. ssa pesquisa considera a presen a de tr s linguagens diferentes em aplica es extens veis e linguagem de interface UIL User Interface Language e linguagem de programa o para usu rios finais ou linguagem de extens o EUPL End User Programming Language e e linguagem de documenta o e ou linguagem de explica o ExpEU Explanations for End Users Ela visa dar subs dios para o design cuidadoso destas linguagens a fim de facilitar a compreens o dos usu rios finais sobre a aplica o e sobre os passos necess rios para 2 Jair Leite apresenta uma discuss o detalhada sobre express o e conte do Leite J C 1998 91 estend la Estes cuidados incluem centralmente um estudo das caracter sticas comunicativas dessas linguagens Inicialmente consider vamos que uma caracter stica desej vel e importante ao se lidar com diferentes linguagens em uma mesma aplica o fosse a inter referencialidade destas linguagens Draper 1986 Draper discute a inter referencialidade de linguagens de entrada e sa da mas utilizamos este conceito para denotar a caracter stica de qualquer linguagem cujos tokens se refiram a tokens de uma segunda linguagem A Engenharia Semi tica por m foi al m do conceito de inter referencialidade e veio a propor como caracter stica importante destas diferentes linguagens o cont nuo semi tico entre elas atrav s dos princ pios de Abstra o Interpretativa e de
135. ssua o atributo size a defini o intensional dos conjuntos garante que brinquedo far parte de M e n o de I amp 2 Extens es sobre Tipos Expressivos No espectro da express o somente poss vel criar tipos a partir da composi o de tipos existentes Isso ocorre porque os tipos expressivos possuem a informa o de como s o desenhados na tela e esta informa o fixada no momento de implementa o da aplica o Assim se a aplica o original definir o tipo c rculo mas n o o tipo linha n o se pode criar um tipo tri ngulo a n o ser claro que se utilize uma degenera o do tipo c rculo para criar um tipo ponto e da linha mas este n o seria o tipo preferencial de extens o suportado por nosso mecanismo Fora esta restri o os c lculos de extens o s o feitos como para os tipos de conte do j descritos Mapeamento Conte do Express o de Tipos Para cada tipo no espectro do conte do pode haver um tipo expressivo associado Para os tipos definidos pelo designer n o se pode alterar o mapeamento conte do express o J os tipos de conte do definidos pelo usu rio atrav s de extens o devem ser associados aos tipos expressivos correspondentes Ao se criar um novo tipo duplica se inicialmente o tipo expressivo correspondente ao tipo de conte do que deu origem ao novo tipo medida que s o feitas altera es sobre este tipo tal como acrescentar e remover atributos ou partes a e
136. strutura deste tipo percorrida de forma a verificar se j existem mapeamentos de suas partes e atributos para elementos no plano expressivo Al m disto os atributos de cada tipo tamb m podem ser mapeados Caso haja mapeamentos de conte do express o dos atributos ou partes do tipo dever o ser apresentadas ao usu rio poss veis visualiza es do tipo ou elementos de interface que representam os elementos de conte do em quest o Outra possibilidade apresentar para o usu rio um editor gr fico simplificado onde ele poderia compor os tipos expressivos para refletir seu novo tipo 3 4 3 Extens es em Opera es Quando o usu rio indica uma opera o para estender o mecanismo de extens o apresenta as seguintes op es 1 repetir a opera o criando uma itera o que envolve um ou mais tipos que participam da opera o KA 2 restringir a opera o criando uma restri o sobre sua execu o uma instru o condicional 3 capturar o contexto de uma opera o visando a configurar suas pr e p s condi es A seguir descrevemos estas op es Cria o de itera es Para criar uma itera o o mecanismo de extens o faz uso de operadores meton micos percorrendo a estrutura de um tipo e as rela es meton micas entre este tipo e outros segundo o procedimento a seguir Para cada instru o para cada tipo T envolvido em se existir rela o meton mica entre Te U ex
137. tante acrescenta op o ao wizard pedir valor durante execu o acrescenta op o ao wizard substituir pelo valor constante se a instru o possuir uma classifica o C se existir outra instru o com a mesma classifica o C e que possa ser calculada dentro dessa opera o acrescenta op o ao wizard substituir instru o por se for condicional se o valor de E for sempre falso acrescenta op o ao wizard eliminar instru o e o corpo de instru es correspondente se o valor de E for sempre verdadeiro acrescenta op o ao wizard eliminar instru o e mant m o corpo de instru es correspondente se E envolver uma rela o R meton mica entre o tipo T e outro tipo X se existir uma cadeia meton mica entre X e outro tipo Y acrescenta op o ao wizard cria itera o para todo X de Y Este procedimento pode ser utilizado para verificar a validade de qualquer elemento que contenha uma seqii ncia de instru es seja ele uma opera o completa parte de uma opera o uma pr condi o ou uma p s condi o No caso de uma opera o estar definida atrav s de pr condi es uma seqii ncia de instru es e p s condi es a 41 verifica o desta opera o ser feita nesta ordem garantindo que n o haja depend ncias indevidas que possam impedir que o algoritmo pare Observe que em diversos pontos do nosso procedimento verificamos se existem elementos com a mesma classifica
138. tens es geradas por este mecanismo s o vol teis ou seja s valem para o caso atual e n o podem ser utilizadas como base para novas extens es J para criar uma extens o utilizando wizards um usu rio tem que explicitamente pedir para realizar a extens o O mecanismo de wizard o guia passo a passo atrav s da extens o e como resultado a extens o se torna persistente ou seja torna se parte da base de conhecimento da aplica o e fica dispon vel para ser utilizada em outras extens es Zz A distin o entre extens es persistentes e vol teis necess ria para garantir que uma interpreta o que valha apenas para uma situa o espec fica n o introduza ru do na base de conhecimento Ou seja na base deve estar representado conhecimento considerado global que possa ser aplicado a qualquer contexto Caso contr rio o mecanismo de extens o passa a gerar alternativas de interpreta o e extens o distorcidas com base em um conhecimento v lido apenas para um contexto espec fico A necessidade de extens es vol teis tamb m est em linha com estudos de Suchman sobre a natureza situada do aprendizado mem ria e compreens o Suchman 1987 importante notar que o uso dos mecanismos anal gicos descritos neste trabalho difere do descrito em Halasz e Moran 1982 Eles consideram analogias que s o utilizadas para ensinar aos usu rios novos conceitos sobre sistemas computacionais e alertam para o perigo da utiliza
139. ter a express o como est se existir uma classifica o C para o valor V de A se existir outro valor V de A com a mesma classifica o C e que possa ser utilizado em E acrescenta op o ao wizard substituir o valor V por V se n o acrescenta op o ao wizard substituir o valor V em E por um dos valores poss veis de A se E envolver um atributo A que n o fa a parte do tipo T acrescenta op o ao wizard acrescentar o atributo A ao tipo T se existir uma rela o meton mica entre os tipos S e T onde A seja atributo de S acrescenta op o ao wizard utilizar o atributo A de S se existir uma classifica o C para A se existir outro atributo A com a mesma classifica o C que possa ser utilizado em E acrescenta op o ao wizard substituir o atributo A por A se n o acrescenta op o ao wizard substituir o atributo A por outro atributo de T se E envolver uma rela o R entre o tipo T e outro tipo X rela o esta que n o existe acrescenta op o ao wizard criar rela o R entre Te X se existir uma rela o meton mica entre os tipos S e T onde R seja rela o entre S e X acrescenta op o ao wizard utilizar a rela o R entre S e X se a rela o R possuir uma classifica o C se existir outra rela o R entre T e X com a mesma classifica o C acrescenta op o ao wizard substituir rela o R por R se a instru o contiver uma express o E que pode ser calculada se o valor de E for sempre cons
140. textos do Mac com extens o MCW Em seguida abre o arquivo PROJETO DOC e pede para executar a macro imaginando que ser criado um arquivo PROJETO MCW no disquete Entretanto o editor pergunta ao usu rio se deseja sobrescrever o arquivo CARTA1 MCW existente no disquete O usu rio responde nao e desiste da macro O caso descrito acima ilustra uma das limita es da t cnica de grava o de macros o que o usu rio digita ou seleciona com o mouse gravado literalmente No di logo de intera o quando o usu rio seleciona o tipo de arquivo a aplica o toma como ponto de partida o nome do documento atual e acrescenta a extens o escolhida Ao gravar esta intera o entretanto apenas o nome resultante gravado como uma constante Algumas aplica es contornam esse problema permitindo que ao reproduzir as opera es gravadas sejam apresentados aos usu rios os quadros de di logo para que eles possam alterar esses valores Nas aplica es que permitem editar macros as altera es podem ser feitas atrav s de di logos ou de edi o direta do c digo gravado A edi o por di logos permite contornar a limita o do uso de constantes visto que alguns valores podem ser preenchidos pelo usu rio em tempo de execu o mas n o supera a limita o da linearidade do c digo Em contrapartida a edi o direta do c digo pode oferecer aos usu rios todos os recursos de linguagens de script ou de programa o
141. troso 1A Esse caso ilustra como o comportamento de um elemento de intera o pode ter seu comportamento alterado pois um nico passo de intera o pode ser mapeado para mais de uma opera o e assim teremos comportamento inconsistente do elemento de intera o que ativa esta opera o Quando h possibilidade de escrever diretamente c digo em uma linguagem de extens o ou editar um c digo previamente gravado um problema frequente a descontinuidade entre a linguagem de interface e a linguagem de extens o como pode ser visto no caso abaixo Aplica o Microsoft Word 970 Um usu rio experiente grava uma macro para fazer uma busca e substitui o no documento Ao grav la interage com um di logo que tem como par metros entre outros a dire o da busca Search All Down ou Up Seleciona Down e realiza a substitui o Somente ap s gravar a macro verifica que deveria ter selecionado All Resolve ent o editar a macro rec m criada Procura o par metro Search mas n o encontra Em vez disso nota o par metro Forward que n o existia no di logo com o qual interagiu Devido semelhan a com a l ngua inglesa ele imagina que Forward indique a dire o da busca mas seu valor n o o valor Down selecionado atrav s do di logo mas sim True Inspecionando mais ainda pode encontrar o par metro Wrap e s ent o tentar identificar que o par metro Search Down do di logo mapeado para a combina
142. ttom foot personification person robot toy Este tipo de classifica o pode ser utilizado para permitir que objetos assumam o papel de agentes em algumas opera es do tipo agente verbo objeto ou vice versa Met foras de Condutor Estas met foras s o utilizadas para classificar elementos que podem ser considerados objetos que s o ent o colocados em continentes e transmitidos por um condutor at um destinat rio classification conduit_object idea letter person beeper classification conduit container word envelope car box robot classification conduit conduit air postal service tunnel street avenue Met foras de Orienta o Com base em nossa experi ncia f sica e cultural alguns conceitos podem ser representados com rela o a uma orienta o espacial classification orientation_up more up good high north bigger better happy previous classification orientation down less down bad low south smaller worse sad next Neste caso um enunciado go up poderia ser interpretado como go north Esta classifica o arbitr ria convencionada pelo designer Em outra representa o poder amos ter uma semelhan a entre Up e south por exemplo LE Em um outro exemplo um editor de textos que utilize a met fora de livro classifica como semelhantes left e previous em alguns pa ses ou right e previous em outros Estas met foras podem ser utilizadas pelo designer para re
143. u rios alvo Exemplo Sejam os tipos robot block toy e beeper Consideremos os tr s grupos de classifica o a seguir 1 Stuff robot block toy beeper 2 Actors robot Things block toy beeper 3 Actors with wheels for legs robot Things that are solid and regular shaped block Things that are made up of blocks toy Things that beep 3 times beeper De acordo com os procedimentos de extens o descritos acima para cada tipo inv lido verificamos se h tipos com mesma classifica o que possam substitu los Neste exemplo podemos observar que no n vel de classifica o mais abstrato 1 n o conseguimos fazer distin o entre os elementos Por outro lado o n vel minuciosamente mais especializado 3 tamb m n o muito til pois nenhuma classifica o cont m mais do que um elemento Atrav s deste exemplo ilustramos que necess rio um equil brio e que este equil brio s pode ser obtido atrav s de uma an lise expressiva ou semi tica do dom nio e dos elementos que o designer deseja disponibilizar para as extens es na aplica o O potencial de extens o de uma aplica o pode ser ainda maior caso o designer disponibilize mecanismos para estender as pr prias classifica es dando ao usu rio poder de criar sem ntica Entretanto estas extens es n o podem ser quaisquer Considerando uma classifica o como um conjunto definido intensionalmente deve se restr
144. u rios de sua aplica o Tal como levantado por Myers a programa o feita por usu rios finais uma resposta poss vel para a crise de desenvolvimento de software atual que procura acumular em uma aplica o todos os seus poss veis cen rios de uso Myers 1992 Nossa abordagem oferece aos usu rios um mecanismo de aquisi o de conhecimento limitado mas simples que permite desenvolver aplica es menores deixando a cargo do usu rio atingir atrav s de extens es os cen rios de uso espec ficos a suas necessidades Uma das conseqii ncias ben ficas desta op o tornar as aplica es mais f ceis de serem aprendidas pois apresentam uma interface mais concisa 5 3 Trabalhos Futuros A pesquisa feita durante o desenvolvimento deste trabalho aponta para alguns desdobramentos de nossa abordagem como indicaremos nesta se o Um dos maiores desafios deste trabalho sua aplicabilidade em ambientes reais como agendas editores de texto e planilhas entre outros J no nosso prot tipo verificamos que para obtermos extens es interessantes precisamos de um n vel de representa o de conhecimento bastante fino Isto implica que um software comercial deveria passar por um processo de re engenharia para incorporar a seus modelos as classifica es necess rias para a gera o de met foras e meton mias consistentes com a inten o de design Uma quest o muito importante envolve vers es sucessivas de uma aplica
145. ue n o fazem sentido na linguagem descrita Li mas que fazem sentido na linguagem que a descreve Lj Assim todos os textos com marca o pragm tica que ocorrem em uma 92 linguagem est o conectados a outros da outra linguagem por uma cadeia de significados pretendidos Se as linguagens de interface de extens o e de explica o forem semioticamente cont nuas podemos garantir que uma extens o seja refletida adequadamente tanto na interface quanto no sistema de explica o Nosso trabalho estreita ainda mais a rela o entre linguagem de interface UIL e linguagem de extens o EUPL trazendo para a interface mecanismos de extens o que fazem uso dos operadores meta lingii sticos de met foras e meton mias Atrav s da linguagem de interface o usu rio indica o que gostaria de estender e a aplica o calcula poss veis extens es com base nessa indica o do usu rio e de forma guiada lhe apresenta estas op es Este mecanismo ser descrito em detalhes no Cap tulo 3 Programa o Via Interface 2 3 Engenharia Cognitiva e Aplica es Extens veis A Engenharia Cognitiva Norman 1986 tem sido usada tradicionalmente como base te rica para estudos de usabilidade de sistemas computacionais Norman define a dist ncia entre o usu rio e a aplica o descrevendo dois golfos golfo de execu o e golfo de avalia o Para interagir com a aplica o o usu rio precisa atravessar estes dois golfos atr
146. usu rio designer A complementa o da Engenharia Semi tica para o caso de aplica es extens veis a defini o por parte do designer original n o apenas das linguagens da aplica o mas agora tamb m de suas meta linguagens As meta linguagens de uma aplica o extens vel delimitam o que usu rios finais podem fazer restringindo as possibilidades de extens o a fim de preservar o significado m nimo da aplica o tal como pretendido pelo designer original Em suma a limita o da Engenharia Cognitiva est no fato de que se baseia no artefato de software como produto enquanto a Engenharia Semi tica trata do processo de desenvolvimento deste artefato processo este que pode ser continuado pelo usu rio como no caso de aplica es extens veis 2 4 Representa o do Conhecimento Como mencionado anteriormente uma aplica o extens vel deve possuir como bases de conhecimento um modelo est tico e outro din mico do dom nio e um modelo da aplica o Estas bases de conhecimento devem possuir todas as informa es necess rias n o apenas para o c lculo de analogias mas tamb m para produzir as explica es e estender o ambiente mantendo sob controle as linguagens de representa o embutidas na aplica o linguagens de interface de programa o e de explica o O modelo est tico do dom nio uma representa o da natureza das coisas e de suas rela es est ticas Trata se de uma taxonomia de classe
147. uto de outro tipo 6 seleciona op o 2 exibe lista de tipos e a mensagem Clique em um elemento ou selecione na lista 7 clica em um lamppost exibe lista dos atributos de lamppost e a O na mensagem Selecione atributo figura 8 seleciona orientation O na figura 71 clicks on lamppost exibe op es idem ao passo 4 1 acrescentar atributos 2 remover atributos 3 modificar valor de atributo 10 seleciona op o 3 exibe atributos do novo objeto e a mensagem Selecione atributo 11 seleciona shape exibe op es 1 acrescentar nova forma 2 modificar representa o 12 seleciona op o 1 apresenta caixa de texto para dar nome forma e uma lista de poss veis representa es primitivas 13 digita puppet shaped 3 apresenta um editor gr fico especial para seleciona triangle e circle escolher a posi o relativa das primitivas e o ponto de refer ncia para orienta o 14 posiciona o c rculo no topo acrescenta a representa o criada ao do tri ngulo e seleciona o conjunto de representa es e exibe as ponto no topo do c rculo op es idem ao passo 4 como ponto ceramics 1 acrescentar atributos 2 remover atributos 3 modificar valor de atributo 15 seleciona fim Tabela 5 Situa o de uso do prot tipo num exemplo onde o usu rio deseja criar um novo tipo a partir de um tipo existente
148. writef S2 w w w X Y Z analyze token S2 analyze token3z analyze token Tokenl debugwrite 1 analyzing token w n Token def Token substitui o puramente sint tica analyze token Tokenl debugwrite 0 analyze token w n Token debugwrite 0 undefined w n Token analyze_token_classification Token swritef S ask user for value of w at run time Token add user option S true swritef S2 consider w constant and equal to Token add user option S2 true analyze token analyze token classification X debugwrite 0 analyzing classifications of w n X findall Defined def Defined ListDefined findall Y C same classification among ListDefined X Y C LV nonempty LV swritef S change w to value in classification v c one of w n X LV add user option S true analyze token classification Listagem 7 C lculo de extens es poss veis levando em conta rela es meton micas classifica es que d o origens a met foras e interpreta o puramente sint tica
149. xperienced as deficient and reorganizes itself in order to produce another structure Eco afirma ainda que as conex es entre campos sem nticos dentro de um universo s o pr estabelecidas e que curto circuitos metaf ricos s o na verdade uninterrupted web of culturalized contiguity that our hypothetical automaton might be able to traverse through a sequence of binary choices Eco 1979 Enquanto Eco descreve um aut mato hipot tico para criar met foras pesquisadores na rea de Intelig ncia Artificial j possuem resultados nesta linha seguindo cadeias meton micas para criar analogias em dom nios restritos como ser descrito a seguir 2 5 4 Analogias em Intelig ncia Artificial As pr ximas subse es descrevem diferentes estudos de aplica o de analogias na rea de Intelig ncia Artificial por press es inter agentes French 1995 por generaliza o Furtado 1992 e por restri es Holyoak e Thagard 1996 Descreveremos mais adiante como extrair do usu rio informa es sobre poss veis origens de analogia A partir deste n cleo de analogia percorremos os modelos do dom nio e da 21 aplica o como num efeito ripple no qual vamos nos afastando do n cleo da analogia at no limite perder o potencial de c lculo com base sem ntica ou pragm tica Analogias por Slippages Hofstadter e seus colegas do Fluid Analogies Research Group utilizaram micro dom nios para estudar
150. xtensible Applications Em Proceedings of IHC 98 Maring PR 1998 Barbosa S D J da Silva S R P de Souza C S Extensible Software Applications as a Semiotic Engineering Laboratory A ser publicado em Working Papers in the Semiotic Sciences Legas Ottawa Canada 1999 Bergin J Stehlik M Roberts J Pattis R Karel A Gentle Introduction to the Art of Object Oriented Programming John Wiley and Sons 1997 Bruce B Case Systems for Natural Language Artificial Intelligence 6 4 327 360 1975 Brown G e Yule G Discourse Analysis Cambridge University Press 1983 Chang S K Visual languages and visual programming New York Plenum Press 1990 Chomsky N On certam formal properties of Grammars Information and Control 2 2 137 167 1959 Cypher A ed Watch What I Do Programming by Demonstration The MIT Press Cambridge MA 1993 on Cypher 1993b da Silva et al 1997 da Silva e Ierusalimschy 1997 de Souza 1993 de Souza 1996 de Souza 1997 de Souza 1999 Cypher A Eager Programming Repetitive Tasks by Demonstration Em Cypher A et al eds Watch What I Do Programming by Demonstration da Silva S R P Barbosa S D J de Souza C S Communicating Different Perspectives on Extensible Software Em Lucena C J P ed Monografias em Ci ncia da Computa o Departamento de Inform tica PUC RioInf MCC 23 97 Rio de Janeir

Download Pdf Manuals

image

Related Search

Related Contents

METRAFLEX 3000 Italian Rev 1.0 - GMC  S784100 インナークランプ  Frigidaire FFWC4222QS Product Specifications Sheet  Hoist Fitness CL2201 User's Manual  intercettatore    DYNAMISK  AutoRAE 2 User's Guide  Samsung 34'' ukrivljen monitor S34E790C Uporabniški priročnik  PCA User`s Manual - PatientCareAnalyst  

Copyright © All rights reserved.
Failed to retrieve file