• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 84
  • 77
  • 11
  • 9
  • 6
  • 5
  • 5
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 212
  • 212
  • 139
  • 114
  • 56
  • 53
  • 40
  • 40
  • 37
  • 31
  • 30
  • 29
  • 29
  • 26
  • 24
  • 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.
21

Advanced separation of concerns and the compatibility of aspect-orientation

Dechow, Doug 18 March 2005 (has links)
The appropriate separation of concerns is a fundamental engineering principle. A concern, for software developers, is that which must be represented by code in a program; by extension, separation of concerns is the ability to represent a single concern in a single appropriate programming language construct. Advanced separation of concerns is a relatively recent technique in software development for dealing with the complexity of systems that contain crosscutting concerns, namely those individual concerns that cut across programs. Aspect-oriented programming (AOP), which is the area of this dissertation, offers a form of advanced separation of concerns in which primary and crosscutting concerns can be separated during problem solving. An aspect gathers into one place a concern that is or would otherwise be scattered throughout an object-oriented program or system. The primary aim of this dissertation-the AOPy project-is to investigate the usefulness of advanced separation of concerns that aspect-oriented programming offers. In other words, the AOPy Project determines whether the potential usefulness of aspect-oriented programming is currently actualized in practice. In determining its current practical usefulness, this dissertation also determines characteristics of and obstacles to usefulness of aspect-orientation in software development. Perhaps the most important contribution to understanding and addressing the problem of complexity in software systems that this dissertation makes is that the AOPy research project establishes a definition of compatibility of aspect-orientation and provides an analysis of sample instances during problem solving that indicate evidence of compatibility between object-orientation and aspect-orientation. Compatibility, as defined by the AOPy Project, exists when aspect-oriented ideas, terminology, and techniques are appropriately employed in the experimental problem-solving session. The primary scientific contribution of this dissertation, therefore, is a narrative description of the actual use of aspect-oriented programming in a series of controlled, problem-solving scenarios. Theories describing the use of aspect-oriented ideas, terminology, and techniques are generated and refined by means of Grounded Theory, a qualitative data analysis technique. Because this dissertation 1) analytically explores areas of compatibility of aspect-orientation with object-orientation and 2) defines areas of compatibility thwarted in practice, this research project can serve as a foundation for the development of aspect-oriented programming-based design methodologies that encourage compatibility and discourage non-compatibility. Therefore, the AOPy Project establishes a foundation for future research in both its methodology and its results and for future software development in practice. By contributing a definition of aspect-oriented compatibility and a framework within which it can be understood, this dissertation fosters the progression toward a seamless use of aspect-orientation between developer and task. / Graduation date: 2005
22

Agent oriented fault detection, isolation and recovery and aspect-oriented plug-and-play tracking mechanism

Chen, Feilong 30 September 2004 (has links)
Fault detection, isolation, and recovery are some of the most critical activities in which astronauts and flight controllers participate. Recent systems to perform the FDIR activity lack portability and extensibility, and do not provide any explanation of the system's activity. In this research, we explore the use of an agent-oriented paradigm and Java technology for better performance of FDIR activity. Also, we have explored the use of explanation in agent-oriented systems, and designed a system-activity tracking mecha-nism that helps the user to understand the agents' behavior. We have explored different ways to generalize this mechanism for arbitrary agent systems to use. Furthermore, we studied mechanisms to automatically add the tracking mechanism to an existing agent system. By using AspectJ, an aspect-oriented tool, a plug-and-playable tracking system has been built that can add the capability to track the activity of the system to any JACK agent system easily. Our experience can help further research on using aspect-oriented tools with agent-oriented paradigms together to obtain better performance.
23

Agent oriented fault detection, isolation and recovery and aspect-oriented plug-and-play tracking mechanism

Chen, Feilong 30 September 2004 (has links)
Fault detection, isolation, and recovery are some of the most critical activities in which astronauts and flight controllers participate. Recent systems to perform the FDIR activity lack portability and extensibility, and do not provide any explanation of the system's activity. In this research, we explore the use of an agent-oriented paradigm and Java technology for better performance of FDIR activity. Also, we have explored the use of explanation in agent-oriented systems, and designed a system-activity tracking mecha-nism that helps the user to understand the agents' behavior. We have explored different ways to generalize this mechanism for arbitrary agent systems to use. Furthermore, we studied mechanisms to automatically add the tracking mechanism to an existing agent system. By using AspectJ, an aspect-oriented tool, a plug-and-playable tracking system has been built that can add the capability to track the activity of the system to any JACK agent system easily. Our experience can help further research on using aspect-oriented tools with agent-oriented paradigms together to obtain better performance.
24

Structuring extensions in system infrastructure software using aspects

Baldwin, Jennifer Ellen 28 September 2006 (has links)
Many significant system extensions are hard to modularize. Consequently, their addition to a software system can jeopardize fundamental software engineering principles such as maintainability, understandability and evolvability. For example, the distributed Java Virtual Machine (dJVM) is a cluster aware implementation of a JVM in which distribution was retroactively added as an extension to an existing system. The prototype implementation of the dJVM relies on a patch file applied to IBM’s Jikes Research Virtual Machine (RVM), introducing distribution code into roughly 55% of the original 1166 Java files. In order to better determine the efficacy of modern modularization techniques such as aspect-oriented programming (AOP) in the context of system extensions, we offer up a case study based on distribution. The thesis of this work is that aspects can enhance extensibility of low-level system infrastructure software and be effectively integrated with existing software practices for introducing widespread change.
25

Genaweave a generic aspect weaver framework based on model-driven program transformation /

Roychoudhury, Suman. January 2008 (has links) (PDF)
Thesis (Ph. D.)--University of Alabama at Birmingham, 2008. / Additional advisors: Purushotham Bangalore, Barrett Bryant, Marjan Mernik, Anthony Skjellum, Randy Smith. Description based on contents viewed Oct. 8, 2008; title from PDF t.p. Includes bibliographical references (p. 161-173).
26

Model-driven aspect adaptation to support modular software evolution

Zhang, Jing. January 2009 (has links) (PDF)
Thesis (Ph. D.)--University of Alabama at Birmingham, 2009. / Additional advisors: Barrett Bryant, Aniruddha Gokhale, Marjan Mernik, Chengcui Zhang. Description based on contents viewed June 3, 2009; title from PDF t.p. Includes bibliographical references (p. 161-177).
27

A fault model for pointcuts and advice in AspectJ programs

Baekken, Jon Swane, January 2006 (has links) (PDF)
Thesis (M.S. in computer science)--Washington State University, August 2006. / Includes bibliographical references (p. 111-115).
28

Modularity analysis of use case implementations

Rodrigues dos Santos d'Amorim, Fernanda 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:57:56Z (GMT). No. of bitstreams: 2 arquivo3237_1.pdf: 1530844 bytes, checksum: dcdb6221a7c974cbfc9e96c7629001ef (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2010 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / Atualmente, arquitetura baseada em componentes é a abordagem mais utilizada no desenvolvimento de softwares complexos; esta tem como principal objetivo a atribuição dos requisitos da aplicação aos componentes. Uma das técnicas mais difundidas para especificação de requisitos é a utilização de Casos de Uso. Em geral, arquiteturas de software baseadas em componentes resultam em implementações onde o código relativo a um caso de uso está espalhado e entrelaçado em diversos componentes do sistema, caracterizando um crosscutting concern. Isto ocorre porque técnicas tradicionais, como Orientação a Objetos (OO), não oferecem mecanismos que sejam capazes de modularizar este tipo de concern. Recentemente, novas técnicas de modularização como aspectos, mixins e classes virtuais, foram propostas para tentar resolver este problema. Estas técnicas podem ser usadas para agrupar o código relacionado a um único caso de uso em uma nova unidade de modularização. Este trabalho analisa qualitativa e quantitativamente o impacto causado por este tipo de modularização de casos de uso. Nós exploramos duas técnicas baseadas em Orientação a Aspectos (OA): (i) Casos de Uso como Aspectos - onde utilizamos os construtores de AspectJ para isolar todo código relativo à implementação de um caso de uso em um aspecto; e (ii) Casos de Uso como Colaborações Plugáveis - onde usamos os construtores de CaesarJ para modularizar implementações de casos de uso através de uma composição hierárquica de colaborações. Nós executamos dois estudos de casos onde comparamos as implementações OA de casos de uso com sua implementação OO. No processo de avaliação extraímos métricas tradicionais e contemporâneas incluindo coesão, acoplamento e separação de concerns e analisamos modularidade em termos de atributos de qualidade de software como: plugabilidade, rastreabilidade e suporte para desenvolvimento em paralelo. Nossos resultados indicam que modularidade é um conceito relativo e sua análise depende de outros fatores além do sistema alvo, das métricas e da técnica aplicada
29

Deriving refactorings for aspectJ

Cole Neto, Leonardo January 2005 (has links)
Made available in DSpace on 2014-06-12T16:00:59Z (GMT). No. of bitstreams: 2 arquivo7122_1.pdf: 1649883 bytes, checksum: 5e4109867fef651c2cd98d144b166e55 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2005 / Refactoring tem sido muito útil na reestruturação de programas orientados a objetos. Esta técnica pode proporcionar benefícios similares aos programas orientados a aspectos. Sendo assim, refactoring pode ser uma técnica interessante para introduzir aspectos em uma aplicação existente, orientada a objetos. No intuito de explorar os benefícios proporcionados pelos refactorings, desenvolvedores de aplicações orientadas a aspectos estão identificando transformações comuns para tais aplicações, em sua maioria, para a linguagem AspectJ, uma linguagem orientada a aspectos de propósito geral que estende Java. No entanto, estas transformações não possuem suporte para garantir que preservam o comportamento externo da aplicação. Tal propriedade garante que as transformações são de fato refactorings. Este trabalho foca neste problema e introduz leis de programação para AspectJ que podem ser usadas para derivar transformações que preservam comportamento (refactorings) para um subconjunto desta linguagem. Leis de programação definem equivalência entre dois programas, desde que algumas restrições sejam respeitadas. Nosso conjunto de leis não somente define como introduzir ou remover construções de AspectJ, como também como reestruturar aplicações nesta linguagem. Aplicando e compondo as leis, pode-se mostrar que uma transformação AspectJ é de fato um refactoring. Leis são apropriadas para isso pois são bem mais simples do que a maioria dos refactorings. Comparando com refactorings, as leis envolvem transformações localizadas e somente uma construção da linguagem por vez, além de seram bi-direcionais. As leis formam uma base para a definição de refactorings com uma certa confiança de que estes preservam comportamento. Nós avaliamos as leis de duas formas. A primeira utiliza as leis para derivar refactorings já existentes na literatura. Isto ajuda a definir com mais precisão as precondições associadas a estes refactorings, alem de verificar se eles preservam comportamento. A segunda forma de avaliação utiliza as leis e alguns refactorings derivados destas para reestruturar duas aplicações Java. A implementação de comportamento transversal nestas aplicações é reestruturada utilizando construções de AspectJ para tornar tal comportamento modular. Isto ilustra que as leis podem também ser úteis para transformar aplicações orientadas a objetos em aplicações orientadas a aspectos
30

Um processo para customização de sistemas de software utilizando componentes orientados a aspectos / A process to customize software systems using aspect oriented componentes

Thiago Bianchi 10 June 2013 (has links)
A manutenção de software é reconhecida como uma atividade bastante importante, senão indispensável, da Engenharia de Software. As alterações realizadas no software durante a sua manutenção, se não forem realizadas de forma sistematizada, acabam por descaracterizar e prejudicar a manutenibilidade desse software. Nesse contexto, a customização de sistemas de software, ou seja, a manutenção adaptativa de sistemas de software para domínios e ambientes específicos, vem sendo largamente adotada pela indústria. Em outra perspectiva, a Programação Orientada a Aspectos (POA) foi proposta como uma abordagem para melhorar a separação de interesses em sistemas de software. Em paralelo, tem-se Componentes de Software que enfatizam o projeto e a construção de sistemas de software visando o aumento do reúso e da produtividade. Ainda nessa linha, algumas propostas têm sido feitas com o objetivo de combinar os conceitos de componentes de software com o paradigma de orientação a aspectos, ou seja, a criação de componentes que utilizem aspectos como interface para entrecortar outros sistemas. Vale destacar que na indústria, a manutenção de software, incluindo a customização, não tem sido realizada de maneira sistemática o que contribui para a degradação da qualidade dos sistemas. Portanto, a principal contribuição deste trabalho é propor um processo para customização de sistemas de software utilizando componentes orientados a aspectos visando a diminuição do acoplamento na adaptação de sistemas de software e, consequentemente, melhorando sua manutenibilidade. Além disso, um estudo de caso foi conduzido no qual a abordagem proposta foi utilizada na customização de um sistema de software comercial de grande porte. Os resultados desse estudo de caso foram analisados qualitativamente e contribuíram para avaliar a aplicabilidade da abordagem proposta neste trabalho como um processo sistematizado de customização de sistemas de software utilizando componentes orientados a aspectos / The software maintenance is recognized as a very important activity, if not indispensable, of Software Engineering. The changes made on the software during its maintenance, if not performed in a systematic way, eventually disfigure and damage the maintainability of this software. In this context, the customization of software systems, in other words, the adaptive maintenance of software systems for domains and for specific environments, has been widely adopted by industry. In another perspective, Aspect-Oriented Programming (AOP) has been proposed as an approach to improve separation of concerns in software systems. In parallel, there is Software Components that emphasize design and construction of software systems in order to increase reuse and productivity. Also in this subject, some proposals have been made with the objective to combine the concepts of software components with the aspect oriented paradigm, in other words, the creation of components that use aspects as interface to crosscut other systems. It is important to highlight that in the industry, software maintenance, including customization, has not been performed on a systematic way which contributes to the software quality degradation. Therefore, the main contribution of this work is to propose a process for customization of software systems using aspect oriented components aiming the reduction of coupling on software systems adaptation and thus improving its maintainability. Furthermore, a case study was conducted wherein the proposed approach was used to customize a large scale software system. The results of this case study were analyzed qualitatively and have contributed to evaluate the applicability of the proposed approach in this work as a systematic process to customize software systems using aspect-oriented components

Page generated in 0.0513 seconds