Upload
tido4410
View
112
Download
4
Embed Size (px)
Citation preview
Uma Ferramenta de Apoio a Especificacao de Requisitospara Sistemas Autoadaptativos
Gabriel Bronzatti Moro
[email protected]: Joao Pablo Silva da Silva
Universidade Federal do Pampa
8 de julho de 2015
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 1 / 45
Roteiro
1 Introducao
2 Fundamentacao Teorica
3 Base Tecnologica
4 Trabalhos Relacionados
5 Desenvolvimento da Ferramenta
6 Experimento em Ambiente Controlado
7 Demonstracao da Ferramenta
8 Consideracoes Finais
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 2 / 45
Introducao
Roteiro
1 Introducao
2 Fundamentacao Teorica
3 Base Tecnologica
4 Trabalhos Relacionados
5 Desenvolvimento da Ferramenta
6 Experimento em Ambiente Controlado
7 Demonstracao da Ferramenta
8 Consideracoes Finais
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 3 / 45
Introducao
Introducao
Motivacao: carencia de ferramentas tecnologicas que oferecam su-porte a Engenharia de Requisitos para Sistemas Autoadaptativos [16].
Objetivo: desenvolver uma ferramenta de suporte a especificacao derequisitos para Sistemas Autoadaptativos (SA):
1 explorar a linguagem Relax em aspectos semanticos e sintaticos;
2 tornar o formalismo da linguagem transparente;
3 utilizar o Eclipse como plataforma de desenvolvimento.
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 4 / 45
Fundamentacao Teorica
Roteiro
1 Introducao
2 Fundamentacao Teorica
3 Base Tecnologica
4 Trabalhos Relacionados
5 Desenvolvimento da Ferramenta
6 Experimento em Ambiente Controlado
7 Demonstracao da Ferramenta
8 Consideracoes Finais
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 5 / 45
Fundamentacao Teorica
Engenharia de Requisitos
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 6 / 45
Fundamentacao Teorica
Sistemas Autoadaptativos
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 7 / 45
Fundamentacao Teorica
Linguagem Relax
Criada para apoiar os desenvolvedores na especificacao de requisitospara Sistemas Autoadaptativos [16];
Oferece um conjunto de operadores, parametros e propriedades;
Possui semantica definida.
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 8 / 45
Fundamentacao Teorica
Vocabulario Relax
Operadores e Fatores de Incerteza:
Tabela: Tabela de operadores Relax [16].
RELAX Operador Descricao
SHALL deve conterMAY..OR especifica uma ou mais alternativasEVENTUALLY deve conter eventualmenteUNTIL deve garantir eventualmenteBEFORE e, AFTER e deve realizar antes ou depois de um eventoIN t deve realizar durante um intervalo de tempoAS (EARLY, LATE) AS POSSIBLE deve realizar logo que possıvelAS CLOSE AS POSSIBLE TO f algo que acontece repetidamenteAS CLOSE AS POSSIBLE TO q especifica uma quantidade contavelAS (MANY, FEW) AS POSSIBLE especifica uma quantidade contavel
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 9 / 45
Fundamentacao Teorica
Vocabulario Relax
Operadores e Fatores de Incerteza:
Tabela: Tabela de fator de incerteza [16].
Fator Descricao
ENV propriedades que compreendem o ambienteMON propriedades de monitoracao do sistemaREL relacionamento entre ENV e MONDEP dependencias entre os requisitos
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 10 / 45
Fundamentacao Teorica
Sintaxe Relax
Example
φ : = true | false | p | SHALL φ| MAY φ1 OR MAY φ2
| EVENTUALLY φ| φ1 UNTIL φ2
| BEFORE e φ| AFTER e φ| IN t φ| AS CLOSE AS POSSIBLE TO f φ| AS CLOSE AS POSSIBLE TO q φ| AS EARLY, LATE, MANY, FEW AS POSSIBLE φ
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 11 / 45
Fundamentacao Teorica
Exemplo de Aplicacao - Linguagem Relax
Example (RF1 em Linguagem Textual Descritiva)
O frigorıfico deve detectar e comunicar os alimentos com embalagem
Example (RF1 em Linguagem Textual com Operadores- ExpressaoInformal)
O frigorıfico SHALL detectar e comunicar AS MANY os alimentos comembalagens AS POSSIBLE
Example (RF1 em Expressao Gramatica)
SHALL (AS MANY AS POSSIBLE p)
Example (RF1 em Expressao Formal Relax (Fuzzy Branching TemporalLogic))
AGF(∆(p) ∈ S)
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 12 / 45
Base Tecnologica
Roteiro
1 Introducao
2 Fundamentacao Teorica
3 Base Tecnologica
4 Trabalhos Relacionados
5 Desenvolvimento da Ferramenta
6 Experimento em Ambiente Controlado
7 Demonstracao da Ferramenta
8 Consideracoes Finais
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 13 / 45
Base Tecnologica
Processador de Linguagem
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 14 / 45
Base Tecnologica
Processador de Linguagem
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 15 / 45
Base Tecnologica
Plataforma Eclipse para o Desenvolvimento de Plugins
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 16 / 45
Trabalhos Relacionados
Roteiro
1 Introducao
2 Fundamentacao Teorica
3 Base Tecnologica
4 Trabalhos Relacionados
5 Desenvolvimento da Ferramenta
6 Experimento em Ambiente Controlado
7 Demonstracao da Ferramenta
8 Consideracoes Finais
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 17 / 45
Trabalhos Relacionados
Metodologia Aplicada
Questoes de Pesquisa:1 Quais sao as ferramentas existentes para suporte a especificacao de re-
quisitos?2 Quais sao as ferramentas existentes para suporte a especificacao de re-
quisitos de Sistemas Autoadaptativos?
Base de Busca: Google Academico
Criterios:1 trabalhos com no mınimo 6 paginas e publicados entre os anos 2009 a
2014;2 propor algum tipo de ferramenta para Engenharia de Requisitos;3 a ferramenta proposta foi de alguma forma experimentada.
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 18 / 45
Trabalhos Relacionados
Ferramentas de Apoio ao Processo de Engenharia deRequisitos
Diagramacao de Modelos1 STS- Tool : Suporte a Linguagem de modelagem STS de mapeamento
de requisitos de seguranca [3].2 CLSD: Apoio a criacao de diagramas de BrainStorming [4].3 CSAP- Ferramenta grafica para apresentar cenarios de nuvem[11].
Verificacao e Validacao de Requisitos1 FSER: Apoio a validacao automatizada de requisitos [10].
Geracao de Modelos1 PLAORA- gera automaticamente modelos de feature [2].
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 19 / 45
Trabalhos Relacionados
Ferramentas de Apoio ao Processo de Engenharia deRequisitos
Especificacao de Requisitos1 FGD- Relicit: Apoio a especificacao de requisitos [8].
Apoio a Tecnicas Desenvolvidas1 REFINTO- Solucao de apoio ao desenvolvimento de aplicativos de
solucao financeira [7].2 DODT tool-gerencia requisitos de seguranca de maneira automatizada
(utilizando ontologias) [9].3 KROSA tool- Analise automatizada de requisitos para identificar ante-
cipadamente erros/problemas [12].
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 20 / 45
Trabalhos Relacionados
Ferramentas de Apoio ao Processo de Engenharia deRequisitos para Sistemas Autoadaptativos
1 RE-Context: Deteccao automatizada de erros em modelos meta con-textuais, atraves da analise de inconsistencias e de requisitos conflitan-tes [5].
2 CAAS Requirements Elicitation and System Design: Apoia a es-pecificacao das variantes (estado e caracterısticas) dos requisitos levan-tados e a verificacao de requisitos [13].
3 AutoRelax: Automatizacao do processo de analise de modelos ori-entados a metas, gerando as possıveis solucoes em modelos objetivosRelax [14].
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 21 / 45
Desenvolvimento da Ferramenta
Roteiro
1 Introducao
2 Fundamentacao Teorica
3 Base Tecnologica
4 Trabalhos Relacionados
5 Desenvolvimento da Ferramenta
6 Experimento em Ambiente Controlado
7 Demonstracao da Ferramenta
8 Consideracoes Finais
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 22 / 45
Desenvolvimento da Ferramenta
Analise
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 23 / 45
Desenvolvimento da Ferramenta
Projeto
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 24 / 45
Desenvolvimento da Ferramenta
Projeto
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 25 / 45
Desenvolvimento da Ferramenta
Projeto
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 26 / 45
Desenvolvimento da Ferramenta
Implementacao
Utilizacao das tecnologias:
plataforma Eclipse para a criacao de componentes graficos;
biblioteca JDOM para a persistencia da especificacao em XML;
JFlex para o reconhecimento lexico das expressoes;
CUP para a verificacao de sintaxe das expressoes.
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 27 / 45
Desenvolvimento da Ferramenta
Implementacao
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 28 / 45
Desenvolvimento da Ferramenta
Implementacao
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 29 / 45
Desenvolvimento da Ferramenta
Testes
Tabela: Particionamento por equivalencia - testes.
Classe de Equivalencia Testes Escritos
Operador com frequencia ou quantidade escrita numerica 9Operadores com frequencia ou quantidade de escrita somente texto 3Operadores com tempo utilizando limitador ”:” 2Operadores com tempo utilizando nenhum limitador 4Operadores com tempo utilizando o valor por extenso 2Operador BEFORE com evento em verbo 3Operador AFTER com evento em verbo 3Operador BEFORE ou AFTER com mais de um evento associado 3Preposicoes sem operadores associados 9Expressao com operadores em UpperCase 3Expressao com operadores em MixedCase 3Expressao com operadores em LowerCase 29Expressao sem operadores 5Expressao com um ou mais operadores 28
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 30 / 45
Desenvolvimento da Ferramenta
Testes
Tabela: Cobertura dos testes.
Classe Estruturas Cobertas Estruturas Nao Cobertas
AnalisadorLexicoDeRequisito 90.2% 9,8%GeradorDeExpressao 94,2% 5,8%Interpretador 88,7% 11,3%
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 31 / 45
Experimento em Ambiente Controlado
Roteiro
1 Introducao
2 Fundamentacao Teorica
3 Base Tecnologica
4 Trabalhos Relacionados
5 Desenvolvimento da Ferramenta
6 Experimento em Ambiente Controlado
7 Demonstracao da Ferramenta
8 Consideracoes Finais
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 32 / 45
Experimento em Ambiente Controlado
Experimento em Ambiente Controlado
Participantes: 15 desenvolvedores dos cursos de Ciencia da Com-putacao e Engenharia de Software.
Tempo Utilizado: 60 minutos.
Material Disponibilizado: manual do protocolo e o executavel daferramenta.
Ferramenta para Coleta de Resultados: questionario, utilizandoescala likert (1 a 5) para cada atributo de qualidade avaliado.
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 33 / 45
Experimento em Ambiente Controlado
Experimento em Ambiente Controlado
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 34 / 45
Experimento em Ambiente Controlado
Resultados - Experimento em Ambiente Controlado
Tabela: Resultados obtidos.
Atributo de Qualidade Mınima Maxima Media Moda
Utilizacao de recursos da maquina 3 5 4,07 5Tempo de resposta 1 5 4,07 5Operacionalidade 2 5 3,64 4Apreensibilidade 3 5 4,28 4Acuracia 3 5 4,42 5Adequacao 3 5 5 5Confiabilidade 1 5 3,42 3Inteligibilidade 2 5 3,92 4
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 35 / 45
Demonstracao da Ferramenta
Roteiro
1 Introducao
2 Fundamentacao Teorica
3 Base Tecnologica
4 Trabalhos Relacionados
5 Desenvolvimento da Ferramenta
6 Experimento em Ambiente Controlado
7 Demonstracao da Ferramenta
8 Consideracoes Finais
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 36 / 45
Demonstracao da Ferramenta
Demonstracao da Ferramenta
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 37 / 45
Consideracoes Finais
Roteiro
1 Introducao
2 Fundamentacao Teorica
3 Base Tecnologica
4 Trabalhos Relacionados
5 Desenvolvimento da Ferramenta
6 Experimento em Ambiente Controlado
7 Demonstracao da Ferramenta
8 Consideracoes Finais
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 38 / 45
Consideracoes Finais
Consideracoes Finais
Desafios:
manipulacao dos recursos disponibilizados pelo ambiente Eclipse;
utilizacao dos geradores de analise lexica e sintatica.
Aprendizado:
compreender sobre a importancia do processo de Engenharia deRequisitos para Sistemas Autoadaptativos (SAs);
relevancia da linguagem Relax para a especificacao de requisitos paraSAs;
contato com as novas tecnologias.
Resultado Principal: plugin RelaxEditor.Proximo Passo: geracao de um modelo Relax do requisito.
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 39 / 45
Consideracoes Finais
Referencias Utilizadas
Ian Sommerville (2011)
Engenharia de Software
Person
Patrıcia Varela, Joao Araujo, Isabel Brito e Ana Moreira (2011)
Aspect-Oriented Analysis for Software Product Lines Requirements Engineering
AORE
Butler, Bernard and TSSG, Achim Brucker (2011)
Secure and Trustworthy Composite Services
Azevedo, Diogo and Fonseca, Benjamin and Lukosch, Stephan and Jordan, HugoParedes and Janeiro, Robert Owen Briggs (2011)
An Integrative Approach to Diagram-based Collaborative Brainstorming: a CaseStudy
Ali, Raian and Dalpiaz, Fabiano and Giorgini, Paolo (2014)
Requirements-driven deployment
University of Trento
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 40 / 45
Consideracoes Finais
Referencias Utilizadas
Oberdan Alves de Almeida Junior (2013)
Engenharia de Requisitos para Sistemas Auto-Adaptativos
Universidade Federal de Pernambuco
Umoh, Emem and Sampaio, Pedro R Falcone and Theodoulidis, Babis (2011)
REFINTO: An ontology-based requirements engineering framework for business-ITalignment in financial services organizations
IEEE
Zarinah MK, Zarinah MK and Siti Salwah S, Siti Salwah S (2009)
Supporting collaborative requirements elicitation using focus group discussiontechnique
Olawande Daramola, Guttorm Sindre and Tor Stalhane (2012)
Pattern-Based Security Requirements Specification Using Ontologies andBoilerplates
Ito, ML and Fuzii, RYM and Souza, RCG and Valencio, CR and Tronco, ML(2011)
Support tool to the validation process of functional requirements
IEEEGabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 41 / 45
Consideracoes Finais
Referencias Utilizadas
Beckers, Kristian and Heisel, Maritta and Cote, Isabelle and Goeke, Ludger andGuler, Selim (2013)
Structured Pattern-Based Security Requirements Elicitation for Clouds
IEEE
Olawande Daramola, Tor Stalhane, Guttorm Sindre and Inah Omoronyia (2011)
Enabling Hazard Identification from Requirements and Reuse-oriented HAZOPAnalysis
IEEE
Hussein, Mahmoun and Han, Jun and Yu, Jian and Colman, Alan (2013)
Web Services (ICWS), 2013
IEEE
Fredericks, Erik M and DeVries, Byron and Cheng, Betty HC (2014)
AutoRelax: automatically Relaxing a goal model to address uncertainty
Springer
Roger Pressman
Engenharia de Software
McGraw Hill BrasilGabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 42 / 45
Consideracoes Finais
Referencias Utilizadas
Whittle, Jon and Sawyer, Pete and Bencomo, Nelly and Cheng, Betty HC andBruel, Jean-Michel (2010)
Relax: a language to address uncertainty in self-adaptive systems requirements
Springer
Brun, Yuriy and Serugendo, Giovanna Di Marzo and Gacek, Cristina and Giese,Holger and Kienle, Holger and Litoiu, Marin and Muller, Hausi and Pezze, Mauroand Shaw, Mary (2009)
Software engineering for self-adaptive systems
Springer
Sawyer, Peter and Bencomo, Nelly and Whittle, Jon and Letier, Emmanuel andFinkelstein, Anthony (2010)
Requirements-aware systems: A research agenda for re for self-adaptive systems
IEEE
Desrivieres, Jim and Wiegand, John(2004)
Eclipse: A platform for integrating development tools
IBM Systems Journal
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 43 / 45
Consideracoes Finais
Referencias Utilizadas
Huebscher, Markus C and McCann, Julie A (2008)
A survey of autonomic computing—degrees, models, and applications
ACM Computing Surveys (CSUR)
Herczeg, Michael(2010)
The smart, the intelligent and the wise: roles and values of interactive technologies
ACM
Qureshi, Nauman A and Perini, Anna (2010)
Requirements Engineering Conference (RE), 2010 18th IEEE International
IEEE
AHO, A.V. and Sethi, R. and Lam, S. (2008)
Compiladores: princıpios, tecnicas e ferramentas
Pearson Addison Wesley
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 44 / 45
Consideracoes Finais
Obrigado a todos!
Disponıvel para perguntas.
Gabriel Bronzatti Moro (UNIPAMPA) Trabalho de Conclusao de Curso II 8 de julho de 2015 45 / 45