Você está na página 1de 79

Dymos QoS: Uma Abordagem para Descoberta de Servicos em Tempo de Execucao em Linhas de Produto de Software Dinamicas

Jackson Raniel Orientador: Vinicius Cardoso Garcia


Omnia Vincit Amor. - VIRGLIO (70 A.C 19 A.C) 1
CIn.ufpe.br

Sumrio
Introduo
Motivao Problemtica
Mtodos

Viso Geral da Soluo Escopo Negativo

CIn.ufpe.br

Sumrio
Reviso da Literatura
Computao Orientada a Servios Linhas de Produto de Software
O Estado da Arte em Derivao Dinmica Apresentao Cronolgica

A interao entre SOC e DSPL

CIn.ufpe.br

Sumrio
DYMOS QoS
Anlise Exploratria
Operaes do DYMOS

Interveno Exploratria
Seleo de Servios

Avaliao
Validao Exploratria Avaliao Estatstica Descritiva

CIn.ufpe.br

Sumrio
Concluso
Contribuies Limitaes Trabalhos Futuros

CIn.ufpe.br

Introduo

- Quarenta e dois [...] Eu verifiquei cuidadosamente e no h dvida de que a resposta essa. Para ser franco, acho que o problema que vocs jamais souberam qual a pergunta. - DOUGLAS ADAMS (O Guia do Mochileiro das Galxias)
6
CIn.ufpe.br

Linhas de Produto

CIn.ufpe.br

Motivao

MobiLine (Marinho et al., 2012) 8


CIn.ufpe.br

Problemtica

CIn.ufpe.br

Problemtica

10

CIn.ufpe.br

Objetivo Geral
Propor uma abordagem de seleo em tempo de execuo das caractersticas que iro compor uma DSPL com base em uma anlise de seus respectivos atributos de qualidade

11

CIn.ufpe.br

Objetivos Especficos
Revisar a literatura a fim de identificar as maneiras pelas quais a derivao dinmica em DSPL ocorre Desenvolver um mtodo para a avaliao da qualidade dos servios em tempo de execuo Avaliar a performance da abordagem proposta

12

CIn.ufpe.br

Soluo Proposta

13

CIn.ufpe.br

Escop o Negati vo

14

CIn.ufpe.br

Reviso da Literatura

- O que nos traz finalmente ao momento da verdade, em que a falha fundamental definitivamente expressa e a anomalia revela ser tanto o comeo quanto o fim. - Matrix (Dilogo entre Neo e o Arquiteto)

15

CIn.ufpe.br

Computao Orientada a Servios (SOC)

16

CIn.ufpe.br

SOC Benefcios e Princpios


Reusabilidade Flexibilidade Intoperabilidade Baixo acoplamento (contratos) Contrato entre servios Descoberta de Servios Granularidade alta (pequena quantidade de 17 CIn.ufpe.br requisies)

SOC Contratos
Clientes aderem a contratos de comunicao Descrio de caractersticas, funcionalidades e formato de dados XML, WSDL e XSD
18
CIn.ufpe.br

SOC - Descoberta
Ocorre a partir da especificao descritiva (contratos) Universal Descriptor, Discovery and Integration (UDDI) Uniform Resource Identifier (URI)
19
CIn.ufpe.br

SOC - Web
Manifesta-se na forma de Web services Identificado por URI

20

CIn.ufpe.br

SOC Caractersticas qualitativas dos Web services


Latncia Demanda Rede Controle de acesso Encriptao Disponibilidade Confiabilidade
21
CIn.ufpe.br

SOC Caractersticas qualitativas dos Web services


Conformidade e reputao (Deora et al., 2006)
Sinnimo de atendimento a especificaes Percepo do usurio a respeito de um servio

22

CIn.ufpe.br

Linhas de Produto de Software (SPL)


Conjunto de sistemas intensivos de software Conjunto comum de funcionalidades Satisfaz necessidades especficas de um mercado Conjunto comum de recursos principais
23
CIn.ufpe.br

SPL Conceitos bsicos


Features Core assets Variabilidade Bind Engenharia de SPL Engenharia de Produto Derivao de Produto
24
CIn.ufpe.br

SPL Dinmicas (DSPL)


Variabilidade dinmica Bind dos elementos muda durante o ciclo de vida da aplicao Pontos de variao mudam em tempo de execuo Mudanas de contexto Desenvolvidas para um contexto ou ambiente especfico
25

CIn.ufpe.br

DSPL Caractersticas opcionais


Sensibilidade ao contexto (Parra et al., 2009; Ali et al., 2009; Alferez and Pelechano, 2011) Propriedades autonmicas ou de auto-adaptao (Abbas et al., 2011; Cetina et al., 2008; Abbas, 2011) Tomada de deciso automtica

26

CIn.ufpe.br

O Estado da Arte em Derivao Dinmica


Estado da Arte apresenta a partir da literatura ja publicada o que ja se sabe sobre determinado tema, quais as lacunas existentes e onde se encontram os principais entraves teoricos ou metodologicos. (Moresi, 2003)

27

CIn.ufpe.br

O Estado da Arte em Derivao Dinmica


Estudo anteriores formalizao do termo DSPL que tratam sobre Derivao Dinmica (Kim et al., 2005; Gomaa and Saleh, 2006; Hallsteinsen et al., 2006; Lee, 2006) A maior parte das contribuies em DSPL esto relacionadas com a proposio de solues e no desenvolvimento de metodologias (Buregio et al., 2010) Nao sao comuns de serem encontrados relatos de experiencia e pesquisas que possam avaliar a aplicabilidade dos conceitos de DSPL no contexto industrial (Buregio et al., 2010) 28 CIn.ufpe.br

O Estado da Arte em Derivao Dinmica


Constataes reforadas no que diz respeito a Derivao Dinmica (Silva et al., 2013)

29

CIn.ufpe.br

Cronologia dos Estudos em Derivao Dinmica


Kim et al. (2005) Gomaa and Saleh (2006) Hallsteinsen et al. (2006) Lee (2006) Cetina et al. (2008) Wolfinger et al. (2008) Pukall et al. (2009) Yu et al. (2010) Sunkle and Pukall (2010) Gunther and Sunkle (2010)
Carvalho et al. (2010) Lee and Kotonya (2010) Alferez and Pelechano (2011) Gomaa and Hashimoto (2011) Parra et al. (2011) Rosenmuller et al. (2011) Shen et al. (2011) Damiani et al. (2012) Baresi and Milano (2012) Silva et al. (2013) Oliveira Martins (2013)
30
CIn.ufpe.br

Cronologia dos Estudos em Derivao Dinmica


Lee (2006) Yu et al. (2010)
Lee and Kotonya (2010) Alferez and Pelechano (2011) Gomaa and Hashimoto (2011)
31
CIn.ufpe.br

A Interao entre SOC e DSPL


E notorio que SOA segue um abordagem de reuso e composicao de servicos enquanto SPL, apesar de ter como beneficio a reutilizacao, corresponde a uma abordagem de construcao e decomposicao (Parra et al., 2009).

32

CIn.ufpe.br

A Interao entre SOC e DSPL


Yu et al. (2010), a DSPL orientada a servicos faz a analise de quais servicos compoem o produto unicamente verificando a disponibilidade dos servicos. Lee (2006), as features sao mapeadas em servicos. Esta DSPL realiza uma analise e um planejamento em tempo de execucao baseados em mudancas contextuais para definir quais features devem compor o produto.

33

CIn.ufpe.br

A Interao entre SOC e DSPL


Lee and Kotonya (2010) analise com base em acordos de nivel de servico impostos pela linha de produto. Alferez and Pelechano (2011) e Gomaa and Hashimoto (2011), sempre que ocorre uma quebra no acordo de nivel de servico o framework procura por outro servico que satisfaca as condicoes desejadas.

34

CIn.ufpe.br

DYMOS QoS

Esse caminho no h outro Que por voc faa. - SKANK (Acima do Sol)

35

CIn.ufpe.br

Estudo Exploratrio (Moresi, 2003)


rea de pouco conhecimento acumulado e sistematizado Natureza de sondagem No comporta hipteses

36

CIn.ufpe.br

Anlise Exploratria
DYMOS ApplicationService ServiceContext OSGi continer Elementos descritores

37

CIn.ufpe.br

DYMOS

38

CIn.ufpe.br

DYMOS

<?xml version="1.0"?> <services> ... <service id="imageService service-impl="com.assertLab.imageServiceImpl"> <service-spec> com.assertLab.imageService </service-spec> <alternative-service ref="imageService1" priority="1" /> </service> <service id="imageService1" service-impl="com.assertLab.imageService1"> <service-spec> com.assertLab.imageService </service-spec> </service> ... </services> </variabilities>

39

CIn.ufpe.br

DYMOS

40

CIn.ufpe.br

DYMOS

<?xml version="1.0"?> <variabilities> <variability id="accessMode"> <variant id="infraredMode"> <service-ref ref="hiService" /> </variant> </variability> <variability> <variant id="batteryHalfLife"> <service-ref ref="imageService/> </variant> </variability> </variabilities>
41
CIn.ufpe.br

DYMOS

42

CIn.ufpe.br

DYMOS

43

CIn.ufpe.br

DYMOS

44

CIn.ufpe.br

DYMOS
Descoberta de Servios

45

CIn.ufpe.br

DYMOS
Reconfigurao de Servios

46

CIn.ufpe.br

DYMOS ContextHotBuild
Bind em tempo de execuo Servios Web empacotados como bundles OSGi Sob responsabilidade do OSGi Container

47

CIn.ufpe.br

Interveno Exploratria
O critrio de seleo utilizado pode no ser ideal Responsabilidade da deciso nas mos do Engenheiro de Software Propor anlise com base em atributos de qualidades dos servios Maior pontuao dentro de um nvel de servio exigido

48

CIn.ufpe.br

DYMOS QoS

49

CIn.ufpe.br

DYMOS QoS
Descoberta

de Servios

50

CIn.ufpe.br

DYMOS QoS
Atributos de

qualidade

... <serviceLevel id="1"> <cost>2,07</cost> <curCapacity>0</curCapacity> <level>1</level> <maxCapacity>42</maxCapacity> <name>imageService1</name> <responseTime>23379</responseTime> <serviceSpec> com.assertLab.imageService </serviceSpec> </serviceLevel> <serviceLevel id="2"> <cost>0,29</cost> <curCapacity>38</curCapacity> <level>2</level> <maxCapacity>48</maxCapacity> <name>imageService1</name> <responseTime>44639</responseTime> <serviceSpec> com.assertLab.imageService </serviceSpec> </serviceLevel> ...

51

CIn.ufpe.br

Seleo de servios
O Broker deriva das abordagens de Chen et al. (2003); Yu and Lin (2004, 2005) Cada provedor oferece diversos nveis de servio Funo de utilidade Utilizao de informaes estticas, a necessidade de qualidade e a capacidade dinmica do servidor

52

CIn.ufpe.br

Seleo de servios

53

CIn.ufpe.br

Avaliao

O poder permanece onde os homens crem que ele deve permanecer. - GEORGE R. R. MARTIN (A Fria dos Reis, As Crnicas de Gelo e Fogo)

54

CIn.ufpe.br

Validao Exploratria
Produtos MobiLine Modificao da DymosClientLib Descrio dos servios Validao em 3 fases

55

CIn.ufpe.br

DYMOS Client Lib

... private ServiceEndPoint endpoint; this.endpoint = ServiceEndPointFactory.getEndPoint("imageService", 1); SoapObject request = new SoapObject(endpoint.getNamespace(), METHOD_NAME); HttpTransportSE transport = new HttpTransportSE(endpoint.getEndpoint()); transport.call(SOAP_ACTION, envelope); ...

56

CIn.ufpe.br

XML de Servios

<?xml version="1.0"?> <services> ... <service id="imageService" serviceimpl="com.assertLab.imageServiceImpl"> <servicespec> com.assertLab.imageService </servicespec> <alternativeservice ref="imageService1" /> <alternativeservice ref="imageService2" /> <alternativeservice ref="imageService3" /> <alternativeservice ref="imageService4" /> <alternativeservice ref="imageService5" /> </service> <service id="imageService1 serviceimpl="com.assertLab.imageService1"> <servicespec>com.assertLab.imageService</servicespec> </service> <service id="imageService2" serviceimpl="com.assertLab.imageService2"> <servicespec>com.assertLab.imageService</servicespec> </service>

57

CIn.ufpe.br

Valores de QoS

58

CIn.ufpe.br

Primeira Fase

59

CIn.ufpe.br

Segunda Fase

60

CIn.ufpe.br

Terceira Fase

61

CIn.ufpe.br

Avaliao Estatstica Descritiva


Ausncia de dados reais Criao de um benchmark com 100 servios Dados categricos:
Identificador Nome Especificao

Dados ordinais:
Nvel de Servio
62
CIn.ufpe.br

Avaliao Estatstica Descritiva


Medidas de Razo:
Capacidade Custo Tempo de Resposta

63

CIn.ufpe.br

Distribuio do Tempo de Resposta

64

CIn.ufpe.br

Capacidades Mximas e Atuais

65

CIn.ufpe.br

Custo

66

CIn.ufpe.br

Desempenho

67

CIn.ufpe.br

Desempenho

68

CIn.ufpe.br

Concluso

Eu que no me sento No trono de um apartamento Com a boca escancarada Cheia de dentes Esperando a morte chegar - RAUL SEIXAS (Ouro de Tolo) 69
CIn.ufpe.br

Concluso
A abordagem apresentada efetiva efetiva para a linha de produto para a qual foi validada, sendo melhor utilizada com pequenas quantidades de servios a serem avaliados em tempo de execuo

70

CIn.ufpe.br

Contribuies
Criao de uma abordagem de seleo, em tempo de execuo das caractersticas que iro compor a DSPL com base em uma anlise de seus respectivos atributos de qualidade
Expande o processo de derivao j existente

Fornecimento de um mecanismo que permite a seleo de servios, assim como um benchmark para testes futuros junto com outras abordagens
71
CIn.ufpe.br

Limitaes
Apresentao de algo diferente (Wazawick, 2009)
Caracterstico de reas emergentes Comparaes comumente qualitativas entre tcnicas As outras abordagens so a proposio de algo novo

Indcios de que a rea de DSPL esteja imatura corroborada pelos estudos de Buregio et al. (2010); Alves et al., (2009); Bencomo et al. (2010, 2012); da Silva et al. (2013) Impossibilidade de criao de um desenho experimental rebuscado Possibilidade de existir um vis no Benchmark 72 CIn.ufpe.br

Trabalhos Futuros
As limitaes da rea de DSPL apresentam um conjunto de oportunidades de pesquisa, no que tange ao desenvolvimento de
Modelos Ferramentas Algortimos Discusses Conceituais Relatos de experincia Pesquisas de validao e avaliao
73
CIn.ufpe.br

Trabalhos Futuros
Identificao, avaliao e comparao entre outras tcnicas de descoberta de servios em diversos contextos de DSPL Contribuir com o avano das DSPL autnomas, diminuindo a necessidade de interveno Estudar a sinergia entre as DSPLs orientadas a servios e as Social Machines Investigao cientfica para o desenvolvimento de um mecanismo que permita a reconfigurao dinmica de artefatos de cdigo JavaScript
74
CIn.ufpe.br

Referncias

Abbas, N. (2011). Towards autonomic software product lines. volume 46. Abbas, N., Andersson, J., and Weyns, D. (2011). Knowledge evolution in autonomic software product lines. page 1, New York, New York, USA. ACM Press. Alferez, G. H. and Pelechano, V. (2011). Context-Aware Autonomous Web Services in Software Product Lines. pages 100 109. Ieee. Ali, R., Chitchyan, R., and Giorgini, P. (2009). Context for goal-level product line derivation. Alves, V., Schneider, D., Becker, M., Bencomo, N., and Grace, P. (2009). Comparitive study of variability management in software product lines and runtime adaptable systems. Baresi, L. and Milano, P. (2012). Service-Oriented Dynamic Software Product Lines. Number Cvl, pages 4248. Bencomo, N., Lee, J., and Hallsteinsen, S. (2010). How dynamic is your Dynamic Software Product Line? Bencomo, N., Hallsteinsen, S., and Almeida, E. (2012). A View of the Landscape of Dynamic Software Product Lines. pages 11. Buregio, V., Almeida, E., and Meira, S. (2010). Characterizing Dynamic Software Product Lines A Preliminary Mapping Study. pages 5360. Carvalho, S. T., Loques, O., and Murta, L. (2010). Dynamic Variability Management in Product Lines: An Approach Based on Architectural Contracts. pages 6169. Ieee. Cetina, C., Fons, J., and Pelechano, V. (2008). Applying Software Product Lines to Build Autonomic Pervasive Systems. Number ii, pages 117126. Ieee. Chen, H. C. H., Yu, T. Y. T., and Lin, K.-J. L. K.-J. (2003). QCWS: an implementation of QoS-capable multimedia Web services. CIn.ufpe.br da Silva, J. R. F., da Silva, F. A. P., do Nascimento, L. M., Martins, D. A., and Garcia, V. C. (2013). The dynamic aspects of product derivation in dspl: A systematic literature review. In Information Reuse and Integration (IRI), 2013 IEEE 14th

75

Referncias

DAmbrogio, A. (2006). A model-driven wsdl extension for describing the qos ofweb services. In Web Services, 2006. ICWS 06. International Conference on, pages 789796. Damiani, F., Padovani, L., and Schaefer, I. (2012). A Formal Foundation for Dynamic Delta-Oriented Software Product Lines. pages 110. de Oliveira Martins, D. A. (2013). DYMOS: Uma abordagem para suporte a variabilidades dinmicas em Linhas de Produto de Software Orientado a Servios e Sensvel ao Contexto. Masters thesis, Universidade Federal de Pernambuco, Recife, Pernambuco, Brazil. Deora, V., Shao, J., Gray, W. A., and Fiddian, N. (2006). Modelling quality of service in service oriented computing. In Service-Oriented System Engineering, 2006. SOSE 06. Second IEEE International Workshop, pages 95101. Erl, T. (2005). Service-Oriented Architecture: Concepts, Technology, and Design. Erl, T. (2007). SOA and Web Services. In SOA Principles of Service Design, chapter 3, pages 4650. Prentice Hall. Gomaa, H. and Hashimoto, K. (2011). Dynamic software adaptation for service-oriented product lines. page 1, New York, New York, USA. ACM Press. Gomaa, H. and Saleh, M. (2006). Software Product Line Engineering and Dynamic Customization of a Radio Frequency Management System. pages 345352. Gnther, S. and Sunkle, S. (2010). Dynamically adaptable software product lines using Ruby metaprogramming. pages 80 87, New York, New York, USA. ACM Press. Hallsteinsen, S., Stav, E., Solberg, a., and Floch, J. (2006). Using Product Line Techniques to Build Adaptive Systems. pages 141150. Ieee. Hallsteinsen, S., Hinchey, M., Park, S., and Schmid, K. (2008). Dynamic software product lines. Computer, (April), 9395. IBM (2006). An architectural blueprint for autonomic computing. Technical Report June. Josuttis, N. (2007). SOA in Practice. Oreilly.

76

CIn.ufpe.br

Referncias
Khezrian, M., Wan Kadir, W. M. N., Ibrahim, S., Mohebbi, K., Munusamy, K., and Tabatabaei, S. G. H. (2010). An evaluation of state-of-the-art approaches for web service selection. In Proceedings of the 12th International Conference on Information Integration and Web-based Applications &#38; Services, iiWAS 10, pages 885889, New York, NY, USA. ACM. Kim, M., Jeong, J., and Park, S. (2005). From product lines to self-managed systems: an architecture-based runtime reconfiguration framework. pages 6672. Lee, J. (2006). A Feature-Oriented Approach to Developing Dynamically Reconfigurable Products in Product Line Engineering. pages 131140. Ieee. Lee, J. and Kotonya, G. (2010). Combining service-orientation with product line engineering. Number June, pages 3541. Lin, K.-J., Zhang, J., Zhai, Y., and Xu, B. (2010). The design and implementation of service process reconfiguration with endto-end QoS constraints in SOA. Service Oriented Computing and Applications, 4(3), 157168. Marinho, F. G., Andrade, R. M., Werner, C., Viana, W., Maia, M. E., Rocha, L. S., Teixeira, E., Filho, J. a. B. F., Dantas, V. L., Lima, F., and Aguiar, S. (2012). MobiLine: A Nested Software Product Line for the domain of mobile and context-aware applications. Science of Computer Programming. Mendona, D. F., Rodrigues, G. N., Favacho, A., and Holanda, M. (2013). A Systematic Mapping Study on Service Oriented Computing in the Context of Quality of Services. pages 3948. Moresi, E. (2003). Metodologia da pesquisa. Papazoglou, M. P. and Georgakopoulos, D. (2003). Introduction: Service-oriented computing. Commun. ACM, 46(10), 24 28. Parra, C., Blanc, X., and Duchien, L. (2009). Context awareness for dynamic service oriented product lines. pages 131140. Parra, C., Blanc, X., Cleve, A., and Duchien, L. (2011). Unifying design and runtime software adaptation using aspect CIn.ufpe.br models. volume 76, pages 12471260. Elsevier B.V. Pohl, K., Bckle, G., and van der Linden, F. (2005). Software Product Line Engineering: Foundations, Principles, and

77

Referncias

Pukall, M., Siegmund, N., and Cazzola, W. (2009). Feature-oriented runtime adaptation. page 33, New York, New York, USA. ACM Press. Rosenmller, M., Siegmund, N., Apel, S., and Saake, G. (2011). Flexible feature binding in software product lines. volume 18, pages 163197. Shen, L., Peng, X., Liu, J., and Zhao, W. (2011). Towards feature-oriented variability reconfiguration in dynamic software product lines. Sunkle, S. and Pukall, M. (2010). Using reified contextual information for safe run-time adaptation of software product lines. pages 16, New York, New York, USA. ACM Press. Wainer, J. (2007). Mtodos de pesquisa quantitativa e qualitativa para a Cincia da Computao. Atualizao em Informtica. Org: Tomasz Kowaltowski; Karin Breitman. Rio de Janeiro: Ed. PUC-Rio, pages 142. Wazlawick, R. (2009). Metodologia de pesquisa para cincia da computao, volume 1. Elsevier Brasil. Wolfinger, R., Reiter, S., Dhungana, D., Grunbacher, P., and Prahofer, H. (2008). Supporting Runtime System Adaptation through Product Line Engineering and Plug-in Techniques. pages 2130. Ieee. Yu, J., Lalanda, P., and Bourret, P. (2010). An Approach for Dynamically Building and Managing Service-Based Applications. pages 5158. Ieee. Yu, T. and Lin, K. (2004). Service selection algorithms for Web services with end-to-end QoS constraints. In IEEE International Conference on E-Commerce Technology. Yu, T. and Lin, K.-J. (2005). Service selection algorithms for Web services with end-to-end QoS constraints. Information Systems and e-Business Management, 3(2), 103126.

78

CIn.ufpe.br

Obrigado!

79

CIn.ufpe.br

Você também pode gostar