4 research outputs found

    An Overview of CaesarJ

    No full text
    Abstract. CaesarJ is an aspect-oriented language which unifies aspects, classes and packages in a single powerful construct that helps to solve a set of different problems of both aspect-oriented and component-oriented programming. The paper gradually introduces the concepts of the lan-guage and illustrates them by showing how they can be used for non-invasive component refinement and integration, as well as for develop-ment of well modularized flexible aspects. In this way we demonstrate that the combination of aspect-oriented constructs for join-point inter-ception with advanced modularization techniques like virtual classes and propagating mixin composition can open the path towards large-scale as-pect components.

    Revisiting Information Hiding: Reflections on Classical and Nonclassical Modularity

    No full text
    Abstract. What is modularity? Which kind of modularity should developers strive for? Despite decades of research on modularity, these basic questions have no definite answer. We submit that the common understanding of modularity, and in particular its notion of information hiding, is deeply rooted in classical logic. We analyze how classical modularity, based on classical logic, fails to address the needs of developers of large software systems, and encourage researchers to explore alternative visions of modularity, based on nonclassical logics, and henceforth called nonclassical modularity.
    corecore