Projetos de Pesquisa

Desde 1992, a Equipe de Reutilização de Software desenvolve projetos de pesquisa em Engenharia de Software. Alguns destes projetos incluem:

SoftVisInt: Visualização e Interação no Desenvolvimento de Software (CNPq, 2015-2019)

Neste projeto, abordamos o tema: Visualização e Interação no Desenvolvimento de Software. Desde sempre, o ser humano busca por formas inovadoras de acessar e manipular informações. Em ambientes com tarefas variadas, interpretar a grande quantidade de informações disponíveis acaba sendo um objetivo complexo. Técnicas e recursos de visualização de informação se tornam alternativas interessantes para acompanhar os resultados nesse tipo de situação. Outro aspecto importante a ser considerado diz respeito às restrições tecnológicas de acesso, representação e interação com a informação. Atualmente, existem diversos recursos tecnológicos que podem ser utilizados para gerir a informação, permitindo o acesso, manipulação e produção de informação, tais como a internet, os dispositivos móveis (smartphones, tablets etc.) e redes sociais, dentre outros. Um dos recursos a ser utilizado diz respeito às tecnologias de Realidade Virtual (RV) e Realidade Aumentada (RA). Está envolvida no projeto a UFJF. Link: http://reuse.cos.ufrj.br/softvisint/

Facilitando a Autoria de Aplicações de Governo Eletrônico para o Sistema Brasileiro de TV Digital (FAPERJ/ Edital Canal Rio Poupa Tempo, 2013-2015)

Os principais objetivos do projeto Canal Rio Poupa Tempo são: desenvolvimento de um ambiente gráfico para facilitar a autoria de programas NCL; desenvolvimento de uma ferramenta de análise de consistência de aplicações NCL; desenvolvimento de um framework para facilitar a implementação de jogos para o SBTVD e desenvolvimento da aplicação interativa Canal Rio Poupa Tempo, oferecendo o programa do Governo do Estado do Rio de Janeiro, chamado Rio Poupa Tempo, através do SBTVD.

NoMídia: Promovendo o Uso de Novas Mídias no Acesso e Manipulação de Informações para Promoção do Conhecimento (FAPERJ/Edital Cientistas do Nosso Estado, 2013-2015)

Com focos tanto para a educação e divulgação de conteúdo como para o desenvolvimento de software, este projeto propõe algumas abordagens em múltiplos caminhos, mas convergentes no objetivo global. Recursos de realidade aumentada e virtual, presentes em áreas distintas, serão investigados para otimizar a interação com informações didáticas. Métricas e dados de contexto de desenvolvimento de software serão aplicados para uma melhor representação e gestão das atividades envolvidas, na perspectiva de diferentes stakeholders. Análises de ecossistemas de software deverão ser apoiadas por meio de técnicas de visualização. Por fim, uma plataforma que dá ao usuário o papel ativo na seleção e produção do conteúdo audiovisual em uma rede horizontal será estruturada. Com isso, pretende-se demonstrar a capacidade de novas mídias serem empregadas na interação com informações e gerarem conhecimento em diferentes contextos.

UbiStructure - Uma infra-estrutura de desenvolvimento e execução de aplicações ubíquas (CNPq/Edital Universal, 2012-2014)

O objetivo desse novo projeto, denominado UbiStructure, é utilizar as ideias que foram propostas durante o projeto MobiLine e criar um ambiente de desenvolvimento e execução para aplicações móveis e sensíveis ao contexto utilizando Linhas de Produtos de Software, que contemple os vários ciclos propostos no MobiLine. Para isso, muitas questões não tratadas anteriormente serão exploradas e tem enfoque nos aspectos de dependabilidade, qualidade de software, aquisição de contexto e de configuração otimizada de um produto.

Projeto CDSoft (CNPq, 2011-2015)

Este projeto tem como objetivo definir uma abordagem e desenvolver um ferramental de apoio à adaptação de processos de software com as seguintes características: (i)balanceamento entre os aspectos de colaboração e disciplina dos modelos de desenvolvimento de software; (ii) sistemática para realizar a adaptação de processos baseada em uma estrutura de reutilização de processos; (iii) dinamicidade para evoluir ao longo do tempo e se adequar ao contexto da organização, do projeto e da equipe. Para apoiar o gerente de projeto na tomada de decisão sobre a melhor forma de adaptar o processo específico para o projeto e construir uma solução com todas as características descritas na seção anterior, este projeto se diferencia ao propor a combinação de diferentes técnicas e tecnologias. Está envolvida no projeto a UNIRIO. Link: http://reuse.cos.ufrj.br/cdsoft/

CiclExp - Apoio ao Ciclo de vida de Experimentos científicos (CNPq - Edital Universal)

Para que experimentos científicos em larga escala possam ser gerenciados, é necessário que um conjunto de funcionalidades esteja presente. Dentre estas, estão o apoio à concepção dos workflows científicos e sua posterior instanciação num SGWfC (Sistema de Gerência de Workflows Científicos), a reutilização de workflows previamente concebidos por outros cientistas, o controle sobre a evolução das diferentes versões dos workflows e a coleta de informações que permitam identificar a proveniência dos dados gerados pela execução dos workflows científicos. Em particular é muito importante que a exploração visual de dados resultantes de workflows esteja associada a dados de proveniência do workflow. É fundamental que essas funcionalidades estejam atreladas ao experimento científico que está sendo conduzido por uma equipe de cientistas.

Projeto Tec3ES (CNPq - Edital Universal)

O objetivo deste projeto é investigar e desenvolver pesquisas em torno de abordagens, metodologias e estratégias de ensino de Engenharia de Software (ES), com o intuito de facilitar e ampliar o conhecimento do estudante no desenvolvimento da sua capacidade de elaboração de projetos de software mais complexos e próximos aos utilizados na indústria. Estas pesquisas devem fornecer aos envolvidos no processo de ensino e aprendizagem de ES, diretos (professores, pesquisadores e estudantes) e indiretos (profissionais), maneiras de motivar e melhorar o aprendizado dos novos recursos humanos para a área de ES. A idéia consiste em incrementar o processo de aprendizado e a tomada de decisões, considerando a realização de simulações e o tratamento de questões de colaboração entre estudantes e professores, de modo prático e estimulante para o aluno, por meio da aplicação de novas tecnologias tais como Realidade Virtual e Aumentada, TV Digital e Interativa, e Jogos e Simulação e da exploração de estratégias, tais como Aprendizagem Colaborativa Apoiada por Computador, Ambientes Virtuais de Aprendizagem, Aprendizagem Baseada em Problema e Educação à Distância, acarretando uma melhoria na qualidade do ensino. Além disso, busca-se criar, manter e retro-alimentar um corpo de conhecimento, uma comunidade integrada de educadores e uma comunidade de pesquisadores em educação em ES no Brasil. Estão envolvidas a Universidade Federal Fluminense e a Universidade Federal de Lavras.

Técnicas e Ferramentas de Apoio à Reutilização de Software (FAPERJ - Edital Cientistas do Nosso Estado)

O objetivo principal deste projeto é dar continuidade à exploração de técnicas e desenvolvimento ferramentas que dêem apoio à Reutilização de Software, particularmente nos contextos da Engenharia de Domínio e do Desenvolvimento Baseado em Componentes. Dentre as técnicas propostas, se encontram: gerência de configuração e reutilização de processos de software, recuperação de arquitetura de software, projeto arquitetural de domínio baseado em componentes e linhas de produto de software. O projeto envolve as seguintes metas de pesquisa tecnológica: (i) continuidade dos trabalhos relacionados à gerência de configuração e reutilização de processos de software, (ii) definição de uma abordagem para integração entre recuperação de arquitetura e projeto arquitetural de domínio baseado em componentes, (iii) exploração de técnicas para a gerência de evolução de linha de produtos, e (iv) especificação de uma solução para linha de produtos de software sensíveis ao contexto.

Tecnologias para Educação em Engenharia de Software (CNPq/NSF)

O objetivo deste projeto é investigar e desenvolver pesquisas em torno de abordagens, metodologias e estratégias de ensino de Engenharia de Software (ES), com o intuito de facilitar e ampliar o conhecimento do estudante no desenvolvimento da sua capacidade de elaboração de projetos de software mais complexos e próximos aos utilizados na indústria. A idéia consiste em incrementar o processo de aprendizado e a tomada de decisões, considerando a realização de simulações e o tratamento de questões de colaboração entre os estudantes e os professores, de modo prático e interessante para o aluno, por meio da aplicação de novas tecnologias, tais como Realidade Aumentada e TV Digital e Interativa, e da exploração de estratégias, tais como Aprendizagem Colaborativa Apoiada por Computador, Design Criativo, Ambientes Virtuais de Aprendizagem, Aprendizagem Baseada em Problema e Educação à Distância, acarretando uma melhoria na qualidade do ensino. Trata-se de um projeto de colaboração CNPQ/NSF, entre a COPPE/UFRJ e a Universidade da Califórnia (UCI), em Irvine, incluindo ainda a UFF.

Rede de Políticas Públicas (FAPERJ - PRONEX)

A questão proposta no presente projeto está associada aos efeitos de políticas públicas na transformação da coesão social no Estado do Rio de Janeiro. O ponto de partida considera a compreensão da ação como categoria central da política. Serão examinadas três dimensões da política: a primeira está associada aos atores; a segunda, aos processos; e a última, ao objeto da ação. Os atores podem ser instituições governamentais, organizações sociais e capitais privado, ou todos juntos associados em redes na transversalidade dos campos. Sendo que os processo são definidos por verticalidades e horizontalidades para a tomada de decisão política no que e refere à políticas públicas setoriais como : planejamento urbano e regional, políticas sociais, culturais, ambientais, de criação de emprego e renda, para citar as mais importantes. Nosso objetivo, portanto, é identificar, mapear, pensar, compreender e divulgar os reais efeitos das políticas públicas, compreender se elas são produzidas para o bem ou para o mal e se os seus atores governam para todos ou para si próprios.A metodologia esta concebida para fazer a analise de programas em suas singularidades para analisar seus reais efeitos sobre a coesão social e a transformação das relações de poder sobre o território e o papel das TICs neste contexto.

AutorTVD-Reuse (FAPERJ - Edital Pensa Rio)

Projeto de desenvolvimento de novas linguagens declarativas para facilitar a autoria de programas NCL através da reutilização de software; desenvolvimento de aplicações interativas e jogos para o sistema brasileiro de TV digital; desenvolvimento de editores gráficos como ferramentas de apoio à autoria. O projeto contribui com a formação de recursos humanos especializados em desenvolvimento de aplicações para TV digital e disponibiliza novas linguagens e ferramentas estratégicas para o fortalecimento da indústria de software do Estado do Rio de Janeiro nesta área. Projeto realizado em parceria com a Universidade Federal Fluminense.

Rede de Políticas Públicas para Tecnologias de Educação (CAPES - Edital PROUCA)

A proposta do presente projeto de pesquisa está associada a análise de novas formas de comunicação, mediadas por tecnologias de informação sobre a educação na cidade do Rio de Janeiro. O ponto de partida considera a comunicação, como a ação que coloca em comum, são os fios invisíveis da comunicação que formam o tecido social e dão sentido comum ao mundo. A educação forma o cidadão para a ação em suas dimensões objetivas e subjetivas. Quando a comunicação cessa, temos o esgarçamento do tecido social e a instalação da violência.

MobiLine: Uma Linha de Produtos de Software para o Desenvolvimento de Aplicações Móveis e Sensíveis ao Contexto

Projeto em desenvolvimento pela parceria entre o Grupo de Redes de Computadores, Engenharia de Software e Sistemas (GREat) , DC/UFC e o Grupo de Reutilização de Software, COPPE/UFRJ. O objetivo deste projeto é investigar as características particulares existentes no desenvolvimento de software móvel sensível ao contexto para a construção de uma linha de produtos para este domínio. Em especial, o projeto considera como foco para o aumento da produtividade e qualidade no desenvolvimento desse tipo de software, a aplicação de técnicas que possibilitem uma reutilização de forma sistemática. Esta linha de produtos de software servirá como apoio ao engenheiro de software em todas as fases de desenvolvimento, além de possibilitar a utilização e construção de artefatos reutilizáveis.

GExp - Gerência de experimentos científicos em larga escala

A motivação principal desse projeto está no apoio computacional ao desenvolvimento de ciência em larga escala. Mais especificamente visamos a enfrentar os desafios na gerência dos recursos distribuídos inerentes ao desenvolvimento de ciência hoje em áreas como bioinformática e de engenharia do petróleo. Essa motivação está explicitamente identificada no desafio 2 dos Grandes Desafios da Computação onde é dito que: O objetivo deste desafio é criar, avaliar, modificar, compor, gerenciar e explorar modelos computacionais para todos esses domínios e aplicações.

Conciliando Tecnologias de Produção, Gestão e Colaboração a Projetos de Software Livre

O principal objetivo deste projeto de pesquisa conjunto entre a COPPE/UFRJ e o PPGI/UNIRIO é realizar a integração dos históricos, resultados e esforços de pesquisa em Engenharia de Software Colaborativa, Desenvolvimento Baseado em Componentes, Evolução de Projetos de Software, Gestão de Conhecimento e Estudos Experimentais em Engenharia de Software realizados pelos grupos envolvidos nesta proposta, com o intuito de analisar o processo produtivo de software livre, buscando caracterizar modelos de produção, colaboração e gestão que promovam sua conciliação com práticas tradicionais de produção de software, sugerindo ferramental de apoio e avaliando sua aplicação.

Projeto Brechó - Biblioteca de Componentes e Serviços de Software .

COPPE/UFRJ, CNPq, 2006-2008. O objetivo do projeto é explorar as questões que dificultam o amadurecimento de um mercado nacional de componentes de software reutilizáveis efetivo, considerando as pesquisas acerca das bibliotecas de componentes e serviços de software como um dos focos para a superação dos entraves a este amadurecimento. O principal subproduto previsto para o projeto consiste na especificação e desenvolvimento de um sistema de biblioteca para Internet, baseado na análise de características consideradas importantes para atender algumas das questões que dificultam o amadurecimento do mercado nacional de componentes.

Ambiente Computacional Integrado de Análise, Simulação e Visualização de Bacias Sedimentares e Sistemas Petrolíferos em Águas Profundas

COPPE/UFRJ, HP, FINEP, 2005-2006. O objetivo principal do projeto é o desenvolvimento de um sistema computacional que integre workflows de análise, modelagem, simulação e visualização de bacias sedimentares e sistemas petrolíferos. O projeto é desenvolvido de forma multi-disciplinar e inclui diferentes áreas de conhecimento e tecnologias emergentes como computação de alto desempenho, mineração de dados, modelagem, simulação computacional e engenharia de software.

Projeto Reuse

COPPE/UFRJ, PUCRS, CNPq, 2005-2008. O objetivo principal do projeto envolve a exploração de técnicas e ferramentas de suporte à reutilização de software, em especial, nos contextos de engenharia de domínio e desenvolvimento baeado em componentes. Algumas das técnicas envolvem gerência de configuração de software, recuperação de arquiteturas de software e projeto arquitetural baseado em componentes. Em um contexto mais amplo, questões envolvendo representação e transformação de software serão analisadas

Desenvolvimento Colaborativo de Componentes

COPPE, NCE, PUCRS, UFJF, CNPq, 2001-2005. A partir de resultados de pesquisa anteriores com o Projeto Odyssey, este projeto tem como foco a construção um ambiente de desenvolvimento colaborativo de componentes de software (Odyssey Share), envolvendo tópicos de DBC, CSCW e SGBD (modelagem, agentes cooperativos, repositório de componentes com suporte à percepção). Dois estudos de caso (domínios agropecuário e de ensino a distância) foram realizados utilizando o ambiente Odyssey Share em colaboração com Softex e a UFJF.

Ambientes de Desenvolvimento de Software Baseados em Domínio

COPPE/UFRJ, CNPq, 1997-2000. A pesquisa tem como foco a reutilização de componentes, desenvolvimento baseado em componentes, engenharia de domínio e acesso distribuído a componentes. Um protótipo inicial de um ambiente de reutilização de software baseado em domínio (Odyssey) foi desenvolvido com tecnologia Java.

Projeto Ambar

COPPE/UFRJ, RECOPE - FINEP, 1996-1999. A pesquisa tem como foco um ambiente de desenvolvimento de software para engenharia baseado em reutilização, adaptado do ambiente Memphis.

Projeto Memphis

COPPE/UFRJ, CNPq, 1995-1997. A pesquisa tem como foco a construção de um Ambiente de Desenvolvimento de Software (ADS), com base na instanciação de ambientes pelo TABA, que permita a reutilização de informação durante um processo de desenvolvimento de software orientado a objetos. O processo adotado considera as diretivas estabelecidas pela norma ISO 9000-3, pelo modelo de maturidade (CMM) e assume a utilização do método de BOOCH. Um protótipo inicial, para estações SUN, foi desenvolvido utilizando tecnologia Java.

Projeto ITHACA

Genebra, 1989-1990. A pesquisa tem como foco o desenvolvimento orientado a objetos, bibliotecas de software e desenvolvimento visual de aplicações.

Colaboração UFRJ/CERN

Genebra, 1988-1992. A pesquisa tem como foco linguagens de quarta geração, sistema de seleção de eventos físicos e bibliotecas de software.