146 research outputs found

    Aspect-Oriented Programming for Dynamic Web Service Monitoring and Selection

    Full text link
    Abstract. In Service-Oriented Application Development, applications are composed by selecting and integrating third-party web services. To avoid hardwiring concrete services in client applications we introduced in previous work the Web Services Management Layer (WSML) and suggested a redirection mechanism based on Aspect Oriented Programming (AOP). Even though this mechanism enables hot swapping between semantically equivalent services based on their availability, this is not enough to create applications that are driven by business requirements. In this paper we introduce a more advanced selection mechanism that allows dynamic switching between services based on business driven requirements that can change over time. Choosing a service may be done based on cost, presence on approved partners list, as well as binding support, quality of service classifications, historical performance and proximity. We introduce a modular monitoring mechanism that is able to observe these criteria and trigger a more advanced service selection procedure. We show how the AOP language JAsCo with its dynamically pluggable aspects is well suited to achieve this. 1

    Estrategias para la integración y conexión de reglas de negocio con aspectos

    Get PDF
    La Programación Orientada a Aspectos (POA) ha sido propuesta como una alternativa para implementar (encapsular) las conexiones entre reglas de negocio (RN) y los componentes funcionales o lógica de negocio (funcionalidad base) con el objeto de minimizar las dependencias y acoplamiento. Trabajos previos demuestran que en consecuencia se logra mayor reutilización del código base y mejoras en el mantenimiento del software. Sin embargo, otros problemas aparecen directamente asociados con la naturaleza de las conexiones y las limitaciones de los lenguajes POA que dificultan el desarrollo del software. Este proyecto de investigación plantea explorar, proponer y experimentar estrategias que ofrezcan mayor flexibilidad en la implementación de conexiones con aspectos, superando los enfoques existentes. Las bases del trabajo se establecen en las siguientes premisas: a) plantear el abordaje de enfoques POA declarativos para el encapsulamiento de las conexiones entre reglas de negocio y la funcionalidad base; b) definir especificaciones de alto nivel para la representación de las conexiones independientes de lenguajes de programación y notaciones de diseño; c) establecer una taxonomía que clasifique a las conexiones de acuerdo a sus características a partir de las especificaciones para su procesamiento automático. Los resultados del proyecto de investigación se apoyarán en el desarrollo de prototipos y casos de estudio que permitan demostrar la validez de los conocimientos generados.Eje: ingeniería de softwareRed de Universidades con Carreras en Informática (RedUNCI

    Experiences In Migrating An Industrial Application To Aspects

    Get PDF
    Aspect-Oriented Software Development (AOSD) is a paradigm aiming to solve problems of object-oriented programming (OOP). With normal OOP it’s often unlikely to accomplish fine system modularity due to crosscutting concerns being scattered and tangled throughout the system. AOSD resolves this problem by its capability to crosscut the regular code and as a consequence transfer the crosscutting concerns to a single model called aspect. This thesis describes an experiment on industrial application wherein the effectiveness of aspect-oriented techniques is explained in migration the OOP application into aspects. The experiment goals at first to identify the crosscutting concerns in source code of the industrial application and transform these concerns to a functionally equivalent aspect-oriented version. In addition to presenting experiences gained through the experiment, the thesis aims to provide practical guidance of aspect solutions in a real application

    Estrategias para la integración y conexión de reglas de negocio con aspectos

    Get PDF
    La Programación Orientada a Aspectos (POA) ha sido propuesta como una alternativa para implementar (encapsular) las conexiones entre reglas de negocio (RN) y los componentes funcionales o lógica de negocio (funcionalidad base) con el objeto de minimizar las dependencias y acoplamiento. Trabajos previos demuestran que en consecuencia se logra mayor reutilización del código base y mejoras en el mantenimiento del software. Sin embargo, otros problemas aparecen directamente asociados con la naturaleza de las conexiones y las limitaciones de los lenguajes POA que dificultan el desarrollo del software. Este proyecto de investigación plantea explorar, proponer y experimentar estrategias que ofrezcan mayor flexibilidad en la implementación de conexiones con aspectos, superando los enfoques existentes. Las bases del trabajo se establecen en las siguientes premisas: a) plantear el abordaje de enfoques POA declarativos para el encapsulamiento de las conexiones entre reglas de negocio y la funcionalidad base; b) definir especificaciones de alto nivel para la representación de las conexiones independientes de lenguajes de programación y notaciones de diseño; c) establecer una taxonomía que clasifique a las conexiones de acuerdo a sus características a partir de las especificaciones para su procesamiento automático. Los resultados del proyecto de investigación se apoyarán en el desarrollo de prototipos y casos de estudio que permitan demostrar la validez de los conocimientos generados.Eje: ingeniería de softwareRed de Universidades con Carreras en Informática (RedUNCI

    Model-Driven Development of Aspect-Oriented Software Architectures

    Full text link
    The work presented in this thesis of master is an approach that takes advantage of the Model-Driven Development approach for developing aspect-oriented software architectures. A complete MDD support for the PRISMA approach is defined by providing code generation, verification and reusability properties.Pérez Benedí, J. (2007). Model-Driven Development of Aspect-Oriented Software Architectures. http://hdl.handle.net/10251/12451Archivo delegad

    Toward an automatic management of aspectual connections to compose business rules

    Get PDF
    AOP/AOSD is a convenient approach to connect business rules to the domain without altering these components. However in complex applications such B2B and B2C systems, where rules play an important role it is necessary to manage these connections to really assist the developers. The automatic mechanisms are needful too, in order to ease business rules deployment, software maintenance and evolution. Then particular specifications of these operations must be improved. In this work we provide a semi-formal description of the aspectual connections and a set of operations to manage them. The point of view to connections and operations description that we use is taxonomy. Another subject that we outline is the description of particular AOP language. The goal is to provide a more concise notation that can serve as a guideline for the implementation of tools that automatically gather these and related operations.Presentado en el VIII Workshop Ingeniería de Software (WIS)Red de Universidades con Carreras en Informática (RedUNCI

    A middleware for service oriented computing in dynamic environments

    Get PDF
    Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do Grau de Mestre em Engenharia InformáticaThe last years have witnessed a convergence on the SOA paradigm from industrial processes enterprises (like logistics or manufacturing), using standards for data and communication. SOA promotes reusability, interoperability and loose-coupling of applications. The convergence towards SOA shows that we are leading to an infrastructure composed by several heterogeneous devices, the "Internet of Things". In this infrastructure everything can be abstracted as a service, such as household appliances, mobile devices, or industrial machinery. It is expected that this trend will continue, and as these devices interoperate in service composition, new functionalities may be discovered. Existing approaches for service composition, namely in business processes, are too bound to BPEL. Several alternatives and extensions of BPEL have been developed, but they feel more like patches than solutions. In this context SeDeUse [29] model has been proposed as an exercise to define new language constructs promoting a separation from service awareness and use. The model also relies on a middleware layer to support the execution of the application in dynamic environments. The goal of this dissertation is to instantiate the SeDeUse model in a widely used programming language in order to provide a framework for its assessment and for its future development. The work consists on implementing a concrete syntax for the model, a compilation process, and a middleware layer. The syntax contains the new language constructs that are integrated in the hosting language. The compilation process is responsible for service definition and code generation. Finally, the middleware acts as a support for the application (generated code) requests. We have seamlessly integrated SeDeUse in the Java programming language and developed a functional prototype. To assess the prototype capability, three scenarios were developed in which we demonstrated that our implementation provides a new, and simpler, approach for abstracting resources as services

    Generative aspect-oriented component adaptation

    Get PDF
    Due to the availability of components and the diversity of target applications, mismatches between pre-qualified existing components and the particular reuse context in applications are often inevitable and have been a major hurdle of component reusability and successful composition. Although component adaptation has acted as a key solution for eliminating these mismatches, existing practices are either only capable for adaptation at the interface level, or require too much intervention from software engineers. Another weakness of existing approaches is the lack of reuse of component adaptation knowledge. Aspect Oriented Programming (AOP) is a new methodology that provides separation of crosscutting concerns by introducing a new unit of modularization - an Aspect that crosscuts other modules. In this way, all the associated complexity of the crosscutting concerns is isolated into the Aspects, hence the final system becomes easier to design, implement and maintain. The nature of AOP makes it particularly suitable for addressing non-functional mismatches with component-based systems. However, current AOP techniques are not powerful enough for efficient component adaptation due to the weaknesses they have, including the limited reusability of Aspects, platform specific Aspects, and naive weaving processes. Therefore, existing AOP technology needs to be expanded before it can be used for efficient component adaptation. This thesis presents a highly automated approach to component adaptation through product line based Generative Aspect Oriented Component adaptation. In the approach, the adaptation knowledge is captured in Aspects and aims to be reusable in various adaptation circumstances. Automatic generation of adaptation Aspects is developed as a key technology to improve the level of automation of the approach and the reusability of adaptation knowledge. This generation is realised by developing a two dimensional Aspect model, which incorporates the technologies of software product line and generative programming. The adaptability and automation of the approach is achieved in an Aspect oriented component adaptation framework by generating and then applying the adaptation Aspects under a designed weaving process according to specific adaptation requirements. To expand the adaptation power of AOP, advanced Aspect weaving processes have been developed with the support of an enhanced aspect weaver. To promote the reusability of adaptation Aspects, an expandable repository of reusable adaptation Aspects has been developed based on the proposed two-dimensional Aspect model. A prototype tool is built as a leverage of the approach and automates the adaptation process. Case studies have been done to illustrate and evaluate the approach, in terms of its capability of building highly reusable Aspects across various AOP platforms and providing advanced weaving process. In summary, the proposed approach applies Generative Aspect Oriented Adaptation to targeted components to correct the mismatch problem so that the components can be integrated into a target application easily. The automation of the adaptation process, the deep level of the adaptation, and the reusability of adaptation knowledge are the advantages of the approach.EThOS - Electronic Theses Online ServiceGBUnited Kingdo

    Generative aspect-oriented component adaptation

    Get PDF
    Due to the availability of components and the diversity of target applications, mismatches between pre-qualified existing components and the particular reuse context in applications are often inevitable and have been a major hurdle of component reusability and successful composition. Although component adaptation has acted as a key solution for eliminating these mismatches, existing practices are either only capable for adaptation at the interface level, or require too much intervention from software engineers. Another weakness of existing approaches is the lack of reuse of component adaptation knowledge.Aspect Oriented Programming (AOP) is a new methodology that provides separation of crosscutting concerns by introducing a new unit of modularization - an Aspect that crosscuts other modules. In this way, all the associated complexity of the crosscutting concerns is isolated into the Aspects, hence the final system becomes easier to design, implement and maintain. The nature of AOP makes it particularly suitable for addressing non-functional mismatches with component-based systems. However, current AOP techniques are not powerful enough for efficient component adaptation due to the weaknesses they have, including the limited reusability of Aspects, platform specific Aspects, and naive weaving processes. Therefore, existing AOP technology needs to be expanded before it can be used for efficient component adaptation.This thesis presents a highly automated approach to component adaptation through product line based Generative Aspect Oriented Component adaptation. In the approach, the adaptation knowledge is captured in Aspects and aims to be reusable in various adaptation circumstances.Automatic generation of adaptation Aspects is developed as a key technology to improve the level of automation of the approach and the reusability of adaptation knowledge. This generation is realised by developing a two dimensional Aspect model, which incorporates the technologies of software product line and generative programming. The adaptability and automation of the approach is achieved in an Aspect oriented component adaptation framework by generating and then applying the adaptation Aspects under a designed weaving process according to specific adaptation requirements. To expand the adaptation power of AOP, advanced Aspect weaving processes have been developed with the support of an enhanced aspect weaver. To promote the reusability of adaptation Aspects, an expandable repository of reusable adaptation Aspects has been developed based on the proposed two-dimensional Aspect model.A prototype tool is built as a leverage of the approach and automates the adaptation process. Case studies have been done to illustrate and evaluate the approach, in terms of its capability of building highly reusable Aspects across various AOP platforms and providing advanced weaving process.In summary, the proposed approach applies Generative Aspect Oriented Adaptation to targeted components to correct the mismatch problem so that the components can be integrated into a target application easily. The automation of the adaptation process, the deep level of the adaptation, and the reusability of adaptation knowledge are the advantages of the approach
    corecore