Palavras-chave: Desenvolvimento Baseado em Componentes (DBC), Transformação de Software, framework e ObjectPascal.



Documentos relacionados
CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

UML - Unified Modeling Language

Wilson Moraes Góes. Novatec

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Engenharia de Software I: Análise e Projeto de Software Usando UML

Introdução à Engenharia de Software

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Modelagem de Processos. Prof.: Fernando Ascani

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

O modelo unificado de processo. O Rational Unified Process, RUP.

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Diretrizes para criação de um padrão de desenvolvimento de sistemas de informação baseados em cots

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Fase 1: Engenharia de Produto

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Professor: Curso: Disciplina:

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Persistência e Banco de Dados em Jogos Digitais

UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

PROJETO DE FÁBRICA DE SOFTWARE

Unified Process. Sueleni Mendez Batista. Orientadora: Dra. Elisa Hatsue Moriya Huzita

Projeto Disciplinar de Infra-Estrutura de Software ECOFROTA TRIBUNAL THEMIS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Engenharia de Software

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Transformando Modelos da MDA com o apoio de Componentes de Software

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

Unified Software Development Process

UML Linguagem de Modelagem Unificada

Fábrica de Software 29/04/2015

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Engenharia de Software

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

2 Engenharia de Software

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

MODELAGEM DE PROCESSOS

Engenharia de Software

Transformação de um Modelo de Empresa em Requisitos de Software

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvimento de software orientado a características e dirigido por modelos

Introdução a Informática. Prof.: Roberto Franciscatto


Introdução à Engenharia de. Software. Introdução à Engenharia de. Software. O que é a Engenharia de Software? Software

Linguagem de Modelagem Unificada

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

Universidade do Minho Licenciatura em Engenharia Informática

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

Apresentação do Curso Prof. Gilberto Braga de Oliveira

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Ricardo Roberto de Lima UNIPÊ APS-I. Históricos e Modelagem Orientada a Objetos

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Desenvolvimento estruturado versus orientado a objetos.

Levantamento, Análise e Gestão Requisitos. Aula 04

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

UML Aspectos de projetos em Diagramas de classes

Pós Graduação Engenharia de Software

Processos de Software

Análise e Projeto de Sistemas

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Programa do Módulo 2. Processo Unificado: Visão Geral

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

Table 1. Dados do trabalho

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes

Tarciane Andrade.

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Processos de Desenvolvimento de Software

Transcrição:

Construção e Reutilização de de Software do Domínio de Cardiologia João L C Moraes, Daniel Lucrédio, Adriano A Bossonaro, Dr Rubens Tofano, Prof Dr Antonio F Prado DC/UFSCar - Departamento de Computação Universidade Federal de São Carlos Rod. Washington Luís, Km 235 Caixa Postal 676 - Cep.13565-905 - São Carlos-SP Resumo - Este artigo apresenta uma abordagem para construção e reutilização de componentes de software com implementação em ObjectPascal (Delphi). Os principais mecanismos de execução que auxiliam o Engenheiro de Software (ES) na abordagem são: a ferramenta MVCASE, o Sistema de Transformação (ST) Draco-PUC, e o ambiente Delphi. A abordagem utiliza técnicas de Desenvolvimento Baseado em (DBC), Transformação de Software, Frameworks e linguagens orientadas a. Palavras-chave: Desenvolvimento Baseado em (DBC), Transformação de Software, framework e ObjectPascal. Introdução No desenvolvimento de software, a reutilização caracteriza-se pela utilização de produtos de software, em uma situação diferente daquela para qual estes produtos foram originalmente construídos. Motivado pelas idéias de reutilizar ao máximo os resultados da análise, projeto e implementação, através de componentes de software, este artigo propõe uma abordagem para a construção e reutilização de componentes. A abordagem orienta o Engenheiro de Software tanto no desenvolvimento dos componentes de um domínio do problema, quanto no desenvolvimento das aplicações que os reutilizam, e integra: Um método de Desenvolvimento de Software Baseado em (DBC); Uma ferramenta CASE para modelagem dos componentes e das aplicações; Um Sistema de Transformação de Software para geração de código ObjectPascal; e Uma Linguagem Orientada a, ObjectPascal (Delphi), para implementação de componentes e das Aplicações desenvolvidas, a partir do framework de um domínio. Este artigo está organizado da seguinte forma: a Seção 2 apresenta os principais conceitos envolvidos na abordagem; a Seção 3 apresenta a abordagem proposta; a Seção 4 apresenta trabalhos correlatos ao proposto, e finalmente, a seção 5 apresenta uma conclusão deste artigo. Principais Conceitos Os conceitos fundamentais para o entendimento da abordagem proposta estão relacionados com o processo de Desenvolvimento Baseado em, a transformação de software realizada pelo Sistema de Transformação Draco-PUC, as técnicas de modelagem disponíveis na ferramenta CASE MVCASE, e a linguagem ObjectPascal do ambiente Delphi. Desenvolvimento Baseado em (DBC) Segundo Krueger [1], [2], [3] e [4], o processo de desenvolvimento de software pode ser dividido em duas etapas: desenvolvimento para reutilização e desenvolvimento com reutilização. Baseado nesta idéia diferentes abordagens têm sido propostas para o DBC, destacando-se o método Catalysis[5], que integra, entre outras, técnicas de modelagem e frameworks, para suportar o processo de desenvolvimento para reutilização. O processo de DBC em Catalysis inicia com a identificação dos requisitos do domínio de problema para o qual se deseja construir os componentes, prossegue com a especificação dos componentes com base nos requisitos identificados, e finalmente conclui com o projeto interno dos componentes. Baseia-se nos princípios plug-in e de refinamentos sucessivos, para obter componentes com maior grau de reutilização e mais fáceis de serem reutilizados. Considerando as experiências do grupo de pesquisa, do qual os pesquisadores deste projeto fazem parte, com o método Catalysis, decidiu-se também por utilizar grande parte de suas idéias, principalmente para apoiar o processo de modelagem dos componentes, uma das etapas da abordagem proposta. Ferramenta MVCASE Ferramentas CASEs têm sido empregadas para suportar as diferentes etapas dos processo de desenvolvimento de software. Dentre estas ferramentas tem-se a MVCASE [6 e 7] que provê técnicas gráficas e textuais da UML[8], para auxiliar o Engenheiro de Software no DBC. Na MVCASE podem-se especificar os componentes em diferentes

níveis de abstração, e gerar código, a partir dessas especificações, em linguagens como Java e ObjectPascal. Assim, o Engenheiro de Software pode ter diferentes visões dos componentes, desde suas especificações até suas implementações e deployment em um servidor, para reuso das aplicações. Dada estas vantagens a MVCASE foi integrada na abordagem proposta, para facilitar tanto na construção como no reuso dos componentes. Sistema de Transformação Draco-PUC O paradigma Draco [9] está fundamentado na reutilização de componentes de software, elementos comuns que estão sempre presentes em diversos sistemas construídos e que refletem objetos e operações inerentes à área na qual se está trabalhando. No Sistema de Transformação (ST) Draco-PUC, um domínio é composto de três partes, Linguagem, Parser, e um Prettyprinter, ou unparser, e Transformadores. Baseado na idéia de transformação de software o ST Draco-PUC suporta a transformação de especificações em uma linguagem para a mesma ou outra linguagem, e por isso tem sido usado em diferentes processos de engenharia e reengenharia de software. Diferentes domínios já foram construídos no ST Draco-PUC, dentre os quais o MDL, das descrições das especificações em UML. Dada estas vantagens o mesmo foi integrado na abordagem proposta, para transformar as descrições das especificações da MVCASE para a linguagem ObjectPascal. Para tal, além do domínio MDL, foi necessário construir o domínio ObjectPascal, usado para gerar o código nesta linguagem, a partir de descrições MDL. Ambiente Delphi Delphi [10] é um ambiente integrado para desenvolvimento de aplicações (IDE - Integrated Development Environment), que fornece ferramentas para desenhar, codificar, compilar, executar, depurar, distribuir e testar aplicações, nas plataformas Windows e Linux (Kylix). Possui a VCL (Visual Component Library) que é uma hierarquia de classes, escritas em ObjectPascal, que suporta a criação de componentes, através do mecanismo de herança. Na arquitetura VCL existem dois tipos de componentes: Visuais e Não-Visuais, com acessos em tempo de projeto (Designtime) e em tempo de execução (Runtime). Delphi foi adotado na abordagem proposta devido principalmente à sua grande divulgação e utilização na indústria de software. A hierarquia de classes da VCL é utilizada tanto para construção como para reutilização dos componentes. Combinando as idéias do método Catalysis de DBC, o ST Draco, a ferramenta MVCASE, e a linguagem ObjectPascal, propõe-se uma abordagem para construção e reutilização de componentes de software, apresentada a seguir. Metodologia e Resultados - Construção e Reutilização de de Software A Figura 1 mostra a abordagem proposta, que é realizada em duas grandes etapas: Construir Framework e Reutilizar Framework. Técnicas de DBC, Framework, e de Linguagens orientadas a Conhecimento do Domínio do Problema MVCase Construir Framework Engenheiro de Software ST Draco Delphi do Framework Técnicas de DBC, Frameworks, e de Linguagens orientadas a Requisitos da Aplicação Reutilizar Framework Modelos dos do Framework Implementados Projetos da Aplicações Implementações da Aplicações Legenda (SADT) Controle Entrada Saída MVCase ST Draco Mecanismos Engenheiro de Software Figura 1. Construir e Reutilizar Framework Delphi

Os principais mecanismos de execução, que auxiliam o Engenheiro de Software na abordagem proposta, são: a ferramenta MVCASE, o ST Draco- PUC, e o ambiente Delphi. Na primeira etapa, Construir Framework, a partir do conhecimento do domínio do problema, obtêm-se os do Framework, que são representados por Modelos que facilitam seus entendimentos e suas reutilizações em alto nível de abstração. Os componentes implementados em ObjectPascal, permitem suas reutilizações conforme as idéias da VCL do Delphi. Na segunda etapa são desenvolvidas as aplicações, que reutilizam os componentes do Framework. A partir dos requisitos da aplicação obtém-se o seu projeto e implementação orientada a componentes. Para facilitar o entendimento da abordagem proposta, será utilizado o Domínio de Cardiologia. A utilização do domínio de Cardiologia tem como base as experiências de um dos pesquisadores [11, 12 e 13].no desenvolvimento de um sistema de cardiologia, denominado SisCardio, do Instituto do Coração de Marília (ICM), em 1997 com 320 classes, e o desenvolvimento de outros softwares para a área de saúde [14, 15 e 16]. Construir Framework A Construção de um Framework de um domínio do problema é realizada em três passos: Modelar Framework, Gerar Código dos e Instalar do Framework. No passo Modelar Framework faz-se a modelagem do framework a partir do conhecimento do domínio do problema. No caso do domínio de Cardiologia, partiu-se de um levantamento de requisitos realizado para desenvolver o sistema SisCardio. Neste passo são especificados os Modelos de Interações, representados pelos Diagramas de Casos de Usos e de Seqüência, detalhando os cenários de utilização dos componentes nas diferentes aplicações do domínio. Estes modelos são refinados para obter o projeto interno dos componentes, representado nos Modelos de. Os componentes com suas interfaces para conexão e suas dependências, Baseado na arquitetura VCL do Delphi foi definida a arquitetura dos componentes, com duas interfaces, Designtime e Runtime. Uma vez concluído o modelo do framework, representado pelas classes dos componentes e seus relacionamentos, pode-se gerar as especificações MDL usadas para geração de código dos componentes. Adicionalmente pode-se gerar especificações SQL para construção do banco de dados, com as tabelas que fazem a persistência dos componentes persistentes do framework. No passo Gerar Código dos faz-se a geração de código em uma linguagem Orientada a, no caso ObjectPascal, a partir das especificações MDL. O ST Draco-PUC é utilizado para Gerar Códigos dos componentes usando os domínios MDL e ObjectPascal, previamente construídos. Dada a capacidade do ST Draco de trabalhar com diferentes domínios de diferentes linguagens de programação, modelagem e aplicações, outras linguagens poderiam ser utilizadas na geração do código, como Java, C++, e outras. No passo Instalar do Framework faz-se a instalação dos componentes implementados no ambiente Delphi, disponibilizando-os para serem reutilizados pelas aplicações. Para facilitar a reutilização o FrameCardio foi organizado em oito paletas no ambiente Delphi. A Figura 2 mostra uma das paletas, denominada Appointment, com os respectivos componentes. Figura 2. Pacote Appointment do FrameCardio no ambiente Delphi Ao final deste passo, tem-se concluída a primeira etapa da abordagem. Contudo, os testes com os componentes construídos são realizados com suas aplicações, e caso ocorram erros com os mesmos, deve-se retornar a esta etapa de Construção do Framework e repetir os seus passos para corrigir os erros e obter nova versão do framework.

Reutilizar Framework A reutilização pode ocorrer tanto na modelagem como na implementação das Aplicações. Para reutilizar os componentes deve-se Modelar, Gerar Código e Executar a aplicação. - Modelar a Aplicação, a partir dos Modelos de do framework construído e dos requisitos da aplicação; - Gerar Código da Aplicação, reutilizando os componentes do framework ; - Executar a Aplicação, no ambiente Delphi; e - Opcionalmente, Refinar a Aplicação, para atender requisitos normalmente não funcionais, no ambiente Delphi. O passo Modelar Aplicação compreende a especificação e o projeto da aplicação, considerando os modelos dos componentes do framework. Para agilizar a implementação, as miniespecificações dos corpos dos métodos das classes são escritas diretamente em ObjectPascal. A Figura 3 mostra um modelo de componentes de uma aplicação que Registra o Implante de Marcapasso em Pacientes. Conforme a notação da UML, no modelo as setas tracejadas representam as dependências dos componentes. Em (1) têm-se os componentes TForm e TDataModule da arquitetura da VCL que são reutilizados pelos componentes da aplicação. Em (2) têm-se os componentes da aplicação. Em (3) têm-se os componentes do FrameCardio: TPatient, TPacemaker, TDoctor, e TAtropina, reutilizados pela aplicação. (1) (2) (3) Figura 3. Modelo de da Aplicação No passo Gerar Código da Aplicação, a ferramenta MVCASE gera as descrições MDL do projeto da aplicação. Em seguida, utiliza-se o ST Draco-PUC para gerar código da aplicação, transformando as descrições MDL para a Linguagem ObjectPascal. Finalmente, no passo Executar Aplicação. No passo o Engenheiro de Software utiliza o ambiente Delphi para executar e testar o código gerado da aplicação. Os dados de testes servem para verificar se os requisitos especificados para a aplicação foram atendidos. A Figura 4 mostra um dos formulários da execução da aplicação. Opcionalmente, o Engenheiro de Software pode refinar a aplicação para atender requisitos não funcionais não tratados na modelagem.

Figura 4 - Passo Executar Aplicação Discussão - Trabalhos Correlatos Diferentes abordagens têm sido utilizadas na área de DBC, como o Rational Unified Process (RUP) [2] e UML Components [3]. A ferramenta Rational Rose [17] tem sido usada como principal mecanismo para execução destes processos. Contudo, tanto o RUP como UML Components, não tratam com detalhes a implementação do componente, como no caso da abordagem proposta. A CASE Bold, é outro exemplo, de ferramenta voltada para a construção de componentes dirigidas pelo modelo (Model Driven Application - MDA) [18]. Contudo, diferente da abordagem proposta, que permite utilizar diferentes linguagens de implementação devido à capacidade do ST Draco, e a ferramenta Bold atualmente tem versões para Delphi e C++. Existem também vários ambientes integrados para desenvolvimento de componentes e suas aplicações, como o Eclipse[19], NetBeans[20], JBuilder, C++Builder e o próprio Delphi. Contudo normalmente estes ambientes estão centrados em uma única linguagem e alguns não enfocam a modelagem. Em resumo, a abordagem proposta diferencia dos trabalhos citados porque: Combina diferentes tecnologias, automatizando o processo de geração de código, através das ferramentas MVCASE e Draco-PUC; Permite trabalhar com diferentes domínios suportados pelo ST Draco; Possibilita que os componentes sejam reutilizados, tanto na MVCASE, a partir dos seus modelos disponíveis no framework, como no ambiente Delphi; e Permite a integração e consistência entre os modelos dos componentes e suas implementações. Conclusões Este artigo pesquisou uma abordagem para a construção e reutilização de componentes de software com implementação em Delphi, que pode contribuir para redução de custos e melhoria de produtividade de software. A abordagem foi utilizada para a construção de um framework do domínio de cardilogia. Diferentes aplicações, semelhantes à do estudo de caso, foram desenvolvidas para testar os componentes e a abordagem proposta. A abordagem contribui para tornar mais confiável todo o processo de desenvolvimento de software baseado em componentes. Referências 1. Krueger, C.; Software Reuse, ACM Computing Surveys, vol. 24, no 2, Junho 1992. 2. Jacobson, I., et. Al. The Unified Software Development Process. USA-2001. 3. Cheesman, J., Daniels, J. UML Components. Addison-Wesley. USA-2000. 4. Pressman, R. S. Software Engineering. McGraw-Hill, 2001. 5. Catalysis. Catalysis Enterprise Components.with UML.http://www.catalysis.org. 6. Software Engineering Institute (SEI). Domain Analysis. http://www.sei.cmu.edu. 7. Lucrédio, D., Prado, A. F. Ferramenta MVCASE, XV SBES-2001. 8. Rumbaugh, J., Jacobson, I., Booch, G. The UML Reference Manual, 1999. 9. Neighbors, J.M. The Draco approach to Constructing Software from Reusable Components. IEEE Transactions on Software Engineering. v.se-10, n.5, pp.564-574, September, 1984. 10. Borland/Inprise. Visual Component Library Reference - 2002.

11. Moraes, J. L. C., Prado, A. F. I WIM - Framework de Cardiologia baseado em. XV SBES-2001. Rio de Janeiro- RJ, Brasil. 03-05 de Outubro, 2001. 12. Moraes, J. L. C.,Prado, A. F. Framework de do Domínio de Cardiologia. II - JIISIC/2002 - Sessão Técnica(4), Artigo nº1, 2002, Salvador Brazil. 13. Moraes, J. L. C., Prado, A. F. Reutilização de do Framework do Domínio de Cardiologia (FrameCardio). II WIM-2002 - Sessão Técnica(4), Artigo nº3. 14. Moraes, J. L. C., Bossonaro, A. A., Prado, A. F. Desenvolvimento de um Framework, baseado em componentes, do domínio de Cardiologia. VIII CBIS-2002, Natal-Brasil. 15. Moraes, J. L. C., Prado, A. F. Automatic ObjectPascal Code Generation from Catalysis Specifications. CLEI Eletronic Journal, Dez 2002. 16. Moraes, J. L. C., Prado, A. F. Geração Automática de Código Delphi a partir de Especificações em Catalysis. XXVII CLEI-2001. Mérida, México. 17. Rational Software Corporation., http://www.rational.com. 18. Object Management Group OMG, http://www.omg.org/mda. 19. Eclipse Platform http://www- 106.ibm.com/developerworks/opensource/library/ os-eclipse.html. 20. Net Beans http://www.netbeans.org/ Contato Nome: João Luís Cardoso de MORAES Profissão: Oficial Exército Brasileiro Escolaridade: Mestrando Ciência da Computação Universidade Federal de São Carlos (UFSCar-SP) Endereço: Rua União 49, LINS-SP CEP 16400-515 Telefone: 14-35325430 / 97252134 Email: moraes.6bil@uol.com.br