Spelling suggestions: "subject:"domainspecific languages"" "subject:"domainhspecific languages""
61 |
[en] EVENTMANAGER: A TOOL FOR ANALYSING CONCURRENT PROGRAMS / [pt] EVENTMANAGER: UMA FERRAMENTA DE ANÁLISE DE PROGRAMAS CONCORRENTESANNA 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 modelimaDimitrieski 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 approachLucredio, 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-SystemeKammer, 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?nioCampos 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ÁVEISANTONIO 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ínioViana, 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 MULTIAGENTEPereira, 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 externesDegueule, 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 approachDaniel 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.0704 seconds