TUbilio (Technical University of Darmstadt) · 1999 · 129 citations · 9 references
ComputingComputer ScienceProgramming LanguagesSoftware EngineeringSystems ProgrammingComponent-based Software EngineeringSoftware ConstructionSoftware DesignSoftware ModelingAspect-oriented ProgrammingComponent IntegrationComponent-based ArchitecturesComponent-based Software DesignComponent-based Software DevelopmentDeploymentPlug-and-play ModulesSoftware Development Methodology
Aspect-oriented programming (AOP) controls tangling of concerns by isolating aspects that cross-cut each other into building blocks. Component-based programming (CBP) supports software development by isolating reusable building blocks that can be assembled and connected in many different ways. We show how AOP and CBP can be integrated by introducing a new component construct for programming class collaborations, called aspectual component. Aspectual components extend adaptive plug-and-play components (AP&P) with a modification interface that turns them into an effective tool for AOP. A key ingredient of aspectual components is that they are written in terms of a generic data model, called a participant graph, which is later mapped into a data model. We introduce a new property of this map, called instance-refinement, to ensure the proper deployment of components. We show how aspectual components can be implemented in Java, and demonstrate that aspectual components improve the AspectJ language for AOP from Xerox PARC.
9
Adaptive plug-and-play components for evolutionary software development
Mira Mezini, Karl Lieberherr · 1998 · 192 citations
Computing, Computer Science, Design +17
Krzysztof Czarnecki, Ulrich W. Eisenecker · Concurrency Practice and Experience · 1999 · 41 citations
Computing, Computer Science, Design +15