160 likes | 258 Views
Iniciação Científica Visual # Tool. Bolsista: Rodrigo Cavalcante Mendes Orientadores: Francisco Heron de Carvalho Junior Rafael Dueire Lins. Roteiro. Motivação Conceitos Principais O que é Visual # Tool Processo de Desenvolvimento VHT Hoje Ambiente Visual Haskell Tool em Imagens
E N D
Iniciação CientíficaVisual # Tool Bolsista: Rodrigo Cavalcante Mendes Orientadores: Francisco Heron de Carvalho Junior Rafael Dueire Lins Cin - Centro de Informática - Universidade Federal de Pernambuco – UFPE
Roteiro • Motivação • Conceitos Principais • O que é Visual # Tool • Processo de Desenvolvimento • VHT Hoje • Ambiente Visual Haskell Tool em Imagens • Avaliação da Iniciação Científica • Conclusão • Trabalhos Futuros Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Motivação • Soluções e aplicações que requerem paralelismo estão sendo cada vez mais disseminados. • Modelos existentes sem um bom grau de abstração e carente em boas praticas de engenharia de software como reuso e portabilidade. • Carência de ferramentas CASE que dêem suporte a um ambiente de desenvolvimento de alta produtividade. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Conceitos Principais • Modelo # • Elaborado como uma iniciativa de ser uma opção para o desenvolvimento de aplicações e soluções que requerem recursos de paralelismo. • Oferece o recurso de programação em alto nível. • Fundamentada em modelos formais de redes de Petri. • Aspectos de qualidade e produtividade provenientes da engenharia de software como modularidade e reuso estão entre alguns dos fundamentos em que o modelo propõe adotar. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Conceitos Principais • Componentes • Abstrações para as entidades do modelo # que implementam funções, que quando compostas descrevem as computações realizadas pelo programa paralelo. Preferencialmente, cada componente implementa uma certa funcionalidade específica. • Unidades (Units) • Unidades constituem abstrações para entidades executáveis (processos) em programas paralelos. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Conceitos Principais • Configurações (Configurations) • Uma configuração é um programa que define um componente composto. É constituída de declarações de entidades (componentes, interfaces, unidades e canais) e as relações entre estas, constituindo uma rede de unidades. • Interfaces • Representa as informações essenciais para caracterização, em nível de coordenação, do comportamento dos processos que compõem um programa paralelo. É definida por uma coleção de portas de entrada e saída. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
O que é Visual # Tool • Ferramenta CASE que tem como o objetivo gerar código na linguagem Haskell # a partir de componentes visuais. • Propõe integrar diferentes aplicações já existentes. • Suporta o modelo #. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Processo de Desenvolvimento • Primeira Fase • Definir linguagem de desenvolvimento. • Definir estrutura de armazenamento. • Geração de protótipos para validação do modelo. • Divisão do projeto em dois: Ambiente Visual e geração de código XML e módulo de Integração com outras ferramentas. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Processo de Desenvolvimento • Segunda Fase • Refactoring na Arquitetura. • Refactoring de algumas entidades do modelo #. • Exportação do projeto VHT em XML. • Implementação de novas funcionalidades. • Geração de protótipos para validação do modelo. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
VHT Hoje • Suporta as principais entidades do modelo #. • A maioria das funcionalidades, relacionadas as entidades implementadas, disponíveis. • Exportação e importação parciais em XML dos projetos. • Falta de integração com aplicações (ferramentas) existentes. • Projeto descontinuado parcialmente. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Ambiente Visual # Tool em Imagens Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Ambiente Visual # Tool em Imagens Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Avaliação da Iniciação Científica • Pontos Positivos • Participar da discussão sobre o modelo #. • Estudar conceitos de Engenharia de Software • Participar do planejamento e implementação do módulo de ambiente de desenvolvimento visual. • Pontos Negativos • Excesso de refactoring e remodelagem. • Evolução e implementação dependente da tese de Heron. • Falta de coordenação do projeto. • Não ter uma versão estável disponível. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Conclusão • A proposta do módulo # em promover o desenvolvimento de aplicações paralelas de forma mais simples e em alto-nível, contribui para o uso dessa técnica. • Ambiente Visual com uma interface amigável e parcialmente aderente ao modelo #. • Falta de gerenciamento e integração entre as equipes dificultou o desenvolvimento e conhecimento geral sobre a ferramenta. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
Trabalhos Futuros • Elaborar uma arquitetura mais adequada. • Integração do módulo de ferramentas externas. • Implementação de mais funcionalidades. Rodrigo Cavalcante Mendes {rcm2@cin.ufpe.br}
ObrigadoDuvidas? Mais Informações: Cin - Centro de Informática - Universidade Federal de Pernambuco – UFPE