0
SMartyParserUm Parser XMI para Modelos UML de Variabilidade                                     Leandro A. Lanceloti      ...
Tópicos• Introdução• Linha de Produto de Software e Variabilidade• A abordagem SMarty• XML Metadata Interchange (XMI)• O S...
Introdução• Linha de produto de software (LP)  • Ajuda a diminuir o custo do desenvolvimento  • Ajuda a diminuir o time to...
LP e Variabilidade• LP  • Conjunto de sistemas que compartilham funcionalidades    • Também conhecido como família de prod...
Abordagem SMarty• SMartyProfile  • Conjunto de estereótipos / meta-atributos  • Baseado em UML  • Casos de uso, classes, c...
Abordagem SMarty
Exemplo de SMartycd: AGM - Core As s ets     c oreAs s ets                                                                ...
XML Metadata Interchange (XMI)• Baseado em XML (Extensible Markup Language)• Criado pela OMG (Object Management Group)• Fa...
XML Metadata Interchange (XMI)
O SMartyParser para       Modelos UML de LP• Baseado no framework SDMetrics Open Core• Metamodel Definition File  • Arquiv...
O SMartyParser para Modelos  UML de LP: diagrama de         classes  cd: S MartyP arser - Diagrama de Classes             ...
O SMartyParser para Modelos          UML de LP: exemplo de uso1)ProductLineModelParser smartyParser = new ProductLineModel...
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)• UML2Djang...
Conclusão• Este trabalho apresentou um parser XMI para  modelos UML de LP com o objetivo de facilitar a  análise de variab...
Trabalhos futuros• Projeto e implementação de um ambiente  experimental gráfico de avaliação de LP com base na  abordagem ...
Upcoming SlideShare
Loading in...5
×

Apresentação SMartyParser

198

Published on

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

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
198
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Apresentação SMartyParser"

  1. 1. SMartyParserUm Parser XMI para Modelos UML de Variabilidade Leandro A. Lanceloti Prof. Dr. Edson A. Oliveira Junior
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. Abordagem SMarty
  7. 7. 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 )
  8. 8. 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
  9. 9. XML Metadata Interchange (XMI)
  10. 10. 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
  11. 11. 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 *
  12. 12. 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...
  13. 13. O SMartyParser para ModelosUML de LP: exemplo hipotético de tela
  14. 14. Trabalhos relacionados• O EMF (Eclipse Modeling Framework) (Eclipse.org)• O Netbeans XMI Writer (Netbeans.org)• UML2Django (Petry, 2008)
  15. 15. 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.
  16. 16. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×