• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 135
  • 67
  • 7
  • 6
  • 5
  • 5
  • 2
  • 2
  • 2
  • 1
  • 1
  • Tagged with
  • 238
  • 238
  • 135
  • 90
  • 82
  • 52
  • 50
  • 44
  • 43
  • 38
  • 37
  • 36
  • 35
  • 33
  • 33
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
211

Modularização com orientação a aspectos de frameworks desenvolvidos com linguagens de padrões de análise

Oliveira, André Luiz de 17 September 2010 (has links)
Made available in DSpace on 2016-06-02T19:05:46Z (GMT). No. of bitstreams: 1 3276.pdf: 2803726 bytes, checksum: df932fa4f96049ba4e039732b3b37e42 (MD5) Previous issue date: 2010-09-17 / Universidade Federal de Minas Gerais / GRN (Gestão de Recursos de Negócio Business Resource Management) pattern language provides a set of patterns in analysis level to support the development of applications which deal with rental, purchase, sale and maintenance transactions of a good or service. GRENJ-OO is an object-oriented (OO) application framework built to support the instantiation of Java applications in the GRN domain. GRENJ-OO instantiates applications that include in their architecture all framework variabilities. The units of this framework, which implement each GRN pattern and their variants, are highly coupled between them, because there are concern tangling and concern scattering related to each one of those patterns. So, the aspect-orientation (OA) techniques were used in each pattern to minimize those problems and a new framework version was obtained, called GRENJ-OA. The improvements of separation of concerns, the coupling reduction, the cohesion increasing and the reduction of the number of lines of code of the majority of the patterns implemented in GRENJ-OA was the result reached after performing a quantitative evaluation based on separation of concerns, coupling, cohesion and size metrics. From the approach used to modularize this framework is introduced the Framework Product Line concept, that consists in a product line which their products are frameworks instead of software applications. From the GRENJ-OO modularization was also possible to extract a process that can be applied to modularize frameworks. This process aims to transform a framework in a Framework Product Line. / A linguagem de padrões GRN (Gestão de Recursos de Negócio) fornece um conjunto de padrões em nível de análise que apóiam o desenvolvimento de aplicações que tratam de transações de aluguel, compra, venda e manutenção de um bem ou serviço. GRENJ-OO é um framework de aplicação orientado a objetos (OO) construído para apoiar a instanciação de aplicações no domínio da GRN na linguagem Java. O framework GRENJ-OO instancia aplicações que incluem em sua arquitetura todas as variabilidades do framework. As unidades desse framework, que implementam cada padrão da GRN e suas variantes, estão altamente acopladas entre si, em virtude da existência de entrelaçamento e espalhamento de interesses relacionados a cada um desses padrões. Assim, a orientação a aspectos (OA) foi utilizada em cada um dos padrões a fim de minimizar esses problemas e uma nova versão do framework foi obtida, denominada GRENJ-OA. A melhoria dos níveis de separação de interesses, a redução do acoplamento, o aumento da coesão e redução do número de linhas de código da maioria dos padrões implementados no GRENJ-OA foram os resultados obtidos após a realização de uma avaliação quantitativa com base em métricas de separação de interesses, acoplamento, coesão e tamanho. A partir da abordagem utilizada na modularização desse framework, é introduzido o conceito de Linha de Produtos de Frameworks, que consiste em uma linha de produtos na qual seus produtos são frameworks, ao invés de aplicações de software. Com a modularização do GRENJ-OO também foi possível extrair um processo, que pode ser aplicado na modularização de frameworks. Esse processo tem o objetivo de transformar um framework em uma Linha de Produtos de Frameworks.
212

Uma abordagem apoiada por linguagens especificas de domínio para criação de linhas de produtos de software embarcado

Durelli, Rafael Serapilha 30 May 2011 (has links)
Made available in DSpace on 2016-06-02T19:05:51Z (GMT). No. of bitstreams: 1 3769.pdf: 7885518 bytes, checksum: 7723f0868651af930744610d4adb9ccb (MD5) Previous issue date: 2011-05-30 / Financiadora de Estudos e Projetos / Embedded systems have been used in a myriad of devices that are present in our daily lives, thereby the market for such sort of system has increased significantly over the last few years. These systems were once associated with low-level code, however, this is an outdated view of embedded systems technology. Although the current embedded systems are mostly composed of software, no systematic reuse technique is used in throughout their development. Thus, since previous successful experiences are not reused, forcing the developer to create some of the involved elements from the scratch, there is a considerable delay in the production of these systems. Due to the ever increasing complexity of embedded systems it is necessary to apply reuse techniques in order to lessen the effort needed to develop such systems. Within this context, software product lines (SPL) are reuse techniques that allow the creation of several systems belonging to a certain domain. SPL can be used to generate products of a specific domain that share common features but are each different in a specific way. Model-driven development is another reuse technique whose main objective is to reduce the semantic distance between the domain problem and its solution/implementation; thus, the developer does not need to direct interact with the solution source code, being able to focus on models and transforming those models in source code or yet other models. Based on these techniques, a process for the development of SPL in the domain of mobile robots was developed. In order to properly use the proposed process, a SPL called LegoMobileRobots Software Product Line (LMRSPL) was devised. Moreover, a domain specific language (DSL) was also developed. This DSL, called F2MoC, assists the application engineer in instantiating LMRSPL members. / Sistemas embarcados são utilizados em vários dispositivos que fazem parte da vida cotidiana, de modo que o mercado de tais sistemas tem crescido de maneira expressiva. Esses sistemas sempre foram associados com código de baixo nível, no entanto, essa visão está desatualizada. Nas aplicações embarcadas correntes o software é a principal parcela, embora nenhuma técnica sistemática de reuso seja utilizada para sua concepção. Desse modo ocorre um atraso considerável na produtividade dos sistemas, uma vez que experiências anteriores bem sucedidas não são reaproveitadas, sendo necessário que o desenvolvedor comece do zero toda vez que um software for desenvolvido. Com a crescente complexidade dos sistemas embarcados é necessário utilizar técnicas de reuso para diminuir o atrasado da produção de tais sistemas. Nesse contexto, Linha de Produtos de Software (LPS) é definida como uma técnica de reuso que permite a construção de vários sistemas pertencentes a um mesmo domínio. LPS é aplicável para a geração de produtos específicos de um domínio, mas que possuem um conjunto de características comuns e pontos de variabilidades bem definidos. O Desenvolvimento de Software Orientado a Modelos (do inglês Model-Driven Development - MDD) é outra técnica de reuso na qual tem como principal objetivo reduzir a distância semântica entre o problema do domínio e solução/implementação, fazendo com que o engenheiro não precise interagir diretamente como o código-fonte, podendo se concentrar em modelos que possuem maiores níveis de abstração e posteriormente realizar transformações Model-To-Code e/ou Model-To-Model. A partir dessas técnicas de reuso é introduzido um processo para o desenvolvimento de linhas de produtos de software no domínio de Robôs Moveis. A fim de utilizar o processo proposto foi desenvolvida uma LPS intitulada LegoRobosMoveis Linha de Produtos de Software (LRMLPS). Adicionalmente, foi desenvolvida uma linguagem especifica de domínio denominada F2MoC que auxilia o engenheiro de aplicação na instanciação automática de membros da LRMLPS.
213

Catálogo de padrões para o desenvolvimento de software como um serviço multi-tenant

Leite, Bruno Dias 20 October 2014 (has links)
Made available in DSpace on 2016-06-02T19:06:22Z (GMT). No. of bitstreams: 1 6616.pdf: 3224245 bytes, checksum: 3bea5c064e483543e0961a78c51613d2 (MD5) Previous issue date: 2014-10-20 / Software as a Service (SaaS) represent a form of software distribution on demand and accessible via the Internet. The development of SaaS enables service users (tenants) to benefit from the low cost of deployment and maintenance. The Multi-Tenant (MT) architecture is often used in the development of SaaS, it allows the sharing of software and hardware resources, providing cost savings to the costumers and the service provider. A challenge that the SaaS developer has is to keep sharing the instance of the software in scenarios with tenants who have differing needs. In this project, to address the variability of tenants in SaaS MT were set some patterns, based on Software Product Lines techniques for customizing user interfaces, data, processes and permissions. A framework called FoSaaS (Framework of Software as a Service) has also been developed to support the use of patterns, providing support to developers in SaaS MT coding. In addition to allowing the customization of SaaS MT, experiments in this project indicated that patterns improve reuse, quality and productivity in developed SaaS MT. The applicability of the patterns was evidenced through real projects in developing commercial applications. / Softwares como um Serviço (SaaS) representam uma forma de distribuição de software sob demanda e acessíveis via Internet. O desenvolvimento de SaaS possibilita aos consumidores do serviço (tenants) se beneficiarem do baixo custo de implantação e manutenção. A arquitetura Multi-Tenant (MT) é frequentemente utilizada no desenvolvimento de SaaS, pois permite o compartilhamento de recursos de software e hardware, proporcionando a redução de custos ao consumidor e ao fornecedor do serviço. Um desafio que o desenvolvedor de SaaS tem é o de manter o compartilhamento da instância do software em cenários com tenants que possuem necessidades divergentes. Neste projeto, para tratar a variabilidade dos tenants em SaaS MT foram criados alguns padrões, com base em técnicas de linhas de produtos de software, para customização de interfaces de usuários, dados, processos e permissões. Um framework denominado FoSaaS (Framework of Software as a Service) também foi desenvolvido para apoiar o uso dos padrões criados fornecendo apoio aos desenvolvedores na codificação de SaaS MT. Além de permitir a customização de SaaS MT, experimentos realizados neste projeto indicaram que os padrões melhoram o reúso, a qualidade e a produtividade dos SaaS MT desenvolvidos. A aplicabilidade dos padrões foi evidenciada por meio da realização de projetos reais no desenvolvimento de aplicações comerciais.
214

Uma Abordagem para Recomendação de Módulos para Projetos de Desenvolvimento Distribuído de Linhas de Produto de Software

Pereira, Thaís Alves Burity 28 February 2011 (has links)
Made available in DSpace on 2015-05-14T12:36:28Z (GMT). No. of bitstreams: 1 arquivototal.pdf: 2198784 bytes, checksum: 572b347cf59107b757a2f48f47d938a2 (MD5) Previous issue date: 2011-02-28 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Software Product Line (SPL) has been adopted by software industry in recent years, mainly by promoting software reuse in a systematic and predictable way, and supporting product development for global markets. Despite the benefits, SPL requires a high initial effort and the involvement of domain experts, which are not always available in a local team. In such a scenario, Global Software Development (GSD) approaches would be applied to find domain experts and more qualified teams for SPL projects. Moreover, such work strategy reinforces some of the benefits already offered by SPL approach, such as reducing development cost and increasing product quality. Nonetheless, GSD approaches also present some obstacles, which are mainly related to communication between dispersed development teams. Assuming that dependencies between software components greatly influence the need for communication between their respective development teams, in this work it is presented an approach to identify candidates for modules to be developed in a (partially) independent manner by geographically dispersed teams, in which a module is a clustering of components. To do so, the approach defines: quantitative measures that describe the dependence between software components in SPL projects; an algorithm based on metaheuristics for clustering components into modules, dealing with clustering as an optimization problem; and a quantitative measure that describe the dependencies between modules, which must be employed to guide the allocation of the development teams to the modules. / Linhas de Produto de Software (LPS) tem ganhado bastante espaço na indústria de software nos últimos anos, principalmente por promover o reuso de maneira sistemática e previsível, e oferecer apoio ao desenvolvimento de produtos para mercados globais. No entanto, o desenvolvimento de LPS exige das organizações grande investimento inicial e a participação de profissionais qualificados, os quais nem sempre estão disponíveis localmente. Nesse cenário, o Desenvolvimento Distribuído de Software (DDS) pode ser empregado para encontrar especialistas do domínio e equipes mais qualificadas para o desenvolvimento de LPS. Além disso, essa forma de trabalho reforça alguns dos benefícios já oferecidos por LPS, tais como redução de custo de desenvolvimento e aumento da qualidade dos produtos. Apesar disso, abordagens de DDS também têm suas limitações, relacionadas principalmente à comunicação entre as equipes participantes de um mesmo projeto. Partindo da premissa de que dependências entre componentes de software exercem grande influência sobre a necessidade de comunicação entre suas respectivas equipes de desenvolvimento, neste trabalho é apresentada uma abordagem para identificar candidatos à módulos para serem desenvolvidos de forma (parcialmente) independente por equipes geograficamente dispersas, sendo um módulo um agrupamento de componentes. Para tanto, a abordagem define: medidas quantitativas que descrevem a dependência entre componentes de software em projetos de LPS; um algoritmo baseado em metaheurísticas para agrupar componentes em módulos, tratando o agrupamento como um problema de otimização; e uma medida quantitativa que descreve as dependências entre módulos, que deve ser empregada para guiar a alocação das equipes de desenvolvimento aos módulos.
215

PRECISE - Um processo de verificaÃÃo formal para modelos de caracterÃsticas de aplicaÃÃes mÃveis e sensÃveis ao contexto / PRECISE - A Formal Verification Process for Feature Models for Mobile and Context-Aware Applications

Fabiana Gomes Marinho 27 August 2012 (has links)
Conselho Nacional de Desenvolvimento CientÃfico e TecnolÃgico / As LPSs, alÃm do seu uso em aplicaÃÃes tradicionais, tÃm sido utilizadas no desenvolvimento de aplicaÃÃes que executam em dispositivos mÃveis e sÃo capazes de se adaptarem sempre que mudarem os elementos do contexto em que estÃo inseridas. Essas aplicaÃÃes, ao sofrerem alteraÃÃes devido a mudanÃas no seu ambiente de execuÃÃo, podem sofrer adaptaÃÃes inconsistentes e, consequentemente, comprometer o comportamento esperado. Por esse motivo, à essencial a criaÃÃo de um processo de verificaÃÃo que consiga checar a corretude e a consistÃncia dessas LPSS, bem como checar a corretude tanto dos produtos derivados como dos produtos adaptados dessas LPSs. Sendo assim, nesta tese de doutorado à proposto o PRECISE - um Processo de VerificaÃÃo Formal para Modelos de CaracterÃsticas de AplicaÃÃes MÃveis e SensÃveis ao Contexto. O PRECISE auxilia na identificaÃÃo de defeitos na modelagem da variabilidade de uma LPS para aplicaÃÃes mÃveis e sensÃveis ao contexto e, assim, minimiza problemas que ocorreriam durante a execuÃÃo dos produtos gerados a partir dessa LPS. à importante ressaltar que o PRECISE à definido com base em uma especificaÃÃo formal e em um conjunto de propriedades de boa formaÃÃo elaborados usando LÃgica de Primeira Ordem. Essa especificaÃÃo à um prÃ-requisito para a realizaÃÃo de uma modelagem da variabilidade sem ambiguidades. Para avaliar o PRECISE, uma validaÃÃo à realizada a partir da especificaÃÃo formal e das propriedades de boa formaÃÃo definidas no processo. Essa validaÃÃo tem como objetivo mostrar que o PRECISE consegue identificar defeitos, anomalias e inconsistÃncias existentes em um modelo de variabilidades de uma LPS para aplicaÃÃes mÃveis e sensÃveis ao contexto. Nessa validaÃÃo, cinco tÃcnicas diferentes sÃo utilizadas: Perfil UML, OCL, LÃgica Proposicional, Prolog e SimulaÃÃo. AlÃm de minimizar os defeitos e inconsistÃncias dos modelos de variabilidades das LPSs, o PRECISE ainda se beneficia da generalidade e flexibilidade intrÃnsecas à notaÃÃo formal usada na sua especificaÃÃo. / SPLc have been used to develop different types of applications, including the ones that run on mobile devices and are able to adapt when the context elements in which they are located change. These applications can change due to variations in their execution environment and inconsistent adaptations can occur, compromising the expected behavior. Then there is a need for creating a verification process to check the correctness and consistency of these SPLs as well as to check the correctness of both derived products and adapted products from these SPLs. Thus, this work proposes PRECISE - A Formal Verification Process for Feature Models of Mobile and Context-Aware Applications. PRECISE helps to identify defects in the variability modeling of an SPL for mobile and context-aware applications, minimizing problems that can take place during the execution of products generated from this SPL. It is worth noting that PRECISE is defined based on a formal specification and a set of well-formedness properties developed using First-Order Logic, which are prerequisites for the achievement of an unambiguous variability modeling. To evaluate PRECISE, a validation is performed from the formal specification and well-formedness properties defined in the process. This validation intends to show that PRECISE is able to identify defects, anomalies and inconsistencies in a variability model of an SPL for mobile and context-aware applications. In this validation, five different techniques are used: UML Profile, OCL, Propositional Logic, Prolog and Simulation. While minimizing the defects and inconsistencies in the variability models of an SPL, PRECISE still benefits from the generality and flexibility intrinsic to the formal notation used in its specification.
216

Uma ferramenta para anÃlise automÃtica de modelos de caracterÃsticas de linhas de produtos de software sensÃvel ao contexto / A tool for context aware software product lines feature diagram automatic analysis

Paulo Alexandre da Silva Costa 27 November 2012 (has links)
CoordenaÃÃo de AperfeiÃoamento de Pessoal de NÃvel Superior / As Linhas de produtos de software sÃo uma forma de maximizar o reuso de software, dado que proveem a customizaÃÃo de software em massa. Recentemente, Linhas de produtos de software (LPSs) tÃm sido usadas para oferecer suporte ao desenvolvimento de aplicaÃÃes sensÃveis ao contexto nas quais adaptabilidade em tempo de execuÃÃo à um requisito importante. Neste caso, as LPSs sÃo denominadas Linhas de produtos de software sensÃveis ao contexto (LPSSCs). O sucesso de uma LPSSC depende, portanto, da modelagem de suas caracterÃsticas e do contexto que lhe à relevante. Neste trabalho, essa modelagem à feita usando o diagrama de caracterÃsticas e o diagrama de contexto. Entretanto, um processo manual para construÃÃo e configuraÃÃo desses modelos pode facilitar a inclusÃo de diversos erros, tais como duplicaÃÃo de caracterÃsticas, ciclos, caracterÃsticas mortas e falsos opcionais sendo, portanto, necessÃrio o uso de tÃcnicas de verificaÃÃo de consistÃncia. A verificaÃÃo de consistÃncia neste domÃnio de aplicaÃÃes assume um papel importante, pois as aplicaÃÃes usam contexto tanto para prover serviÃos como para auto-adaptaÃÃo caso seja necessÃrio. Neste sentido, as adaptaÃÃes disparadas por mudanÃas de contexto podem levar a aplicaÃÃo a um estado indesejado. AlÃm disso, a descoberta de que algumas adaptaÃÃes podem levar a estados indesejados sà pode ser atestada durante a execuÃÃo pois o erro à condicionado à configuraÃÃo atual do produto. Ao considerar que tais aplicaÃÃes estÃo sujeitas a um grande volume de mudanÃas contextuais, a verificaÃÃo manual torna-se impraticÃvel. Logo, à interessante que seja possÃvel realizar a verificaÃÃo da consistÃncia de forma automatizada de maneira que uma entidade computacional possa realizar essas operaÃÃes. Dado o pouco suporte automatizado oferecido a esses processos, o objetivo deste trabalho à propor a automatizaÃÃo completa desses processos com uma ferramenta, chamada FixTure (FixTure), para realizar a verificaÃÃo da construÃÃo dos modelos de caracterÃsticas para LPSSC e da configuraÃÃo de produtos a partir desses modelos. A ferramenta FixTure tambÃm provà uma simulaÃÃo de situaÃÃes de contexto no ciclo de vida de uma aplicaÃÃo de uma LPSSC, com o objetivo de identificar inconsistÃncias que ocorreriam em tempo de execuÃÃo. / Software product lines are a way to maximize software reuse once it provides mass software customization. Software product lines (SPLs) have been also used to support contextaware applicationâs development where adaptability at runtime is an important issue. In this case, SPLs are known as Context-aware software product lines. Context-aware software product line (CASPL) success depends on the modelling of their features and relevant context. However, a manual process to build and configure these models can add several errors such as replicated features, loops, and dead and false optional features. Because of this, there is a need of techniques to verify the model consistency. In the context-aware application domain, the consistency verification plays an important role, since application in this domain use context to both provide services and self-adaptation, when it is needed. In this sense, context-triggered adaptations may lead the application to undesired state. Moreover, in some cases, the statement that a contex-triggered adaptation is undesired only can be made at runtime, because the error is conditioned to the current product configuration. Additionally, applications in this domain are submitted to large volumes of contextual changes, which imply that manual verification is virtually not viable. So, it is interesting to do consistency verification in a automated way such that a computational entity may execute these operations. As there is few automated support for these proccesses, the objective of this work is to propose the complete automation of these proccesses with a software tool, called FixTure, that does consistency verification of feature diagrams during their development and product configuration. FixTure tool also supports contextual changes simulation during the lifecycle of a CASPL application in order to identify inconsistencies that can happen at runtime.
217

Integrated Management of Variability in Space and Time in Software Families

Seidl, Christoph 14 March 2017 (has links) (PDF)
Software Product Lines (SPLs) and Software Ecosystems (SECOs) are approaches to capturing families of closely related software systems in terms of common and variable functionality (variability in space). SPLs and especially SECOs are subject to software evolution to adapt to new or changed requirements resulting in different versions of the software family and its variable assets (variability in time). Both dimensions may be interconnected (e.g., through version incompatibilities) and, thus, have to be handled simultaneously as not all customers upgrade their respective products immediately or completely. However, there currently is no integrated approach allowing variant derivation of features in different version combinations. In this thesis, remedy is provided in the form of an integrated approach making contributions in three areas: (1) As variability model, Hyper-Feature Models (HFMs) and a version-aware constraint language are introduced to conceptually capture variability in time as features and feature versions. (2) As variability realization mechanism, delta modeling is extended for variability in time, and a language creation infrastructure is provided to devise suitable delta languages. (3) For the variant derivation procedure, an automatic version selection mechanism is presented as well as a procedure to derive large parts of the application order for delta modules from the structure of the HFM. The presented integrated approach enables derivation of concrete software systems from an SPL or a SECO where both features and feature versions may be configured.
218

Uma abordagem orientada a modelos para reutilização de software / A model-driven software reuse approach

Daniel Lucredio 17 July 2009 (has links)
A reutilização de software busca aumentar a qualidade e produtividade no desenvolvimento de software, evitando a duplicação do esforço e reaproveitando o máximo possível das experiências de projetos passados. Apesar de simples, esta idéia não é facilmente colocada em prática, principalmente de maneira sistemática e controlada. Técnicas de engenharia de domínio e linhas de produtos de software buscam facilitar esta tarefa, porém ainda existem outros fatores que dificultam a adoção da prática da reutilização. Entre estes, destacam-se os problemas inerentes ao desenvolvimento de software da maneira como é conduzido atualmente, baseado em código-fonte. Estes problemas têm suas origens na crescente demanda por software cada vez mais complexo e afetam negativamente a capacidade de reutilizar software. O desenvolvimento orientado a modelos surge como uma alternativa atraente neste cenário, elevando a importância de modelos dentro do ciclo de vida do software, incorporando-os como parte integrante do produto final por meio de técnicas de modelagem e geração de código. Com isto, parte da complexidade do software fica escondida dentro dos geradores, protegendo os desenvolvedores, reduzindo a incidência de erros, aumentando a produtividade, qualidade, interoperabilidade e manutenibilidade dos artefatos produzidos. Nesta dissertação defende-se a tese de que o desenvolvimento orientado a modelos pode efetivamente aumentar e/ou melhorar a reutilização de software, e que para isso ela deve ser tratada de forma consistente dentro de um processo de engenharia de domínio. Para demonstrar esta tese, é apresentada uma abordagem orientada a modelos para reutilização de software, com atividades que guiam o desenvolvedor durante a análise, projeto e implementação do domínio. São também apresentados os resultados de uma avaliação envolvendo três estudos empíricos, realizados em ambiente acadêmico e industrial, que buscou determinar a viabilidade da abordagem e os benefícios que podem ser alcançados com a combinação de técnicas do desenvolvimento orientado a modelos e da reutilização de software. Os resultados mostram que a abordagem pode trazer diferentes benefícios para organizações de software, incluindo aumento da quantidade e qualidade da reutilização, e reduzindo a complexidade de desenvolvimento e configuração de produtos / Software reuse aims at increasing quality and productivity in software development, avoiding effort duplication and reusing all past experiences possible. Although it is a simple idea, it is not easy to put reuse in practice, especially in a systematic and controlled way. Domain engineering and software product lines techniques try to make this task easier, but there are many other factors that difficult the reuse adoption. Among these factors are the problems that are inherent to software development in the way it is conducted today, based on source code. These problems arise from the growing demand for increasingly complex software, negatively affecting the ability to reuse. Model-driven development is an attractive alternative in this scenario, leveraging the importance of models in the software life cycle, incorporating them as part of the final product through modeling and code generation techniques. As a result, part of the software complexity becomes hidden inside the generators, shielding the developers, reducing errors, increasing the productivity, quality, interoperability and maintainability of the produced assets. In this dissertation is presented the thesis that model-driven development can effectively increase and/or improve software reuse, and that to achieve this goal it must be treated in a consistent way inside a domain engineering process. To demonstrate this thesis, a model-driven software reuse approach is presented, with activities that guide the developer during domain analysis, design and implementation. The results of an evaluation involving three empirical studies are also presented. The studies were performed in both academic and industrial environments, and aimed at determining the viability of the approach and the benefits that can be achieved with the combination of model-driven development and software reuse techniques. The results showed that the approach can bring different benefits to software organizations, such as software reuse quantity and quality improvements, and complexity reduction in product development and configuration tasks
219

Achieving Autonomic Web Service Compositions with Models at Runtime

Alférez Salinas, Germán Harvey 26 December 2013 (has links)
Over the last years, Web services have become increasingly popular. It is because they allow businesses to share data and business process (BP) logic through a programmatic interface across networks. In order to reach the full potential of Web services, they can be combined to achieve specifi c functionalities. Web services run in complex contexts where arising events may compromise the quality of the system (e.g. a sudden security attack). As a result, it is desirable to count on mechanisms to adapt Web service compositions (or simply called service compositions) according to problematic events in the context. Since critical systems may require prompt responses, manual adaptations are unfeasible in large and intricate service compositions. Thus, it is suitable to have autonomic mechanisms to guide their self-adaptation. One way to achieve this is by implementing variability constructs at the language level. However, this approach may become tedious, difficult to manage, and error-prone as the number of con figurations for the service composition grows. The goal of this thesis is to provide a model-driven framework to guide autonomic adjustments of context-aware service compositions. This framework spans over design time and runtime to face arising known and unknown context events (i.e., foreseen and unforeseen at design time) in the close and open worlds respectively. At design time, we propose a methodology for creating the models that guide autonomic changes. Since Service-Oriented Architecture (SOA) lacks support for systematic reuse of service operations, we represent service operations as Software Product Line (SPL) features in a variability model. As a result, our approach can support the construction of service composition families in mass production-environments. In order to reach optimum adaptations, the variability model and its possible con figurations are verifi ed at design time using Constraint Programming (CP). At runtime, when problematic events arise in the context, the variability model is leveraged for guiding autonomic changes of the service composition. The activation and deactivation of features in the variability model result in changes in a composition model that abstracts the underlying service composition. Changes in the variability model are refl ected into the service composition by adding or removing fragments of Business Process Execution Language (WS-BPEL) code, which are deployed at runtime. Model-driven strategies guide the safe migration of running service composition instances. Under the closed-world assumption, the possible context events are fully known at design time. These events will eventually trigger the dynamic adaptation of the service composition. Nevertheless, it is diffi cult to foresee all the possible situations arising in uncertain contexts where service compositions run. Therefore, we extend our framework to cover the dynamic evolution of service compositions to deal with unexpected events in the open world. If model adaptations cannot solve uncertainty, the supporting models self-evolve according to abstract tactics that preserve expected requirements. / Alférez Salinas, GH. (2013). Achieving Autonomic Web Service Compositions with Models at Runtime [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/34672 / TESIS
220

Family-Based Modeling and Analysis for Probabilistic Systems

Chrszon, Philipp, Dubslaff, Clemens, Klüppelholz, Sascha, Baier, Christel 11 May 2020 (has links)
Feature-based formalisms provide an elegant way to specify families of systems that share a base functionality and differ in certain features. They can also facilitate an all-in-one analysis, where all systems of the family are analyzed at once on a single family model instead of one-by-one. This paper presents the basic concepts of the tool ProFeat, which provides a guarded-command language for modeling families of probabilistic systems and an automatic translation of family models to the input language of the probabilistic model checker PRISM. This translational approach enables a family-based quantitative analysis with PRISM. Besides modeling families of systems that differ in system parameters such as the number of identical processes or channel sizes, ProFeat also provides special support for the modeling and analysis of (probabilistic) product lines with dynamic feature switches, multi-features and feature attributes. By means of several case studies we show how ProFeat eases family-based modeling and compare the one-by-one and all-in-one analysis approach.

Page generated in 0.103 seconds