• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 32
  • 17
  • 6
  • 5
  • 3
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 76
  • 76
  • 76
  • 27
  • 27
  • 19
  • 19
  • 19
  • 18
  • 17
  • 16
  • 15
  • 13
  • 11
  • 11
  • 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.
61

[en] EVENTMANAGER: A TOOL FOR ANALYSING CONCURRENT PROGRAMS / [pt] EVENTMANAGER: UMA FERRAMENTA DE ANÁLISE DE PROGRAMAS CONCORRENTES

ANNA LETICIA ALEGRIA P DE OLIVEIRA 10 October 2022 (has links)
[pt] Alunos aprendendo programação concorrente muitas vezes têm dificuldades de testar seus programas por conta do não-determinismo presente no escalonamento de threads. Em geral, é difícil testar cenários específicos e mais difícil ainda repetir um determinado cenário para testar mudanças do código. Nesta tese, apresentamos a EventManager: uma ferramenta que criamos para permitir que um usuário instrumente seu programa, marcando eventos no código e especificando sequências de eventos através de uma linguagem de domínio específico (DSL). Esta linguagem restringe o escalonamento das threads para que obedeça as sequências permitidas para estes eventos. Descrevemos a implementação da EventManager para aplicações baseadas em threads POSIX. Investigamos a aplicação da ferramenta em soluções de problemas clássicos de concorrência para averiguar a expressividade da linguagem que criamos. / [en] Students learning concurrent programming often struggle with tests due to the non-deterministic nature of thread scheduling. It is in general hard to test specific scenarios and harder yet to repeat a given scenario for further tests after changes to the code. In this thesis, we present EventManager: a tool we developed that allows the user to instrument their program, marking events in the code and specifying valid event sequences using a domainspecific language. This language restricts thread scheduling to obey allowed sequences for these events. We describe the implementation of EventManager for applications based on POSIX threads. We investigate our tool applied on solutions of classical concurrency problems to verify the expressiveness of the created language.
62

Model-Driven Technical Space Integration Based on a Mapping Approach / Приступ интеграцији техничких простора заснован на пресликавањима иинжењерству вођеном моделима / Pristup integraciji tehničkih prostora zasnovan na preslikavanjima iinženjerstvu vođenom modelima

Dimitrieski Vladimir 30 March 2018 (has links)
<p>In order to automate development of integration adapters in industrial<br />settings, a model-driven approach to adapter specification is devised. In this<br />approach, a domain-specific modeling language is created to allow<br />specification of mappings between integrated technical spaces. Also<br />proposed is the mapping automation engine that comprises reuse and<br />alignment algorithms. Based on mapping specifications, executable adapters<br />are automatically generated and executed. Results of approach evaluations<br />indicate that it is possible to use a model-driven approach to successfully<br />integrate technical spaces and increase the automation by reusing domainspecific<br />mappings from previously created adapters.</p> / <p>За потребе повећања степена аутоматизације развоја адаптера за<br />интеграцију у индустријском окружењу, осмишљен је моделом вођен<br />приступ развоју адаптера. У оквиру овог приступа развијен је наменски<br />језик за спецификацију пресликавања између техничких простора који су<br />предмет интеграције. Приступ обухвата и алгоритме за поравнање и<br />поновно искориштење претходно креираних пресликавања са циљем<br />аутоматизације процеса спецификације. На основу креираних<br />пресликавања, могуће je аутоматски генерисати извршиви код адаптера.<br />У испитивањима приступа, показано је да је могуће успешно применити<br />моделом вођен приступ у интеграцији техничких простора као и да је<br />могуће успешно повећати степен аутоматизације поновним<br />искоришћењем претходно креираних пресликавања.</p> / <p>Za potrebe povećanja stepena automatizacije razvoja adaptera za<br />integraciju u industrijskom okruženju, osmišljen je modelom vođen<br />pristup razvoju adaptera. U okviru ovog pristupa razvijen je namenski<br />jezik za specifikaciju preslikavanja između tehničkih prostora koji su<br />predmet integracije. Pristup obuhvata i algoritme za poravnanje i<br />ponovno iskorištenje prethodno kreiranih preslikavanja sa ciljem<br />automatizacije procesa specifikacije. Na osnovu kreiranih<br />preslikavanja, moguće je automatski generisati izvršivi kod adaptera.<br />U ispitivanjima pristupa, pokazano je da je moguće uspešno primeniti<br />modelom vođen pristup u integraciji tehničkih prostora kao i da je<br />moguće uspešno povećati stepen automatizacije ponovnim<br />iskorišćenjem prethodno kreiranih preslikavanja.</p>
63

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

Lucredio, Daniel 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
64

Formalisierung gestischer Eingabe für Multitouch-Systeme

Kammer, Dietrich 03 July 2014 (has links) (PDF)
Die Mensch-Computer-Interaktion wird dank neuer Eingabemöglichkeiten jenseits von Tastatur und Maus reicher, vielseitiger und intuitiver. Durch den Verzicht auf zusätzliche Geräte beim Umgang mit Computern geht seitens der Eingabeverarbeitung jedoch eine erhöhte Komplexität einher: Die Programmierung gestischer Eingabe für Multitouch-Systeme ist in derzeitigen Frameworks abgesehen von den verfügbaren Standard-Gesten mit hohem Aufwand verbunden. Die entwickelte Gestenformalisierung für Multitouch (GeForMT) definiert eine domänenspezifische Sprache zur Beschreibung von Multitouch-Gesten. Statt wie verwandte Formalisierungsansätze detaillierte Filter für die Rohdaten zu definieren, bedient sich GeForMT eines bildhaften Ansatzes, um Gesten zu beschreiben. Die Konzeption von Gesten wird unterstützt, indem beispielsweise in einem frühen Stadium der Entwicklung Konflikte zwischen ähnlichen Gesten aufgedeckt werden. Die formalisierten Gesten lassen sich direkt in den Code einbetten und vereinfachen damit die Programmierung. Das zugrundeliegende Framework sorgt für die Verbindung zu den Algorithmen der Gestenerkennung. Die Übertragung des semiotischen Ansatzes zur Formalisierung auf andere Formen gestischer Eingabe wird abschließend diskutiert.
65

Um m?todo para desenvolvimento de abordagens generativas com composi??o de linguagens espec?ficas de dom?nio

Campos Neto, Edmilson Barbalho 05 August 2013 (has links)
Made available in DSpace on 2014-12-17T15:48:08Z (GMT). No. of bitstreams: 1 EdmilsonBCN_DISSERT.pdf: 2688212 bytes, checksum: bae476692f237de556a79c9741333002 (MD5) Previous issue date: 2013-08-05 / The software systems development with domain-specific languages has become increasingly common. Domain-specific languages (DSLs) provide increased of the domain expressiveness, raising the abstraction level by facilitating the generation of models or low-level source code, thus increasing the productivity of systems development. Consequently, methods for the development of software product lines and software system families have also proposed the adoption of domain-specific languages. Recent studies have investigated the limitations of feature model expressiveness and proposing the use of DSLs as a complement or substitute for feature model. However, in complex projects, a single DSL is often insufficient to represent the different views and perspectives of development, being necessary to work with multiple DSLs. In order to address new challenges in this context, such as the management of consistency between DSLs, and the need to methods and tools that support the development with multiple DSLs, over the past years, several approaches have been proposed for the development of generative approaches. However, none of them considers matters relating to the composition of DSLs. Thus, with the aim to address this problem, the main objectives of this dissertation are: (i) to investigate the adoption of the integrated use of feature models and DSLs during the domain and application engineering of the development of generative approaches; (ii) to propose a method for the development of generative approaches with composition DSLs; and (iii) to investigate and evaluate the usage of modern technology based on models driven engineering to implement strategies of integration between feature models and composition of DSLs / A utiliza??o de linguagens espec?ficas de dom?nios para o desenvolvimento de sistemas de software tem se tornado cada vez mais comum. Elas propiciam um aumento da expressividade do dom?nio, elevando o seu n?vel de abstra??o atrav?s de facilidades para gera??o de modelos ou c?digos de baixo-n?vel, que aumentam assim a produtividade do desenvolvimento de sistemas. Como consequ?ncia, m?todos para o desenvolvimento de linhas de produtos de software e fam?lias de sistemas tamb?m t?m proposto a utiliza??o de linguagens espec?ficas de dom?nio (domain-specific languages DSLs). Estudos recentes t?m investigado os limites de expressividade do modelo de features, e propondo o uso de DSLs em sua substitui??o ou complemento. Contudo, em projetos complexos, uma ?nica DSL muitas vezes ? insuficiente para representar as diferentes vis?es e perspectivas do desenvolvimento, sendo necess?rio trabalhar com m?ltiplas DSLs. Com isso surgem novos desafios, tais como a ger?ncia de consist?ncia entre as DSLs, e a necessidade de m?todos e ferramentas que ofere?am suporte ao desenvolvimento com m?ltiplas DSLs. Ao longo dos ?ltimos anos, diversas abordagens t?m sido propostas para o desenvolvimento de abordagens generativas, entretanto, nenhuma delas considera quest?es relacionadas ? composi??o de DSLs. Assim, visando abordar tal problem?tica, os principais objetivos desta disserta??o s?o: (i) investigar a ado??o do uso integrado de modelos de features e DSLs tanto na engenharia de dom?nio quanto de aplica??o de desenvolvimento de abordagens generativas; (ii) propor um m?todo para o desenvolvimento de abordagens generativas com composi??o de DSLs; e (iii) investigar e avaliar o uso de tecnologias atuais de engenharia dirigida por modelos na implementa??o de estrat?gias de integra??o entre modelos de features e composi??o de DSLs
66

[en] LINDAX.: A LANGUAGE FOR DESCRIBING ADAPTABLE COMMUNICATION SYSTEMS / [pt] LINDAX: UMA LINGUAGEM DE DESCRIÇÃO DE SISTEMAS DE COMUNICAÇÃO ADAPTÁVEIS

ANTONIO TADEU AZEVEDO GOMES 25 August 2005 (has links)
[pt] No cenário atual do setor de telecomunicações, percebe-se uma tendência crescente em direção ao uso de sistemas de comunicação que permitam a criação rápida e de baixo custo de serviços. Na busca por arquiteturas de rede que respondam a essa tendência, vários grupos têm centrado seus esforços em pesquisas na área de redes programáveis. O surgimento da tecnologia de processamento de rede no mercado de equipamentos de telecomunicações abriu ainda maior espaço para pesquisas nessa área. Nesse contexto, é imprescindível que os processos de criação de serviços sejam bem estruturados e, o quanto possível, sistemáticos. Esta tese, inserida em um projeto desenvolvido no Laboratório TeleMídia da PUC-Rio, adota uma abordagem de criação de serviços em que técnicas de Arquitetura de Software e de Desenvolvimento Baseado em Componentes são aplicadas consistentemente e de modo ubíquo, desde especificações de alto nível de serviços até a implementação de software básico em unidades programáveis de processamento de rede. Os objetivos principais são expressar a adaptabilidade de múltiplos aspectos nesses serviços e, simultaneamente, reduzir a sobrecarga cognitiva em projetistas e programadores, decorrente dessa multiplicidade de aspectos. Para isso, foi desenvolvida uma linguagem de especificação baseada em XML, chamada Lindax, que permite descrever arquiteturalmente diversos aspectos de sistemas de comunicação - por meio de um arcabouço sintático único para DSLs - e restrições de adaptação em cada aspecto particular - por meio de estruturas de estilos arquiteturais. Complementando o trabalho, um conjunto de ferramentas de manipulação de descrições arquiteturais em LindaX é definido. Essas ferramentas permitem o refinamento para diferentes linguagens formais ou a síntese de configurações e mecanismos de controle de adaptações para diversas plataformas. / [en] It is increasingly noticeable, in the current telecommunications market, a trend towards using communication systems that allow rapid and cheap deployment of new services. In pursuit of network architectures that keep up with such trend, significant research has been carried out on programmable networks. This field is set to gain further impetus from developments in network processor-based equipment. In this context, it is crucial that service creation processes be well structured and, as far as possible, systematic. This thesis, which is part of an ongoing project at the TeleMídia Laboratory, PUC-Rio, adopts a service creation approach in which techniques from Software Architecture and Component-Based Software Development are uniformly and ubiquitously applied at all levels of a communication system, ranging from high- level service specifications to low-level software implementation running in network processors. The main aim is to express adaptibility in cross-cutting service aspects and, meanwhile, cut down on the cognitive overhead usually imposed upon designers and programmers due to such multiplicity of concerns. For the sake of the aforementioned aim, an XML-based specification language, called LindaX, has been developed. Such language allows various system aspects to be architecturally described - by means of a single syntactic framework for DSLs - as well as adaptable in a constrained way - through style structures. Complementing the work, a toolset for handling LindaX architecture descriptions has been defined, which allows their refinement to different formal languages or their synthesis onto system configurations and adaptation controlling mechanisms for diverse platforms.
67

Desenvolvimento e reúso de frameworks com base nas características do domínio

Viana, Matheus Carvalho 08 May 2014 (has links)
Made available in DSpace on 2016-06-02T19:03:58Z (GMT). No. of bitstreams: 1 6131.pdf: 4820064 bytes, checksum: 9eff44ec6ccb5da42e47aea930745c02 (MD5) Previous issue date: 2014-05-08 / Universidade Federal de Sao Carlos / Frameworks are software artifacts that implement the basic functionality of a domain. Its reuse can improve the efficiency of development process and the quality of application code. However, frameworks are difficult to develop and reuse, since they require a complex structure to implement domain variability and be adaptable enough to be reused by different applications. Due to these difficulties, this research presents two approaches: 1) the From Features to Frameworks (F3) approach, in which the developer models the features of a domain and a pattern language helps in implementing a framework based on this model; and 2) the approach that uses a Domain-Specific Language (DSL) built from the identification and analysis of the domain features of a framework to facilitate the reuse of this framework. A tool, called From Features to Frameworks Tool (F3T), was also developed to support the use of these two approaches, providing editors for modeling domains and applications and automating the implementation of code of frameworks, DSLs and applications. In addition to facilitate the development and reuse of frameworks, experiments conducted during this project showed that these two approaches make these processes more efficient and allow the construction of frameworks and applications with less difficulty. / Frameworks são artefatos de software que implementam a funcionalidade básica de um domínio. Seu reúso pode aumentar a eficiência do processo de desenvolvimento e a qualidade do código de aplicações. Contudo, frameworks são difíceis de construir e reutilizar, pois necessitam de uma estrutura complexa para implementar as variabilidades do seu domínio e serem adaptáveis o suficiente para poderem ser reutilizados por diversas aplicações. Em vista dessas dificuldades este projeto apresenta duas abordagens: 1) a abordagem From Features to Frameworks (F3), na qual o desenvolvedor modela as características de um domínio e uma linguagem de padrões auxilia na implementação de um framework com base nesse modelo; e 2) a abordagem que utiliza uma Domain-Specific Language (DSL) construída a partir da identificação e análise das características do domínio do framework para facilitar o reúso desse framework. Uma ferramenta, denominada From Features to Frameworks Tool (F3T), também foi desenvolvida para apoiar o uso dessas duas abordagens, fornecendo editores para a modelagem dos domínios e das aplicações e automatizando a implementação de código dos frameworks, das DSLs e das aplicações. Além de facilitar o desenvolvimento e o reúso de framework, experimentos realizados ao longo deste projeto mostraram que essas duas abordagens tornam esses processos mais eficientes e permitem a construção de frameworks e aplicações com menor dificuldade.
68

UMA METODOLOGIA E UMA FERRAMENTA PARA O REUSO GERATIVO NA ENGENHARIA DE DOMÍNIO MULTIAGENTE / A METHODOLOGY AND A TOOL FOR IT I REUSE GERATIVO IN DOMAIN ENGINEERING MULTIAGENTE

Pereira, Mauro Henrique Jansen 14 June 2006 (has links)
Made available in DSpace on 2016-08-17T14:53:00Z (GMT). No. of bitstreams: 1 Mauro Henrique Jansen Pereira.pdf: 3085435 bytes, checksum: 85ddf745d88ff158bbf8aedd3fb5c0ae (MD5) Previous issue date: 2006-06-14 / The generative approach is one of the most productive ways to promote automatic reuse in software product lines, associated with Domain Engineering techniques and methodologies. The multi-agent paradigm aims to provide solutions to approach the growing complexity of software that should operate in non-predictable environments or exposed to fast changes. To obtain the benefits of automatic reuse in multi-agent system families, we need appropriate methods for the multi-agent paradigm, main study object of Multi-agent Domain Engineering. This work proposes GENMADEM, an ontology-based methodology for generative reuse in Multi-agent Domain Engineering whose main products are ontology-based domain models, Domain Specific Languages (DSLs) and application generators. It also contributes with ONTOGENMADEM, an ontology composed by an ontology and a plug-in to the ontology editor Protégé that supports the application of GENMADEM, aiding the analysis, design and implementation of DSLs. A case study that consists of the development of a DSL and a generator design for the domain of information filtering and retrieval is also presented with the goal of evaluation of the methodology. / A abordagem gerativa é um dos meios mais produtivos para promover o reuso automático em linhas de produção de software, aliado a técnicas e metodologias da Engenharia de Domínio. O paradigma multiagente visa fornecer soluções para abordar a crescente complexidade dos softwares que devem operar em ambientes não predizíveis ou sujeitos a mudanças rápidas. Para obtermos os benefícios do reuso automático em famílias de sistemas multiagente, precisamos de métodos adequados ao paradigma multiagente, que são objetos de estudo da Engenharia de Domínio Multiagente. Este trabalho propõe a GENMADEM, uma metodologia baseada em ontologias para o reuso gerativo na Engenharia de Domínio Multiagente cujos principais produtos são modelos de domínio baseados em ontologias, Linguagens Específicas de Domínio (LEDs) e geradores de aplicação. Ele também contribui com a ONTOGENMADEM, uma ferramenta composta por uma ontologia e um plugin para o editor de ontologias Protégé que suporta a aplicação da GENMADEM, auxiliando na análise, projeto e implementação de LEDS. Um estudo de caso que consiste no desenvolvimento de uma LED e projeto do gerador para o domínio da recuperação e filtragem de informação também é apresentado com o objetivo de avaliar a metodologia.
69

Composition and interoperability for external domain-specific language engineering / Composition et interopérabilité pour l'ingénierie des langages dédiés externes

Degueule, Thomas 12 December 2016 (has links)
Development and evolution of Domain-Specific Languages (DSLs) is becoming recurrent in the development of complex software-intensive systems. However, despite many advances in Software Language Engineering (SLE), DSLs and their tooling still suffer from substantial development costs which hamper their successful adoption in the industry. We identify two main challenges to be addressed. First, the proliferation of independently developed and constantly evolving DSLs raises the problem of interoperability between similar languages and environments. Second, since DSLs and their environments suffer from high development costs, tools and methods must be provided to assist language designers and mitigate development costs. To address these challenges, we first propose the notion of language interface. Using language interfaces, one can vary or evolve the implementation of a DSL while retaining the compatibility with the services and environments defined on its interface. Then, we present a mechanism, named model polymorphism, for manipulating models through different language interfaces. Finally, we propose a meta-language that enables language designers to reuse legacy DSLs, compose them, extend them, and customize them to meet new requirements. We implement all our contributions in a new language workbench named Melange that supports the modular definition of DSLs and the interoperability of their tooling. We evaluate the ability of Melange to solve challenging SLE scenarios. / Development and evolution of Domain-Specific Languages (DSLs) is becoming recurrent in the development of complex software-intensive systems. However, despite many advances in Software Language Engineering (SLE), DSLs and their tooling still suffer from substantial development costs which hamper their successful adoption in the industry. We identify two main challenges to be addressed. First, the proliferation of independently developed and constantly evolving DSLs raises the problem of interoperability between similar languages and environments. Second, since DSLs and their environments suffer from high development costs, tools and methods must be provided to assist language designers and mitigate development costs. To address these challenges, we first propose the notion of language interface. Using language interfaces, one can vary or evolve the implementation of a DSL while retaining the compatibility with the services and environments defined on its interface. Then, we present a mechanism, named model polymorphism, for manipulating models through different language interfaces. Finally, we propose a meta-language that enables language designers to reuse legacy DSLs, compose them, extend them, and customize them to meet new requirements. We implement all our contributions in a new language workbench named Melange that supports the modular definition of DSLs and the interoperability of their tooling. We evaluate the ability of Melange to solve challenging SLE scenarios.
70

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

Page generated in 0.0665 seconds