11 research outputs found

    Unifying static and dynamic approaches to evolution through the Compliant Systems Architecture

    Get PDF
    ©2004 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.Support for evolution can be classified as static or dynamic. Static evolvability is principally concerned with structuring systems as separated abstractions. Dynamic evolvability is concerned with the means by which change is effected. Dynamic evolution provides the requisite flexibility for application evolution, however, the dynamic approach is not scalable in the absence of static measures to achieve separation of abstractions. This separation comes at a price in that issues of concern become trapped within static abstraction boundaries, thereby inhibiting dynamic evolution. The need for a unified approach has long been recognised but existing systems that attempt to address this need do so in an ad-hoc manner. The principal reason for this is that these approaches fail to resolve the incongruence in the underlying models. Our contention is that this disparity is incidental rather than fundamental to the problem. To this end we propose an alternative model based on the Compliant Systems Architecture (CSA), a structuring methodology for constructing software systems. The overriding benefit of this work is increased flexibility. Specifically our contribution is an instantiation of the CSA that supports unified static and dynamic evolution techniques. Our model is explored through a worked example in which we evolve an application’s concurrency model.Falkner, K.; Detmold, H.; Howard, D.; Munro, D.S.; Morrison, R.; Norcross, S

    A Component-Based and Aspect-Oriented Model for Software Evolution

    Get PDF
    International audienceComponent-Based Software Development (CBSD) and Aspect-Oriented Software Development (AOSD) are solutions to support software evolution by decomposing a software system into concerns. In this article, we propose Fractal Aspect Component (FAC), a general and symmetrical model for components and aspects. FAC decomposes a software system into regular components and aspect components which embody crosscutting concerns. We reify the relationship between an aspect component and a component, called an aspect binding, as a first-class runtime entity. The evolution of the system can be expressed by adding or removing components (aspect or regular) and by setting bindings (regular or crosscutting)

    Towards a Taxonomy of Aspect-Oriented Programming.

    Get 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

    JAC: an aspect-based distributed dynamic framework

    Full text link

    SCA Platform Specifications - Version 2.0

    Get PDF
    The SCOrWare project aims at building an open source implementation of the Service Component Architecture (SCA) specifications. This implementation is composed of 1) a runtime platform for deploying, executing, and managing SCAbased applications, 2) a set of development tools for modeling, designing, and implementing SCA-based applications, and 3) a set of demonstrators. This document contains the specifications of the SCOrWare runtime platform. Section 1.1 lists the parts of SCA specifications supported by the SCOrWare platform. Section 1.2 gives an overview of the SCOrWare platform, and a summary of next chapters of this document. Section 1.3 lists the main update from the version 1 to the version 2 of this documen

    Interoperability of Enterprise Software and Applications

    Get PDF

    Advances in component-oriented programming

    Get PDF
    WCOP 2006 is the eleventh event in a series of highly successful workshops, which took place in conjunction with every ECOOP since 1996. Component oriented programming (COP) has been described as the natural extension of object-oriented programming to the realm of independently extensible systems. Several important approaches have emerged over the recent years, including component technology standards, such as CORBA/CCM, COM/COM+, J2EE/EJB, and .NET, but also the increasing appreciation of software architecture for component-based systems, and the consequent effects on organizational processes and structures as well as the software development business as a whole. COP aims at producing software components for a component market and for late composition. Composers are third parties, possibly the end users, who are not able or willing to change components. This requires standards to allow independently created components to interoperate, and specifications that put the composer into the position to decide what can be composed under which conditions. On these grounds, WCOP\u2796 led to the following definition: "A component is a unit of composition with contractually specified interfaces and explicit context dependencies only. Components can be deployed independently and are subject to composition by third parties." After WCOP\u2796 focused on the fundamental terminology of COP, the subsequent workshops expanded into the many related facets of component software. WCOP 2006 emphasizes reasons for using components beyond reuse. While considering software components as a technical means to increase software reuse, other reasons for investing into component technology tend to be overseen. For example, components play an important role in frameworks and product-lines to enable configurability (even if no component is reused). Another role of components beyond reuse is to increase the predictability of the properties of a system. The use of components as contractually specified building blocks restricts the degrees of freedom during software development compared to classic line-by-line programming. This restriction is beneficial for the predictability of system properties. For an engineering approach to software design, it is important to understand the implications of design decisions on a system\u27s properties. Therefore, approaches to evaluate and predict properties of systems by analyzing its components and its architecture are of high interest. To strengthen the relation between architectural descriptions of systems and components, a comprehensible mapping to component-oriented middleware platforms is important. Model-driven development with its use of generators can provide a suitable link between architectural views and technical component execution platforms. WCOP 2006 accepted 13 papers, which are organised according to the program below. The organisers are looking forward to an inspiring and thought provoking workshop. The organisers thank Jens Happe and Michael Kuperberg for preparing the proceedings volume
    corecore