• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Apresentação SMartyParser
 

Apresentação SMartyParser

on

  • 314 views

Apresentação Artigo - Leandro Lanceloti - Um Parser XMI para Modelos UML de Variabilidade

Apresentação Artigo - Leandro Lanceloti - Um Parser XMI para Modelos UML de Variabilidade

Statistics

Views

Total Views
314
Views on SlideShare
314
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Apresentação SMartyParser Apresentação SMartyParser Presentation Transcript

    • SMartyParserUm Parser XMI para Modelos UML de Variabilidade Leandro A. Lanceloti Prof. Dr. Edson A. Oliveira Junior
    • Tópicos• Introdução• Linha de Produto de Software e Variabilidade• A abordagem SMarty• XML Metadata Interchange (XMI)• O SMartyParser• Trabalhos relacionados, conclusão e trabalhos futuros
    • Introdução• Linha de produto de software (LP) • Ajuda a diminuir o custo do desenvolvimento • Ajuda a diminuir o time to market• Gerenciar variabilidade é um ponto importante • A abordagem SMarty ajuda neste gerenciamento• SMarty é baseada em UML e pode ser exportada via XMI• O SMartyParser é um parser XMI para modelos UML baseados em SMarty
    • LP e Variabilidade• LP • Conjunto de sistemas que compartilham funcionalidades • Também conhecido como família de produtos • Desenvolvidos a partir de uma infraestrutura comum, o núcleo de artefatos• Variabilidade • É como os membros de uma família se distinguem • Pode estar ligada à: documentação, arquitetura, códigos fonte, compilado, executável e etc • Permite que as decisões sejam adiadas, aumentando o número de variabilidades • O Gerenciamento está ligado a todas as etapas do processo: identificação, delimitação e implementação
    • Abordagem SMarty• SMartyProfile • Conjunto de estereótipos / meta-atributos • Baseado em UML • Casos de uso, classes, componentes e atividades• SMartyProcess • Identificação, delimitação, representação, rastreame nto e análise de configurações de produtos de uma LP. • Conjunto de diretrizes
    • Abordagem SMarty
    • Exemplo de SMartycd: AGM - Core As s ets c oreAs s ets << c om ponent v ariabl e , >> Gam e <<v ariabi l ity >> nam e = "g ame s pri te " <<v ariabi l ity >> m inSel ec tion = 1 nam e = "s pri te pair" m ax Selec ti on = 2 m inSel ec tion = 0 << m andatory > > bi ndingTi m e = DESIGN_TIM E m ax Selec ti on = 1 Point al lows Add ingVar = true bi ndingTi m e = DESIGN_TIM E (from c oreAs s ets ) v ariants = {c oreAs s e ts .Mov ab leSprite, <<v ariabi l ity >> al lows Add ingVar = fa ls e c oreAs s ets .Stati onary Spri te} v ariants = {c oreAs s e ts .Spri tePair} nam e = "m ov abl e s p ri te" -p m inSel ec tion = 1 m ax Selec ti on = 2 << m andatory > > << m andatory > > << v ariationPoint andatory ,m >> << optional >> bi ndingTi m e = DESIGN_TIM E - s ec ond al lows Add ingVar = true Siz e Rectangle Gam eSprite SpritePair v ariants = {c oreAs s e ts .Paddle , (from c oreAs s ets ) -s (from c oreAs s ets ) #r (from c oreAs s ets ) (from c oreAs s ets ) c oreAs s ets .Puc k } - firs t << m andatory >> << al ternati v e_OR v ariationPoint , >> <<v ariabi l ity >> << optional >> << al ternati v e_OR >> Velocity M ovableSprite nam e = "wall " Wall Stationary Sprite (from c oreAs s ets # v ) (from c oreAs s ets ) m inSel ec tion = 0 (from c oreAs s ets ) (from c oreAs s ets ) m ax Selec ti on = 1 bi ndingTi m e = DESIGN_TIM E al lows Add ingVar = fa ls e v ariants = {c oreAs s e ts .Wal l} << al ternati v e_OR >> << al ternati v e_OR >> # app Puck Paddle << m andatory >> << m andatory >> << m andatory >> (from c oreAs s ets ) (from c oreAs s ets ) Gam eMen u Board M enu (from c oreAs s ets ) # board ::Wall # board (from c oreAs s ets ) (from c oreAs s ets )
    • XML Metadata Interchange (XMI)• Baseado em XML (Extensible Markup Language)• Criado pela OMG (Object Management Group)• Facilita o intercâmbio de dados entre diferentes ferramentas• Formato padrão entre a maior parte das ferramentas de modelagem UML (Unified Modeling Language)• Compatível com a abordagem SMarty
    • XML Metadata Interchange (XMI)
    • O SMartyParser para Modelos UML de LP• Baseado no framework SDMetrics Open Core• Metamodel Definition File • Arquivo contendo as definições dos elementos UML• XMI Transformation File • Arquivo contendo instruções de como extrair os dados dos elementos UML• Adaptado para abordagem SMarty
    • O SMartyParser para Modelos UML de LP: diagrama de classes cd: S MartyP arser - Diagrama de Classes << interface >> IP r oductLineUMLModelP ar ser << interface >> IP r oductLineV ar iabilityP ar ser MetaModelElem ent MetaModel * 1 * 1 1 * * ModelE lem ent Model X MIReader P r oductLineModelPar ser * 1 1 1 1 * X MITr igger * 1 X MITr ansfor m ation X MITr ansfor m ations *
    • O SMartyParser para Modelos UML de LP: exemplo de uso1)ProductLineModelParser smartyParser = new ProductLineModelParser("AGM.xmi","metamodel.xml","xmiTrans1_2.xml");2)List<ModelElement> vars = smartyParser.getAllVariabilities();3)for (ModelElement element : vars) { System.out.println(element.getName());}4)sprite pairmovable spritewallgame sprite...
    • O SMartyParser para ModelosUML de LP: exemplo hipotético de tela
    • Trabalhos relacionados• O EMF (Eclipse Modeling Framework) (Eclipse.org)• O Netbeans XMI Writer (Netbeans.org)• UML2Django (Petry, 2008)
    • Conclusão• Este trabalho apresentou um parser XMI para modelos UML de LP com o objetivo de facilitar a análise de variabilidade segundo a abordagem SMarty.• Vários trabalhos foram encontrados em projetos de código fonte aberto e na literatura, porém nenhum trata efetivamente de LP.• O framework Open Core foi estendido para linha de produto e variabilidade.
    • Trabalhos futuros• Projeto e implementação de um ambiente experimental gráfico de avaliação de LP com base na abordagem SMarty• Análise de métricas de modelo UML a fim de identificar problemas na modelagem e na abordagem de LP• Proposta e validação experimental de métricas para arquitetura de LP• Realização de experimentos e análises de trade-off para priorizar atributos de qualidade de LP