Spelling suggestions: "subject:"bproduct lines"" "subject:"2product lines""
81 |
Variability Modeling In Software Product LinesKasikci, Baris Can Cengiz 01 September 2009 (has links) (PDF)
Software product lines provide enhanced means for systematic reuse when constructing systems within a particular domain. In order to achieve this, systems in a product line are expected to have a significant amount of commonality. Variability is what distinguishes these systems from one another and is spread across various product line artifacts. This thesis focuses on modeling and managing product line variability. The concept of concerns is proposed as a means of variability modeling. Another proposal is related to the use of context free grammars to represent product line variability and to guarantee that any application derived according to the variability framework thus defined will be a valid one. This approach is evaluated for an example domain, in the light of novel evaluation criteria that are also introduced in the scope of this thesis.
|
82 |
Non-functional Variability Management By Complementary Quality Modeling In A Software Product LineGurses, Ozgur 01 September 2010 (has links) (PDF)
Software product lines provide the opportunity to improve productivity, quality and time-to-market of software-based systems by means of systematic reuse. So as to accomplish systematic software reuse, elicitation of commonality knowledge is to be upheld by the analysis and management of variability knowledge inherent in domain requirements. Considerable effort is devoted to the management of functional variability, often neglecting the impact of quality concerns originating from non-functional requirements. In this thesis, a hybrid approach concentrating on the modeling of quantitative as well as qualitative concerns on quality has been proposed. This approach basically aims to support the domain design
process by modeling non-functional variability. It further aims to support application design process by providing trade-off selection ability among quality concerns to control functional features that belong to the same domain. This
approach is implemented and evaluated on an example domain to reveal its benefits on non-functional variability.
|
83 |
CSOM/PL : a virtual machine product lineHaupt, Michael, Marr, Stefan, Hirschfeld, Robert January 2011 (has links)
CSOM/PL is a software product line (SPL) derived from applying multi-dimensional separation of concerns (MDSOC) techniques to the domain of high-level language virtual machine (VM) implementations. For CSOM/PL, we modularised CSOM, a Smalltalk VM implemented in C, using VMADL (virtual machine architecture description language). Several features of the original CSOM were encapsulated in VMADL modules and composed in various combinations. In an evaluation of our approach, we show that applying MDSOC and SPL principles to a domain as complex as that of VMs is not only feasible but beneficial, as it improves understandability, maintainability, and configurability of VM implementations without harming performance. / CSOM/PL ist eine Softwareproduktfamilie (software product line, SPL), die erstellt wurde, indem Techniken der mehrdimensionalen Belangtrennung (multi-dimensional separation of concerns, MDSOC) auf die Domäne der virtuellen Maschinen (VM) für höhere Programmiersprachen angewendet wurden. Dazu wurde CSOM, eine in C implementierte Smalltalk-VM, mittels VMADL (virtual machine architecture description language) in Module zerlegt. Etliche Eigenschaften von CSOM wurden in VMADL-Module gekapselt und auf unterschiedliche Weisen komponiert. Die Auswertung des Ansatzes zeigt, dass die Anwendung von MDSOC- und SPL-Prinzipien auf die komplexe VM-Domäne nicht nur machbar ist, sondern darüber hinaus auch Vorteile mit sich bringt, da die Verständlichkeit, Wartbarkeit und Konfigurierbarkeit von VM-Implementierungen ohne Beeinträchtigung der Ausführungsgeschwindigkeit verbessert werden.
|
84 |
Architectural metrics and evaluation for component based software systemsBhattacharya, Sutirth 21 April 2015 (has links)
Component based software engineering has been perceived to have immense reuse potential. This area has evoked wide interest and has led to considerable investment in research and development efforts. Most of these investigations have explored internal characteristics of software components such as correctness, reliability, modularity, interoperability, understandability, maintainability, readability, portability and generality for promoting reuse. But experience over the past decade and a half has demonstrated that the usefulness of a component depends as much on the context into which it fits as it does on the internal characteristics of the component. Software architecture descriptions that take into account the requirements of the domain can be used to serve as this context. While the Perry, Wolf definition of software architecture has been widely acknowledged, a number of architectural description languages (ADL) have emerged that aim to capture various facets of a software, using varying degrees of formalism. There is currently no agreement towards a standard approach for documenting software architectures which would help define the vocabulary for architectural semantics. In spite of lack of any specification standards for components, Software Product Lines (SPL) and Commercial Off The Shelf (COTS) components do provide a rich supporting base for creating software architectures and promise significant improvements in the quality of software configurations that can be composed from pre-built components. However, further research is needed for evaluation of architectural merits of such component based configurations. In this research, we identify the key aspects of software that need to be specified to enable useful analysis at an architectural level. We also propose a set of metrics that enable objective evaluation of reusability potential. Architectural research has established that software architectural styles provide a way for achieving a desired coherence for component-based architectures. Different architectural styles enforce different quality attributes for a system. Thus, if the architectural style of an emergent system could be predicted, a person playing the role of a system integrator could make necessary changes to ensure that the quality attributes dictated by the system requirements were satisfied before the actual system is built and deployed, thus somewhat mitigating project risks. As part of this research, we propose a model for predicting architectural styles based on use cases that need to be satisfied by a system configuration and demonstrate how our approach can be used to determine stylistic conformance. We also propose objective methods for assessing architectural divergence, erosion and drift during system evolution and maintenance. / text
|
85 |
FieSta: An approach for Fine-Grained Scope Definition, Configuration and Derivation of Model-Driven Software Product LinesArboleda, Hugo 28 October 2009 (has links) (PDF)
We present an approach based on Model-Driven Development ideas to create Software Product Lines(SPLs). In Model-Driven SPL approaches, the derivation of a product starts from a domain application model. This model is transformed through several stages reusing model transformation rules until a product is obtained. Transformations rules are selected according to variants included in configurations created by product designers. Configurations include variants from variation points, which are relevant characteristics representing the variability of a product line. Our approach (1) provides mechanisms to improve the expression of variability of Model-Driven SPLs by allowing designers to create fine-grained configurations of products, and (2) integrates a product derivation process which uses decision models and Aspect-Oriented Programming facilitating the reuse, adaptation and composition of model transformation rules. We introduce constraint models which make it possible for product line architects to capture the scope of product lines using the concepts of constraint, cardinality property and structural dependency property. To configure products, we create domain models and binding models, which are sets of bindings between model elements and variants and satisfy the constraint models. We define a decision model as a set of aspects. An aspect maintains information of what and when transformations rules that generate commonalities of products must be intercepted (joinpoints) and what transformation rules (advices) that generate variable structures must be executed instead. Our strategy maintains uncoupled variants from model transformation rules. This solves problems related to modularization, coupling, flexibility and maintainability of transformations rules because they are completely separated from variants; thus, they can evolve independently.
|
86 |
Quantifying Structural Attributes of System Decompositions in 28 Feature-oriented Software Product Lines: An Exploratory StudySobernig, Stefan, Apel, Sven, Kolesnikov, Sergiy, Siegmund, Norbert 07 1900 (has links) (PDF)
Background: A key idea of feature orientation is to decompose a software product line along the features it provides. Feature decomposition is orthogonal to object-oriented decomposition it crosscuts the underlying package and class structure. It has been argued often that feature decomposition improves system structure (reduced coupling, increased cohesion). However, recent empirical findings suggest that this is not necessarily the case, which is the motivation for our empirical investigation.
Aim: In fact, there is little empirical evidence on how the alternative decompositions of feature orientation and object orientation compare to each other in terms of their association with observable properties of system structure (coupling, cohesion). This motivated us to empirically investigate and compare the properties of three decompositions (object-oriented, feature-oriented, and their intersection) of 28 feature-oriented software product lines.
Method: In an exploratory, observational study, we quantify internal attributes, such as import coupling and cohesion, to describe and analyze the different decompositions of a feature-oriented product line in a systematic, reproducible, and comparable manner. For this purpose, we use three established software measures (CBU, IUD, EUD) as well as standard distribution statistics (e.g., Gini coefficient).
Results: First, feature decomposition is associated with higher levels of structural coupling in a product line than a decomposition into classes. Second, although coupling is concentrated in feature decompositions, there are not necessarily hot-spot features. Third, the cohesion of feature modules is not necessarily higher than class cohesion, whereas feature modules serve more dependencies internally than classes. Fourth, coupling and cohesion measurement show potential for sampling optimization in complex static and dynamic product-line analyses (product-line type checking, feature-interaction detection).
Conclusions: Our empirical study raises critical questions about alleged advantages of feature decomposition. At the same time, we demonstrate how the measurement of structural attributes can facilitate static and dynamic analyses of software product lines. (authors' abstract) / Series: Technical Reports / Institute for Information Systems and New Media
|
87 |
Quantifying Structural Attributes of System Decompositions in 28 Feature-oriented Software Product Lines: An Exploratory StudySobernig, Stefan, Apel, Sven, Kolesnikov, Sergiy, Siegmund, Norbert 07 1900 (has links) (PDF)
Background: A key idea of feature orientation is to decompose a software product line along the features it provides. Feature decomposition is orthogonal to object-oriented decomposition it crosscuts the underlying package and class structure. It has been argued often that feature decomposition improves system structure (reduced coupling, increased cohesion). However, recent empirical findings suggest that this is not necessarily the case, which is the motivation for our empirical investigation.
Aim: In fact, there is little empirical evidence on how the alternative decompositions of feature orientation and object orientation compare to each other in terms of their association with observable properties of system structure (coupling, cohesion). This motivated us to empirically investigate and compare the properties of three decompositions (object-oriented, feature-oriented, and their intersection) of 28 feature-oriented software product lines.
Method: In an exploratory, observational study, we quantify internal attributes, such as import coupling and cohesion, to describe and analyze the different decompositions of a feature-oriented product line in a systematic, reproducible, and comparable manner. For this purpose, we use three established software measures (CBU, IUD, EUD) as well as standard distribution statistics (e.g., Gini coefficient).
Results: First, feature decomposition is associated with higher levels of structural coupling in a product line than a decomposition into classes. Second, although coupling is concentrated in feature decompositions, there are not necessarily hot-spot features. Third, the cohesion of feature modules is not necessarily higher than class cohesion, whereas feature modules serve more dependencies internally than classes. Fourth, coupling and cohesion measurement show potential for sampling optimization in complex static and dynamic product-line analyses (product-line type checking, feature-interaction detection).
Conclusions: Our empirical study raises critical questions about alleged advantages of feature decomposition. At the same time, we demonstrate how the measurement of structural attributes can facilitate static and dynamic analyses of software product lines. (authors' abstract) / Series: Technical Reports / Institute for Information Systems and New Media
|
88 |
[en] COLLABORATIVE CONFIGURATION OF SOFTWARE PRODUCT LINE / [pt] CONFIGURAÇÃO COLABORATIVA DE LINHA DE PRODUTOS DE SOFTWARECARLOS ROBERTO MARQUES JUNIOR 28 September 2011 (has links)
[pt] A configuração de produto é uma atividade chave para permitir a customização
em massa. Ela corresponde a produção de um sistema computacional
a partir de uma linha de produtos de software, respeitando as necessidades
individuais dos clientes. Na prática, a atividade de configuração
do produto pode se tornar uma tarefa complexa, principalmente porque envolve
várias partes interessadas com diferentes competências para tomar decisões.
Vários trabalhos proprõem decompor a atividade de configuração em
estágios pré-estabelecidos, atravrés dos quais os interessados podem tomar
suas decisões de forma separada e coerente. No entanto, quando há uma
descentralização geográfica do conhecimento necessário em cada etapa e/ou
quando os requisitos do cliente forem imprecisos e mudarem com frequência,
essas soluções propostas não se aplicam. Para resolver essas questões, este
trabalho proprõe uma abordagem de configuração dinâmica e colaborativa
de produtos com base na metáfora de assistência pessoal. Os assistentes pessoais
num ambiente cooperativo coordenam as decisões dos stakeholders e
pró-ativamente executam tarefas, tais como o raciocínio sobre as implicaçõoes
das decisões, integrando as decisões distribuídas e resolvendo os requisitos
divergentes. Uma ferramenta protótipo, chamada Libertas, e dois cenários
ilustrativos que avaliam a aplicabilidade da nossa abordagem também são
apresentados. O primeiro cenário analisa o processo de configuração para
configurar um sistema operacional para suportar os requisitos de negócio de
uma empresa. O segundo aborda um cen´ario com uma linha de produtos de
software para portais web. / [en] Product configuration is a key activity for enabling mass customization.
It corresponds to tailoring a software application from a software product
line, respecting individual customer requirements. In practice, the product
configuration activity is challenging, mainly because it involves numerous
stakeholders with different expertise making decisions. Several works claim
to decompose the configuration activity into pre-arranged stages, whereby
stakeholders can make their decisions in a separated way and coherent fashion.
However, due to the decentralization in geography of the knowledge required
in each stage and that customer requirements could be imprecise and
change frequently, the proposed solutions do not apply. To address these issues,
this work proposes a dynamic and collaborative product configuration
approach based on the personal assistant metaphor. Personal assistants in a
cooperative way coordinate stakeholders´ decisions and proactively perform
tasks, such as reasoning about the ramifications of decisions, integrating distributed
decisions and resolving divergent requirements. A tool prototype,
called Libertas, and two case studies that evaluate the applicability of our
approach are also presented. The first case study analyzes the configuration
process to configure an operational system to support the business requirements
of an enterprise. The second one addresses a scenario of a software
product line for web portals.
|
89 |
Supporting feature model configuration based on multi-stakeholder preferencesStein, Jacob January 2015 (has links)
Configuração modelo de features é conhecida por ser uma atividade complexa, demorada e propensa a erros. Esta atividade torna-se ainda mais complicada quando envolve múltiplas partes interessadas no processo de configuração. Trabalhos de pesquisa têm proposto abordagens para ajudar na configuração de modelo de features, mas elas dependem de processos sistemáticos que restringem as decisões de alguns dos stakeholders. Neste trabalho, propomos uma nova abordagem para melhorar o processo de configuração multi-stakeholder, considerando as preferências dos stakeholders expressas através de restrições duras e brandas. Com base em tais preferências, recomendamos diferentes configurações de produto utilizando diferentes estratégias da teoria da escolha social. Nossa abordagem é implementada em uma ferramenta chamada SACRES, que permite criar grupos de stakeholders, especificar preferências dos stakeholders sobre uma configuração e gerar as configurações ideais. Realizamos um estudo empírico para avaliar a eficácia de nossas estratégias no que diz respeito à satisfação individual e justiça entre todos os stakeholders. Os resultados obtidos provem evidência de que estratégias em particular possuem melhor performance em relação à satisfação de grupo, chamadas average e multiplicative considerando as pontuações atribuídas pelos participantes e complexidade computacional. Nossos resultados são relevantes não só no contexto de Linha de Produto de Software, mas também para a Teoria da Escolha Social, dada a instanciação de estratégias de escolha social em um problema prático. / Feature model con guration is known to be a hard, error-prone and timeconsuming activity. This activity gets even more complicated when it involves multiple stakeholders in the con guration process. Research work has proposed approaches to aid multi-stakeholder feature model con guration, but they rely on systematic processes that constraint decisions of some of the stakeholders. In this dissertation, we propose a novel approach to improve the multi-stakeholder con guration process, considering stakeholders' preferences expressed through both hard and soft constraints. Based on such preferences, we recommend di erent product con gurations using di erent strategies from the social choice theory. Our approach is implemented in a tool named SACRES, which allows creation of stakeholder groups, speci cation of stakeholder preferences over a con guration and generation of optimal con guration. We conducted an empirical study to evaluate the e ectiveness of our strategies with respect to individual stakeholder satisfaction and fairness among all stakeholders. The obtained results provide evidence that particular strategies perform best with respect to group satisfaction, namely average and multiplicative, considering the scores given by the participants and computational complexity. Our results are relevant not only in the context software product lines, but also in the context of social choice theory, given the instantiation of social choice strategies in a practical problem.
|
90 |
Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworksPinto, Victor Hugo Santiago Costa 31 October 2013 (has links)
Made available in DSpace on 2016-06-02T19:06:10Z (GMT). No. of bitstreams: 1
5674.pdf: 10691357 bytes, checksum: 01bd64a7f9ae5a29efe62ec0159122e0 (MD5)
Previous issue date: 2013-10-31 / Financiadora de Estudos e Projetos / Frameworks are tools for software reuse that contribute for reducing costs and increased productivity in application development. Nowadays they are widely used and they tend to provide a satisfactory set of variabilities of a given domain. In general, a common trend in the evolution of these frameworks is the addition of new variabilities in attempting to address demands of a growing set of users. However, when such evolutions are not well designed and managed, the original architecture of the framework ends deviating from what had been previously planned, resulting in a complex and inflexible architecture. In addition, the new variabilities may belong to domains that were not originally planned for the framework, and become what we call Multiple Domains Frameworks (MDF). A problem of this kind of framework is that some variabilities may be useless for certain applications supported by the framework. Thus, MDF have problems for the Application Engineers (AE) and for Framework Engineers (FE). In the first case, the learning curve and the productivity are compromised, because AE will need to live together with a vast set of variabilities that may be unnecessary. For FE, the inflexibility of architecture complicates maintenance and composition/decomposition of smaller and more restrict versions of the framework. In this context, as an alternative to the aforementioned problems, we present an approach for modularization of MDFs into Framework Product Lines (FPL). An FPL is a product line in which the generated members are frameworks instead of applications. The main idea is that flexibility of this new architecture allows the generation of smaller and directed frameworks to the requirements of a domain/subdomain, avoiding the presence of features/variabilities that will never be used. One of the key points of this approach is to determine the Usage Scenario that the FPL must satisfy. Thus, an MDF can be decomposed in features with appropriate levels of granularity, a factor that directly impacts in the quality of an FPL. For the design of this approach, we conducted a case study in which the application framework GRENJ was modularized into an FPL. Two kinds of evaluation were performed. The first was an experiment to compare the effort to modularize a FMD in FPL using Aspect-Oriented Programming and Model-Driven Development. The second was a comparative study among applications developed with support of original framework and applications developed from the resulting FPL. The results show advantages in the reduction of efforts and increased productivity. / Frameworks são ferramentas de reuso que contribuem para a reducão de custos e aumento da produtividade no desenvolvimento de aplicações. Eles são amplamente empregados atualmente e tendem a fornecer um conjunto satisfatório de variabilidades de um determinado domínio. Em geral, uma característica comum no processo de evolução de frameworks e a adição de novas variabilidades na tentativa de atender demandas de um conjunto cada vez maior de usuários. Entretanto, quando tais evoluções não são bem planejadas e gerenciadas, a arquitetura original do framework acaba se desviando da que havia sido previamente planejada, resultando em uma arquitetura complexa e inflexível. Além disso, as novas variabilidades adicionadas podem pertencer a domínios que não foram originalmente planejadas para o framework; levando ao que chamamos de Frameworks de Multiplos Dominios (FMDs). Um problema desse tipo de framework e que determinadas variabilidades podem ser inúteis para certas aplicações apoiadas pelo framework. Dessa forma, FMDs apresentam problemas tanto para os engenheiros de aplicação (EA) quanto para os engenheiros do framework (EF). No primeiro caso, a curva de aprendizado e a produtividade são comprometidas, pois o EA precisara conviver com um conjunto grande de variabilidades que podem ser desnecessarias. Para os EFs, a inflexibilidade arquitetural acaba dificultando manutenções e a composição/decomposições de versões menores e mais restritas do framework. Nesse contexto, como uma alternativa para os problemas supracitados, apresenta-se neste trabalho uma abordagem para reestruturar FMDs em Linhas de Produtos de Frameworks (LPFs). Uma LPF e uma linha de produtos em que os membros gerados são frameworks ao invés de aplicações prontas. A ideia principal e que a flexibilidade dessa nova arquitetura permita a geração de frameworks menores e mais direcionados aos requisitos de um dominio/subdominio, evitando a presença de features/variabilidades que nunca serão usadas. Um dos pontos chave da abordagem proposta consiste em determinar o cenário de utilização que a LPF deve satisfazer. Assim, pode-se decompor um FMD em features com niveis adequados de granularidade, fator que impacta diretamente na qualidade da LPF. Para a concepção da abordagem conduziu-se um estudo de caso no qual o framework de aplicação GRENJ foi transformado em uma LPF. Foram realizados dois tipos de avaliação. O primeiro foi um experimento para comparar o esforço de remodularizar um FMD em LPF usando programação orientada a aspectos e desenvolvimento dirigido a modelos. O segundo foi um estudo que comparou aplicações desenvolvidas com o apoio do framework original com aplicações desenvolvidas a partir da LPF resultante. Os resultados apontaram vantagens com relação a redução dos esforços e aumento da produtividade.
|
Page generated in 0.0479 seconds