21 |
Towards a Taxonomy of Aspect-Oriented Programming.Hankerson, Mario Bernard 13 December 2003 (has links) (PDF)
As programs continue to increase in size, it has become increasingly difficult to separate concerns into well localized modules, which leads to code tangling- crosscutting code spread throughout several modules. Thus, Aspect-Oriented Programming (AOP) offers a solution to creating modules with little or no crosscutting concerns. AOP presents the notion of aspects, and demonstrates how crosscutting concerns can be taken out of modules and placed into a centralized location.
In this paper, a taxonomy of aspect-oriented programming, as well as a basic overview and introduction of AOP, will be presented in order to assist future researchers in getting started on additional research on the topic. To form the taxonomy, over four-hundred research articles were organized into fifteen different primary categories coupled with sub-categories, which shows where some of the past research has been focused. In addition, trends of the research were evaluated and paths for future exploration are suggested.
|
22 |
Frameworks transversais: definições, classificações, arquitetura e utilização em um processo de desenvolvimento de software / Crosscutting framweorks: definitions, classifications, architecture and using in a software development processCamargo, Valter Vieira de 25 September 2006 (has links)
O paradigma orientado a objetos não dispõe de abstrações adequadas à modularização de interesses transversais - interesses cuja implementação encontra-se entrelaçada e espalhada por todos os módulos de um sistema. Com o surgimento da Programação Orientada a Aspectos e a disponibilidade de abstrações adequadas à modularização de interesses transversais, o reúso desses interesses foi facilitado. Nesta tese são apresentados alguns resultados de esforços de pesquisa que visam a tornar o reúso de interesses transversais mais efetivo. Definições e classificações para frameworks desenvolvidos no contexto da POA - frameworks transversais - são apresentadas com o objetivo de facilitar a comunicação entre usuários e pesquisadores. Uma arquitetura de referência para o projeto e implementação de frameworks transversais, que torna sua estrutura mais clara e facilita a integração de vários frameworks quando a intenção é criar um repositório de aspectos reusáveis, é proposta. Três famílias de frameworks transversais: de persistência, de segurança e de regras de negócio foram desenvolvidas. Cada família de frameworks transversais constitui uma linha de produtos de software, em que membros podem ser configurados com características (features) distintas. Um processo de desenvolvimento, denominado ProFT/PU, baseado no Processo Unificado (PU), que considera as famílias de frameworks ao longo de todo o processo é apresentado, juntamente com um exemplo de sua utilização para uma aplicação típica. Um estudo de caso para comparar o tempo requerido para reusar um framework transversal de persistência e um framework orientado a objetos de persistência é também apresentado e discutido. / The object-oriented paradigm does not provide adequate abstractions to modularize crosscutting concerns - concerns whose implementation end up tangling and spreading throughout the modules of a system. With the emerging of Aspect-Oriented Programming (AOP) and the availability of abstractions suitable to modularize crosscutting concerns, the reuse of such concerns is facilitated. In this thesis, some results of research efforts to make the reuse of crosscutting concerns more effective are presented. Definitions and classifications for frameworks developed in the context of AOP - crosscutting frameworks - with the objective of improving understanding and communication among users and researchers are presented. An architecture specifically to design and implement this type of framework, which makes its structure clearer and facilitates the integration of several frameworks, is proposed. Three families of crosscutting frameworks for persistence, security and business rules, were developed. Each crosscutting framework family is a software product line, in which members can be instantiated with distinct characteristics. A development process, named ProFT/PU, based on Unifed Process (UP), which takes into account the families during the process, is presented, along with an example of its use for a typical application. A case study to compare the time required to reuse a persistence crosscutting framework and a persistence object-oriented framework is also presented and discussed.
|
23 |
Modelagem e cômputo de métricas de interesse no contexto de modernização de sistemas legadosHonda, Raphael Rodrigues 13 October 2014 (has links)
Made available in DSpace on 2016-06-02T19:06:19Z (GMT). No. of bitstreams: 1
6441.pdf: 3762020 bytes, checksum: cf0babba26cd55b52382a3a068029d68 (MD5)
Previous issue date: 2014-10-13 / Universidade Federal de Sao Carlos / Maintaining legacy systems is a complex and expensive activity for many companies. An alternative to this problem is the Architecture-Driven Modernization (ADM), proposed by the OMG (Object Management Group). ADM is a set of principles that support the modernization of systems using models. The Knowledge Discovery Metamodel (KDM) is the main ADM metamodel and it is able to represent various characteristics of a system, such as source code, configuration files and GUI. Through a reverse engineering process supported by tools is possible to extract knowledge from legacy source code and store it in KDM metamodel instances. Another metamodel that is important to this project is the Structured Metrics Metamodel (SMM) that allows the specification of metrics and also the representation of the measurements results performed on KDM models. When we decide to modernize a legacy system, an alternative that aims to improve concerns modularization of a system is the Aspect-Oriented Programming. Considering this alternative, the main goal of this project is to present an approach to defining and computing concern metrics in instances of KDM metamodel. This kind of measurement needs a prior concern mining that make notes on system components indicating concerns which it implements. To achieve the project objective, a complete approach to measure concerns using ADM models was developed, this approached is composed by an extension of KDM metamodel for representing Aspect- Oriented Software (AO-KDM), a concern metrics library in SMM format (CCML) developed in order to be parameterized by the Modernization Engineer. Therefore, the metrics defined in this project can be reused in other projects. Furthermore, we have developed a tool (CMEE) capable of handling parameterization annotations (notes about concerns made by the mining tools) that allows that models annotated by different mining tools could be measured by SMM metrics. / Manter sistemas legados é uma atividade complexa e cara para muitas empresas. Uma alternativa para este problema é a Modernização Dirigida à Arquitetura (Architecture- Driven Modernization - ADM), proposta pelo OMG (Object Management Group). A ADM consiste em um conjunto de princípios que apoiam a modernização de sistemas utilizando modelos. O Knowledge Discovery Metamodel (KDM) é o principal metamodelo da ADM e é capaz de representar diversas características de um sistema, como código-fonte, arquivos de configuração e de interface gráfica. Por meio de um processo de engenharia reversa apoiado por ferramentas é possível extrair conhecimento do código-fonte legado e armazená-lo em instâncias do metamodelo KDM. Outro metamodelo da ADM pertinente a este projeto é o Structured Metrics Metamodel (SMM) que torna possível a especificação de métricas e também a representação dos resultados de medições realizadas em modelos KDM. Quando decide-se modernizar um sistema legado, uma alternativa que procura melhorar o nível de modularização dos interesses de um sistema é a orientação a aspetos. Considerando essa alternativa, o objetivo deste projeto é apresentar uma abordagem para definição e aplicação de métricas de interesse em instâncias do metamodelo KDM. Esse tipo de medição precisa de uma mineração de interesses prévia, que realiza anotações nos componentes do sistema indicando qual interesse ele implementa. Para alcançar o objetivo do projeto, foi desenvolvida uma abordagem completa de medição de interesses utilizando modelos da ADM, composta por uma extensão do KDM para a representação de software orientado a aspectos (AO-KDM), uma biblioteca de métricas de interesses no formato SMM (CCML) desenvolvida com o intuito de ser parametrizável pelo Engenheiro de Modernização. Portanto, as métricas definidas neste projeto podem ser reusadas em outros projetos. Além disso, foi desenvolvida uma ferramenta de apoio computacional (CMEE) capaz de lidar com parametrização de anotações (anotações de interesses realizadas por ferramentas de mineração) que permite que modelos anotados com diferentes ferramentas de mineração possam ser medidos por métricas SMM.
|
24 |
Frameworks transversais: definições, classificações, arquitetura e utilização em um processo de desenvolvimento de software / Crosscutting framweorks: definitions, classifications, architecture and using in a software development processValter Vieira de Camargo 25 September 2006 (has links)
O paradigma orientado a objetos não dispõe de abstrações adequadas à modularização de interesses transversais - interesses cuja implementação encontra-se entrelaçada e espalhada por todos os módulos de um sistema. Com o surgimento da Programação Orientada a Aspectos e a disponibilidade de abstrações adequadas à modularização de interesses transversais, o reúso desses interesses foi facilitado. Nesta tese são apresentados alguns resultados de esforços de pesquisa que visam a tornar o reúso de interesses transversais mais efetivo. Definições e classificações para frameworks desenvolvidos no contexto da POA - frameworks transversais - são apresentadas com o objetivo de facilitar a comunicação entre usuários e pesquisadores. Uma arquitetura de referência para o projeto e implementação de frameworks transversais, que torna sua estrutura mais clara e facilita a integração de vários frameworks quando a intenção é criar um repositório de aspectos reusáveis, é proposta. Três famílias de frameworks transversais: de persistência, de segurança e de regras de negócio foram desenvolvidas. Cada família de frameworks transversais constitui uma linha de produtos de software, em que membros podem ser configurados com características (features) distintas. Um processo de desenvolvimento, denominado ProFT/PU, baseado no Processo Unificado (PU), que considera as famílias de frameworks ao longo de todo o processo é apresentado, juntamente com um exemplo de sua utilização para uma aplicação típica. Um estudo de caso para comparar o tempo requerido para reusar um framework transversal de persistência e um framework orientado a objetos de persistência é também apresentado e discutido. / The object-oriented paradigm does not provide adequate abstractions to modularize crosscutting concerns - concerns whose implementation end up tangling and spreading throughout the modules of a system. With the emerging of Aspect-Oriented Programming (AOP) and the availability of abstractions suitable to modularize crosscutting concerns, the reuse of such concerns is facilitated. In this thesis, some results of research efforts to make the reuse of crosscutting concerns more effective are presented. Definitions and classifications for frameworks developed in the context of AOP - crosscutting frameworks - with the objective of improving understanding and communication among users and researchers are presented. An architecture specifically to design and implement this type of framework, which makes its structure clearer and facilitates the integration of several frameworks, is proposed. Three families of crosscutting frameworks for persistence, security and business rules, were developed. Each crosscutting framework family is a software product line, in which members can be instantiated with distinct characteristics. A development process, named ProFT/PU, based on Unifed Process (UP), which takes into account the families during the process, is presented, along with an example of its use for a typical application. A case study to compare the time required to reuse a persistence crosscutting framework and a persistence object-oriented framework is also presented and discussed.
|
Page generated in 0.073 seconds