1 |
[en] COMPUTATIONAL SUPPORT TO FRAMEWORK / [pt] SUPORTE COMPUTACIONAL À EVOLUÇÃO DE FRAMEWORKSMARIELA INES CORTES 18 September 2003 (has links)
[pt] O desenvolvimento de frameworks é caro, não só pela
dificuldade intrínseca relacionada à captura do
conhecimento do domínio, mas também por causa da falta de
métodos e técnicas apropriados para dar suporte à sua
evolução e desenvolvimento iterativo.
Neste trabalho de tese é proposta a utilização de duas
técnicas complementares para dar suporte a evolução de
frameworks: regras de refactoring e regras de extensão.
A técnica de refactoring foi desenvolvida para restruturar
software de forma a tornar o código mais legível e fácil de
ser reutilizado. Regras da extensão são propostas para
modificar a estrutura de pontos de variação do framework,
possibilitando a adição mais fácil de novas funcionalidades
no design. Ambas as técnicas preservam o comportamento
observável dos programas. Esta propriedade é verificada
formalmente usando-se CCS e técnicas de verificação de
modelo. A abordagem proposta é testada com o auxílio de uma
ferramenta semiautomática, desenvolvida para dar suporte à
aplicação das regras definidas. / [en] Framework development is expensive not only because of the
intrinsic difficulty related to the elicitation of domain
knowledge but also because of the lack of methods and
techniques to support its evolution and interactive
development. The present thesis proposes the use of two
complementary techniques to support framework evolution:
refactoring and extension rules. The refactoring technique
has been developed to enable software re-structuring in
a way to produce more readable and reusable code. Extension
rules have been proposed to change the structure of the
framework variation points by allowing the addition of
new design functionalities. Both techniques preserve the
observable behavior of programs. This property is
formally verified in this work by using CCS approach to
model checking. The proposed approach has been tested by
means of a tool specially developed to support the
application of the defined rules.
|
2 |
[en] AN ASPECT-ORIENTED FRAMEWORK FOR MONITORING AND ANALYZING BUSINESS PROCESSES / [pt] UM FRAMEWORK ORIENTADO A ASPECTOS PARA MONITORAMENTO E ANÁLISE DE PROCESSOS DE NEGÓCIOKLESSIS LOPES DIAS 04 November 2008 (has links)
[pt] Com o crescimento dos sistemas de informação baseados na
internet, empresas que mantém seus negócios eletrônicos
através de sistemas web necessitam monitorar o andamento
das atividades dos seus negócios. Várias técnicas para
monitoramento e análise da execução de processos de negócio
podem ser empregadas, dentre elas: (i) mineração de
arquivos de log de servidores web, tais como o Apache; e
(ii) inserção explícita de código de monitoramento
diretamente no código da aplicação. Tais técnicas possuem
várias limitações, entre elas, a dificuldade e falta de
flexibilidade para corelacionar informação ocorrendo em
diferentes requisições web, e/ou necessidade de várias
modificações invasivas transversais diretamente no
código de componentes/classes do sistema. Esse trabalho
apresenta o projeto e implementação de um framework
orientado a aspectos para monitoramento e análise de
processos de negócio que ocorrem em sistemas web. Aspectos
foram usados para implementar as variabilidades orientadas
a aspectos de monitoramento de processos de negócio
ocorrendo em sistemas web. O framework foi implementado
usando as linguagens Java e AspectJ e foi validado por meio
da sua instanciação para duas diferentes aplicações web. / [en] Over the last years, many mechanisms and techniques to
monitor web applications have been proposed, such as,
mining of log files from web servers and insertion of
monitoring code directly in web applications. The adoption
of these techniques presents several limitations such as:
obstacles to correlate information from different web
requests and/or requires several intrusive
changes in the code of existing web applications. This
dissertation presents an aspect-oriented framework to
monitoring and analysing business processes.
Aspect-oriented technologies are used to implement
crosscutting variabilities of monitoring of web business
processes. The framework has been developed
using Java and AspectJ programming languages. It was
instantiated and validated through the development of two
different web applications.
|
3 |
[en] AN ASPECT-ORIENTED APPROACH TO FRAMEWORK DEVE LOPMENT / [pt] UMA ABORDAGEM ORIENTADA A ASPECTOS PARA O DESENVOLVIMENTO DE FRAMEWORKSUIRA KULESZA 04 December 2007 (has links)
[pt] Esse trabalho propõe uma abordagem sistemática para o
desenvolvimento
de frameworks usando técnicas orientadas a aspectos (OA).
O objetivo central
da abordagem é melhorar a capacidade de extensão e
configuração de
frameworks orientados a objetos (OO) para diferentes
cenários de reutilização,
através de uma melhor gerência de suas características. A
abordagem é
composta por: (i) um conjunto de diretrizes para o projeto
e implementação de
frameworks usando programação orientada a aspectos; e (ii)
um modelo
generativo usado para a instanciação automática do
framework e suas
variabilidades OO e OA. As diretrizes propõem a definição
de um conjunto de
pontos de junção de extensão (EJPs - extension join
points) no código do
framework, os quais podem ser usados para estender a
funcionalidade básica do
framework através da implementação de aspectos de
extensão. Tais aspectos
são responsáveis pela implementação de características
transversais opcionais,
alternativas ou de integração demandadas por usuários do
framework. A
abordagem é demonstrada com a implementação / refatoração
de 3 frameworks
OO pertencentes a diferentes domínios de aplicação. Uma
avaliação da
abordagem por meio de um estudo qualitativo e um estudo
quantitativo é
também apresentada. Finalmente, diversas lições aprendidas
e discussões
resultantes da experiência de uso da abordagem são
descritas. / [en] This work proposes a systematic approach to framework
development
which relies on the use of aspect-oriented (AO)
techniques. The main goal of
the approach is to improve the extensibility and
configurability of objectoriented
(OO) frameworks. It is composed of: (i) a set of
guidelines to design
and implement frameworks using aspect-oriented
programming; and (ii) a
generative model which allows the automatic instantiation
of the framework
and its respective OO and AO variabilities. Our guidelines
propose the
definition of extension join points (EJPs) in the
framework code, which can be
used to extend the framework basic functionality by means
of extension aspects.
The extension aspects are responsible for implementing
optional, alternative
and integration crosscutting features required by the
framework users. Since
such aspects can be automatically unplugged from the
framework code, our
approach makes it easier to customize the framework to
specific needs. Three
cases studies are presented to illustrate the
applicability of our approach to the
development of frameworks from different domains. The
approach is also
evaluated through both a qualitative and a quantitative
study. Finally, several
lessons learned and discussions resulting from the use of
the approach are
described.
|
4 |
[en] A FRAMEWORK FOR LOCATION-BASED COMMUNICATION / [pt] UM FRAMEWORK PARA COMUNICAÇÃO BASEADA EM LOCALIZAÇÃOKLEDER MIRANDA GONCALVES 07 July 2005 (has links)
[pt] A combinação de computação móvel sem fio e tecnologias para
a
localização de dispositivos possibilitou o surgimento de um
novo paradigma de
computação conhecido como Serviços Baseados em Localização,
cujo objetivo é
estudar como prover ao usuário serviços personalizados que
dependem da
localidade onde este se encontra. Dentre esses serviços,
destacam-se aqueles cuja
principal função é dar apoio a diferentes formas de
comunicação entre usuários de
dispositivos móveis. Apesar de vários serviços terem sido
desenvolvidos com esse
intuito, são poucos os trabalhos que fizeram um
levantamento de suas
características comuns com o objetivo de projetar uma infra-
estrutura genérica
que sirva de base para o desenvolvimento de novos serviços.
Isso serviu de
motivação para esta dissertação, que trata do
desenvolvimento de um framework
que facilite a construção de serviços para comunicação
baseada na localização de
usuários móveis. Como estudos de caso, foram instanciados
um aplicativo
chamado Nita (Notes In The Air), que provê comunicação
síncrona e assíncrona
entre usuários presentes numa mesma localidade, e um
aplicativo para
comunicação instantânea similar ao BuddySpace. / [en] The combination of mobile wireless computing and location
technology
enabled the emergence of a new computing paradigm known as
Location-Based
Services, whose goal is to study how to provide
personalized services to users
depending on the their location. Among these services, very
useful are the ones
which support different kinds of communication between
mobile users. Although
several services have been developed with this goal, only
few work aimed at
identifying the common characteristics of these systems,
with the goal of
designing a generic infrastructure that serves as the basis
for the development of
new services. This was the main motivation for this thesis
work, in which we
designed an object framework facilitating the construction
of applications for
location-based communication among mobile users. As main
case studies, we
instantiated an application called Nita (Notes In The Air),
which provides both
synchronous and asynchronous communication between co-
located users, and a
location-enhanced instant messaging application similar to
BuddySpace.
|
5 |
[en] SUPPORTING HETEROGENEOUS CONFIGURATION KNOWLEDGE OF SOFTWARE PRODUCT LINES / [pt] SUPORTANDO CONHECIMENTO DE CONFIGURAÇÃO HETEROGÊNEO DE LINHAS DE PRODUTOS DE SOFTWAREELDER JOSE REIOLI CIRILO 24 January 2017 (has links)
[pt] Softwares personalizados para as necessidades de um cliente proveem vantagem competitiva quando comparados aos softwares de proposito geral. Linhas de produtos de softwares tem como objetivo a produção de produtos personalizados a partir de um conjunto de features reutilizáveis. É conhecido que o reuso sistemático de features potencialmente leva a ganhos significativos como rápida produção de software a um baixo custo e com maior qualidade. Na prática, a construção de linhas de produtos de softwares empresariais pode se tornar uma tarefa arriscada e sujeita a erros quando se leva em consideração o uso das técnicas atuais de implementação de features. O desenvolvimento de linhas de produtos de software empresariais de fato requer a convergência coordenada de várias visões (ex., especialistas de domínio, projetistas de interface, e desenvolvedores). Neste caso, cada participante do processo de desenvolvimento tem uma linguagem particular para resolver o problema específico a sua especialidade. Os desafios para integração de diferentes linguagens, evitando uma potencial cacofonia, é o problema do conhecimento de configuração heterogêneo. Nesta tese, nos examinamos as dificuldades atuais na especificação do conhecimento de configuração heterogêneo e como solução nos propomos a noção de Linguagens de Modelagem do Conhecimento do Domínio (LMCD). O propósito das LMCDs é evidenciar os conceitos do domínio e suas interfaces de programação, o que ajuda reduzir o ofuscamento do código fonte e aumentar a compreensão. Além disso, evidenciando os conceitos específicos de domínio, somos aptos a prevenir inconsistências em produtos pela detecção de erros em toda a linha de produto de software. Outro resultado deste trabalho de pesquisa é GenArchPlus, uma ferramenta extensível que suporta de forma flexível a incorporação de LMCDs na engenharia de linhas de produtos de softwares tradicional. Nos enfatizamos os benefícios da ferramenta, incluindo simplicidade, expressividade, e a capacidade de ser independente de qualquer tecnologia de implementação do domínio. Finalmente, nos ilustramos e avaliamos o uso de LMCDs em três diferentes linhas de produtos de software. / [en] Customer-specific software can provide a competitive advantage compared to general-purpose software. A software product line (SPL) aims at tailoring customer-specific products from a set of reusable features. It is well known that systematic reuse of features potentially leads to significant gains such as faster production with low costs and high quality. In practice, building enterprise software product lines might become a laborious and error-prone task when we take into account the use of current implementation techniques. Successful development of modern enterprise software product lines requires the convergence of multiple views (e.g., domain experts, interface designers, and developers), which are usually managed via domain-specific concepts. In this case, each participant of the development process has a particular working language to solve specific problems to its expertise. The challenge of integrating these differences into the engineering process, avoiding the potential cacophony of multiple different languages, is the heterogeneous configuration knowledge problem. In this thesis, we examine the current shortcomings on the specification of heterogeneous configuration knowledge and as a solution we propose the notion of Domain Knowledge Modeling Languages (DKMLs). The purpose of DKMLs is to put in evidence the domain concepts and their programming interfaces, which help to reduce source code obfuscation and increase feature comprehension. Moreover, evidencing the domain-specific concepts, we are also able to prevent inconsistencies on products by detecting errors in the entire software product line. Another result of this research is the GenArchPlus, an extensible tool that supports the flexible incorporation of DKMLs in traditional software product line engineering. We emphasize the benefits of GenArchPlus, including simplicity, expressiveness, and being framework independent. Finally, we illustrate and evaluate the use of DKMLs in three different product lines.
|
Page generated in 0.0624 seconds