<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>como controlS-la?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jose- CarlosRamalho</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>PedroRangel Henn`ques</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>3o Encontro Nacional para a Qualidade mas Tecnologias de Informao Univemidade do Minho 6 de Novembro 1998</institution>
        </aff>
      </contrib-group>
      <fpage>21</fpage>
      <lpage>51</lpage>
      <abstract>
        <p>Hoje em dia assiste-Se a uma utilizaVo desenfreada de suportes digitais para uma</p>
      </abstract>
      <kwd-group>
        <kwd>Universidade do Minho</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>publicao
electr6nica selvagem e ditada pelas regras de competio
do mercado.</p>
      <p>Assim, 6 fcil encontrar CDROMs ou paginas
contendo vOs
erros, Que
podem ser simples erros ortogrcos
ou erros semficos</p>
      <p>Que podem ter consequ6ncias
e ComunicaCSes
vista, desde o aspecto visual da interface, o linguistico e litero, correc5o da
informaO (significado, semtica), isto para alm da qualidade inerente ao pr6prio
processo da pubBeao em si" Neste trabalho vamos focal a nossa ateno neste aspecto,</p>
      <p>H:i jd alguns anos que a comunidade intern&amp;clonalrelacionada com a PublicaVo
Electf6nica se Vernpreocupando com a qualidade e optimizao dos processos editori&amp;is.
0 primeiro problem&amp; que enfrentar&amp;mfoi o da prolifera8o de formatos subjacentes
ferramentas de software utilizadas e inerente falta de cornpatibilidade entre plataformas.
pas reuni6es cientlflcas realizadas para discutir soluJes para este e outros problemas
menores surgiu um standard internacional para a Public&amp;o Electr6nica, o SGML</p>
      <p>O SGML veio resolver aquele problem&amp; mas veio tamb6m dar uma Brande
contribuio para a qualidade da produo documental a Validao estrutural
automca.</p>
      <p>No entanto, o SGML veio resolver apenas urns parte do problema Veio perrnitir a
ediV:o estrutural assistida de documentos e provocou a sepal&amp;o completa entre o
conteddo de um documento e a sua format&amp;o~ Hoje existem no mercado muitos
arnbientes de edio que assistem os seus utilizadores na crio de documentos hem
form&amp;dos e estruturalmente correctos. Mas h urn&amp; falha neste sistema, no ha
possibilidade de Se controlar o contetido do documento~ 0 autor tern o controle total da
inforrnao que est a introduzir. O Que n6s gostariamos Que o sistema permitisse 6 a
associao de restri6es semticas aos elementos estruturais de um documento. pesto
modo, muitos erros poderiam ser evitados, alguns ciclos de reviso poderiam ser
ulados e pol conseinte a quidade aumentia.
2
30 Encontro Nacional para
a Qualidade nas Tecnolagias de Informso
Universidade do Minho
46 de Novembro 1998</p>
      <p>e ComunicaC:Ses
Neste trabalho discutiremos a utilizao
do SGML como meio de controlar a
exprimir restriJes</p>
      <p>sobre o conteddo dos documentos de modo a possibilitar alguma
Validao
semtica
automtica</p>
      <p>mostrando, deste modo, aquele que seria um ambiente
.-"~,</p>
      <p>Por flm propomos um novo ciclo de Vida para a Publicao
Electr6nica e
apresentamos um prot6tipo da sua implementao.</p>
      <p>Em trabalhos anteriores [RH98] propusemos o processamento alg6brico como
"^
.^.</p>
      <p>Com o mesmo fim j existia o SGlvII [Goldfarb9O], um standard ISO para a
especifico</p>
      <p>estrutural de documentos. Existem j no mercado uma srie de editores Que_
30 Encontro Nacional para
a Qualidade nas Tecnologias de InformaBo e ComunicaBes
Universidade do Minna
6 de Novembro 1998
3
Qualidade na Publio
"mmo con16-la?</p>
      <p>Eleni:
a partir daquelas especificaJes
garantem uma Validao
sintica
automaflea do</p>
      <p>Neste contexto, achoue Queo melhor Sea aproveitOs as nossas idei pa
Se atacar um problema que at6 ao momento no tinha sido denidamente tratado e Que
representa uma fa nos sistem baseados em SO: a vidao semtica.</p>
      <p>Neste artigo, no Se ir discutir a defini50 de funV6es para o processamento
documental, ir-Se Sim colocar todo o nfase numa metodologia simples e prtica que
permitird tratar a Validao semAntica, sempre com o objectivo final de aumentar a
qualidade do produto final - os documentos (neste caso, do ponto de vista da correco da</p>
      <p>A ideia base desta proposta a fuso do modelo no de processOnto
documental baseado em SGML com a abordagem alg6brica. Desta maneir mantem-Se
toda a funcionalidade subjacente aos sistemas baseados em SGML e vai-Se expandi-la
com a capacidade de realizar alguma Validao semtica durante a edio dos
documentos. Esta adio ao modelo visa, como j foi referido, a deteco de informao
incoecta.
formaV:o, utilizou-se o sistema CAMILA (uma linguagem de especificao e um
ambiente funcional de prototipagem) [ABNO97] desenvolvido na Universidade do
Minho pelo grupo de Fundamentos da Computao, para a implementao do prot6tipo</p>
      <p>A estrutura deste artigo reflecte um pouco os psos Seidos na reizao do
trabalho Queaqui Se apresenta. Assim, na pr6xima seco faremos um resumo do Que6 o
4
3o Encontro Nacional para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
46 de Novembro 1998</p>
      <p>e Comunica;;:Ses</p>
      <p>SGML e dos conceitos que Ihe so inerentes. De seguida discutiremos as qualidades e as
aquelas limit&amp;Jes; basearemos esta discuss5o nalguns "case studies" que temos em
os
no contexto do projecto</p>
      <p>GEiRA. O resto do a:rtigo rel&amp;tar o caminho seguido na</p>
      <p>PubticaVgo Electr6nica baseada em SGML
~ .,
gradual mas efectiva do papel pelo suporte digital, magn6tico ou 6ptico (diskette, disco
de computador ou CDROM).</p>
      <p>Nos dltimos anos, a exploso da fnternet, e a sua cada vez mais fcil
Neste contexto, um documento no</p>
      <p>apenas um registo linear de inform&amp;o, mas
Sim algo estruturado. E foi a preocupao</p>
      <p>de tornar visincl essa estrutura Que den origem
linguagens de anotaVo. Daqui em diante, designaremos porlingUagem de anotao
o
conjunto de etiquetas que se colocam ao longo de um texto de modo a marcar a sua
estrutura. Como exemplo de uma linguagem de anotao
conhecida por todos, temos o
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informa!;;do e Comunica96es
Universidade do Minho
6 de Novembm 1998
Qualidade na Publica1!;doElect:f6nica:
coma canbal6-la?
Exemplo de um texto anotado:
&lt;T~O&gt;1760&lt;:/I.~0&gt;&lt;:f)ARAG&gt;Em 14 de Junho deste anno foi mandado sahir
immediatamente da Corte o cardeal &lt;NOME&gt;Accioalolli&lt;/NOME&gt; e dentro em 4 dias
do Reino, para o Que se Ibe den decente transporte e acompanhamento. Era Nuncio de
sna Santidade o Papa Clemente 13.&lt;/PARAG&gt;&lt;/PAG&gt;
&lt;PAG&gt;&lt;fzARAG&gt;Aqui principiou a rotura com a S Appostolica Fes-Se pubhco o
motivo pela informa80 que se mandou a OME&gt;Francisco de AlmadaOME&gt;
residente na Corte de Roma, dando-Se por fundamento valor o no pSr Inrmnarias For
ocasi8o do cazamento qne se fes no dia seis de Jumbo do Senhor &lt;NOME&gt;Infante D.
Pedro&lt;/NOME&gt; com sua sobrinha a Excelentissima Senhora D. Maria princesa do
Brasil, o Que o dito Cardeal no fizera, porque Ibo no fizero a saber por carta de officio,
quando os mais embaixadores sem isso o fizer8o. O caso he que querio afasta-Io da
Corte e tarnbem elle no seguia a conduta della por aquelles tempos.&lt;/PARAG&gt; ...</p>
      <p>Como Se pode ver no exemplo, identificam-Se claramente no texto as etiquetas
TITULO, PA.RAG, PAG e NOME. Estas etiquetas marcam os limites de certos elementos
do documento dando desta maneira estrutura a este.</p>
      <p>A anota5o dos documentos, longe Se ser pacifica, veio introduzir varias alteraBes no
ciclo de Vidaeditorial:
.
.
.</p>
      <p>se a estrutura estiver defmida partida possfvel validar Se o utilizador que edita
o texto est a obedecer referida estrutura.
um documento pode responder de diferentes maneiras a diferentes processadores.
as "queries" nnma procnra de informao podem assumir uma forma mais
inteligente, dirigindo-Se para a estrutnra.</p>
      <p>30 Encontro Nacional para
a Qualidade nas Tecnologias de Informs1!;:doe Comunicag6es
Universidade do Minho
46 de Novembro 1998
No meio desta ca6tica evoluo
era necesso
um standard que impusesse uml|
com o Dome de SGML - "Standard Generalized Markup Language". Como o pr6prio
Borne sugere 6 uma meta-linguagem Que Se pode utilizar para a deni80
de linguagens</p>
      <p>Em SGML, um documento 6 visto como uma estrutura l6gica que contem um
elemento, a raiz de uma</p>
      <p>ore de elementos que comp5em o conteddo do documento.</p>
      <p>Um documento SGML</p>
      <p>composto por tr8s partes:
a Qualidade nas Tecnolagias de Infarmaa
Universidade do Minna
4-6 de Novembro 1998
Qualidade na Publicao Elecm6nica:
come comb016-la?</p>
      <p>A primeira parte, a declarao SGML, criada normalmente no imcio e serve
para todos Os documentos (as particularidades de um sistema manter.-seo). Sempre que
ngo estiver presente assumida uma por defeito.</p>
      <p>0 DTD a parte mais importante do documento. E onde reside a deflniko da
estrutura do documento. Um editor para dar apoio na edio do documento precisa de
conhecer esta estrutura. Da mesma maneira, um processador para processar um
documento tambm precisa de conhecer a sua estrutura. For isso, o DTD surge sempre k
cabeV;ado contetido do documento propriamente dito. 0 DTD normalmente criado por
um analista documental (esta lase em tudo equivalente anise Que se faz quando Se
esta a conceber uma Base de Dados ou um programa)"</p>
      <p>A seguir podemos ver um pequeno documento SGML composto pelas duas
Idltimaspartes (assumiu-se a declarao For defeito). Trata-Se de uma simplificao de
uma ficha relativa a um arqueositio do Noroeste portugus:
&lt;!DOCTYPE ARQSITS [
&lt;!ELEMENT ARQSITS - - (ARQELEM+)&gt;
&lt;!ELEMENT ARQELEM - - (IDENTI, DESCRI?, LUGAR, FREQUE, CONCEL,
CODM?, LATITU?, LONGIT?, ALTITU?, QUADRO?,)+ &gt;
&lt;!ATTLIST ARQELEM assunto CDATA #IMPLIED &gt;
&lt;!ELEMENT IDENTI - - ( (LIGA I#PCDATA)+ )&gt;
&lt;!ELEMENT CRONO - - ( #PCDATA )&gt;
&lt;!ELEMENT DESCRI - - ( (LIGA I#PCDATA)+ )&gt;
&lt;!ELEMENT LUGAR - - ( (LIGA I#PCDATA)+ )&gt;
&lt;!ELEMENT (FREQUE, CONCEL, CODADM, LATITU, LONGIT, ALTITU,
QURO) - - ( (LIGA I#PCDATA)+ )&gt;
30 Encontro Nacional para
a Qualidade masTecnologjas de Inform@o e Comunica95es
Universidade do Minho
46 de Novembro 1998
^,
"^
]&gt;
&lt;IDENTI&gt; Castro do Caires ENTl&gt;
&lt;DESCRI&gt; &lt;LIGA termo="povoado fortificado"&gt; Povoado fortificadoIGA&gt;
&lt;DESCRI&gt;
&lt;LUGAR&gt; Grovos &lt;:/LUGAR&gt;
&lt;FREGUE&gt; Caires ~GUE&gt;
&lt;CONCEL&gt; Arnares &lt;/CONCEL&gt;
&lt;CODADM&gt; 030105 &lt;/CODADM&gt;
&lt;LATITU&gt; 5199 &lt;/LATITU&gt;
&lt;QUADRO&gt; O cabeo onde assenta o &lt;LIGA termo="castro"&gt; castro&lt;/LIGA&gt;
corresponde a um esporo, de vertentes abruptas, situado praticamente na base da encosta
SUI do monte de S. Pedro de Fins. A Norte, um profundo talvegue separa o monte de um
outro, mais pequeno, onde Se encontram tambm vestfgios de ocupao. &lt;/QUADRO&gt;
&lt;/ARQELEM&gt;
&lt;!ARQSfTS&gt;</p>
      <p>O Documento apresentado tern duas partes distintas. A primeira iniciada em
30 Encontro Nacional para
a Qualidade masTecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998
e Comunicall;;:6es
QmumaolidmadueIAn-loa? bIimo</p>
      <p>Ele6nim:</p>
      <p>Um sistema de edio baseado em SGML no Selimit&amp;ao Que at aqui foi
apresentado, um pouco mais complexo- A seguir apresentamos um esquema mostrando</p>
    </sec>
    <sec id="sec-2">
      <title>Fase de</title>
    </sec>
    <sec id="sec-3">
      <title>Fase de</title>
      <p>Como se pode observar, distinguem-se quatro fases na tarefa de criar um
A fase de anise
documento em causa e
corresponde, como o pr6prio Dome indiea ao estudo do tipo de
especificao da sua estrutura (Que o result&amp;do desta fase na</p>
      <p>A seguir temos um ciclo de duas fases, edio e Validao. O utuizador vai
escrevendo o sen documento e de vez em quando pede ao editor que Valida o texto
introduzido. O editor, uma vez que conhece o DTD pode proceder Validao estrutural
do texto e dar como feedback ao utilizador um OK ou uma lista de erros encontrados.</p>
      <p>O documento, depois de editado e validado, passa para um formatador onde ira
ser feita a sua formataVo para um determinado formato final. Esta format&amp;o tamb6m
ela govemada por uma especificao, a chamada especificao de estilo Que fica
10
30 Enconbo Nacionai para
a Qualidade mas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998</p>
      <p>e Comunica6es
associada a um determinado tipo de documento (DTD). Apesar de existir uma linguagemE.
inddstria. Assim cada editor possui a sua linguagem
norrnalmente associada a um editor grco.
para especificar o estilo,</p>
      <p>Utilizando esta tecnologia j 6 possfvel ter algum controlo de qualidade. Toma-se
possivel a verificao dentro de uma empresa de Que todas as pessoas escrevem cartas</p>
      <p>Como referimos na secVo anterior, a edio baseada em SGML trouxe por si s6
um aumento na qualidade da produo documental - tornou possivel a Validao
estrutural/sintctica dos documentos no momento da sua edio.</p>
      <p>No entanto, h situa5es em Que este controlo no suficiente. Documentos
estruturalmente correctos podem conter erros Que podem deitar pol tetra a qualidade do
mesmo. Estamos a falar de pequenos (e outros menos pequenos) erros semticos
introduzidos por um utilizador menos atento ou menos especializado.</p>
      <p>Estas situa5es surgem com mais frequ8ncia no contexto de projectos editoriais
"^
30 Encontro Nacional para
a Qualidade nas Tecnologias de Informao
Universidade do Minho
6 de Novembro 1998
e ComunicaSes
'Qualidade ma Publicai!;;doElecm.omica:
como conbol6 la?
com alguma dimens8o. Nestes, os especialistas so envolvidos na lase inicial de
preparo dos textos mas, a edio final fica responsabilidade de tcnicos que muitas
vezes desconhecem o assunto sobre o qual esto a editar texto. Assim, muito facil que
haja introduo de informso semanticamente incorrecta.</p>
      <p>Como exemplo desta situso podemos referir o caso do CDROM sobre Hist6ria
de Portugal que teve que ser retirado do mercado, pois passados dois meses do sen
lanV:arnentoverificou"se que continha graves erros semticos como: errada atribuio de
leis a reinados, eventos com datas trocadas, ...</p>
      <p>Claude pane desta situaVo poderia tel sido evitada com a metodologia que aqui
Propomos"</p>
      <p>Resumindo, o SG permite controlar a estrutura de um documento mas no o
sen Comteddo.Na Edio baseada em SGML o utilizador/autor tern o controlo total sobre
a informaVo que Esta a introduzir. No sistema pretendido tal no ir suceder. Nalgurnas
situ&amp;gJeso utiliZador tor que se restringir a urn conjunto de valores pr efmidos on que
obedeVam a certas condi5es.</p>
      <p>Apresenta-Se a seguir um exemplo que ilustra as ideias avanadas:
Exemplo 1: A necessidade de uma Valida5o semntica</p>
      <p>Um editor est6 a preparar um livro sobre literatura portuguesa
(Usando SGML). Um dos cap(tulos Incldir6 sobre autores. A sua
estrutura poderia ser definida da seguinte forma:
&lt;!EIENT</p>
      <p>list-autor - - (autor+)&gt;</p>
      <sec id="sec-3-1">
        <title>Estafragmento</title>
        <p>do DTD especifica</p>
        <p>que uma parte do capftulo
caracterlzado por um home, uma data de nascimento, uma data
de Hbito, e OUtfOS elementOs.</p>
        <p>A Valida50 estrutural destes elementoslr6 ser verificada pelo
" parser" SGML assoc|ado ao editor. No entanto, para aIm da
correc50 sint6ctica, tombm importante garantir um invariante:
o elemento data de -obito de coda autor devera- canter um valor
sample maior qua o contido no elamanto data de nascf'mento.</p>
        <p>Este pequeno exemplo d urns ideia dos problemas que surgem nesta ea. Neste
caso, o exemplo utilizado foi um livro de literatura mas poderia muito hem ter sido o
manual de opera5es de um avio ou de uma central nuclear e nestes o padro de
qualidade s6 pode ser um: o mimo.</p>
        <p>Nas pr6ximas sec5es apresenta-se uma extenso ao modelo tradicional do SGML
Quepermitir resolver parte deste problema.</p>
      </sec>
      <sec id="sec-3-2">
        <title>As Restri8es</title>
        <p>De modo a preservar certas caracteristicas semticas dos documentos 6
necessio associar restri5es aos elementos de um DTD. No modelo que agora Se
prop6e, estas restriJes devero ser especificadas na fase de anSe pelo analista. Um
processo em tudo semelhante ao da anise de sistemas de informao onde, depois de Se
obter as entidades e as rela5es, Sevo especificar invariantes sobre os dados.
30 Encantra Nacianal para
a Qualidade nas Tecnalagias de Infarmaa
Univemidade da Minha
6 de Novembro 1998
e CamunicaC6es
Qualidade na PublicaI!;;doElectr6nica:
coma control6-la?</p>
        <p>Sempre que prop5e alteraJes a modelos existentes deve ter-se o cuidado de
observar a compatibilidade com o que j existe, principalmente se o modelo um</p>
        <p>Assirn, tendo esta preocupo
adicionar restriJes a um DTI):</p>
        <p>em mente pode-Se avanar com duas maneiras de
.</p>
        <p>SecV6esde comentarz"oespeciais - Dodeas restriSes seriam escritas; sendo
CoventOs o processamento SGML normal ir ior as e actuar como
sempre o fez; mais tarde um processador especial poderler estas secJes e
Exemplo 2: DTD com restriJes
&lt;!DOCPE rel (
&lt;!ELEMENTrel - - (nome, cognOme
decreto)&gt;
&lt;!NV
inv_rei(r)= ...
dotab,
.</p>
        <p>Umarefere cia a umficheiro externo - onde seriam colocadas as restriBes;
esta referncia seria tambm ela colocada num comento.</p>
        <p>Exemplo 3: RestriJes atraves de referHncia
&lt;i- INV: relcam -&gt;
&lt;iDOCTYPE rel ( ...
14
30 Encontro Nacionat para
a Quatidade nas Tecnologias de Informao
Universidade do Minho
4-5 de Novembro 1998</p>
        <p>e ComunicaCSes
Recorreu-"seaos covenos
e colocou-'se la dentro as restriJes pretendidas para|I
.,</p>
        <p>O processamento extra necesso</p>
        <p>para processar estas linhas de Covento
especiais ird ser desenvolvido "partee constituir uma nova fase do processo.</p>
        <p>Das duas abordagens posslveis, apresentadas acima optou-se pela segunda uma
linha de coveno</p>
        <p>no inicio do DTD contendo uma referncia a um ficheiro onde sero
colocadas as restriJes" A primeira abordagem, incluir as restriJes no DTD, tomaria os
DTDs mais pesados. e de leitura diffcil (alguns DTDs j descrevem por si s6 estrururas
hem complexas).
e ComunicaSes
Qualidade na Publicao
come conkol6-la?</p>
        <p>Eleck6nica:
determinado dormnio, verificar rela6es entre elementos ou veriflear se um determinado
vor existe numa da be de dados"</p>
        <p>Provavelmente esta simplicidade deriva do facto da Validao estrutural executada
pelo "parser' de SGML tomar obsoletas Valida5es nos nfveis mais altos da hierarquia</p>
        <p>Provavelmente a linguagem necessa para especificar estas restri6es ser barn
simples. No entanto, pode-se distinguir duas fases completamente distintas no modelo de
Validago semtica Que se est a tentar implementar:
.
.</p>
        <p>A defznido - a parte sinctica</p>
        <p>do modelo de restri6es, as "frases" Que
Oprocessamento - a parte semflea
das frases" que expressam res5es.</p>
        <p>do modelo de restri6es, a interpretao</p>
        <p>Estas duas fases tm fun6es distintas e correspondem a diferentes nlveis de
diflculdade na sua implementao.</p>
        <p>A lase de definio implica a criao duma linguagem nova ou a adopo duma
existente.</p>
        <p>A fase de processamento implica a criaVo de um motor de processamento com
capacidade de processar a linguagem escolhida.</p>
        <p>Al:=ourenso meio destas duas fases enfrentaremos a necessidade de ter informao
"tipada" com toda a complexidade que Ihe inerente (na definio dos elementos hum
DTD Dada declarado relativamente ao tipo do seu contedo) Para os no especialistas
na ea da compilao a pergunta poderia surgir: "Necessitamos mesmo desta
complexidade extra?" No poderemos passar sem tipos?"</p>
        <p>Um dos projectos em que se est6 a aplicar esta metodologJa o
dos arqueosftlos do Noroeste portugus (Arqueologia). Para coda
arqueosftio redigida uma fJcho, que obedece a um DTD,
contendo a informa5o desse arqueosftJo,No futuro, pretende-Se
ligar coda uma destas fichas a um sistema de informa5o
geogrdfJca (SIG).Para tal, coda ficha contm elementos com
informa(;;::5o geogr6fJca: latitude, longitude e altitude, Para que o
SIG n5o contenha arras preciso que as valores intfoduzidos
estejam correctos - aqui as restriHes de domfnJopodem
representar um pope! importante:
DOC. SGML
&lt;latitude&gt;41 .32&lt;/latitude&gt;</p>
        <p>.|&lt;eSTrfao</p>
        <p>latitude &gt; 39 and latitude &lt; 43
Desta maneira podia-se garantJr que mesmo que o valor da
latitude nHo fosse o mais correcto Dela menos n5o " cairia faro do
mapa"</p>
        <p>Neste exemplo estSe a restringir um valor a um dominio. EstSe a comparar o
contetido do elemento /atie com valores numFicos, que t8m um tipo que Ihes
inerente (inteiro ou real). Desta maneira, o motor de processamento tera Que inferir de
alguma maneira Quevalor do elemento /atite darn tipo numrico.________________
3o Encontm Nacianaf para
a Qualidade masTecnafogias de InformaC8o e Comunicaq;;:Ses
Universidade do Minho
46 de Novembro 1998
17
Qualidade na Publicag6o Electr6nica:
mmo mm86-la?</p>
        <p>Exemplos como este s&amp;ohem simples. O contetido num6rico 6 hem conhecido e
tern uma forma mais on menos normalizada. Mas ha outros, mais complexos como as
datas - hd mais de Gemformatos diferentes para se escrever uma data (e provavelmente
cada um de n6s pode inventar facilmente mais um).
e tamb6m familiar a quern trabalha em sistemas de informa20 tradicionais.</p>
        <p>Para Se avanar com o modelo de Validao semtica
soluVo a estes dois problemas: inferEncia de tipos e normalizao
tern-se que dar uma
da informao.</p>
        <p>A partida duas soluV6espoderiam ser apontadas para tratar daqueles problemas:
.
.</p>
        <p>Implementar de raiz ferramentas complexas Quetratem de cada um deles.</p>
        <p>Introduzir algumas alterBes no DTD Quesolucionaro o problema da
normalizo e facilitaro a tarefa de inferncia de tipos.</p>
        <p>A segunda altemativa 6 mais simples e permite uma aproxima5o a algumas
soluV5es parciais j desenvolvidas no seio de projectos internacionais como o "Text</p>
        <p>A soluo bastante simples tecnicamente mas tern implica6es a nine! dos
intervenientes no processo: adiciona-se um atributo "valor" a todos os elementos para os
quais se prev irem surgir problemas de normalizao na introduo da inforrnao;
(in)forma-se todos Os utilizadores Que naqueles elementos podem introduzir o contedo
na forma que pretenderem desde que preencham o atributo "valor" desse elemento corn-o
vor que se deciu ser o noizado.</p>
        <p>Pode parecer um pouco anquica a situaVo de perrnitir ao utilizador Que
introduza os dados como pretender mas, h projectos em que a forma normalizada e
forrna escrita so necessariamente diferentes: normalmente em documentos hist6ricos,
18
30 Encontro Nacional para
a Qualidade mas Tecnologias de InformaC:go e Comunica9Ses
Universidade do Mlnho
4-6 de Novembro 1998
pretende-se que estes tenham o aspecto visual original mas por detrs tern de haver uma|I
documentos da instauraVo do reino portugu8s, Afonso Henriques aparece referenciado
de vas</p>
        <p>formas: "Afonso", "Alfonso" ou simplesmente "o Rei". Se Se quiser criar um
a'.ocontecoeeuu
no &lt;data valor='"s I1835.3.10.50"5" &gt; qQuuiinnttoa dia do ms
de
aconteceu</p>
        <p>no &lt;data valor=" I 853.10.05" tipo= " data" &gt; quinto dia
do ms</p>
        <p>de Outul::::)rodo ano do Senhor I 853 &lt;/ data&gt; ...
3o Encontro NacionaE para
a Qualidade Has Tecnologias de Infomlacdo e ComunicaSes
Universidade do Minho
6 de Novembro 1998</p>
        <p>Elect:r6nica:</p>
        <p>Para simphflcao de escrita pode-se defmir que sempre que o atributo "valor"
na-oSe encontrar deflnido o contetido desse elemento encontra-se na form&amp;normalizada.</p>
        <p>Em relao aos tipos a seguinte questo poderia ser levantada: "Serd necesso
tipar' todos os elementos da ore estrutural de um documento?"</p>
        <p>Tentar-se responder a esta queso na pr6xima seco.
0 Modelo de Validao</p>
        <p>Sem8ntica</p>
        <p>A queso levantada na dltima seco pode ser encarada como uma questo de
resposta Sim ou no- Apesar de parecer inocente qualquer uma das respostas tern
implicaJes bastante pesadas Hasfases seguintes.</p>
        <p>Uma resposta "sim", implicaria que para alm de tipos at6rmcos tiv6ssemos tipos
estruturados para podermos definir o tipo dos elementos interm6dios da ore do
documento. Desta maneira obtinha-se Iambm um mapeamento completo da estrutura do
documento num modelo de tipos. As consequ8ncias desta abordagem, vantagens e
desvantagens, seriam as seguintes:
20
.
.</p>
        <p>Um sistema de tipos mais complexo.</p>
        <p>Seria mais facil associar tipos aos elementos estruturados partindo do DTD
do que da instcia do documento; isto implicaria a criao duma ferramenta
de converso.</p>
        <p>Tendo toda a estrutura do documento mapeada Burnmodelo de tipos toma-Se
possfvel processar o documento neste novo modelo (utilizando Osoperadores
definidos para esses tipos).
~f
3o Enconbo Nacional para
a Qualidade nas Tecnologias de Inform&amp;o
Universidade do Minho
46 de Novembro 1998</p>
        <p>e Comunica95es</p>
        <p>Uma resposta negativa teria as seguintes consequEnclas:
.
.
.</p>
        <p>t unguagem
ae restnoes</p>
        <p>Sena multo slmples; provaveimente restrlta a tlpos
at6micos e algumas opera5es de procura.</p>
        <p>POI conseguinte, o motor de processamento seria tambm
simples e fcil de
implementar.
documento neste modelo.</p>
        <p>O modelo de tipos &amp;Cariaincompleto o que invalidaria o processamento do
3o Encontro Nacional para
a Quatidade nas Tecnologias de Informao
Universidade do Minho
46 de Novembro 1998
e Comunica(;:Ses
.Qualidade na Publicai!;;doEleckobica:
coma conkol6-la?
flgura segninte.</p>
        <p>Ass'lrn 0 modelo para Validao semtica</p>
        <p>adoptado pode ser representado pela</p>
        <p>Nave madela de EdiAa com SGML: Bg. 2
Como se pode ver na flgura, foi adicionado um novo processo de Validao
ao
modelo tradicional de edio</p>
        <p>com SGML. Este novo processo ir tr&amp;tar de processar as</p>
        <p>Na figura se inte podemos ver este processo em mais detalhe.
30 Emcontro NacionaL para
a QuaLidade masTecnoLogias de Inform&amp;o
Universidade do Minke
6 de Novembro 1998</p>
        <p>e ComunicacBes</p>
        <p>Este nono processo vai exigir alter5es a dois niveis: um relacionado com as
pessoas, analista e utilizadores, e outro relacionado com o sofware, como Que vo</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Nivel de Sofare</title>
      <p>Como Sepode observar na figura 3, este nivel composto por vas Feas
de solWare. A maior e mais complexa foi designada por CAMILA
[ABNO97] (devido ao sistema de prototipagem e linguagem em Quefol
desenvolvida), as outras foram baptizadas de acordo com a sua
funcionalidade: dtd2cam, esis2cam e parser [Clark]. 0 processo 6
centrado no CAMILA Querecebe tr8s inputs e produz um resultado. O
DTD concebido na lase de anise 6 enviado a dtd2cam Quetraduz os sens
elementos para um tipo abstracto de dados em C~A, passando este ao
CAMIf A. As restriBes QuesSo escritas directamente na linguagem
CAMILA vo directamente para o CA. Do outro lado, quando o
utilizador quer validar o documento Queest a editar, activa a funo
ValidaQuecomea For enviar o documento ao parser; o output do parser,
em formato ESIS (formato interm6dio utilizado nas aplica6es SO), 6
enviado ao esis2cam Quevai us o para preencher a estrutura j definida
em CAM1LA com o contedo do documento. Assim, o CAMILA em
posse do DTD (traduzido pelo dtd2cam), das restri5es e do documento
(traduzido pelos parser e esis2cam) pode desencadear a validaVo
semtica bastando para isso executar as restri5es. Como resultado o</p>
      <p>CAMILA envia ao utilizador um OK ou uma Esta de mensagens de erro.
Na pr6xima seco</p>
      <p>vai se seguir um documento Queir atravessar o sistema.
24
30 Encontro NacionaL para
a QuaLidade nas TecnoLogias de Informa(;;8o e Comunical!;;:Ses
Universidade do Minho
4-6 de Novembro 1998</p>
      <p>Os casos de estudo Que serviram de base a este trabalho s8o bastante complexos e
cada um tem as suas particularidades o que imphca Que seja diffcil a sua demonstrao
neste artigo.</p>
      <p>Apresenta-Se um exemplo ficncio (no sentido em Querepresenta um subconjunto
pequeno de um dos casos de estudo) mas com todos os ingredientes comuns a uma</p>
      <p>Neste exemplo, Os documentos so listas de decretos publicados For um rei
Fortugus.</p>
      <p>Rois e Decretos (DTD)
&lt;!DOCI\(PE rel (
&lt;I.ELEMENTrel - - (nome, cognome,
decretO*)&gt;
&lt;!ELEMENT decreto - - (data
corpo)&gt;
data-"nasc, data-ob,
sc, data-ob, data) -
(#PCDATA)&gt;
&lt;!ATTLIST data-nasc valor CDATA #REQUIRED #FIXED tipo data&gt;
&lt;!ATTLIST data-ob valor CDATA #REQUIRED#FIXED tipo data&gt;
&lt;IATTLIST data valor CDATA #REQUIRED #FIXED tlpo data&gt;
&lt;!ELEMENT corpo - - (#PCDATA)&gt;</p>
      <p>Note-se a definio dos atributos "valor" e "tipo" para valores que iro conter
datas. O atributo tern j o sen valor fixado em "data", o utilizador no tel Quesaber Dada
30 Encontro Nacional para
a Qualidade masTecnologias de Informao
Universldade do Mlnho
46 de Novernbro 1998
e Comumlml;;Ses
sobre tipos, o analista que tern de preparar tudo a nfvel do DTD. O atributo "valor"
dever ser usado polo utilizador para a introduo de valores normalizados para datas
(neste caso ANSI); o processador usar o valor deste atributo em vez do contetido do
respectivo elemento.</p>
      <p>A seguir apresenta-se um documento escrito de acordo com este DTD: trata-Se de
uma hsta de decretos proclamados por D. Dinis.
passara a vender vinho Verde em vez de
de Agosto do
circular no
26
30 Encontro Nacional para
a Qualidade mas Tecnologias de Informao
Universidade do Minho
4-6 de Novembro 1998</p>
      <p>e ComunicaCSes
mesmo:
&lt;!- RestrlHes: rel,cam</p>
      <p>-
&lt;!DOCPE</p>
      <p>rel [
Observando o documento e o DTD pode-Se pensar nalgumas propriedades que
A data de cada decreto dever estar sempre compreendida entre a data de
nascirnento e a data de 6bito do lei Que a proclamou.</p>
      <p>O home do lei dever existir na base de dados de personalidades do sistema.
Estas restri6es so especificadas num ficheiro
parte em linguagem CA
a ligaVo ao DTD</p>
      <p>feita por uma referncia colocada numa linha de Covento
nasc_Cr)&lt; data_(x) /\ data_(x) &lt; data-ob_(r) )_______________
30 Encontm Nacional para
a Qualidade nas Tecnologias de InformaC5o e Comunica96es
Universidade do Minho
4-6 de Novembro 1998</p>
      <p>e
do
Na implementao</p>
      <p>Que se seguiu as restriJes so especificadas pol um conjunto
de re2ras: cada re2ra
um Dar formado nor uma condico (a ne2aco
da restrico\
e
respectiva reacVo.</p>
      <p>As restri6es do nosso exemplo so assim especificadas:
rel(r) =
{if( name_CT) nOtIn BDpersOnalidades
- &gt; nOme_(r) ++ "naO exlste
em BDpersonaiidades" ),
de nascer" ),
I 20 anos"),
if( !all( x &lt;- decreto_I(r):
dataif( data-nasc_(r)
&gt; data-ob_(r)</p>
      <p>-&gt; no]-r-1e_(r+) + "morfeu antes
if( data-ob_(r) - data-nasc_(r) &gt; 120 -&gt; nome_(r) ++ "vlveu mais de
Qualidade na PublicaI!;;6aElectf6nica:
coma canUolb-la?
Se se tivesse a seguinte lista de valores:</p>
      <p>-&gt; name_Cr) ++ "fez um decreto fora do suo Vida" )
r - ("D. Dinis", "o Lavrador", "1265.06.24", "1211.04"12", ...)
a condio</p>
      <p>"if( data-nasc_(r) &gt; data-ob_(r)" seria verdadeira o que teria como resultado a
concatenao</p>
      <p>("++") do Bornedo rei ("nome_(r)") com a string "morreu antes de nascer".
Ao longo desta implementao</p>
      <p>com exemplo viu"-secomo foi alterada a filosofia
de especificaVo de DTDs de modo a poder acomodar as restri6es, e como se extendeu o
modelo de processamento de modo a que a verificao
das restri5es seja possivel.
30 Encontro Mac(anal para
a Qualidade Has Tecnologias de InfarmaCgo e ComunicacBes
Universidade do Minho
4-6 de Novembro 1998</p>
      <p>O objectivo deste trabalho fol a melhoria da qualidade e dos mecanismos de
controlo a ela associados na publicao electr6nica baseada em SGML. Nesta contexto,
apresentou"se um novo modelo de processamento documental Que introduz uma nova
linha de controlo: a Validao semtica do contedo.</p>
      <p>A ideia principal a de que introduzindo algumas rest:[:iBes semticas
associadas a alguns elementos estruturais dos documentos, pode-Se minimizar a
incorreco da inforrflao aumento desta maneira a qualidade do produto final.
30 Encontm Nacional para
a Qualidade nas Tecnologias de Inforrnao
Universidade do Minho
6 de Novembro 1998
e ComunicaBes
[ABNO971 J. J. Almeida L. S. Barbosa F. L" Nones, and J. N. Oliveira; "CAMILA:
Formal Software Engineering Supported by Functional Programming"; Editor: A.
De Giusti, J. Diaz, and P. Pesado; Proc. II Conf. Latino Americana de</p>
      <p>Programacion Funcional (CLaPF97); La Plata Argentina, October 1997
[Clark] James Clark; "NSGMLS: an SGML parser conforming to ISO 8879",
www.jclark.corn</p>
      <p>Report DI-CAM-95:11:2, DI (U.Minho), 1995
[BA95] L. S. Barbosa and J. J. Almeida; "CAMILA: A Reference Manual", Technical
[TEI] C.M. Sperberg-McQueen and Lou Burnard; "Guidelines for Electronic Text</p>
      <p>Encoding Interchange (TEIP3)"; Chicago: ACH/ACL/ALLC; 1994
[RH98] J. C. Ramalho, J. J. Almeida and P. R. Henriques; "Algebraic Specification of
[RAH96] J. C. Ramalho, J. J- Almeida, and P. R. Boutiques; "Document Semantics: two
approaches"; SGML'96: Celebrating a decade of SGML, Sheraton-Boston Hotel,
Boston, USA; Nov. 1996
[Hytime] Steven DeRose and David Durand; "Hytime: Making Hpermedia Work</p>
      <p>Kluwer Academic Publishers, 1994
30
3o Encontro Nacional para
a Qualidade nas Tecnologias de Informa!;do e ComunicaC:Ses
Universidade do .Minho
4-6 de ]\lovembro 1998
[Goldfarb9O] Charles Goldfarb, "The SO</p>
      <p>Handbook", Clarendon Press - Oxford,
Tema Abrangido: "Mtodos de especiflcao
formal para a melhoda da qualidade"
Palavras Chave: Controlo de Qualidade; Publicao</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>