2002 · 77 citations · 3 references
Software MaintenanceEngineeringCross-cutting ConcernComputer ArchitectureSoftware EngineeringSystem-level DesignSoftware AnalysisApplication CodeComponent SystemNon-functional RequirementSystems EngineeringAspect-oriented ProgrammingSoftware ComponentComponent-based Software EngineeringDesignNon Functional AspectsComputer EngineeringComputer ScienceSoftware DesignComponent TechnologyWrappers TechnologyProgram AnalysisMethod Call InterceptionSystem Software
One of the major progress due to component based technology is the capability to let the "infrastructure" manage some (non functional or extra functional) aspects such as persistency, distribution and so on without having to change the application code, using a wrappers technology (containers). Aspect Oriented Programming (AOP) is a technology that provides a language in which different aspects can be applied to an application using a technology that "weaves" the code implementing the aspect inside the application code.Both technologies are addressing the same "separation of concerns" issue, but containers propose only a fixed set of services, while AOP require the capability to change the component code, and is working at the object level.In our work, we merge both approaches, allowing aspect designers to define new aspects or services and aspect users to apply these aspects or services on components without the component code availability. This goal is reached by providing two languages, one for aspect designers the other one for aspect users, and by using a palette of technologies including object (stub) generation, method call interception and run-time instrumentation.
3
Mohamed G. Gouda, Ted Herman · IEEE Transactions on Software Engineering · 1991 · 80 citations
Reverse engineering a large component-based software product
Jean-Marie Favré, Frédéric Duclos, Jacky Estublier et al. · 2003 · 23 citations