SlideShare une entreprise Scribd logo
SMartyParser:
       an XMI Parser for
UML-based Software Product Line
      Variability Models

                              Leandro A. Lanceloti
                      State University of Maringá (DIN-UEM) – Brasil


                                 José C. Maldonado
                        University of São Paulo (ICMC-USP) – Brasil


                                Itana M. S. Gimenes
                      State University of Maringá (DIN-UEM) – Brasil



              Edson A. Oliveira Junior
                                     edson@din.uem.br
               State University of Maringá (DIN-UEM) - Brasil
Outlines

l    Introduction

l    XMI for Metadata Interchange

l    The Parser for UML-based SPLs

l    SMartyParser Running Example


l    Conclusions and On Going Works


       SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   2
Introduction
l    Variability Management (VM) is a key issue for the success of
      SPLs

l    Literature presents several well-known approaches for VM,
      specially object-oriented

l    Several tools have been developed, such as, pure::variants and
      SPLOT
      l      however, a subset of the VM approaches is UML-based and
              requires automated support for UML models

      l      Tools have particular means to handle variabilities




            SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   3
Introduction
l    Supporting for UML-based SPL models might be
      provided by XMI files

l    Several questions:
      l      How to handle UML-based SPLs models containing variability in a
              particular environment?

      l      Do you have to adapt your environment to comply to existing tools?

      l      How do you interchange SPL metadata between different environments?

      l      …




            SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   4
The OMG’s XMI Standard
l     XMI is the OMG’s standard for metadata interchanging

l     Plain XML parsers do not accurately support XMI files
       1 <?xml version = '1.0' encoding = 'UTF-8' ?>
       2 <XMI xmi.version = '1.2'
       3     xmlns:UML = 'org.omg.xmi.namespace.UML'
       4     xmlns:UML2 = 'org.omg.xmi.namespace.UML2'
       5     timestamp = 'Tue Mar 06 20:22:06 BRT 2012'>
       6     <XMI.content>
       7        <UML:Diagram xmi.id = 'Iae204f0m135cde62a90mm58a3'
       8           isVisible = 'true'
       9           name = 'AGM - Core Assets'
      10           zoom = '0.91'>
      11           <UML:GraphElement.semanticModel>
      12                <UML:SimpleSemanticModelElement
      13                   xmi.id = 'Iae204f0m135cde62a90mm7e5f'
      14                   typeInfo = 'ClassDiagram'/>
      15           </UML:GraphElement.semanticModel>
      16           <UML:GraphElement.contained>
      17                ...
         SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   5
      18                ...
Processing XMI Files
 l      Metamodel Definition File (MDF)
               203
               204 <modelelement name="stereotype">
               205    <attribute name="context" type="ref"/>
               206    <attribute name="id" type="data"/>
               207    <attribute name="name" type="data"/>
               208    <attribute name="extendedelements"
               209      type="ref" multiplicity="many"/>
               210 </modelelement>
               211
           Figure 2: Excerpt of the MDF Structure Elements.
 l            212
         XMI Transformation File (XTF)
Figure 2: Excerpt of the MDF Structure Elements.
     461
             462 <xmitransformation modelelement="stereotype"
             463       xmipattern="UML:Stereotype">
             464       <trigger name="id" type="attrval" attr="xmi.id"/>
             465       <trigger name="name" type="attrval" attr="name"/>
             466       <trigger name="context" type="gcattrval"
             467         src="UML:ModelElement.namespace"
             468         attr="xmi.idref"/>
             469       <trigger name="extendedelements" type="gcattrval"
             470         src="UML:Stereotype.extendedElement"
             471         attr="xmi.idref"
             472         linkbackattr="stereotypes" />
             473 </xmitransformation>
             474
       SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.
             475                                                                              6
The SMartyParser
l    SMartyParser stands for Stereotype-based Management
      of Variability Parser
      l      It is aimed at processing XMI files of UML-based SPL models in
              which variabilities are represented by means of stereotypes
              (UML profiles)

l    It was built taking as a basis the Open Core Framework,
      from the SDMetrics project

l    Open Core provides Java classes for:
      l      Parsing XMI files

      l      Define and apply metrics for OO models

            SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   7
SMartyParser Class Diagram
SMartyParser Class Model

                                       com.sdmetrics.model


                               *   1                        1
    MetaModelElement                       MetaModel



               1                                 1
                                                                                                       br.uem.din.les.parserxmi
               *                                 *                                *
                           *           1                1               1               1    1
      ModelElement                           Model                          XMIReader             ProductLineModelParser



                                                                             *
                                           XMITrigger
                                                                                                              IProductLineVariabilityParser

                                                 *
                                                 1                           1               IProductLineUMLModelParser

                                                                *   1
                                   XMITransformation
                                      Transformati                      XMITransformations




             Figure 4: The SMartyParser Class Model.
               SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.                                8
Figure 4: The SMartyParser Class Model.

SMartyParser Available Operations
Table 1: The SMartyParser Available Operations.
Interface                                              Method                                         Description
                                                  getAllDiagrams              Get all diagrams from the UML model
  IProductLineUM




                                               getStructureDiagrams           Get structural diagram
   LModelParser




                                              getBehaviourDiagrams            Get behavioral diagrams
                                              getInteractionDiagrams          Get interaction diagrams
                                              getElementsByDiagram            Get all elements of a given diagram
                                          getElementsByDiagramByType          Get all elements of a given diagram by type
                                                  getElementByID              Get an element by its ID
                                                getElementsByType             Get all elements of a given type
                                                 getAllVariabilities          Get all variabilities (as UML comments)
   IProductLineVariabilityParser




                                                getAllVariationPoints         Get all variation points
                                                   getAllVariables            Get all variable elements
                                                getOptionalVariants           Get all optional variants
                                               getMandatoryVariants           Get all mandatory variants
                                                getInclusiveVariants          Get all inclusive variants
                                               getExclusiveVariants           Get all exclusive variants
                                               getVariabilityByName           Get a variability by its name
                                             getVariantsOfAVariability        Get all variants of a given variability
                                           getVariationPointOfAVariant        Get the variation point of a given variant
                                              getChildrenVariabilities        Get all child variabilities from a given variability
                                           getVariantRequiredElements         Get all variants required by a given variant
                                            getVariantMutexElements           Get all mutually exclusive variants of a given variant



                                   SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.                9
The SMartyParser
l    SMartyParser was conceived based on the main UML-
      based variability management concepts:
      l      Variation Point

      l      Variant (mandatory, optional, inclusive, exclusive)

      l      Constraints between Variants (requires, mutex)




            SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   10
SMartyParser Configuration
Table 2: The SMartyParser Configuration                                                        File        Ta
Properties
Available Properties.                                                                                     Ste
                            Property                                 Description
                                uml_version            the UML version
                                xmi_version            the XMI version
    related
     XMI-

                             xmi_xtf_file_location     the XTF file location
                            xmi_mdf_file_location      the MDF file location
                           xmi_model_file_location     the XMI file location
                                                       the stereotype used for representing
                            variability_stereotype
                                                       variabilities
                                                       the stereotype used for representing
                          variation_point_stereotype
                                                       variation points
                                                       the stereotype used for representing
                             mandatory_variant
                                                       mandatory variants
     Stereotype-related




                                                       the stereotype used for representing
                               optional_variant
                                                       optional variants
                                                       the stereotype used for representing
                              inclusive_variant
                                                       inclusive variants
                                                       the stereotype used for representing
                              exclusive_variant
                                                       exclusive variants
                                                       the stereotype used for representing
                             variable_stereotype
                                                       variable elements
                                                       the stereotype used for representing
                              require_constraint
                                                       require constraints
                                                       the stereotype used for representing
                          mutually_exclusive_variant
                                                       mutually exclusive constraints

  SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.               11
SMartyParser Instantiation
l    It is instantiated by running the following code:


                    ProductLineModelParser smartyParser = new
                                  ProductLineModelParser();




l    The constructor is responsible for:
      l    reading the respective files (MDF and XTF) indicated in the
            SMartyParser configuration file; and

      l    processing the XMI file
        SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   12
SMartyParser Variability Concepts
                   and
           Example Stereotypes
e 3: Correspondence Between the SM
eotypes and Variability Concepts.
       Variability Concept                             SMartyProfile Stereotype
             Variability                                     «variability»
          Variation Point                                  «variationPoint»
        Mandatory Variant                                   «mandatory»
         Optional Variant                                     «optional»
         Inclusive Variant                                «alternative_OR»
        Exclusive Variant                                «alternative_XOR»
        Require Constraint                                    «requires»
   Mutually Exclusive Constraint                               «mutex»
        Variable Elements                                     «variable»



     SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   13
Annotated Arcade Game Maker Use
                      Case Model
                                                                                                                                   <<variability>>
                                     << optional >>                   << requires >>       << optional >>                          name = "save score"
                                                                                                                                   minSelection = 0
                               Check Previous Best Score                                    Save Score
                                                                                                                                   maxSelection = 1
                                                                                                                                   bindingTime =
                                                                                                                                    DESIGN_TIME
                                            << mandatory >>                                    << mandatory >>                     allowsAddingVar = true
                                                                                                  Install Game                     variants = {Save Score}

               <<variability>>                                        << mandatory >>
               name = "check score"                                                                                                       << mandatory >>
                                                                         Save Game
               minSelection = 0
               maxSelection = 1                                                                                  << mandatory >>
               bindingTime = DESIGN_TIME                                                                           Exit Game
                                              GamePlayer
               allowsAddingVar = true
               variants = {Check Previous
               Best Score}                                                   << mandatory , variationPoint >>
                                                                                     Play Selected Game                                    GameInstaller

                                                                                 Extension Points
                  <<variability>>
                                                                                 initialization_ext_point:
                  name = "play game"                                                                                                   << mandatory >>
                                                                                 animation_ext_point:
                  minSelection = 1
 stance           maxSelection = 3
                                                                                                                                       Uninstall Game

                  bindingTime = DESIGN_TIME
  result          allowsAddingVar = true
                  variants = {Play Brickels,                          << extend >>              << extend >>            << extend >>
  class,             Play Pong, Play Bowling}

  UML                                                                                << alternative_OR >>
                                                                                          Play Pong
                                       << alternative_OR >>                                                               << alternative_OR >>
nts the                                     Play Brickles                                                                      Play Bowling

nd it is                                              << include >>      << include >>                                                 << include >>
                                                                                                        << include >>
 esents                                     << mandatory >>
                                                                          << include >>            << include >>               << mandatory >>
 lasses,                                      Initialization
                                                                                                                               Animation Loop

 ement
  meta-     SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.                                                             14
Executing SMartyParser
l    To obtain all the diagrams, as a collection, one must
      invoke the following operation:

             smartyParser.getAllDiagrams();

l    For the AGM example, such an operation returns the
      following diagram as a ModelElement instance:

      l    [AGM - Use Case Model]




        SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   15
Executing SMartyParser
l    to obtain all variation points from the SPL models,
      one can invoke the following operation:

             smartyParser.getAllVariationPoints();



l    For the AGM example, such an operation returns the
      following variation points:

      l    [Play Selected Game]



        SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   16
Conclusions
l    SMartyParser can be easily integrated to specific
      environments for UML-based SPLs

l    The parser provides several operations based on UML
      models and their variabilities represented as stereotypes

l    SMartyParser only requires one to properly configure its
      configuration file avoiding misunderstanding of variability
      concepts from de UML models



       SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   17
Limitations and On Going Works
l    Limitations of the parser includes:
      l      variability representation based on stereotypes;

      l      lack of an OCL engine for improving variability comprehension
              and automatic product generation; and

      l      the parser only processes use case, class, component and
              activity diagrams.. so far….

l    On going works include:
      l      the parser is being currently extended for sequence diagrams,
              the UML package merging mechanism, SysML block definition
              for ES, and the SPEM elements for process lines
            SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   18
Questions? Contributions?




l    If you prefer, contact me via e-mail:
      l    edson@din.uem.br

        SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   19
l  Obrigado                !!!

l  Grazie!!!



l  Thank           you ! ! !


   SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr.   20

Contenu connexe

Similaire à SMartyParser: an XMI Parser for UML-based Software Product Line Variability Models

UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015Luca Berardinelli
 
Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsIvano Malavolta
 
Model-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesModel-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesMarkus Voelter
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
AIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to ModellingAIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to ModellingSnowflake Software
 
MLeap: Deploy Spark ML Pipelines to Production API Servers
MLeap: Deploy Spark ML Pipelines to Production API ServersMLeap: Deploy Spark ML Pipelines to Production API Servers
MLeap: Deploy Spark ML Pipelines to Production API ServersDataWorks Summit
 
Ruby on Rails: Coding Guideline
Ruby on Rails: Coding GuidelineRuby on Rails: Coding Guideline
Ruby on Rails: Coding GuidelineNascenia IT
 
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkEclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkDave Steinberg
 
Creation vsm modelos componentes electronicos
Creation vsm   modelos componentes electronicosCreation vsm   modelos componentes electronicos
Creation vsm modelos componentes electronicosjeblanco81
 
Analysing-MMPLs
Analysing-MMPLsAnalysing-MMPLs
Analysing-MMPLsmiso_uam
 
Executable UML and SysML Workshop
Executable UML and SysML WorkshopExecutable UML and SysML Workshop
Executable UML and SysML WorkshopEd Seidewitz
 
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation FrameworkALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation FrameworkCarlo Bernaschina
 
Eclipse Summit Nov08 Final
Eclipse Summit Nov08 FinalEclipse Summit Nov08 Final
Eclipse Summit Nov08 FinalEric Dillon
 

Similaire à SMartyParser: an XMI Parser for UML-based Software Product Line Variability Models (20)

Eclipse meets e4
Eclipse meets e4Eclipse meets e4
Eclipse meets e4
 
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
UML Modeling and Profiling Lab - Advanced Software Engineering Course 2014/2015
 
SAS Macro
SAS MacroSAS Macro
SAS Macro
 
ITU - MDD - EMF
ITU - MDD - EMFITU - MDD - EMF
ITU - MDD - EMF
 
Automatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodelsAutomatically bridging UML profiles into MOF metamodels
Automatically bridging UML profiles into MOF metamodels
 
Model-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesModel-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product Lines
 
Fdmu pro step_2010_final
Fdmu pro step_2010_finalFdmu pro step_2010_final
Fdmu pro step_2010_final
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
AIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to ModellingAIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to Modelling
 
MLeap: Deploy Spark ML Pipelines to Production API Servers
MLeap: Deploy Spark ML Pipelines to Production API ServersMLeap: Deploy Spark ML Pipelines to Production API Servers
MLeap: Deploy Spark ML Pipelines to Production API Servers
 
5
55
5
 
Ruby on Rails: Coding Guideline
Ruby on Rails: Coding GuidelineRuby on Rails: Coding Guideline
Ruby on Rails: Coding Guideline
 
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling FrameworkEclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
EclipseCon 2008: Fundamentals of the Eclipse Modeling Framework
 
Creation vsm modelos componentes electronicos
Creation vsm   modelos componentes electronicosCreation vsm   modelos componentes electronicos
Creation vsm modelos componentes electronicos
 
ALT
ALTALT
ALT
 
Analysing-MMPLs
Analysing-MMPLsAnalysing-MMPLs
Analysing-MMPLs
 
Executable UML and SysML Workshop
Executable UML and SysML WorkshopExecutable UML and SysML Workshop
Executable UML and SysML Workshop
 
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation FrameworkALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
 
Eclipse Summit Nov08 Final
Eclipse Summit Nov08 FinalEclipse Summit Nov08 Final
Eclipse Summit Nov08 Final
 

Plus de Edson Oliveira Junior

Uma Experiencia na Adocao do Java EE 6 Web Profole
Uma Experiencia na Adocao do Java EE 6 Web ProfoleUma Experiencia na Adocao do Java EE 6 Web Profole
Uma Experiencia na Adocao do Java EE 6 Web ProfoleEdson Oliveira Junior
 
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWAREUM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWAREEdson Oliveira Junior
 
Revisão Sistemática e Bases de Pesquisa
Revisão Sistemática e Bases de PesquisaRevisão Sistemática e Bases de Pesquisa
Revisão Sistemática e Bases de PesquisaEdson Oliveira Junior
 
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...Edson Oliveira Junior
 
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...Edson Oliveira Junior
 
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...Edson Oliveira Junior
 
Extensão da Abordagem SMarty de Gerenciamento de Variabilidade para Sistemas ...
Extensão da Abordagem SMarty de Gerenciamento de Variabilidade para Sistemas ...Extensão da Abordagem SMarty de Gerenciamento de Variabilidade para Sistemas ...
Extensão da Abordagem SMarty de Gerenciamento de Variabilidade para Sistemas ...Edson Oliveira Junior
 
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de SoftwareUm Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de SoftwareEdson Oliveira Junior
 
Mini Curso Avaliação de Linha de Produto de Software
Mini Curso Avaliação de Linha de Produto de SoftwareMini Curso Avaliação de Linha de Produto de Software
Mini Curso Avaliação de Linha de Produto de SoftwareEdson Oliveira Junior
 

Plus de Edson Oliveira Junior (12)

COMPSAC 2014
COMPSAC 2014COMPSAC 2014
COMPSAC 2014
 
Uma Experiencia na Adocao do Java EE 6 Web Profole
Uma Experiencia na Adocao do Java EE 6 Web ProfoleUma Experiencia na Adocao do Java EE 6 Web Profole
Uma Experiencia na Adocao do Java EE 6 Web Profole
 
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWAREUM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
UM ESTUDO SOBRE GERENCIAMENTO DE VARIABLIDADES EM LINHAS DE PROCESSO DE SOFTWARE
 
Revisão Sistemática e Bases de Pesquisa
Revisão Sistemática e Bases de PesquisaRevisão Sistemática e Bases de Pesquisa
Revisão Sistemática e Bases de Pesquisa
 
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...
Desenvolvimento do Módulo de Planejamento do Ambiente Experimental SystEM-Env...
 
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...
Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto ...
 
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
 
Extensão da Abordagem SMarty de Gerenciamento de Variabilidade para Sistemas ...
Extensão da Abordagem SMarty de Gerenciamento de Variabilidade para Sistemas ...Extensão da Abordagem SMarty de Gerenciamento de Variabilidade para Sistemas ...
Extensão da Abordagem SMarty de Gerenciamento de Variabilidade para Sistemas ...
 
Apresentação FITEM 2012
Apresentação FITEM 2012Apresentação FITEM 2012
Apresentação FITEM 2012
 
Apresentação SMartyParser
Apresentação SMartyParserApresentação SMartyParser
Apresentação SMartyParser
 
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de SoftwareUm Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
 
Mini Curso Avaliação de Linha de Produto de Software
Mini Curso Avaliação de Linha de Produto de SoftwareMini Curso Avaliação de Linha de Produto de Software
Mini Curso Avaliação de Linha de Produto de Software
 

Dernier

size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticspragatimahajan3
 
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...Nguyen Thanh Tu Collection
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPCeline George
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersPedroFerreira53928
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
 
Morse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxMorse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxjmorse8
 
2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptxmansk2
 
How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17Celine George
 
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General QuizPragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General QuizPragya - UEM Kolkata Quiz Club
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePedroFerreira53928
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...Nguyen Thanh Tu Collection
 
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptxJose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptxricssacare
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryEugene Lysak
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfVivekanand Anglo Vedic Academy
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfQucHHunhnh
 
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxMatatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxJenilouCasareno
 

Dernier (20)

size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceutics
 
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
Morse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptxMorse OER Some Benefits and Challenges.pptx
Morse OER Some Benefits and Challenges.pptx
 
2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx
 
NCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdfNCERT Solutions Power Sharing Class 10 Notes pdf
NCERT Solutions Power Sharing Class 10 Notes pdf
 
How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17
 
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General QuizPragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
 
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptxJose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
Jose-Rizal-and-Philippine-Nationalism-National-Symbol-2.pptx
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. Henry
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxMatatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
 

SMartyParser: an XMI Parser for UML-based Software Product Line Variability Models

  • 1. SMartyParser: an XMI Parser for UML-based Software Product Line Variability Models Leandro A. Lanceloti State University of Maringá (DIN-UEM) – Brasil José C. Maldonado University of São Paulo (ICMC-USP) – Brasil Itana M. S. Gimenes State University of Maringá (DIN-UEM) – Brasil Edson A. Oliveira Junior edson@din.uem.br State University of Maringá (DIN-UEM) - Brasil
  • 2. Outlines l  Introduction l  XMI for Metadata Interchange l  The Parser for UML-based SPLs l  SMartyParser Running Example l  Conclusions and On Going Works SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 2
  • 3. Introduction l  Variability Management (VM) is a key issue for the success of SPLs l  Literature presents several well-known approaches for VM, specially object-oriented l  Several tools have been developed, such as, pure::variants and SPLOT l  however, a subset of the VM approaches is UML-based and requires automated support for UML models l  Tools have particular means to handle variabilities SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 3
  • 4. Introduction l  Supporting for UML-based SPL models might be provided by XMI files l  Several questions: l  How to handle UML-based SPLs models containing variability in a particular environment? l  Do you have to adapt your environment to comply to existing tools? l  How do you interchange SPL metadata between different environments? l  … SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 4
  • 5. The OMG’s XMI Standard l  XMI is the OMG’s standard for metadata interchanging l  Plain XML parsers do not accurately support XMI files 1 <?xml version = '1.0' encoding = 'UTF-8' ?> 2 <XMI xmi.version = '1.2' 3 xmlns:UML = 'org.omg.xmi.namespace.UML' 4 xmlns:UML2 = 'org.omg.xmi.namespace.UML2' 5 timestamp = 'Tue Mar 06 20:22:06 BRT 2012'> 6 <XMI.content> 7 <UML:Diagram xmi.id = 'Iae204f0m135cde62a90mm58a3' 8 isVisible = 'true' 9 name = 'AGM - Core Assets' 10 zoom = '0.91'> 11 <UML:GraphElement.semanticModel> 12 <UML:SimpleSemanticModelElement 13 xmi.id = 'Iae204f0m135cde62a90mm7e5f' 14 typeInfo = 'ClassDiagram'/> 15 </UML:GraphElement.semanticModel> 16 <UML:GraphElement.contained> 17 ... SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 5 18 ...
  • 6. Processing XMI Files l  Metamodel Definition File (MDF) 203 204 <modelelement name="stereotype"> 205 <attribute name="context" type="ref"/> 206 <attribute name="id" type="data"/> 207 <attribute name="name" type="data"/> 208 <attribute name="extendedelements" 209 type="ref" multiplicity="many"/> 210 </modelelement> 211 Figure 2: Excerpt of the MDF Structure Elements. l  212 XMI Transformation File (XTF) Figure 2: Excerpt of the MDF Structure Elements. 461 462 <xmitransformation modelelement="stereotype" 463 xmipattern="UML:Stereotype"> 464 <trigger name="id" type="attrval" attr="xmi.id"/> 465 <trigger name="name" type="attrval" attr="name"/> 466 <trigger name="context" type="gcattrval" 467 src="UML:ModelElement.namespace" 468 attr="xmi.idref"/> 469 <trigger name="extendedelements" type="gcattrval" 470 src="UML:Stereotype.extendedElement" 471 attr="xmi.idref" 472 linkbackattr="stereotypes" /> 473 </xmitransformation> 474 SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 475 6
  • 7. The SMartyParser l  SMartyParser stands for Stereotype-based Management of Variability Parser l  It is aimed at processing XMI files of UML-based SPL models in which variabilities are represented by means of stereotypes (UML profiles) l  It was built taking as a basis the Open Core Framework, from the SDMetrics project l  Open Core provides Java classes for: l  Parsing XMI files l  Define and apply metrics for OO models SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 7
  • 8. SMartyParser Class Diagram SMartyParser Class Model com.sdmetrics.model * 1 1 MetaModelElement MetaModel 1 1 br.uem.din.les.parserxmi * * * * 1 1 1 1 1 ModelElement Model XMIReader ProductLineModelParser * XMITrigger IProductLineVariabilityParser * 1 1 IProductLineUMLModelParser * 1 XMITransformation Transformati XMITransformations Figure 4: The SMartyParser Class Model. SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 8
  • 9. Figure 4: The SMartyParser Class Model. SMartyParser Available Operations Table 1: The SMartyParser Available Operations. Interface Method Description getAllDiagrams Get all diagrams from the UML model IProductLineUM getStructureDiagrams Get structural diagram LModelParser getBehaviourDiagrams Get behavioral diagrams getInteractionDiagrams Get interaction diagrams getElementsByDiagram Get all elements of a given diagram getElementsByDiagramByType Get all elements of a given diagram by type getElementByID Get an element by its ID getElementsByType Get all elements of a given type getAllVariabilities Get all variabilities (as UML comments) IProductLineVariabilityParser getAllVariationPoints Get all variation points getAllVariables Get all variable elements getOptionalVariants Get all optional variants getMandatoryVariants Get all mandatory variants getInclusiveVariants Get all inclusive variants getExclusiveVariants Get all exclusive variants getVariabilityByName Get a variability by its name getVariantsOfAVariability Get all variants of a given variability getVariationPointOfAVariant Get the variation point of a given variant getChildrenVariabilities Get all child variabilities from a given variability getVariantRequiredElements Get all variants required by a given variant getVariantMutexElements Get all mutually exclusive variants of a given variant SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 9
  • 10. The SMartyParser l  SMartyParser was conceived based on the main UML- based variability management concepts: l  Variation Point l  Variant (mandatory, optional, inclusive, exclusive) l  Constraints between Variants (requires, mutex) SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 10
  • 11. SMartyParser Configuration Table 2: The SMartyParser Configuration File Ta Properties Available Properties. Ste Property Description uml_version the UML version xmi_version the XMI version related XMI- xmi_xtf_file_location the XTF file location xmi_mdf_file_location the MDF file location xmi_model_file_location the XMI file location the stereotype used for representing variability_stereotype variabilities the stereotype used for representing variation_point_stereotype variation points the stereotype used for representing mandatory_variant mandatory variants Stereotype-related the stereotype used for representing optional_variant optional variants the stereotype used for representing inclusive_variant inclusive variants the stereotype used for representing exclusive_variant exclusive variants the stereotype used for representing variable_stereotype variable elements the stereotype used for representing require_constraint require constraints the stereotype used for representing mutually_exclusive_variant mutually exclusive constraints SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 11
  • 12. SMartyParser Instantiation l  It is instantiated by running the following code: ProductLineModelParser smartyParser = new ProductLineModelParser(); l  The constructor is responsible for: l  reading the respective files (MDF and XTF) indicated in the SMartyParser configuration file; and l  processing the XMI file SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 12
  • 13. SMartyParser Variability Concepts and Example Stereotypes e 3: Correspondence Between the SM eotypes and Variability Concepts. Variability Concept SMartyProfile Stereotype Variability «variability» Variation Point «variationPoint» Mandatory Variant «mandatory» Optional Variant «optional» Inclusive Variant «alternative_OR» Exclusive Variant «alternative_XOR» Require Constraint «requires» Mutually Exclusive Constraint «mutex» Variable Elements «variable» SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 13
  • 14. Annotated Arcade Game Maker Use Case Model <<variability>> << optional >> << requires >> << optional >> name = "save score" minSelection = 0 Check Previous Best Score Save Score maxSelection = 1 bindingTime = DESIGN_TIME << mandatory >> << mandatory >> allowsAddingVar = true Install Game variants = {Save Score} <<variability>> << mandatory >> name = "check score" << mandatory >> Save Game minSelection = 0 maxSelection = 1 << mandatory >> bindingTime = DESIGN_TIME Exit Game GamePlayer allowsAddingVar = true variants = {Check Previous Best Score} << mandatory , variationPoint >> Play Selected Game GameInstaller Extension Points <<variability>> initialization_ext_point: name = "play game" << mandatory >> animation_ext_point: minSelection = 1 stance maxSelection = 3 Uninstall Game bindingTime = DESIGN_TIME result allowsAddingVar = true variants = {Play Brickels, << extend >> << extend >> << extend >> class, Play Pong, Play Bowling} UML << alternative_OR >> Play Pong << alternative_OR >> << alternative_OR >> nts the Play Brickles Play Bowling nd it is << include >> << include >> << include >> << include >> esents << mandatory >> << include >> << include >> << mandatory >> lasses, Initialization Animation Loop ement meta- SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 14
  • 15. Executing SMartyParser l  To obtain all the diagrams, as a collection, one must invoke the following operation: smartyParser.getAllDiagrams(); l  For the AGM example, such an operation returns the following diagram as a ModelElement instance: l  [AGM - Use Case Model] SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 15
  • 16. Executing SMartyParser l  to obtain all variation points from the SPL models, one can invoke the following operation: smartyParser.getAllVariationPoints(); l  For the AGM example, such an operation returns the following variation points: l  [Play Selected Game] SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 16
  • 17. Conclusions l  SMartyParser can be easily integrated to specific environments for UML-based SPLs l  The parser provides several operations based on UML models and their variabilities represented as stereotypes l  SMartyParser only requires one to properly configure its configuration file avoiding misunderstanding of variability concepts from de UML models SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 17
  • 18. Limitations and On Going Works l  Limitations of the parser includes: l  variability representation based on stereotypes; l  lack of an OCL engine for improving variability comprehension and automatic product generation; and l  the parser only processes use case, class, component and activity diagrams.. so far…. l  On going works include: l  the parser is being currently extended for sequence diagrams, the UML package merging mechanism, SysML block definition for ES, and the SPEM elements for process lines SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 18
  • 19. Questions? Contributions? l  If you prefer, contact me via e-mail: l  edson@din.uem.br SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 19
  • 20. l  Obrigado !!! l  Grazie!!! l  Thank you ! ! ! SMartyParser: a XMI Parser for UML-based Variability Models – VaMoS 2013 – Edson Jr. 20