Resumo: A abordagem SysML-based Product Line Approach for Embedded Systems (SyMPLES-SMarty) utiliza a linguagem SysML e Stereotype-based Management of Variability (SMarty) para especicação e representação de variabilidades. SyMPLES-SMarty foi proposta para apoiar o desenvolvimento de sistemas embarcados utilizando conceitos de Linha de Produto Software (LPS). SMarty é uma abordagem para gerenciamento de variabilidades em LPS baseada em UML. Esta dissertação propõe uma abordagem alternativa em que as variabilidades são gerenciadas e representadas pela Common Variability Language (CVL). CVL é uma linguagem para gerenciar variabilidades sobre modelos especificados usando um metamodelo baseado em Meta-Object Facility (MOF), tais como UML e SysML. A principal diferença entre SMarty e CVL é: SMarty é caracterizada como uma abordagem anotativa, enquanto CVL é caracterizada como composicional. Além disso, a CVL pode ser combinada com outras linguagens de modelagem, além da UML, tornando-a independente de Linguagens Específicas de Domínio (DSL). A avaliação da substituição proposta foi realizada por meio de um estudo experimental no qual participantes responderam um formulário de coleta de dados, a fim de encontrar a efetividade das abordagens (SyMPLES-SMarty e SyMPLES-CVL) e oferecer evidências sobre vantagens e limitações de cada abordagem comparada. Além disso, uma avaliação qualitativa também foi realizada para discutir e comparar características das abordagens SyMPLES-SMarty e SyMPLES-CVL. As principais contribuições desta dissertação são: (a) oferecer uma abordagem que gerencia e representa variabilidades com a linguagem CVL, e (b) oferecer resultados das comparações entre SyMPLES-SMarty e SyMPLES-CVL.
Abstract: The SysML-based Product Line Approach for Embedded Systems (SyMPLES-SMarty) approach is based on the SysML language and the Stereotype-based Management of Variability (SMarty) approach for management to specification and representation of variability. SyMPLES-SMarty has been proposed to support the development of embedded systems using concepts of Software Product Line (SPL). SMarty is an approach for managing variability in SPL based on UML. This dissertation proposes an alternative approach where variability is managed and represented by the Common Variability Language (CVL). CVL is a language for managing variability on models specified using a metamodel based on Meta-Object Facility (MOF), such as UML and SysML. The main difference between SMarty and CVL is: SMarty is characterized as a annotative approach, while CVL is characterized as compositional. Moreover, CVL can be combined with other modeling languages, in addition to UML, making it independent of Domain Specific Languages (DSL). The evaluation of the proposed alternative was carried out in an experimental study in which participants answered a data collection form, in order to find the effectiveness of the approaches (SyMPLES-SMarty and SyMPLES-CVL) and provide evidence about benefits and limitations of each approach compared. In addition, a qualitative evaluation is also done to discuss and compare characteristics of SyMPLES-SMarty and SyMPLES-CVL approaches. The main contributions of this dissertation are: (a) provide an approach that manages and represents variability with CVL language, and (b) provide results of comparisons between SyMPLES-SMarty and SyMPLES-CVL. |