Desevolvimeto de uma Ferrameta CASE para o Modelo UML-GeoFrame com Suporte para Padrões de Aálise JUGURTA LISBOA FILHO MARCONI DE ARRUDA PEREIRA UFV - Departameto de Iformática, Campus da UFV, 36571-000 Viçosa, MG, Brasil {jugurta, mdap}@dpi.ufv.br Abstract. This paper describes the developmet of CASEGEO, a Computer Aided Software Egieerig Tool (CASE tool) for supportig geographic database desig, which is based o the UML-GeoFrame model. Rules are preseted for mappig from UML-GeoFrame schemes ito ArcView`s logical represetatio. Fially, the paper shows as CASEGEO could be used for specificatio ad reuse of aalysis patters. 1Itrodução Bacos de Dados Geográficos (BDG) são coleções estruturadas de dados geoespaciais e descritivos maipulados por Sistemas de Iformação Geográfica (SIG). Um BDG pode ser projetado com base em metodologias tradicioais de projeto de baco de dados [19], ou seja, as fases de projeto coceitual, lógico e físico devem ser cotempladas [7]. Na fase de projeto coceitual é ecessário defiir o modelo de dados a ser utilizado, o que vai facilitar a comuicação etre projetistas e/ou usuários evolvidos. Diversos modelos específicos para modelagem de BDG têm sido propostos e aperfeiçoados os últimos aos, etre os mais citados estão os modelos GeoOOA [14], MADS [23], OMT-G [4], UML+SpatialPVL [1], OMEGA [24] e UML-GeoFrame [19]. Uma aálise comparativa destes modelos pode ser ecotrada em [18]. Cocluída a modelagem coceitual, o próximo passo - projeto lógico - cosiste a trasformação do esquema coceitual produzido a etapa aterior em um esquema de dados compatível com os modelos de dados do software de SIG e do Sistema de Gereciameto de Baco de Dados (SGBD) que serão utilizados. Esta etapa de trasformação de esquemas coceituais em esquemas lógicos e sua implatação em um software de SIG comercial (e de SGBD) pode ser feita de forma automática por uma ferrameta CASE (Computer Aided Software Egieerig). Etre as pricipais ferrametas CASE, que são específicas para projeto de BDG, pode-se citar: Perceptory [5] Ferrameta desevolvida a partir do sistema Microsoft Visio para suporte à modelagem de dados com base o modelo UML+Spatial PVL (Plug-i for Visual Laguages) [1]. Esta ferrameta cosiste em uma paleta de costrutores de desehos e do dicioário de dados implemetado o sistema MS-Access. O sistema gera um esqueleto de código para o SGBD Oracle 8i. REGIS [13] Ferrameta CASE desevolvida em Smalltalk que tem como base o modelo GeoOOA [KOS 97], adaptado para a represetação gráfica da liguagem UML. A ferrameta gera automaticamete esquemas para o SIG Smallworld. AIGLE [15] Ferrameta CASE para aplicações de SIG desevolvidas a WEB. Utiliza o modelo orietado a objetos chamado OMEGA [24] e cosegue gerar aplicações fiais em liguages como MapBasic e Java. MADS (editor Java) [23] Editor de esquemas de dados implemetado em Java, tedo como base o modelo MADS. Esta ferrameta é apeas um editor gráfico, ão suportado geração automática de esquemas. Este artigo descreve o desevolvimeto da ferrameta CASEGEO, uma ferrameta CASE que suporta a modelagem coceitual de BDG com base o modelo UML-GeoFrame [19]. A ferrameta provê um módulo de geração automática para os pricipais SIG comerciais. Atualmete um módulo de geração de esquemas para o ARCVIEW (ESRI) estáoperacioal. Módulos de geração para outros SIG estão sedo desevolvidos. Uma das características da ferrameta CASEGEO, que a diferecia das outras ferrametas existetes, é o suporte à reutilização de esquemas através do uso de padrões de aálise. Um padrão de aálise é uma combiação recorrete de elemetos de modelagem que ocorrem em algum cotexto [8]. O restate deste artigo estáorgaizado da seguite forma. A seção 2 apreseta um resumo do modelo UML- GeoFrame. A seção 3 descreve as vatages do uso de padrões de aálise a modelagem coceitual de BDG. A seção 4 detalha o desevolvimeto da ferrameta CASEGEO, mostrado sua arquitetura e descrevedo cada módulo implemetado. Cosiderações fiais e trabalhos futuros são descritos a seção 5.
2 O Modelo UML-GeoFrame A modelagem coceitual de BDG com base a liguagem UML [3] e o framework GeoFrame [17] produz um esquema de baco de dados de fácil etedimeto, melhorado a comuicação etre projetistas e/ou usuários. Além de ser usado a elaboração de esquemas de baco de dados, o modelo UML-GeoFrame é adequado para especificação de padrões de aálise [21]. O GeoFrame é um framework coceitual que forece um diagrama de classes básicas para auxiliar o projetista os primeiros passos da modelagem coceitual de dados de uma ova aplicação de SIG. O uso cojuto do diagrama de classes da liguagem UML e o GeoFrame permite a solução da maioria dos requisitos de modelagem de aplicações de SIG. Um esquema coceitual de dados geográficos costruído com base o modelo UML- GeoFrame iclui, por exemplo, a modelagem dos aspectos espaciais da iformação geográfica e a difereciação etre objetos covecioais e objetos/campos geográficos. A especificação desses elemetos é feita com base o cojuto de estereótipos mostrados a Figura 1. Feômeo geográfico e Objeto covecioal! " # Objeto geográfico Campo geográfico Objeto ão geográfico <<fução>> Compoete espacial de objetos geográficos $ Poto Liha Polígoo Obj. espacial complexo & % ' fução categórica Compoete espacial de campos geográficos ) ( * -, + Potos irregulares Grade de potos Polígoos adjacetes Isolihas Grade de células Figura 1 Estereótipos do Modelo UML-GeoFrame O primeiro cojuto de estereótipos (Feômeo geográfico e Objeto covecioal) é usado para difereciar os dois pricipais tipos de objetos pertecetes a um BDG. Feômeo geográfico é especializado em Objeto geográfico (!) ecampo geográfico ("), segudo as duas formas de percepção dos feômeos geográficos, descritas por Goodchild [11]. Objetos ão geográficos são modelados de forma tradicioal e são idetificados através do estereótipo (#). Os cojutos de estereótipos Compoete espacial de objetos geográficos e Compoete espacial de campos geográficos são usados para a modelagem do compoete espacial de feômeos segudo as visões de objeto e de campo, respectivamete. A existêcia de múltiplas represetações é modelada através da combiação de dois ou mais estereótipos em uma mesma classe. Por exemplo, uma classe Muicípio pode ter duas formas de abstração de seu compoete espacial, potual e poligoal, o que é especificado pelo par de estereótipos ($%). Por último, o estereótipo <<fução>> é usado para caracterizar um tipo especial de associação que ocorre TIN quado da modelagem de campos categóricos. Segudo Chrisma [6], uma estrutura de cobertura categórica o espaço é classificado em categorias mutuamete exclusivas, ou seja, uma variável possui um valor do tipo categoria em todos os potos detro de uma região (ex.: tipos de solos). A Figura 2 ilustra um diagrama de classes o modelo UML-GeoFrame cotedo dois temas: Educação e Meio-Ambiete. Educação Bairro! % idbairro ome 1 * Escola! $ ome cotato edereço * 1 1 * Cidade! % codmu ome população Aluo # ome edereço resposável Meio-Ambiete Vegetação " * Relevo " -.+.( <<fução>> Tipo # Vegetação Temperatura Figura2 Exemplo de esquema UML-GeoFrame " -.) 3 Padrões de Aálise Um padrão de aálise é um mecaismo de reutilização que permite aos projetistas meos experietes reutilizarem o cohecimeto de outros especialistas. Um padrão apreseta a essêcia de uma solução para um problema recorrete, em um cotexto específico [10]. Esta defiição compreede as idéias fudametais de um padrão. A expressão uma solução para um problema sigifica que cada padrão idetifica um problema e apreseta uma solução para ele. O termo essêcia de uma solução sigifica que somete os elemetos esseciais são descritos, deixado os aspectos específicos para serem detalhados pelo projetista, dado que aspectos específicos ormalmete ão são reutilizados. O termo problema recorrete sigifica que os padrões devem ser descritos para problemas que jáocorreram diversas vezes e irão ocorrer ovamete. Por último, em um cotexto específico sigifica que a solução completa é válida para um cotexto particular. Um padrão de aálise descreve um cojuto de classes, possivelmete pertecetes a diferetes hierarquias de classes, e as associações existetes etre elas [9]. Padrões de aálise podem ser vistos, portato, como uma forma de descrever subesquemas de projetos mais complexos, os quais ocorrem com freqüêcia durate o processo de modelagem de muitas aplicações. O uso de padrões melhora, de forma sigificativa, o tempo de desevolvimeto de ovas aplicações, uma vez que a reutilização ocorre através de subesquemas e ão através de classes isoladas [12].
Geralmete, um padrão de aálise apreseta a soluçãodoproblemadeumaformamaissugestivadoque prescritiva, forecedo um modelo e a discussão do por que a solução é proposta desta forma, suas vatages e desvatages. Segudo Fowler [9], a cotribuição realmete importate de um padrão ão é o modelo forecido como solução, mas sim, o raciocíio que está por trás desta solução. A maioria dos padrões de aálise publicados até o mometo foi projetada, pricipalmete, para solucioar problemas de aplicações comerciais como, por exemplo, os padrões descritos em [9] e [12]. No etato, a idéia de padrões de aálise pode ser usada para aumetar a qualidade e a produtividade o desevolvimeto de aplicações ão-covecioais como as aplicações de SIG. A adequabilidade do uso de padrões de aálise a modelagemdebdgémostradaem[16].exemplosdepadrões de aálise para aplicações de SIG podem ser ecotrados em [2] e [21]. 4 A Ferrameta CASEGEO CASEGEO é uma ferrameta CASE que estáem desevolvimeto o Departameto de Iformática da Uiversidade Federal de Viçosa, cujo objetivo é dar suporte à modelagem de BDG com base o modelo UML- GeoFrame e a (re)utilização de padrões de aálise. Uma ferrameta CASE é, ates de mais ada, um software de deseho gráfico. Para evitar um grade esforço de programação o setido de desevolver uma ferrameta gráfica desde a estaca zero, optou-se por utilizar como poto de partida algum software gráfico existete. Este software deveria suportar o deseho de diagramas de classes da liguagem UML [3] e ser extesível para suportar os estereótipos defiidos o GeoFrame [17]. Os programas aalisados foram o Ratioal ROSE e o Visio Professioal [25] (estes dois comerciais), além de algus softwares livres dispoíveis a Iteret (ex.: Dia - Gome). O pacote Visio possui um ambiete de programação acoplado à liguagem Visual Basic for Aplicatio (VBA), o que possibilita a implemetação de rotias que podem ser associadas aos elemetos gráficos do esquema. Desta forma, o Visio foi escolhido para ser utilizado o desevolvimeto da ferrameta CASEGEO. Esta solução também foi empregada o desevolvimeto das ferrametas Perceptory e AIGLE. A Figura 3 ilustra a arquitetura da ferrameta CASEGEO, a qual é composta de quatro módulos. O Módulo Gráfico permite ao projetista desehar o diagrama de classes, forecedo uma paleta gráfica (stecil GeoFrame) que cotém os costrutores do modelo UML- GeoFrame. O projetista pode recuperar diagramas de classes pertecetes a padrões de aálise dispoíveis em um repositório. O Módulo Dicioário de Dados armazea a descrição detalhada dos elemetos do diagrama criado pelo projetista. O Módulo Geração Automática permite a trasformação de esquemas coceituais armazeados o dicioário de dados em esquemas lógicos correspodetes a algus modelos utilizados em SIG comerciais. O Módulo de Egeharia Reversa, aida ão implemetado, possibilitaráao projetista obter esquemas coceituais a partir de aplicações de SIG existetes. Stecil Gráfico Módulo Gráfico Visual Basic for Aplicatio Módulo Dicioário de Dados Metamodelo UML- GeoFrame MS-Access Módulo Geração Automática Regras de Trasformação Coceitual- Lógico Formato Shape Oracle 8i outros formatos Repositório de Padrões de Aálise Repositório de Esquemas Coceituais de dados Módulo de Egeharia Reversa Regras de Trasformação Lógico- Coceitual OpeGIS Figura 3 Arquitetura da Ferrameta CASEGEO As seções seguites descrevem detalhadamete cada um destes módulos. 4.1Módulo Gráfico A ferrameta CASEGEO dispoibiliza o stecil GEOFRAME, ou seja, uma paleta gráfica que possui os costrutores do modelo UML-GeoFrame. A partir dessa paleta o usuário pode criar o seu esquema coceitual de dados. O Visio permite a criação de ovas paletas de desehos, além dos desehos (ou costrutores) já existetes. Associados a estes desehos existem várias propriedades que podem ampliar as aplicações às quais estes se destiam. Por exemplo, pode estar associada a um objeto do deseho as propriedades: abrir um formulário;
chamar um procedimeto; ou executar um programa em alguma outra liguagem, como C++. Cada classe do esquema coceitual de dados possui um ome, atributos (com os respectivos domíios), operações e estereótipos GeoFrame. As classes podem estar relacioadas etre si através de uma geeralização, agregação, composição ou associação. Num relacioameto do tipo associação podem ser especificados a multiplicidade e o papel que cada classe desempeha o relacioameto. As classes podem estar agrupadas de forma a costituírem um determiado tema, o que é modelado pelo costrutor Pacote, da liguagem UML. A Figura 4 ilustra o Pacote CADASTRO IMOBILIÁRIO, cotedo as classes TRECHO_DE_LOGRADOURO, QUADRA, TESTADA_DE_LOTE, LOTE, que são subclasses da classe OBJETO_GEOGRÁFICO (!) e a classe PROPRIETÁRIO, subclasse de OBJETO_NÃO_GEOGRÁFICO (#), isto é, ão possui represetação espacial. As classes TRECHO_DE_LOGRADOURO e TESTADA_DE_LOTE possuem represetação espacial do tipo liha (&) e as classes QUADRA e LOTE possuem represetação espacial do tipo polígoo (%). Figura 4 AmbietegráficodoVisiocomostecil GEOFRAME e um exemplo de esquema de dados o modelo UML-GeoFrame. O diagrama de classes de um padrão de aálise pode ser armazeado como uma uidade (sub-diagrama de classes), para reutilização posterior. Padrões de aálise são armazeados a ferrameta CASEGEO como qualquer esquema de dados. Porém, os padrões podem ser iseridos a paleta gráfica de forma que o usuário possa recuperá-lo apeas arrastado seu ícoe para a área de deseho. Além disso, o projetista pode recuperar diagra-
mas de classes pertecetes a padrões de aálise dispoíveis em outros repositórios da própria orgaização ou, por exemplo, a Iteret. Um catálogo de padrões de aálise ecotra-se dispoível o sítio do projeto REUSIG (http://www.dpi.ufv.br/projetos/reusig/). 4.2 Módulo Dicioário de Dados O dicioário armazea o esquema de dados criado pelo usuário. Um esquema possui dois tipos de dados, os dados gráficos (deseho) e os dados semâticos (omes das classes, dos atributos, multiplicidades das associações, etc). No dicioário de dados são armazeados os dados semâticos, equato os dados gráficos são armazeados em um arquivo do próprio Visio. O dicioário de dados é implemetado o sistema Access, que é gereciado diretamete pela ferrameta CASEGEO. A Figura 5 ilustra o diagrama de classes do dicioário de dados, que é, a verdade, o metamodelo UML-GeoFrame. pacote PctID PctNome NameID PageID superclasse geeralizacao GeID Tipo PageID NameID 1 classe ClassID ClNome ClTipoFeo 1 ClRepEsp PageID 1 NameID atributo AtrID AtNome AtDom echave subclasse operacao OperaID OperaNome OperaTipo OperaParam classe 1 classe 2 Figura 5 Metamodelo UML-GeoFrame associacao AssID AssoNome AsMult1 AsMult2 AsPapel1 AsPapel2 Categoria PageID NameID A classe CLASSE cotém os atributos defiidos as classes do diagrama UML-GeoFrame. Toda classe tem um idetificador (ClassID), ome (ClNome), o tipo de feômeo geográfico, ou seja, se é uma subclasse de OBJETO GEOGRÁFICO, CAMPO GEOGRÁFICO ou OBJETO NÃO GEOGRÁFICO (ClTipoFeo), o tipo de represetação espacial, podedo ter múltiplas (ClRepEsp) e os atributos de ligação com o deseho produzido o Visio (PageID e NameID). Uma classe pode ter atributos, que são descritos a classe ATRIBUTO. Cada atributo tem um idetificador (AtriID), ome do atributo (AtNome), seu domíio (AtDom) e um idicador dizedo se este atributo faz parte da chave de idetificação da classe, o modelo relacioal (echave). Uma classe também pode ter operações, que são defiidas a classe OPERAÇÃO. Cada operação especificada para uma classe tem um idetificador (OperaID), ome da operação (OperaNome), tipo retorado (operatipo) e uma lista de parâmetros (operaparam). As associações especificadas o esquema são matidas a classe ASSOCIAÇÃO. Cada associação tem, para cada classe evolvida, o ome da associação (assonome), a multiplicidade (asmult1 e asmult2), o papel desempehado por cada classe a associação (aspapel1 e aspapel2), a categoria de associação, se é uma agregação, uma composição ou se apeas uma associação (categoria) e os atributos de ligação com o deseho produzido o Visio (PageID e NameID). Geeralizações etre classes são matidas a classe GENERALIZAÇÂO, que cotém a idetidade da superclasse (geid), e faz a ligação etre a superclasse e suas subclasses. Heraça múltipla é permitida. Por fim, as defiições dos pacotes são matidas a classe PACOTE. Cada pacote possui um idetificador (pctid), um ome (pctnome) e os atributos de ligação com o deseho produzido o Visio (PageID e NameID). 4.3 Módulo Geração Automática Após a modelagem coceitual, o usuário ecessita trasformar o esquema elaborado em uma implemetação efetiva, o que é feito por meio de um software de SIG específico. Como cada software de SIG possui um modelo lógico de dados proprietário, ão é possível estabelecer um cojuto úico de regras de trasformação para fazer a geração automática para qualquer SIG [20]. Desta forma, para cada SIG comercial, a ferrameta CASEGEO ecessita de um módulo de geração automática (MGA). Espera-se que com o desevolvimeto de um modelo de dados padrão, o que vem sedo trabalhado o Cosórcio OpeGIS [22], este problema seja resolvido. O primeiro módulo de geração de esquemas da ferrameta CASEGEO trasforma esquemas UML-GeoFrame para o SIG ARCVIEW 3.2 (ESRI). Módulos de geração para outros sistemas como o GeoMedia (Itergraph) e o Sprig (INPE) estão em desevolvimeto. Além desses, será desevolvido um módulo de geração para o compoete Spatial do Oracle 8i.
MGA UML-GeoFrame / ARCVIEW O módulo de geração automática para o ARCVIEW, implemetado a liguagem Aveue, tem como etrada a idetificação do baco de dados do esquema a ser gerado, ou seja, o dicioário de dados criado pela ferrameta CASEGEO. Os temas gerados o ARCVIEW são armazeados o formato shape, equato as tabelas associadas a estes temas são armazeadas o formato dbase (dbf). Para cada elemeto do esquema coceitual de dados é aplicada uma determiada regra de trasformação. A seguir estão descritas estas regras: Regra 1 Pacotes Um pacote é composto por um cojuto de classes iterrelacioadas. Para cada pacote defiido o esquema coceitual é gerada uma ova view (uma coleção de temas), recebedo o mesmo ome do pacote. Classes que ão estejam defiidas detro de um pacote geram temas em uma view padrão. Regra2 ClassesdotipoObjetoGeográfico(!) Cada subclasse de OBJETO_GEOGRÁFICO gera pelo meos um layer detro de sua view correspodete, cujo tipo de objeto espacial é defiido de acordo com o estereótipo de represetação espacial associado à classe. O cojuto de atributos defiidos a classe dáorigem a uma tabela (dbf) que fica associada ao layer correspodete através de atributos de ligação (shape, id). Se a classe possui múltiplas represetações espaciais é gerado um layer para cada tipo de represetação. Por exemplo, uma classe RIO pode ter dois tipos de represetação espacial - liha e polígoo. Se isto for especificado o esquema coceitual, o modulo de geração automática gera dois temas (duas shapes) com o ome da classe RIO, um layer do tipo liha e outro do tipo polígoo. Os dois layers ficam associados a tabelas coteto apeas os atributos de ligação. Os demais atributos especificados a classe dão origem a uma terceira tabela que pode ser associada a estas tabelas através de operações de jução. Classes cuja represetação espacial seja complexa (') devem ser trasformadas maualmete. Regra3 ClassesdotipoCampoGeográfico(") Como o ARCVIEW é um software vetorial, o módulo gera automaticamete apeas as classes de objetos geográficos, ou seja, cuja represetação espacial seja poto, liha ou polígoo. Assim, campos geográficos ão podem ser mapeados automaticamete para o ARCVIEW. Para isto seria ecessário utilizar, por exemplo, uma extesão como o ArcView Spatial Aalyst. Na fase atual esta opção aida ão foi cotemplada. As regras de trasformação de campos geográficos estão sedo defiidas o módulo de geração automática para o sistema GeoMedia. Regra4 ClassesdotipoObjetoNãoGeográfico(#) Cada subclasse de OBJETO_NÃO_GEOGRÁFICO gera apeas uma tabela (dbf) e ão gera um layer detro de uma view por este tipo de classe ão possuir represetação geográfica. Regra5 Associação,AgregaçãoeComposição As trasformações de relacioametos dos tipos agregação e composição são feitas de forma idêtica à trasformação de relacioametos do tipo associação, ou seja, são realizadas de acordo com a multiplicidade especificada. Existem basicamete três grades tipos de multiplicidades de uma associação: um-para-um (1..1); um-para-muitos (1..*); e muitos-para-muitos (*..*). As regras de trasformação de associações especificadas em um esquema coceitual para um esquema lógico de um SGBD relacioal são bem cohecidas. Para maiores detalhes o leitor pode cosultar [7]. Regra 6 Geeralização A trasformação de relacioametos do tipo geeralização pode ser feita de três formas distitas, descritas abaixo. Estas opções de geeralização são iformadas pelo projetista em tempo de criação do esquema coceitual, sedo a opção (a) adotada como padrão. São elas: a) os atributos da superclasse e das subclasses são uidos em uma só tabela. É acrescetado um campo à tabela para dizer a que tipo de subclasse a liha se refere; b) os atributos da superclasse são acrescetados ao cojuto de atributos das subclasses. Posteriormete é criada uma tabela para cada subclasse; c) para cada classe é criada uma tabela cotedo os seus atributos. As tabelas referetes às subclasses têm a mesma chave da tabela referete à superclasse. Para exemplificar o processo de geração automática pode-se tomar como etrada o dicioário de dados do esquema coceitual mostrado a Figura 4 (Pacote Cadastro Imobiliário). O módulo de geração automático irácriar o esquema lógico mostrado a Figura 6. 5 Coclusões A ferrameta CASEGEO auxilia os projetistas a desevolverem suas aplicações de SIG com qualidade, pois podem utilizar-se das regras jácosagradas em baco de dados para criar o seu esquema lógico espacial, gerar documetação (esquema coceitual, dicioário de dados e os mapas vetoriais) para cosulta e visualização
posteriores, o que facilita também uma futura mauteção dosistemaeageração imediata de uma ova versão da aplicação com as atualizações. Uma versão fucioal da ferrameta CASEGEO ecotra-se dispoível o sítio http://www.dpi.ufv.br/projetos/reusig/casegeo/. O uso de ferrametas CASE o processo de desevolvimeto de aplicações de SIG pode fazer com que o tempo de criação do projeto seja reduzido cosideravelmete, com coseqüete redução de custos, além de possibilitar a reutilização de esquemas jáexistetes, sedo este um dos maiores difereciais deste projeto. Como trabalhos futuros serão implemetados módulos de geração automática para outros softwares de SIG e o desevolvimeto do Módulo de Egeharia Reversa. Agradecimetos Este projeto é parcialmete fiaciado pela FAPEMIG e pelo CNPq. Figura 6 Parte do esquema do Pacote Cadastro Imobiliário gerado automaticamete o ARCVIEW Referêcias bibliográficas [1] Bédard, Y. Visual modelig of spatial databases towards spatial extesios ad UML. Geomatica, 53(2) 1999, 169-186. [2] Bherig, E. M.; Lisboa Filho, J.; Calijuri, M. L.; Souza, L. A. DE. A. Sistema de iformação da rede de ifra-estrutura saitária de Cachoeiro de Itapemirim-ES. Iformática Pública, 4(1), 2002.
[3] Booch, G.; Jacobso, I.; Rumbaugh, J. The Uified Modelig Laguage User Guide. Addiso-Wesley, 1998. [4] Borges,K.A.V.;DavisJr,C.D.Laeder,A.H.F. OMT-G: a object-orieted data model for geographic applcatios. GeoIformatica, 5(3), 2001. [5] Brodeur, J; Bérdard, Y.; Proulx, M., J.; Modelig Geospatial Applicatio Databases usig UML-based Repositories Aliged with Iteratioal Stadards i Geomatics. I Proc. 8th ACM GIS, Washighto D.C, 2000. [6] Chrisma, N. Explorig Geographic Iformatio Systems. Joh Wiley & Sos, 1997. [7] Elmasri, R.; Navathe, S. B. Fudametals of Database Systems. 3.ed. Addiso-Wesley, 2000. [8] Feradez, E. B.; Xiaohog, Y.; Sematic Aalysis Patters. I Proc. ER2000 Coferece, 2000. [9] Fowler, M. Aalysis Patters: Reusable Object Models. Addiso Wesley Logma, 1997. [10] Gamma, E. et al. Desig Patters: Elemets of Reusable Object-Orieted Software. Addiso Wesley, 1994. [11] Goodchild, M. F., Geographical data modelig. Computers & Geoscieces, 18, 4, (1992) p.401-408. [12] Hay, D. C. Data Model Patters: Covetios of Thought. Dorset House Publishig, 1995. [13] Isoware. CASE-Toll REGIS. Dispoível em http://www.isoware.de/ Acessado em março de 2002. [14] Kösters, G. et al. GIS-Applicatio Developmet with GeoOOA. It. Joual of GIS, 11(4), 1997. [15] Lbath A., Piet, F. The Developmet ad Customizatio of GIS-Based Applicatios ad Web- Based GIS Applicatios with the CASE Tool AIGLE. I Proc. 8th ACM GIS, Washighto D.C, 2000. [16] Lisboa Filho, J.; Iochpe, C.; Beard, K. Applyig Aalysis Patters i the GIS Domai. I Proc. 10th Aual Colloquium of the SIRC, Duedi, NZ, 1998,. [17] Lisboa Filho, J.; Iochpe, C. Specifyig aalysis patters for geographic databases o the basis of a coceptual framework. I Proc.7th ACM GIS, Kasas City, 1999. [18] Lisboa Filho, J.; Iochpe, C. Um estudo sobre modelos coceituais de dados para projeto de bacos de dados geográficos. Iformática Pública, 1(2), 1999. [19] Lisboa Filho, J.; Costa, A. C.; Iochpe, C. Projeto de baco de dados geográficos: mapeado esquemas GeoFrame para o SIG Sprig. I Proc. GEOINFO 1 st Brazilia Workshop o Geoiformatics, Campias, 1999. [20] Lisboa Filho, J. Projeto de Baco de Dados para Sistemas de Iformação Geográfica. I: Nues, R. C. VIII Escola de Iformática da SBC Sul. Editora da UFSM, 2000. pp.115-146. [21] Lisboa Filho, J.; Iochpe, C.; Borges, K. A. Reutilização de Esquema de Baco de Dados em Aplicações de Gestão Urbaa. Iformática Pública, 4(1), 2002. [22] OpeGIS. The OpeGIS Guide. K.BuehleradL Mckee (eds). Ope GIS Cosortium Techical Committee, 1998. [23] Paret, C. et al. Spatio-temporal coceptual models: data structures + space + time. I Proc.7th ACM GIS, Kasas City, 1999. [24] Piet, F.; Lbath, A. A Visual Modellig Laguage for Distributed Geographic Iformatio Systems. I: Proc 16th IEEE Symposium o Visual Laguages (VL'2000), Seattle, 2000. [25] Visio Corporatio. Developig Visio Solutios. 1997. (Documetação de software)