1 |
[en] REUSE OF DOMAIN-SENSITIVE STRATEGIES FOR DETECTING CODE ANOMALIES: A MULTI-CASE STUDY / [pt] REUSO DE ESTRATÉGIAS SENSÍVEIS A DOMÍNIO PARA DETECÇÃO DE ANOMALIAS DE CÓDIGO: UM ESTUDO DE MÚLTIPLOS CASOSALEXANDRE LEITE SILVA 30 January 2015 (has links)
[pt] Para promover a longevidade de sistemas de software, estratégias de detecção são reutilizadas para identificar anomalias relacionadas a problemas de manutenção, tais como classes grandes, métodos longos ou mudanças espalhadas. Uma estratégia de detecção é uma heurística composta por métricas de software e limiares, combinados por operadores lógicos, cujo objetivo é detectar um tipo de anomalia. Estratégias pré-definidas são usualmente aplicadas globalmente no programa na tentativa de revelar onde se encontram os problemas críticos de manutenção. A eficiência de uma estratégia de detecção está relacionada ao seu reuso, dado o conjunto de projetos de uma organização. Caso haja necessidade de definir limiares e métricas para cada projeto, o uso das estratégias consumirá muito tempo e será negligenciado. Estudos recentes sugerem que o reuso das estratégias convencionais de detecção não é usualmente possível se aplicadas de forma universal a programas de diferentes domínios. Dessa forma, conduzimos um estudo exploratório em vários projetos de um domínio comum para avaliar o reuso de estratégias de detecção. Também avaliamos o reuso de estratégias conhecidas, com calibragem inicial de limiares a partir do conhecimento e análise de especialistas do domínio. O estudo revelou que, mesmo que o reuso de estratégias aumente quando definidas e aplicadas para um domínio específico, em alguns casos o reuso é limitado pela variação das características dos elementos identificados por uma estratégia de detecção. No entanto, o estudo também revelou que o reuso pode ser significativamente melhorado quando as estratégias consideram peculiaridades dos interesses recorrentes no domínio ao invés de serem aplicadas no programa como um todo. / [en] To prevent the quality decay, detection strategies are reused to identify symptoms of maintainability problems in the entire program. A detection strategy is a heuristic composed by the following elements: software metrics, thresholds, and logical operators combining them. The adoption of detection strategies is largely dependent on their reuse across the portfolio of the organizations software projects. If developers need to define or tailor those strategy elements to each project, their use will become time-consuming and neglected. Nevertheless, there is no evidence about efficient reuse of detection strategies across multiple software projects. Therefore, we conduct an industry multi-project study to evaluate the reusability of detection strategies in a critical domain. We assessed the degree of accurate reuse of previously-proposed detection strategies based on the judgment of domain specialists. The study revealed that even though the reuse of strategies in a specific domain should be encouraged, their accuracy is still limited when holistically applied to all the modules of a program. However, the accuracy and reuse were both significantly improved when the metrics, thresholds and logical operators were tailored to each recurring concern of the domain.
|
2 |
[en] BLENDING AND REUSING RULES FOR ARCHITECTURAL DEGRADATION PREVENTION / [pt] COMPOSIÇÃO E REUSO DE REGRAS PARA PREVENÇÃO DA DEGRADAÇÃO ARQUITETURALALESSANDRO CAVALCANTE GURGEL 29 January 2015 (has links)
[pt] Durante a manutenção de sistemas de software, os projetos arquiteturais
podem se degradar através dos processos de erosão e descaracterização
arquitetural. Estes processos estão usualmente entrelaçados e, consequentemente,
sintomas de descaracterização arquitetural favorecem a manifestação posterior de
sintomas de erosão e vice-versa. De fato, estudos empíricos recentes revelam que
estes sintomas tendem a afetar os mesmos módulos de um sistema. Desta forma,
arquitetos devem elaborar estratégias híbridas para uma prevenção simultânea de
ambos os processos de degradação arquitetural. Embora as especificações de
regras arquiteturais demandem um esforço considerável, estas são frequentemente
similares em diversos projetos de uma mesma companhia ou de um mesmo
domínio de aplicação. Essa dissertação descreve a linguagem específica de
domínio TamDera para: (i) especificar estratégias de regras para permitir
prevenção simultânea de ambos os processos de erosão e descaracterização
arquitetural, e (ii) prover o reúso tanto hierárquico quanto composicional de regras
de projetos em múltiplos contextos. Essa dissertação apresenta a avaliação
empírica da linguagem em termos de provisão de suporte para descrição e reúso
de regras de projeto em cinco projetos de software. O presente trabalho também
apresenta um protótipo que suporta a utilização da linguagem para detecção de
sintomas de degradação arquitetural.. Nossos resultados sugerem que arquitetos
podem se beneficiar de abordagens que permitam a definição e reúso de regras
híbridas para detectar ocorrências de ambos os processos de erosão e
descaracterização arquitetural in diversos cenários. / [en] During the maintenance of software systems, their architecture often
degrades through processes of architectural erosion and drift. These processes are
often intertwined and, as a consequence, a given module in the code becomes the
locus of both erosion and drift symptoms. Architects should elaborate strategies
for detecting co-occurrences of both degradation symptoms. Strategies for
enabling the detection of these symptoms are based on design rules. While the
specification of design rules is time-consuming, they are often similar across
different software projects. In this context, the contribution of this dissertation is
threefold. First, it presents TamDera, an unified domain-specific language for: (i)
specifying rule-based strategies to detect both erosion and drift symptoms, and (ii)
promoting the hierarchical and compositional reuse of design rules across multiple
contexts. Second, a tool implementation for supporting the language usage and
rule enforcement is also presented in this dissertation. Third, we evaluated the
language in supporting the description and reuse of design rules on five software
projects. Our evaluation revealed that architects could be benefited by using
TamDera to blend and reuse rules for detecting erosion and drift occurrences in
multiple scenarios.
|
3 |
[en] FRACTINAL FREQUENCY REUSE AND EVALUATION OF SCHEDULING ALGORITHMS IN FEMTOCELLS LTE / [pt] REUSO DE FREQUÊNCIA FRACIONÁRIO E AVALIAÇÃO DE ALGORITMOS DE AGENDAMENTO EM FEMTO-CÉLULAS LTERICARDO APOLINARIO CALZADA CORREA 22 January 2015 (has links)
[pt] O desenvolvimento de ambientes femto-celulares traz um considerável aumento geral na capacidade de sistemas heterogêneos, porque a distância entre o transmissor e receptor é pequena em comparação ao clássico desenvolvimento macro-celular. Mas as aplicações e serviços que estão vindo, precisam de ainda mais capacidade. Na procura desse ganho na capacidade, se criam técnicas e procedimentos que trabalham principalmente na camada física e MAC. Entre elas temos o reuso de frequência unitário, o qual não se logra explodir toda a capacidade do sistema, por isso implementamos o reuso de frequência fracionário que encara diretamente os problemas de interferência co-layer (entre femto-estações) e cross-layer (entre macro e femto estações). Este reuso fracionário de frequência se da só a nível de femto-estações, deixando à macro-estação que utilize toda a banda de frequência atribuída para a macro-célula. Os claros resultados obtidos no nível do SINR, mostram as melhoras. Tomando como base a plataforma anterior de reuso fracionário, analisamos as estrategias de programação do recurso frente a uma aplicação de vídeo. As estrategias pesquisadas são classificadas em: aquelas que tomam em consideração a qualidade do canal e aquelas que além da qualidade do canal consideram dentro da sua métrica requerimentos QoS, em especial o retardo máximo. Estas ultimas são as mais adequadas quando se opera com aplicações de tempo real (vídeo conferência e VoIP). Para contemplar a faixa de funcionamento das melhoras obtidas, todos os cenários de simulação foram sometidos a três intensidades de trafego (leve, médio e pesado). Medidas feitas da vazão, retardo, perda de pacotes e níveis de justiça na repartição mostram os benefícios do efeito combinado do reuso fracionário como o algoritmo de programação utilizado. Com os resultados obtidos fazemos uma escolha do padrão de reuso mais adequado junto com o algoritmo que proporcionam o melhor rendimento, dependendo do cenário (familiares ou empresariais) e da aplicação a utilizar. / [en] The development of femtocells environments brings a considerable increase in the capacity of the heterogeneous systems, because the distance between the transmitter and the receptor is smaller than the classic macrocell development. But the applications and services that are coming need more capacity yet. Looking for that gain of capacity, has been created techniques and methods that work mainly in the physical and MAC layer. Among them, the unitary frequency reuse, that does not achieve to exploit all the system s capacity. Hence we have implemented the fractional frequency reuse that aim directly the problems of co-layer interference (Between femto base stations) and cross-layer interference (Between macro and femto base stations). This fractional reuse of frequency is only among femto-stations, leaving the macro-station that use all the frequency band given for the macro cell. The bright results obtained in the SINR level show the improvements. Based on previous platform of fractional reuse, we analyze the scheduling strategies of the resource with a video application. The studied strategies are classified in: those that consider the quality of the channel and those that beyond the quality of channel consider QoS requirements in its metric, specially the maximum delay time. The last are more adequate when operating with video applications in real time (Video conference, VoIP). To see the operating range of the obtained improvements, all the simulation scenarios were submitted to three intensities of traffic (light, medium and heavy). Measurements of throughput, delay, packet loss ratio and fair levels in the distribution show the benefits of the joint effects of the fractional reuse as the scheduling algorithm used. With the obtained results, we do a selection of the more adequate reuse pattern together with the algorithm that provides the best performance, depending of the scenario (home or business environment) and the applications to use.
|
4 |
[en] KUABA: AN APPROACH FOR REPRESENTATION OF DESIGN RATIONALE FOR THE REUSE OF MODEL BASED DESIGNS / [pt] KUABA: UMA ABORDAGEM PARA REPRESENTAÇÃO DE DESIGN RATIONALE PARA O REUSO DE DESIGNS BASEADOS EM MODELOADRIANA PEREIRA DE MEDEIROS 29 August 2006 (has links)
[pt] Este trabalho apresenta um modelo de representação de
conhecimento e a
arquitetura conceitual de um ambiente de design integrado
para apoiar a
representação de design rationale e seu uso no design de
artefatos de software.
Em nossa abordagem de representação propomos o uso da
semântica formal dos
artefatos, fornecida pelos métodos de design, para
representar design rationale
usando o vocabulário definido na ontologia Kuaba. Este
vocabulário, descrito em
uma linguagem formal para especificação de ontologias,
permite definir um
conjunto de regras e operações computáveis que apóiam o
reuso de designs na
produção de novos artefatos de software. Esta abordagem de
representação
possibilita um novo tipo de reuso de design de software em
um nível mais alto de
abstração, onde rationales podem ser integrados e re-
empregados no design de um
novo artefato. / [en] This work presents a knowledge representation model and
the conceptual
architecture of an integrated design environment to
support recording design
rationale, as well as use of design rationale, during
design of software artifacts. In
our representation approach, we propose the use of the
formal semantics of
artifacts provided by design methods to represent design
rationale using the
vocabulary defined in the Kuaba ontology. This vocabulary
described in a formal
ontologies specification language allows defining a set of
rules and computable
operations that support the reuse of designs in the
production of new software
artifacts. This representation approach enables a type of
software design reuse at
the highest abstraction level, where rationales can be
integrated and re-employed
in designing a new artifact.
|
5 |
[en] SEMANTIC-BASED REPOSITORY OF AGENT COMPONENTS / [pt] REPOSITÓRIO DE AGENTES BASEADO EM SEMÂNTICAMERLIN PARRA JIMENEZ 23 January 2017 (has links)
[pt] A adoção de abordagems de desenvolvimento orientada a agentes de software traz inúmeros benefícios, tais como o suporte à análise, ao projeto e a implementação de sistemas de software. Postulamos que um ambiente de desenvolvimento robusto para a construção de sistemas orientados a agentes de software será reforçado por meio de métodos avançados de reuso. O reuso na engenharia de software leva à redução de custos e tempo envolvidos no desenvolvimento dos projetos. Além disso, promove melhorias relacionadas à adatação a diferentes exigências e necessidades dos engenheiros de software, melhorando qualidade dos sistemas desenvolvidos. No entanto, a pesquisa relacionada ao reuso de agentes ainda é escassa. Consequentemente, o problema da organização e do armazenamento de artefatos orientados a agentes ainda não atende as necessidades dos engenheiros de software. Portanto, o processo de recuperação de agentes ainda é um importante desafio a ser superado na engenharia de software orientada a agentes. Neste contexto, esta dissertação propõe uma metodologia e um protótipo de repositório baseado em tecnologias da web semântica que suportam estratégias de reuso, fundamentais ao processo de desenvolvimento de sistemas orientados a agentes. A metodologia proposta inclui (i) um meta-modelo flexível para representar os agentes e as suas características comuns e variáveis. Tais características são modeladas por meio de uma ontologia e um modelo de características (em inglês feature model), (ii) uma taxonomia específica de domínio para classificar os agentes de acordo com o seu domínio de aplicação, (iii) uma taxonomia para classificar os diferentes tipos de agentes, (iv) um serviço de subscrição (RSS) para anunciar a atualização dos agentes associados a categorias específicas, (v) um sistema de recomendação, apoiado por a ontologia e as taxonomias propostas, que permite aos usuários descobrir agentes reutilizáveis inter-relacionados, e (vi) métodos avançados de busca e navegação. Finalmente, avaliamos o repositório construído. O resultado da nossa avaliação mostra que o método proposto promove uma melhoria em relação à relevância da recuperação dos artefatos orientados a agentes. / [en] The adoption of a software agent-oriented development approach brings a number of benefits such as the support of analyses, design and implementation of software systems. We posit that a robust development environment for the construction of agent-oriented software systems will be enhanced by advanced reuse methods. Reuse in software engineering leads to the reduction of cost and time involved for developing projects, improvement of software quality, and easy adaptation to different requirements and needs of software engineers. However, research addressing agent reuse is meager and does not tackle the problem of organizing and storing agent-oriented artifacts according to the software engineers needs. Therefore, the agent retrieval process turns into an important challenge to be overcome in agent-oriented software engineering. In this context, this thesis proposes a methodology and a repository prototype based on semantic web technologies that supports reuse for developing agent systems. The proposed methodology includes (i) a flexible meta-model for representing the agents and their common and variable features, which are represented by means of ontology and feature model, (ii) a domain-specific taxonomy to classify agents according their application domain, (iii) a taxonomy to classify the different behaviors of agents, (iv) a subscription service, RSS, to announce updates to the agents that are associated to specific categories, (v) a recommendation system, supported by the ontology and the taxonomies, that allows end-users to discover reusable interrelated agents and learn new information or agents as needed, and (vi) enhanced search and browsing methods for agents. Finally, we evaluate the constructed repository. The outcome of this evaluation shows that the proposed reuse method is an improvement in terms of the relevance of retrieved agent-oriented artifacts.
|
6 |
[en] A STUDY OF SERVICE-ORIENTED DEVELOPMENT / [pt] UM ESTUDO SOBRE O DESENVOLVIMENTO ORIENTADO A SERVIÇOSJOAO COUTINHO MACHADO 18 June 2004 (has links)
[pt] Diversos estudos apontam que desenvolvimento orientado a
serviços terá, em alguns anos, grande influência sobre o
desenvolvimento de sistemas. Esta dissertação discute o que
realmente o desenvolvimento orientado a serviços apresenta
como novidade tecnológica, através da discussão de todas
suas características consideradas relevantes para
construção de uma aplicação baseada no conceito de
serviços. Características como reuso caixa-preta,
distribuição e suporte a heterogeneidade ambiental, entre
outras, são discutidas no intuito de identificar suas
vantagens e funcionalidades, e principalmente, sua
importância para o desenvolvimento orientado a serviços. É
discutido, também, o conceito representado pelo termo
serviço, que possui interpretações distintas na indústria
e em publicações acadêmicas. São apresentados também alguns
frameworks que dão suporte ao desenvolvimento orientado a
serviços, como Vinci, Jini e os XML Web Services.
Finalmente, é apresentada uma proposta para um novo
framework que oferece suporte ao desenvolvimento orientado
a serviços, e que tem como diferencial a opção de se basear
na extensão da infra-estrutura de um servidor de aplicações
J2EE. / [en] Several studies point that service-oriented development
will have, in some years, great influence on the
development of systems. This work shows what service-
oriented development actually presents as technological
innovation, through the discussion of all its relevant
characteristics for construction of an application based on
the concept of services. Characteristics as black-box reuse,
distribution and environment heterogeneity support, among
others, are discussed in intention to identify its
advantages and features, and mainly, its importance for
the service-oriented development. It is also discussed the
concept represented for the term service, that have
distinct interpretations in the industry and academic
publications. In addition some frameworks are presented
that support derviceoriented Development, such as Vinci,
Jini and the XML Web Services. Finally, a proposal for a
new framework is presented which offers support for Service-
Oriented Development. Unlike the others frameworks
previously mentioned, this is based on the extension of
J2EE application server infrastructure.
|
7 |
[pt] MINERAÇÃO DE INFORMAÇÃO EM LINGUAGEM NATURAL PARA APOIAR A ELICITAÇÃO DE REQUISITOS / [en] MINING INFORMATION IN NATURAL LANGUAGE TO SUPPORT REQUIREMENTS ELICITATIONROXANA LISETTE QUINTANILLA PORTUGAL 02 December 2016 (has links)
[pt] Este trabalho descreve a mineração de informações em linguagem natural a partir do repositório de projetos GitHub. É explicada como o conteúdo de projetos semelhantes dada uma busca por domínio podem ser úteis para o reuso de conhecimento, e assim, ajudar nas tarefas de Elicitação de Requisitos. Técnicas de mineração de textos, regularidades independentes do domínio, e os metadados de GitHub são os métodos utilizados para selecionar projetos relevantes e as informações dentro deles. Uma abordagem para atingir nossa meta utilizando pesquisa exploratória é explicada, bem como descrevemos os resultados alcançados. / [en] This work describes the mining of information in natural language from the GitHub repository. It is explained how the content of similar projects given a search domain can be useful for the reuse of knowledge, and thus help in the Requirements Elicitation tasks. Techniques of text mining, regularities independent from domain, and GitHub metadata are the methods used to select relevant projects and the information within them. One approach to achieve our goal is explained with an exploratory research and the results achieved.
|
8 |
[pt] SUPORTE A TEMPLATES WEB NO PLAYER NCL / [en] WEB TEMPLATES SUPPORT IN NCL PLAYERBRUNO XAVIER LEITÃO 11 May 2020 (has links)
[pt] O middleware Ginga e a linguagem NCL são padrões para autoria de aplicações multimídia para TV Digital. Alguns estudos concluiram que a linguagem NCL apresenta um alto grau de verbosidade. Tal fator aumenta a possibilidade do autor da aplicação escrever um código errado. Uma maneira para reduzir tais chances de erro consiste em reusar elementos que se repetem na estrutura do código. Na literatura, dentro do campo de multimídia, é comum usar templates pra tal finalidade. Templates descrevem famílias de documentos com estrutura lógica em comum. No contexto da web é comum a utilização de templates na criação de páginas HTML. Nesse caso, os templates podem ser executados tanto no lado cliente como no lado servidor. A proposta desse trabalho é trazer linguagens de template web e suas ferramentas de execução (engines) para o universo da TV Digital. A execução rodando no cliente (Ginga) permite a seus desenvolvedores fornecerem applicação baseadas em templates com conteúdo adaptável. / [en] Ginga middleware and NCL language are standards for multimedia applications authoring for Digital TV. Some studies have indicated that NCL language is highly verbose. Such a factor increases the possibility of coding errors introduced by application authors. These mistakes can be reduced by reusing repeated elements on the code. In the multimedia field, is common to use templates to achieve such a goal. Templates describe a family of logically structured documents. Template language insertion ends up reducing the number of lines of codes written and thus make the final document less error-prone. On the web, the scenario is common the template usage in HTML development. In this scenario, developers commonly use specific templates engines that can even run on the client-side, such as Jinja2 and Mustache. This work aims at bringing web templates support for the NCL development. By running on the client i.e., Ginga, developers can provide adaptable template-based content to developed applications.
|
Page generated in 0.0353 seconds