quarta-feira, 10 de setembro de 2014

Seminários de 03/09

Olá pessoal!

No dia 03/09 tivemos duas apresentações: a Silvana fez uma prévia de sua quali e o Rafael compartilhou conosco a sua experiência no doutorado sanduíche. Os detalhes de cada apresentação, incluindo os slides, são dados a seguir.

Aluna: Silvana Morita Melo
Título: Definição de um Framework para Avaliação Sistemática de Técnicas de Teste no Contexto de Software Concorrente (slides)
Resumo: Várias propostas existem para apoiar o teste de programas concorrentes. De uma maneira geral, as propostas exploram a análise estática ou dinâmica, o paradigma de passagem de mensagem ou memória compartilhada, a linguagem de programação e o uso de padrões. Esses trabalhos tratam de diferentes abordagens de teste como: injeção de falhas, verificação formal, desenvolvimento dirigido a teste, execução controlada, teste de mutação, teste baseado em modelos, teste estrutural, análise simbólica, teste baseado em busca, teste de concorrência probabilística, teste de alcançabilidade e geração de casos de teste. Apesar de existirem diversas soluções, não há ainda um corpo de evidências consolidado que possibilite aos desenvolvedores de aplicações concorrentes na indústria e academia selecionar quais as técnicas, ferramentas e estudos disponíveis, apresentam as melhores relações custo/benefício, quando estes são incorporados à atividade de teste da organização. Este trabalho irá investigar as principais alternativas para a atividade de teste que vêm sendo empregadas no contexto de aplicações concorrentes, a fim de desenvolver um framework para auxiliar a avaliação sistemática dessas técnicas, facilitando a realização de estudos futuros e, principalmente, ajudando os profissionais da academia e da indústria a selecionar a melhor técnica/ferramenta de teste considerando diversos fatores de qualidade como satisfação, custo, eficácia e eficiência.


Aluno: Rafael Oliveira
Título: Estágio sanduíche na University of Maryland (College Park, MD, USA) (slides)
Resumo: Este seminário visa a compartilhar as atividades técnicas e as experiências vividas pelo aluno de doutorado Rafael Oliveira durante um ano de estágio sanduíche na Universidade de Maryland (UMD). Localizada entre as cidades de Washington-D.C. e Baltimore-MD, a singularidade em diversas áreas de pesquisa da universidade desperta a atenção de estudantes de várias regiões dos Estados Unidos e do mundo. Rafael, que é orientado pelo Prof. Márcio Delamaro, realizou colaboração de pesquisa entre o ICMC e a UMD sob supervisão Prof. Atif Memon, especialista em teste de sistemas baseados em eventos.

Muito obrigada a todos que participaram! Em especial, agradeço à Silvana e ao Rafael. As duas apresentações foram muito interessantes, principalmente para aprendermos sobre situações pelas quais passaremos um dia na Pós-Graduação: o exame de qualificação e o estágio sanduíche.

Para finalizar, algumas fotos tiradas pelo fotógrafo oficial dos eventos do LabES, Thiago Gottardi:





Até o próximo!

segunda-feira, 1 de setembro de 2014

Seminários do dia 20/08

Student: Silverio Martínez-Fernández 

Title: Towards Guidelines for Building a Business Case and Gathering Evidence of Software Reference Architectures in Industry


Abstract: Software reference architectures are becoming widely adopted by organizations that need to support the design and maintenance of software systems of a shared domain. For organizations that plan to adopt this architecture-centric approach, it becomes fundamental to analyze the return on investment and to understand how software reference architectures are designed, maintained, and used. Unfortunately, there is little evidence-based support to help organizations with these challenges. In this talk, we describe the context and results obtained in an industry-academia collaboration between GESSI, our research group, and everis, an IT consulting firm with more than 10,000 employees that run software reference architecture projects. The main results of this collaboration have been: (a) REARM, a reuse-based economic model for software reference architectures; and (b) industrial evidence about the benefits and drawbacks as well as the artifacts of software reference architectures. The final goal of this research is to construct empirically-grounded guidelines that support organizations to decide on the adoption of software reference architectures and to gather evidence to improve RA-related practices. We will present how the results from our industry-academia collaboration are being packaged in order to create guidelines that could be used in similar contexts as the one of everis. Finally, lessons learned from our industry-academia collaboration will be presented.

Slides: <aqui>

Aluno: Ricardo Ramos de Oliveira
Título: Investigação de uma Abordagem para o Teste como Serviço (TaaS) na Computação em Nuvem

Resumo: A computação em nuvem está abrindo novos horizontes de oportunidade para o teste de software. Os testes baseados em nuvem têm o potencial de oferecer uma atraente combinação de menores custos, pagamento por uso e eliminação de despesas de capitais iniciais com infraestrutura, licenças de ferramentas, configuração e manutenção de ambientes de teste. A redução de custos é o principal fator que influencia as empresas na adoção da nuvem. A computação em nuvem não só mudou a forma de obtenção de recursos de computação, como também a forma de gerenciar e principalmente entregar serviços de computação, tecnologias e soluções. Do mesmo modo, o Teste como Serviço (Testing as a Service, TaaS) é considerado como um novo modelo de negócio e de serviço que proporciona uma maneira eficiente e eficaz de garantir a qualidade do teste de software permitindo atender aos padrões de qualidade, requisitos e necessidades dos consumidores por meio da internet. Neste contexto, é sabido que a computação em nuvem também facilita e oferece oportunidades para o desenvolvimento de técnicas de teste de software mais eficazes e escaláveis. Todavia, existem diversos novos problemas que limitam a utilização dessas novas tecnologias de maneira efetiva, tais como a falta de padronização na criação dos testes e de interoperabilidade entre as plataformas de TaaS, ocasionando o  lock-in, ou seja,  o aprisionamento do usuário ao fornecedor específico ou serviço de teste, causado pela dificuldade em migrar os testes de um provedor TaaS para outro. Partindo dessas limitações, o objetivo deste trabalho é investigar uma solução para o problema conhecido por lock-in no contexto de Teste como Serviço (TaaS) por meio da abordagem de uma especificação padrão de referência, a nível de protocolo HTTP. Assim, pretende-se possibilitar a execução de testes funcionais de uma aplicação que ao mesmo tempo seja independente de linguagem de programação e das tecnologias do fornecedor TaaS, e permitir, dessa forma, maior flexibilidade com o desacoplamento entre ambas as entidades.

Seminários do dia 25/06

Título: Definição de um modelo de processo de desenvolvimento para software orientado à ontologia
Aluna: Joice Basílio Machado Marques
Orientadora: Prof. Dra. Ellen Francine Barbosa

Resumo: O desenvolvimento de software orientado à ontologia tem aumentado em virtude dos benefícios obtidos por meio do uso das ontologias e devido aos novos cenários de desenvolvimento. Em um software orientado à ontologia a ontologia desempenha um papel central e orienta todos os componentes do software.  Este software apresenta particularidades que não estão presentes, de forma integrada, nas especificações dos processos de software atuais. O objetivo desta pesquisa é definir um processo de desenvolvimento para software orientado à ontologia. Para tal, faz-se necessário estabelecer a associação entre as boas práticas da engenharia de software e da engenharia de ontologias, de forma que o processo seja fácil de ser aplicado, factível de ser extensível, simples e adaptável para o contexto da aplicação. Neste trabalho será apresentada a primeira definição do modelo de processo de desenvolvimento para software orientado à ontologia, em andamento no projeto de doutorado. Foram definidas as atividades, metas e tarefas para guiar e orientar a equipe de desenvolvedores, incluindo os papéis dos engenheiros de software e dos engenheiros de ontologia, que serão apresentados no decorrer da explanação.

Slides: <aqui>

Título: Uma contribuição à formalização semântica da UML
Aluno: Vinícius Pereira
Orientador: Prof. Dr. Marcio E. Delamaro

Resumo: As aplicações de sistemas embarcados são diferentes das aplicação de computadores de propósito geral, como o computador pessoal. Isso se deve ao fato de que um sistema embarcado realiza um conjunto de operações predefinidas, baseado em requisitos específicos. Uma vez em produção, dificilmente essas operações sofrem alterações. Por isso, é necessário que suas aplicações possuam um alto nível de segurança e confiabilidade. Uma das formas de buscar isso é através da verificação e validação de modelos criados para auxiliar na especificação, análise e projeto dessas aplicações. Nessa área de modelagem, a UML é a linguagem mais utilizada devido ao seu reconhecimento dentro da computação. Apesar da sua grande variedade de diagramas, a UML não possui uma formalização semântica bem definida. Tendo esse problema em vista, muitos pesquisadores propuseram, no decorrer dos anos, maneiras de formalizar semanticamente a UML. Porém, essas tentativas têm foco em subconjuntos da UML e envolvem restrição para o uso prático das mesmas. Visando abordar esse problema, foi proposta a MADES UML, um subconjunto da UML que utiliza lógica temporal para formalizar um alguns diagramas UML). Este projeto de doutorado visa contribuir com a MADES UML, ao definir uma técnica de rastreabilidade que permita apresentar os resultados obtidos pela etapa de verificação formal dentro dos próprios modelos UML. Essa característica não é comum de ser encontrada nos trabalhos que formalizam à UML, sendo que a grande maioria têm foco apenas na transformação do modelo UML para um modelo formal. Será apresentado no seminário o estado atual da técnica de rastreabilidade em desenvolvimento e os próximos passos.

Slides: <aqui>

Seminários do dia 21/05

Palestrante: Lucas Bueno Ruas de Oliveira
Orientadora: Elisa Nakagawa

Título: Towards a Taxonomy of Services for Developing Service-Oriented Robotic Systems

Resumo: Robotic systems have been increasingly adopted in several sectors of the society. To cope with this demand and diversity, researchers have investigated the Service-Oriented Architecture (SOA) to develop such systems. SOA promotes interoperability between software modules and heterogeneous hardware devices, and a better reusability and flexibility for robotic systems. However, due to the lack of a common understanding on how services for robotic systems should be designed, described and also classified, these services are sometimes difficult to be used in other projects, reducing the potential of reuse provided by SOA. The main contribution of this paper is to propose a taxonomy of services for robotic systems that was based on results of a systematic review, reference architectures, and knowledge of specialists. Results have pointed out that our taxonomy is an important element to organize different types of services, what can promote reuse and productivity in the development of robotic systems.

Slides: <aqui>


Palestrante: Rafael Serapilha Durelli
Orientador: Márcio Delamaro
Título: Uma Abordagem de Modernização de Sistemas Legados Guiada por Modelos de Referência

Resumo: Sistemas legados (SL) possuem inúmeras regras de negócio e acomodam conhecimento de anos e são vitais para as organizações, porém, apresentam sérios problemas de manutenção. Uma forma de melhorar a qualidade de um SL é submetê-lo a um processo de modernização, cujo objetivo pode variar desde melhorar sua modularização, modificar sua arquitetura e plataforma, ou até mesmo usar uma combinação dessas técnicas. Em geral atividades de modernização são conduzidas sem uma clara especificação do problema existente e da solução desejada, resultando em falhas em consequência da falta de padronização e de interoperabilidade entre ferramentas. Assim, a OMG (Object Management Group) cunhou o termo Architecture Driven Modernization (ADM), que consiste em um conjunto de metamodelos, que são  padronizações sobre as quais pode-se aplicar refatorações, calcular métricas e recuperar conhecimento de SL. Entre esses metamodelos tem-se o Knowledge Discovery Metamodel (KDM), que tem como objetivo representar artefatos de um SL e definir a interoperabilidade entre diferentes ferramentas de modernização. O objetivo neste projeto é o desenvolvimento de uma abordagem que recomende diversos cenários alternativos  de modernização para um SL. Assim, o engenheiro de software responsável poderá averiguar quais dos cenários é o mais adequado e, após a escolha, o sistema deverá ser modernizado automaticamente. Como contribuições principais,
deverá ser desenvolvido um modelo de referência e um conjunto de refatorações para o KDM. O modelo de referência consiste em uma DSL que seja possível especificar as características esperadas para o sistema após sua modernização, isto é deverá ser possível especificar o sistema alvo. O conjunto de refatorações deverá permitir transformar uma instância do KDM que representa o SL em uma nova instância aderente ao modelo de referência. Deverá ser desenvolvido um apoio automatizado que mostrará quantitativamente a porcentagem de atendimento desses cenários ao modelo de referência. Assim, o engenheiro poderá escolher um dos cenários, e o sistema deverá ser automaticamente gerado.

Slides: <aqui>