Spelling suggestions: "subject:"aroduct lines"" "subject:"aproduct lines""
21 |
Capturing Architectural Knowledge of Software Product LinesHerbas, Jose Antonio Mercado January 2011 (has links)
The architecture of a software system is defined by significant decisions that drive the way in which the software is designed implemented and maintained. In the context of software product lines, these decisions will determine the design of an architec- ture that provides the software with the ability to be configured for different product variants and extended to accommodate future requirements. Although, variability models describe the different configurations of current and fu- ture products that the product line supports, the knowledge of how the architecture was designed to support variations of a product in space and time exists only in the architects’ mind or remains implicit in architectural models. This thesis argues that the knowledge found in architectural models and design rationale can be used to facilitate the derivation of product variants and the evolution of the product line. To support this notion, we propose the AKinSPL method for capturing the architec- tural knowledge in software product lines. The method is founded on the factors that architects take into consideration when designing the architecture, and a meta-model that represents the mental models and processes architects follow during the creation of a product line architecture. To validate the concepts of AKinSPL, its guidelines were mapped to activities of the PuLSE-DSSA methodology and new artifacts were created to capture architectural knowledge on the basis of those guidelines. Next, it was applied to capture the archi- tectural knowledge of an embedded software system for automatic control of agricul- tural equipment. The results showed that diagrams augmented with design rationale enable a faster understanding of the purpose of the architectural models. Similarly, the prescriptions of the architecture with respect to the implementation are conveyed more easily. / jmercadoh@gmail.com Tel: +4916099058545
|
22 |
Variability in Evolving Software Product Lines / Variabilitet i evolverande mjukvaruproduktlinjerSvahnberg, Mikael January 2000 (has links)
Software reuse is perceived as the key to successful software development because of the potential for shortened time to market, increased quality and reduced costs. In recent years software product lines have emerged as a promising way to achieve large scale software reuse. Challenges against successful reuse when developing in a software product line involves management of the differences between products, and the differences between different releases of the products. In this thesis we present the experiences from a series of case studies within four software companies. Based on these we present a taxonomy of the technical solutions to manage product differences, a historical essay of how components in a software product line can evolve and what mechanisms that are used to support this evolution. From this we elaborate on the connection between evolution and variability, i.e. the ability of the software architecture and components to support the differences between products. We argue that evolution is strongly connected to variability, and that by foreseeing the evolution, the software can be instrumented with appropriate variability mechanisms accordingly. Moreover, we argue that some types of evolution are more frequent than others, and that the efforts should mainly go in the direction of foreseeing and instrumenting for these types of evolution.
|
23 |
Integration of Service-Oriented Embedded Systems with External Systems in Software Product LinesJohansson, Nils January 2024 (has links)
Developing software for complicated systems is often done by collaboration and consists of deliverables by a multitude of organisations. The deliverables can range from smaller devices and commercial-off-the-shelf software components, to larger systems. This is the situation during the development of the embedded system for large vehicles or machines. Many companies within the embedded industry are transitioning to using Service-Orientation to develop high-quality software and reduce costs. However, when integrating different external systems with an internal, service-oriented system there may arise difficulties since the communication patterns, i.e. interface, cannot be changed to fit the internal system. This study aims to develop a design solution that can be used to integrate different external systems with an internally developed service-oriented system in an entire software product line, including the handling of variability by parametrization. The solution is evaluated by software developers at a company in such a situation. To develop the design solution design science methodology is applied, which is an iterative process that continuously improves the candidate solution until satisfactory according to various stakeholders. The resultant design solution includes the use of wrappers-based interaction between systems, where so-called adapters are used when the internal system acts as a client to an external system, and using gateways for when the internal systems acts as a server to an external system. We also observe the need for a system integration view to describe the relations and available communication mechanisms between systems, i.e. the gateways and adapters. We conclude that to integrate a service-oriented software system with non-service-oriented systems, there can be benefits to using an abstraction layer between systems to protect the internally developed software architecture from being affected by the nature of the external system. Attempting to integrate external systems with an internal system as if also developed internally may become troublesome in terms of defining and upholding an appropriate service-oriented architecture. This is especially important when considering variability of the complete system, where different external systems are used or replaced in specific variants.
|
24 |
Building a safety case for a small sized product line of Fuel Level Display SystemsGallucci, Antonio January 2013 (has links)
ISO 26262 is an international standard valid for the automotive domain. It regulates all the activities to perform for developing safety critical systems in such domain. To be compliant with ISO 26262, all the required activities have to be performed and all the required work products have to be provided. Furthermore, in addition to develop a system in a safe way, following the safety standard guidelines, the achieved safety has also to be demonstrated. This is done through a safety case, a structured argument showing that a system is acceptably safe. ISO 26262 focuses on single systems and does not contain guidelines for product lines. Product line engineering is a valid approach to systematize reuse, aimed at reducing the effort needed to develop similar systems. But, it loses its strength when dealing with safety critical systems, since it is not aligned with safety standards. Hence, when developing a safety critical product line in the automotive domain, the work products required by ISO 26262 have to be provided every time from scratch, including the safety case, for each single system of the product line. This thesis work focuses on providing an approach for building and modeling a safety case for safety critical product lines in the automotive domain. Furthermore, the considered product line engineering approach is aligned with ISO 26262, through the inclusion of safety activities in the product line development process. Giving in this way, the concrete possibility to overtake to the current limitations, reducing the effort needed to develop and certificate each single system of a safety critical product line. To illustrate the validity of the proposed approach a safety critical product line developed by Scania is used as case study.
|
25 |
Using a Multi-Method Approach for Evaluating Service Identification Methods in Service-Oriented Product LinesVALE, Tassio Ferreira 03 1900 (has links)
Submitted by Daniella Sodre (daniella.sodre@ufpe.br) on 2015-03-09T12:32:57Z
No. of bitstreams: 2
MSc Dissertation -Tassio Ferreira Vale.pdf: 3047313 bytes, checksum: 266f36d93884380708ea06bafe535341 (MD5)
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) / Made available in DSpace on 2015-03-09T12:32:57Z (GMT). No. of bitstreams: 2
MSc Dissertation -Tassio Ferreira Vale.pdf: 3047313 bytes, checksum: 266f36d93884380708ea06bafe535341 (MD5)
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
Previous issue date: 2012-03 / A combinação de Linhas de Produto de Software (LPS) e Computação Orientada a
Serviços (COS) tem recebido atenção de pesquisadores e praticantes, já que uma área
é capaz de solucionar determinados problemas da outra. A junção dessas duas áreas é
chamada de Linha de Produto Orientada a Serviços (LPOS), e tem se mostrado uma área
de pesquisa emergente nos últimos anos.
No contexto da Computação Orientada a Serviços, identificação de serviços é uma das
primeiras atividades para modelagem de uma solução COS, e consiste na determinação
de serviços candidatos. Essa não é uma tarefa trivial, e os erros adquiridos durante a
identificação de um serviço pode propagar-se para as atividades subsequentes do processo
de desenvolvimento orientado a serviços.
Existem diversas propostas para identificação de serviços. Apesar da diversidade, não
existe um método de identificação de serviços capaz de adequar-se a diversos contextos e
necessidades. Considerando a heterogeneidade desses métodos, esta dissertação tem o
objetivo de verificar quais métodos podem ser aplicados em linhas de produto de software,
bem como as vantagens, desvantages e desafios existentes neste campo.
Esta pesquisa utilizou uma abordagem multi-métodos, que combina estudos primários
e secundários a fim de incrementar o corpo de conhecimento em determinada área baseada
nos achados de tal investigação. Desta forma, este trabalho utilizou um método secundário
(revisão sistemática) e dois métodos primários com o intuito de aumentar a confiabilidade
dessa pesquisa.
Além disso, foi realizada uma revisão da literatura a fim de coletar as abordagens
de identificação de serviços existentes, visando propor uma recomendação dos métodos
mais adequados considerando três cenários de LPS: top-down, bottom-up e hybrid. Esta
recomendação foi avaliada através de um estudo de caso com uma linha de produto
de sistemas médicos, usando dois metodos classificados no cenário o qual os sistemas
médicos encontram-se, top-down.
A principal contribuição dessa pesquisa é prover um instrumento que auxilie os
interessados em identificar serviços a escolher um método apropriado, levando em
consideração o cenário SPL a ser aplicado. Os resultados do estudo de caso mostram que
as abordagens de identificação de serviços podem ser aplicadas num contexto de LPS.
Além disso, este métodos facilitam a realização da atividade de identificação. / The combination of Software Product Line (SPL) and Service-Oriented Computing (SOC)
have started to receive attention by researchers and practitioners, since they can address
issues of each other. Putting these two areas together is called Service-Oriented Product
Lines Enginering (SOPLE), presenting itself as an emerging area in the last years.
In the Service-Oriented Computing, service identification is one of the first activities
in the modeling of a SOC solution, that consists of determining candidate services. This
is not a trivial task, and the errors made during the identification can propagate mistakes
to the next activities of the service-oriented development process.
There are several proposals addressing service identification for several contexts.
However, an unified method for identifying services has not yet been reached. Regarding
the heterogeneity of these methods, this dissertation aims to verify which methods can be
applied in the SPL context, the advantages, disadvantages and the existing challenges of
this field.
This research used a multi-method approach that combines primary and secondary
studies in order to increase the availability of empirical knowledge based on the findings
of the investigation. Thus, this work used one secondary method (systematic review) and
two primary methods (survey and case study) to address it.
Furthermore, it was performed a literature review in order to collect all existing
approaches of service identification, aiming to propose a set of decision models that
recommend the most suitable methods according to three SPL scenarios: bottom-up, topdown
and hybrid, onde decision model for each scenario. One of the decision models was
evaluated through a case study in a medical applications domain, using two approaches
classified in the decision model of the top-down scenario.
The main contribution of this research is to provide an instrument that can help the
service identification stakeholders to choose a suitable method, taking consideration of
their SPL scenarios. In addition, these systematic methods facilitate the application of
the identification activity. The case study results evaluated some service identification
approaches and presented evidence that the methods can be applied in SPL.
|
26 |
RiPLE-EM: a process to manage evolution in software product linesOliveira, Thiago Henrique Burgos de 31 January 2009 (has links)
Made available in DSpace on 2014-06-12T15:53:51Z (GMT). No. of bitstreams: 2
arquivo1933_1.pdf: 2116074 bytes, checksum: 1144c9fce7906fba6fc1437ad2a4c27b (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2009 / Reuso de software é um aspecto chave para organizações interessadas em obter melhorias
de produtividade, qualidade e redução de custos. Linhas de Produto de Software é uma
abordagem de reúso de software que provou seus benefícios em diferentes contextos
industriais (Weiss et al., 2006). Em termos de evolução, uma linha de produtos é um
conjunto em contínua evolução, e por isso, sua evolução precisa ser gerenciada para que
se alcance os benefícios dessa abordagem.
O fato de um core asset ser compartilhado entre produtos, e todas as mudanças neste
core asset poder ter efeito sobre diversos produtos (McGregor, 2003), aliado ao fato que
em linhas de produto de software é preciso lidar com evolução no tempo (versões) e
também evolução no espaço (variabilidade) (Krueger, 2002), faz com que o gerenciamento
da evolução (mudanças) em linhas de produto de software seja mais complexo e mais
desafiador do que o desenvolvimento tradicional de sistemas únicos (Pussinen, 2002).
Portanto, a evolução dos core assets e também dos produtos precisa ser bem gerenciada
para minimizar os problemas causados por ela.
Este desafio envolve diferentes soluções, como questões técnicas, gerenciais e processuais.
Desta forma, o foco desta dissertação está nos problemas ligados ao processo de
gerenciamento evolução em linhas de produto de software.
Neste contexto, este trabalho apresenta o RiPLE-EM, que é um processo para gerenciamento
da evolução. Este processo é uma forma sistemática de guiar e gerenciar a
evolução de cada core asset e cada produto, englobando atividades de gerenciamento de
mudanças, builds, e entregas.
Esta dissertação também apresenta a validação inicial do RiPLE-EM, seguindo guias
bem estabelecidos de experimentação de software (Wohlin et al., 2000), e de acordo com
os dados coletados e analisados na experimentação, RiPLE-EM mostra indicações de
que seja um processo viável para o gerenciamento da evolução em linhas de produto de
software
|
27 |
MODEL DRIVEN SOFTWARE PRODUCT LINE ENGINEERING: SYSTEM VARIABILITY VIEW AND PROCESS IMPLICATIONSGómez Llana, Abel 20 March 2012 (has links)
La Ingeniería de Líneas de Productos Software -Software Product Line Engineerings
(SPLEs) en inglés- es una técnica de desarrollo de software que busca aplicar
los principios de la fabricación industrial para la obtención de aplicaciones informáticas:
esto es, una Línea de productos Software -Software Product Line (SPL)-
se emplea para producir una familia de productos con características comunes, cuyos
miembros, sin embargo, pueden tener características diferenciales. Identificar
a priori estas características comunes y diferenciales permite maximizar la reutilización,
reduciendo el tiempo y el coste del desarrollo. Describir estas relaciones
con la suficiente expresividad se vuelve un aspecto fundamental para conseguir el
éxito.
La Ingeniería Dirigida por Modelos -Model Driven Engineering (MDE) en
inglés- se ha revelado en los últimos años como un paradigma que permite tratar
con artefactos software con un alto nivel de abstracción de forma efectiva. Gracias
a ello, las SPLs puede aprovecharse en granmedida de los estándares y herramientas
que han surgido dentro de la comunidad de MDE.
No obstante, aún no se ha conseguido una buena integración entre SPLE y MDE,
y como consecuencia, los mecanismos para la gestión de la variabilidad no son suficientemente expresivos. De esta manera, no es posible integrar la variabilidad de
forma eficiente en procesos complejos de desarrollo de software donde las diferentes
vistas de un sistema, las transformaciones de modelos y la generación de código
juegan un papel fundamental.
Esta tesis presenta MULTIPLE, un marco de trabajo y una herramienta que persiguen
integrar de forma precisa y eficiente los mecanismos de gestión de variabilidad
propios de las SPLs dentro de los procesos de MDE. MULTIPLE proporciona
lenguajes específicos de dominio para especificar diferentes vistas de los sistemas
software. Entre ellas se hace especial hincapié en la vista de variabilidad ya que es
determinante para la especificación de SPLs. / Gómez Llana, A. (2012). MODEL DRIVEN SOFTWARE PRODUCT LINE ENGINEERING: SYSTEM VARIABILITY VIEW AND PROCESS IMPLICATIONS [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/15075 / Palancia
|
28 |
X-Tools: A Case Study in Building World Class SoftwareCooke, Alan 10 1900 (has links)
ITC/USA 2010 Conference Proceedings / The Forty-Sixth Annual International Telemetering Conference and Technical Exhibition / October 25-28, 2010 / Town and Country Resort & Convention Center, San Diego, California / X-Tools is a collection of utilities for validation, translation, editing and report generation designed to enable the Flight Test Instrumentation (FTI) community to quickly adopt the XidML 3.0 meta-data standard. This paper discusses the challenges of developing such software that meets the current and future needs of the FTI community, and meets the increasingly high quality standards expected of modern software. The paper first starts by discussing the needs of the FTI community and the specific functional requirements of software. These include the ability to fit in with legacy systems, the ability to handle many tens of thousands of parameters, support for new networked-based technologies and support for hardware from any vendor. The non-functional requirements of FTI orientated software are also described and it is suggested that the key non-functional requirements include testability, modifiability, extensibility and maintainability. Finally, as a case study, the X-Tools from ACRA CONTROL are presented. The paper discusses their design, and the tactics used to meet the functional and non-functional requirements of the FTI industry. The paper then outlines how the rigorous quality standards were met and describes the specific mechanisms used to verify the quality of the software.
|
29 |
Industrialising software development in systems integrationMinich, Matthias Ernst January 2013 (has links)
Compared to other disciplines, software engineering as of today is still dependent on craftsmanship of highly-skilled workers. However, with constantly increasing complexity and efforts, existing software engineering approaches appear more and more inefficient. A paradigm shift towards industrial production methods seems inevitable. Recent advances in academia and practice have lead to the availability of industrial key principles in software development as well. Specialization is represented in software product lines, standardization and systematic reuse are available with component-based development, and automation has become accessible through model-driven engineering. While each of the above is well researched in theory, only few cases of successful implementation in the industry are known. This becomes even more evident in specialized areas of software engineering such as systems integration. Today’s IT systems need to quickly adapt to new business requirements due to mergers and acquisitions and cooperations between enterprises. This certainly leads to integration efforts, i.e. joining different subsystems into a cohesive whole in order to provide new functionality. In such an environment. the application of industrial methods for software development seems even more important. Unfortunately, software development in this field is a highly complex and heterogeneous undertaking, as IT environments differ from customer to customer. In such settings, existing industrialization concepts would never break even due to one-time projects and thus insufficient economies of scale and scope. This present thesis, therefore, describes a novel approach for a more efficient implementation of prior key principles while considering the characteristics of software development for systems integration. After identifying the characteristics of the field and their affects on currently-known industrialization concepts, an organizational model for industrialized systems integration has thus been developed. It takes software product lines and adapts them in a way feasible for a systems integrator active in several business domains. The result is a three-tiered model consolidating recurring activities and reducing the efforts for individual product lines. For the implementation of component-based development, the present thesis assesses current component approaches and applies an integration metamodel to the most suitable one. This ensures a common understanding of systems integration across different product lines and thus alleviates component reuse, even across product line boundaries. The approach is furthermore aligned with the organizational model to depict in which way component-based development may be applied in industrialized systems integration. Automating software development in systems integration with model-driven engineering was found to be insufficient in its current state. The reason herefore lies in insufficient tool chains and a lack of modelling standards. As an alternative, an XML-based configuration of products within a software product line has been developed. It models a product line and its products with the help of a domain-specific language and utilizes stylesheet transformations to generate compliable artefacts. The approach has been tested for its feasibility within an exemplarily implementation following a real-world scenario. As not all aspects of industrialized systems integration could be simulated in a laboratory environment, the concept was furthermore validated during several expert interviews with industry representatives. Here, it was also possible to assess cultural and economic aspects. The thesis concludes with a detailed summary of the contributions to the field and suggests further areas of research in the context of industrialized systems integration.
|
30 |
Towards Dynamic Software Product Lines: Unifying Design and Runtime AdaptationsParra, Carlos 04 March 2011 (has links) (PDF)
Pour profiter des nombreux matériels actuellement, les logiciels s'exécutant sur des téléphones mobiles doivent devenir sensibles au contexte, c'est-à-dire, qu'ils doivent surveiller les événements provenant de leur environnement et réagir en conséquence. Nous considérons que ces logiciels peuvent bénéficier d'une approche basée sur les Lignes de Produits Logiciels (LPL). Les LPLs sont définies pour exploiter les points communs par la définition d'éléments réutilisables. Néanmoins, les LPLs ne prennent pas en compte les modifications à l'exécution des applications. Cette thèse propose une ligne de produits logiciels dynamique (LPLD) qui étend une LPL classique en fournissant des mécanismes pour adapter les produits à l'exécution. Notre objectif principal est d'unifier les adaptations à la conception et à l'exécution en utilisant des artefacts logiciels de haut niveau. Concrètement, nous introduisons un modèle de variabilité et un modèle de composition pour modulariser les produits sous forme de modèles d'aspect. Chaque modèle d'aspect a trois parties : l'architecture, les modifications, et le point de coupe. Ensuite, nous proposons deux processus de dérivation du produit : un pour la conception que vise à construire un produit, et un pour l'exécution que vise à adapter un produit. Ce travail de recherche s'est déroulé dans le cadre du projet FUI CAPPUCINO. Nous avons défini une LPLD pour une étude de cas de vente d'un hypermarché sensible au contexte. Le scénario démontre les avantages de notre approche et, en particulier, l'unification réalisée par les modèles d'aspect utilisés à la fois à la conception et à l'exécution.
|
Page generated in 0.0502 seconds