14 research outputs found

    Engineering Delta Modeling Languages

    Full text link
    Delta modeling is a modular, yet flexible approach to capture spatial and temporal variability by explicitly representing the differences between system variants or versions. The conceptual idea of delta modeling is language-independent. But, in order to apply delta modeling for a concrete language, so far, a delta language had to be manually developed on top of the base language leading to a large variety of heterogeneous language concepts. In this paper, we present a process that allows deriving a delta language from the grammar of a given base language. Our approach relies on an automatically generated language extension that can be manually adapted to meet domain-specific needs. We illustrate our approach using delta modeling on a textual variant of statecharts.Comment: 10 pages, 8 figures. Proceedings of the 17th International Software Product Line Conference, Tokyo, September 2013, pp.22-31, ACM, 201

    Abstract delta modelling

    Get PDF
    Article / Letter to editorLeiden Inst Advanced Computer Science

    ICSEA 2021: the sixteenth international conference on software engineering advances

    Get PDF
    The Sixteenth International Conference on Software Engineering Advances (ICSEA 2021), held on October 3 - 7, 2021 in Barcelona, Spain, continued a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. The tracks treated the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learnt. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education. The conference had the following tracks: Advances in fundamentals for software development Advanced mechanisms for software development Advanced design tools for developing software Software engineering for service computing (SOA and Cloud) Advanced facilities for accessing software Software performance Software security, privacy, safeness Advances in software testing Specialized software advanced applications Web Accessibility Open source software Agile and Lean approaches in software engineering Software deployment and maintenance Software engineering techniques, metrics, and formalisms Software economics, adoption, and education Business technology Improving productivity in research on software engineering Trends and achievements Similar to the previous edition, this event continued to be very competitive in its selection process and very well perceived by the international software engineering community. As such, it is attracting excellent contributions and active participation from all over the world. We were very pleased to receive a large amount of top quality contributions. We take here the opportunity to warmly thank all the members of the ICSEA 2021 technical program committee as well as the numerous reviewers. The creation of such a broad and high quality conference program would not have been possible without their involvement. We also kindly thank all the authors that dedicated much of their time and efforts to contribute to the ICSEA 2021. We truly believe that thanks to all these efforts, the final conference program consists of top quality contributions. This event could also not have been a reality without the support of many individuals, organizations and sponsors. We also gratefully thank the members of the ICSEA 2021 organizing committee for their help in handling the logistics and for their work that is making this professional meeting a success. We hope the ICSEA 2021 was a successful international forum for the exchange of ideas and results between academia and industry and to promote further progress in software engineering research

    FlexMonitorWS : a solution for monitoring Web services with a focus on QoS attributes

    Get PDF
    Orientador: Cecília Mary Fischer RubiraDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Serviços Web são usados como uma das formas de se obter uma Arquitetura Orientada a Serviços (SOA). Com aspectos interoperáveis, dinâmicos e distribuídos, tais serviços agregam valores de negócio, são unidades de software com alta coesão e são utilizados para integração entre aplicações empresariais. Em um contexto de SOA, provedores de serviços devem oferecer garantias de funcionamento de seus serviços. Esta garantia é realizada através de atributos de Quality of Service (QoS) inseridos em contratos do tipo SLA (Service Level Agreement). Atributos de QoS podem ter flutuações ou mudança de estado ao longo do tempo, dado que um serviço opera em um ambiente de alta dinamicidade e alta imprevisibilidade que são propriedades inerentes ao contexto SOA. Diante deste cenário, há uma clara necessidade de se conhecer as variações que ocorrem nos atributos de QoS. Para isso, é fundamental aplicar uma monitoração que possibilite conhecer os valores de atributos de QoS para compreender o contexto geral do ambiente que opera o serviço. Uma boa solução de monitoração deve oferecer meios flexíveis de monitorar diferentes atributos de QoS (e.g. disponibilidade, desempenho e confiabilidade), de diferentes modos de operar, considerando diferentes alvos ligados ao serviço (e.g. servidor, rede e aplicação servidora). Por meio de uma Revisão Sistemática da Literatura identificamos que as soluções encontradas não apoiam a flexibilidade na monitoração. Face a este contexto, esta dissertação propôs a FlexMonitorWS uma solução de monitoração de serviços Web e de recursos de infraestrutura de TI ligada ao serviço Web. A FlexMonitorWS adota técnicas de Linhas de Produtos de Software para criar uma família de monitores a partir da variabilidade de software existente em sistemas de monitoração de serviços Web. Três estudos de caso foram executados para avaliar a viabilidade da ferramenta, obtendo-se resultados satisfatórios na entrega de valores de atributos de QoS e na compreensão do ambiente que opera o serviço Web. Ao final, apresentamos conclusões, contribuições e direções para trabalhos futurosAbstract: Web services are used as a way of obtaining a Service Oriented Architecture (SOA). With interoperable, dynamic and distributed aspects such services add business values are software units with high cohesion and are used to integrate business applications. In a SOA context, service providers must offer guarantees of the servces operations. This warranty is carried out by attributes Quality of Service (QoS) type contracts entered into SLA (Service Level Agreement). QoS attributes can have fluctuations or changes of state over time, given that a service operates in an environment of high dynamics and high unpredictability inherent in the SOA context properties. Given this scenario, there is a clear need to understand the fluctuations in the QoS attributes. Therefore, it is essential to apply a monitoring which allows to know the QoS attributes values to understand the overall context of the environment that operates the service. A good monitoring solution must offer flexible ways to monitor different QoS attributes (e.g. performance, availability and reliability) in different ways to operate, considering different targets linked to the service (e.g. server, network and server application). By analyzing existing solutions through a Systematic Literature Review identified that solutions do not support the flexibility in monitoring. Against this background, this thesis proposed a solution FlexMonitorWS monitoring of Web services and IT infrastructure resources connected to the Web services. FlexMonitorWS adopts techniques from Software Product Lines to create a monitors family from the existing variability in the Web services monitoring systems. Three case studies were performed to assess the tool feasibility, obtaining satisfactory results in delivering QoS attributes values and understanding to environment that operates the Web service. In the end, conclusions, contributions and directions for future work are presentedMestradoCiência da ComputaçãoMestre em Ciência da Computaçã

    Evolution of component and aspect-based product line architectures

    Get PDF
    Orientador: Cecília Mary Fischer RubiraTese (doutorado) ¿ Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Arquiteturas de linhas de produtos são essenciais para facilitar a evolução das linhas, pois ajudam a lidar com sua complexidade, abstraindo seus detalhes de implementação. A variabilidade arquitetural difere arquiteturas de linhas de produtos de arquiteturas de sistemas únicos. Ela reflete a existência de alternativas de projeto arquitetural e é expressa por meio de um conjunto de pontos de variação e variantes arquiteturais. A variabilidade arquitetural pode dificultar a evolução de arquiteturas de linhas produtos, pois a implementação da variabilidade software pode aumentar a complexidade da arquitetura com a possível adição de elementos e dependências extras. A variabilidade de linhas de produtos é usualmente capturada modelo de características e implementado pela arquitetura de linha de produtos. Entretanto, a implementação de características, pontos de variação e variantes podem estar espalhados por diversos elementos arquiteturais, o que dificulta a sua evolução. Em geral, cenários de evolução de linhas de produto envolvem adição e/ou remoção de características, mudança de uma característica obrigatória para opcional, entre outros. Quando cenários de evolução afetam características cujas implementações estão espalhadas na arquitetura, eles podem causar impacto de mudança em vários elementos arquiteturais. Estudos recentes exploram o uso de aspectos para modularizar a implementação de características em arquiteturas de linhas de produtos. Aspectos são usados para modularizar interesses transversais que, no contexto de linhas de produtos, são interesses que afetam diversas características. Contudo, esses estudos não consideram (i) arquiteturas componentizadas com interfaces explícitas e (ii) o uso integrado de componentes e aspectos para modularizar a implementação da variabilidade arquitetural. Idealmente aspectos devem ser modelados o mais cedo possível, de preferência, junto com o modelo de características para possibilitar a criação de arquiteturas bem estruturadas com aspectos. Todavia, não existem modelos que integrem o modelo de características e aspectos, nem métodos que consideram aspectos para gerar arquiteturas de linhas produtos a partir do modelo de características. A solução proposta nesta tese envolve inicialmente um estudo comparativo para mostrar a facilidade de evolução de arquiteturas de linhas de produtos propiciada pelo uso integrado de componentes e aspectos. Em seguida, é proposta uma visão estendida do modelo de características que permite representar características transversais. Essa visão, chamada de visão de características orientada a aspectos, é usada para criar arquiteturas de linhas de produtos orientadas a aspectos. Além disso, um modelo arquitetural de componentes é estendido para integrar aspectos para modularizar a variabilidade arquitetural. Por fim, o método FArM, que provê o mapeamento de modelo de características para modelos de arquitetura de linha de produtos, é estendido para considerar características transversais. Foram conduzidos dois estudos empíricos: um para avaliar se o uso integrado de componentes e aspectos facilita ou não a evolução de arquiteturas de linhas de produtos. O outro estudo empírico avalia a modelagem de características transversais e a extensão do método FArM propostos para projetar arquiteturas de linhas de produtos que sejam fáceis de evoluir. Os dois estudos apresentaram resultados promissores indicando que a solução proposta nesta tese facilita a evolução de arquiteturas de linhas de produtosAbstract: Product line architectures are essential to facilitate the evolution of product lines, as they handle their complexity by abstracting implementation details. Architectural variability is what differs product line architectures from single system architectures. It reflects the existence of alternative design options and it is expressed by a set of architectural variation points and variants. Architectural variability can hinder product line architecture evolution because the implementation of software variability can increase architecture complexity by possibly adding extra elements and dependencies. Product line variability is usually captured in the feature model and it is implemented by product line architectures. However, the implementation of features, variation points, and variants may be scattered over architectural elements, which can hinder its evolution. In general, product line evolution scenarios involve feature addition/removal, changing a mandatory feature to an optional feature, and so forth. When evolution scenarios affect features whose implementations are scattered over architecture, they can cause a great change impact on several architectural elements. Recent studies have explored the use of aspects to modularize feature implementation in product line architectures. Aspects can modularize crosscutting concerns, which, in the context of product lines, are concerns that affect several features. Nevertheless, these studies do not consider (i) componentized architectures with explicit interfaces, and (ii) the integration of aspects and components to modularize the implementation of architectural variability. Ideally, aspects should be modeled as soon as possible, preferably, together with the feature model in order to enable the design of well structured product line architectures with aspects. However, there are neither models which integrate features and aspects, nor methods that considers aspects to design product line architectures from the feature model. The solution proposed in this thesis involves a comparative study that presents the support for product line architecture evolution provided by the integration of components and aspects. Then, it is proposed an extended view of the feature model which enables to represent crosscutting features. This view, called aspect-oriented feature view, is used to design product line architectures with aspects. Lastly, the FArM method, which provides guidelines to map from the feature model to the product line architecture model, is extended to consider crosscutting features. Two empirical studies were conducted: one to assess whether the integration of components and aspects facilitates product line architecture evolution. The other empirical study evaluates whether the crosscutting feature modeling and the FArM method extension proposed supports the design of evolvable product line architectures. Both studies presented promising results which indicate that the solution proposed in this thesis facilitates product line architecture evolutionDoutoradoCiência da ComputaçãoDoutor em Ciência da Computaçã
    corecore