32 research outputs found

    Automated analysis of software product lines with orthogonal variability models: Extending the fama ecosystem

    Get PDF
    La ingeniería de líneas de producto software es un paradigma de desarrollo de software que permite la creación de una familia de productos software por medio de la reutilización de un conjunto común de activos software. En este paradigma, los modelos de variabilidad son artefactos centrales. Dichos modelos documentan la variabilidad entre los distintos productos de una línea de productos. En los últimos veinte años, un conjunto de técnicas para el modelado de la variabilidad se han propuesto con el fin de documentar y gestionar la variabilidad, tales como el modelado de características, el modelado de decisión y el modelado ortogonal de variabilidad. La más popular es la del modelado de características. En esta técnica, se usan modelos de características para representar de forma compacta todos los productos de una línea de productos en términos de características. El análisis automático de modelos de variabilidad se define como la extracción de información de los modelos de variabilidad asistida por ordenador. Esa es un área de investigación activa que ha recibido la atención de los investigadores durante los últimos veinte años. Gran parte de esa investigación ha ido enfocada a los modelos de características, resultando en un conjunto de operaciones de análisis, de técnicas y de herramientas para el análisis automático de ese tipo de modelos. Con la aparición de otros modelos de variabilidad, se ha detectado la necesidad de proporcionar nuevas técnicas y herramientas para dar soporte al análisis automático de dichos modelos. Además, existe la necesidad de extender la variabilidad con atributos, de manera que el análisis no solamente lleve en cuenta la variabilidad en términos de las características funcionales, sino también en términos de atributos. Los modelos de variabilidad por lo general contienen elementos que se utilizan sólo para estructurar la variabilidad de la línea de productos, y por lo tanto no tienen ningún impacto en los modelos que se geran, tales como los modelos de requisitos, diseño o implementación. Estos elementos se conocen como elementos abstractos. La mayoría de los lenguajes de modelado de variabilidad no proporcionan una forma explícita de expresar los elementos abstractos. Además, la mayoría de los enfoques actuales para el análisis automatizado de los modelos de la variabilidad sólo pueden razonar acerca de las combinaciones de todos los elementos en el modelo de variabilidad, pero no sobre los que pueden ser relevantes para el usuario, es decir, aquellos elementos que tienen algún impacto en otros modelos de la línea de productos. Por lo tanto, los elementos abstractos deben ser expresados explícitamente en los modelos de variabilidad, por lo que se pueda analizar modelos de variabilidad teniendo en cuenta únicamente los elementos pertinentes. El modelo de variabilidad ortogonal es un lenguaje de modelado para definir la variabilidad de una línea de productos de software. Se trata de una notación usual en la comunidad de línea de productos que interrelaciona la variabilidad en los modelos base, tal como los modelos de requisitos, diseño, componentes y prueba. En esta tesis doctoral, se presenta un conjunto de técnicas y herramientas para dar soporte al análisis automático de los modelos de variabilidad ortogonales. Una importante ventaja de nuestra contribución se basa en el soporte a los atributos y a los elementos abstractos. En primer lugar, se hacen explícitos los elementos abstractos en los modelos de variabilidad ortogonal, y se proporcionan dos técnicas para automatizar el análisis de estos modelos, una en la que se omiten los elementos abstractos, y otra en la que se tienen en cuenta todos los elementos del modelo. En segundo lugar, se proporciona una técnica para enriquecer los modelos ortogonales de variabilidad con atributos y se automatiza su análisis. Nuestras contribuciones han sido integradas en una herramienta que se ha construido como parte del ecosistema de FaMa, que es un marco para el análisis de los modelos de la variabilidad desarrollada por nuestro grupo de investigación. Con el fin de demostrar la eficacia de nuestras técnicas y de nuestra herramienta de análisis se presenta una evaluación usando un caso desarrollado en la industria alemana de automóviles. Dicha evaluación ha sido útil para detectar elementos opcionales falsos y elementos muertos en el modelo de variabilidad ortogonal de dicha línea de producto y también la verificación de restricciones sobre los atributos de este modelo

    On the design of a maintainable software development kit to implement integration solutions

    Get PDF
    Companies typically rely on applications purchased from third parties or developed at home to support their business activities. It is not uncommon that these applications were not designed taking integration into account. Enterprise Application Integration provides methodologies and tools to design and implement integration solutions. Camel, Spring Integration, and Mule range amongst the most popular open-source tools that provide support to implement integration solutions. The adaptive maintenance of a software tool is very important for companies that need to reuse existing tools to build their own. We have analysed 25 maintainability measures on Camel, Spring Integration, and Mule. We have conducted a statistical analysis to confirm the results obtained with the maintainability measures, and it follows that these tools may have problems regarding maintenance. These problems increase the costs of the adaptation process. This motivated us to work on a new proposal that has been carefully designed in order to reduce maintainability efforts. Guaraná SDK is the software tool that we provide to implement integration solutions. We have also computed the maintainability measures regarding Guaraná SDK and the results suggest that maintaining it is easier than maintaining the others. Furthermore, we have conducted an industrial experience to demonstrate the application of our proposal in industryMinisterio de Ciencia y Tecnología TIN2007-64119Junta de Andalucía P07-TIC-2602Junta de Andalucía P08-TIC-4100Ministerio de Ciencia e Innovación TIN2008-04718-EMinisterio de Ciencia e Innovación TIN2010-21744Ministerio de Economía, Industria y Competitividad TIN2010-09809-EMinisterio de Ciencia e Innovación TIN2010-10811-EMinisterio de Ciencia e Innovación TIN2010-09988-

    A Survey on the open source tools for modelling and implementing enterprise application integration solutions

    Get PDF
    Enterprise Application Integration aims to providemethodologies and tools to integrate the many heterogeneous applications of typical companies’ software ecosystems. The reuse of these applications within the ecosystem contributes to reducing software development costs and deployment time. Studies have shown that the cost of integration is usually 5–20 times the cost of developing new functionalities. Many companies rely on Enterprise Service Buses (ESBs) to develop their integration solutions. The first generation of ESBs focused on providing many connectors and general-purpose integration languages whose focus is on communications, not on the integration problem being solved. The second generation of ESBs provides domain-specific languages inspired by enterprise integration patterns, which makes it clear that this generation is tailored to focus on the integration problem. In this chapter we provide a survey of Camel, Spring Integration, and Mule, which are the most successful open source second generation ESBs in the market. We report on them within a homogeneous framework that provides a clear overview of the three technologies

    A Methodology to Evaluate the Maintainability of Enterprise Application Integration Frameworks

    Get PDF
    Consulting companies that specialise in Enterprise Application Integration commonly require adapting existing frameworks to specific domains. Currently, there are many such frameworks available, most of which provide a materialisation of the well-known catalogue of patterns that was devised by Hohpe and Woolf. The decision regarding which framework must be used is critical since adaptation costs are not negligible. In this article, we report on a methodology that helps practitioners make a decision regarding which framework should be selected. To the best of our knowledge, there is not a previous methodology in the literature. Its salient features are that we have assembled a catalogue of measures regarding which there is a consensus in the literature that they are clearly aligned with the effort required to maintain a piece of software and we propose a statistically-sound method to produce a rank. We illustrate our proposal with an industrial case study that we have performed using five open-source frameworks.Ministerio de Educación y Ciencia TIN2007-64119Junta de Andalucía P07-TIC-2602Junta de Andalucía P08-TIC-4100Ministerio de Ciencia e Innovación TIN2008-04718-EMinisterio de Ciencia e Innovación TIN2010-21744Ministerio de Economía, Industria y Competitividad TIN2010-09809-EMinisterio de Ciencia e Innovación TIN2010-10811-EMinisterio de Ciencia e Innovación TIN2010-09988-EMinisterio de Economía y Competitividad TIN2013- 40848-

    Cloud Configuration Modelling: a Literature Review from an Application Integration Deployment Perspective

    Get PDF
    Enterprise Application Integration has played an important role in providing methodologies, techniques and tools to develop integration solutions, aiming at reusing current applications and supporting the new demands that arise from the evolution of business processes in companies. Cloud-computing is part of a new reality in which companies have at their disposal a high capacity IT infrastructure at a low-cost, in which integration solutions can be deployed and run. The charging model adopted by cloud-computing providers is based on the amount of computing resources consumed by clients. Such demand of resources can be computed either from the implemented integration solution, or from the conceptual model that describes it. It is desirable that cloud-computing providers supply detailed conceptual models describing the variability of services and restrictions between them. However, this is not the case and providers do not supply the conceptual models of their services. The conceptual model of services is the basis to develop a process and provide supporting tools for the decision-making on the deployment of integration solutions to the cloud. In this paper, we review the literature on cloud configuration modelling, and compare current proposals based on a comparison framework that we have developed

    Feature Model to Orthogonal Variability Model Transformations. A First Step

    Get PDF
    Feature Model (FM) and Orthogonal Variability Model (OVM) are both modelling approaches employed to represent variability in software product line engineering. The former is the most popular and it is mainly applied to domain engineering. The later is a more recent approach mainly used to document variability in design and realisation artifacts. in the scenario of interest of our research, which focuses on Application Lifecycle Management environment, it would be useful rely on the FM to OVM transformation. To the best of our knowledge, in the literature, there is no proposal for such transformation. in this paper, we propose an algorithm to transform FM into OVM. This algorithm transforms the variable features of a FM into an OVM, thus providing an explicit view of variability of software product line. When working on these transformation, some issues came to light, such as how to preserve semantics. We discuss some of them and suggest a possible solution to transform FM into OVM by extending OVM

    FaMa-OVM: a Tool for the Automated Analysis of Ovms

    Get PDF
    Orthogonal Variability Model (OVM) is a modelling language for representing variability in Software Product Line Engineering. The automated analysis of OVMs is defined as the computer-aided extraction of information from such models. in this paper, we present FaMa-OVM, which is a pioneer tool for the automated analysis of OVMs. FaMa-OVM is easy to extend or integrate in other tools. It has been developed as part of the FaMa ecosystem enabling the benefits coming from other tools of that ecosystem as FaMaFW and BeTTy

    Automated Analysis of Orthogonal Variability Models Using Constraint Programming.

    Get PDF
    Software Product Line (SPL) Engineering is about producing a family of products that share commonalities and variabilities. The variability models are used for variability management in SPLs. Currently, the automated analysis of variability models has become an active research area. in this paper we focus on the automated analysis of Orthogonal Variability Model (OVM), which is a modelling language for representing variability. The automated analysis of OVMs deals with the computer-aided extraction of information from OVMs. The automated analysis of OVMs has been hardly explored and currently has no tooling support. Considering our know-how to analyse feature models, which are the most popular variability models in SPLs, we propose to automate the analysis of OVMs by means of constraint programming. in addition, we propose to extend OVMs with attributes, allowing to add extra-functional information to OVMs. With this proposal we contribute with a step forward toward a tooling support for analysing OVMs

    Feature Model to Orthogonal Variability Model Transformation Towards Interoperability Between Tools

    Get PDF
    Feature Model (FM) and Orthogonal Variability Model (OVM) are both modelling approaches employed to represent variability in software product line engineering. The former is the most popular and it is mainly applied to domain engineering. The later is a more recent approach mainly used to document variability in design and realisation artifacts. in the scenario of interest of our research, which focuses on Application Lifecycle Management environment, it would be useful rely on the FM to OVM transformation. To the best of our knowledge, in the literature, there is no proposal for such transformation. in this paper, we propose an algorithm to transform FM into OVM. This algorithm transforms the variable features of a FM into an OVM, thus providing an explicit view of variability of software product line. When working on these transformation, some issues came to light, such as how to preserve semantics. We discuss some of them and suggest a possible solution to transform FM into OVM by extending OVM

    Desafios para a implantação de soluções de integração de aplicações empresariais em provedores de computação em nuvem

    Get PDF
    Nos últimos anos o campo de estudos conhecido como Integração de Aplicações Empresariais tem desempenhado um importante papel ao proporcionar metodologias, técnicas e ferramentas para que as empresas possam desenvolver soluções de integração, visando reutilizar suas aplicações e dar suporte às novas demandas que surgem com a evolução dos seus processos de negócio. A Computação em Nuvem é parte de uma nova realidade, na qual tanto pequenas como grandes empresas têm a sua disposição uma infraestrutura de TI de alta capacidade, a um baixo custo, na qual podem implantar e executar suas soluções de integração. O modelo de cobrança adotado pelos provedores de Computação em Nuvem se baseia na quantidade de recursos computacionais consumidos por uma solução de integração. Tais recursos podem ser conhecidos, basicamente, de duas formas distintas: a partir da execução real de uma solução de integração em um motor de orquestração, ou a partir da simulação do modelo conceitual que descreve a solução sem que a mesma tenha que ser previamente implementada. Ainda, é desejável que os provedores proporcionem modelos conceituais que descrevam detalhadamente a variabilidade de serviços e as restrições entre eles. A revisão da literatura técnica e científica evidencia que não existem metodologias, técnicas e ferramentas para estimar a demanda de recursos computacionais consumidos por soluções de integração, a partir de seus modelos conceituais. Além disso, os provedores de Computação em Nuvem não possuem ou disponibilizam os modelos conceituais dos serviços que possam ser contratados. Tais questões constituem a base para que se possa estabelecer um processo e desenvolver ferramentas de apoio a tomada de decisão para a implantação de soluções de integração de aplicações empresariais em provedores de Computação em Nuvem
    corecore