Iniciação Científica Visual # Tool Bolsista: Rodrigo Cavalcante Mendes Orientadores: Francisco Heron de Carvalho Junior Rafael Dueire Lins 2005 Cin - Centro de Informática Universidade Federal de Pernambuco – UFPE Roteiro 2005 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 {[email protected]} Motivação 2005 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 {[email protected]} Conceitos Principais 2005 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 {[email protected]} Conceitos Principais Componentes Unidades (Units) 2005 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 constituem abstrações para entidades executáveis (processos) em programas paralelos. Rodrigo Cavalcante Mendes {[email protected]} Conceitos Principais Configurações (Configurations) Interfaces 2005 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. 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 {[email protected]} O que é Visual # Tool 2005 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 {[email protected]} 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. 2005 Rodrigo Cavalcante Mendes {[email protected]} 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. 2005 Rodrigo Cavalcante Mendes {[email protected]} VHT Hoje 2005 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 {[email protected]} Ambiente Visual # Tool em Imagens 2005 Rodrigo Cavalcante Mendes {[email protected]} Ambiente Visual # Tool em Imagens 2005 Rodrigo Cavalcante Mendes {[email protected]} Avaliação da Iniciação Científica Pontos Positivos Pontos Negativos 2005 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. 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 {[email protected]} 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. 2005 Rodrigo Cavalcante Mendes {[email protected]} Trabalhos Futuros Elaborar uma arquitetura mais adequada. Integração do módulo de ferramentas externas. Implementação de mais funcionalidades. 2005 Rodrigo Cavalcante Mendes {[email protected]} Obrigado Duvidas? Mais Informações: 2005 [email protected] [email protected] [email protected] [email protected] Cin - Centro de Informática Universidade Federal de Pernambuco – UFPE