Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Preventive program maintenance in Demeter/Java
ICSE '97 Proceedings of the 19th international conference on Software engineering
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
Adaptive plug-and-play components for evolutionary software development
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Building program optimizers with rewriting strategies
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Aspect-oriented programming: Introduction
Communications of the ACM
Aspect-oriented programming with adaptive methods
Communications of the ACM
Visitor combination and traversal control
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Computer
Assuring Good Style for Object-Oriented Programs
IEEE Software
JAsCo: an aspect-oriented approach tailored for component based software development
Proceedings of the 2nd international conference on Aspect-oriented software development
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
Strategic programming meets adaptive programming
Proceedings of the 2nd international conference on Aspect-oriented software development
Typed Combinators for Generic Traversal
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Feature Interaction in Composed Systems
ECOOP '01 Proceedings of the Workshops on Object-Oriented Technology
DJ: Dynamic Adaptive Programming in Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
XAspects: an extensible system for domain-specific aspect languages
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Controlling the Complexity of Software Designs
Proceedings of the 26th International Conference on Software Engineering
Pluggable AOP: designing aspect mechanisms for third-party composition
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Adapting virtual machine techniques for seamless aspect support
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Using common off-the-shelf tools to implement dynamic aspects
ACM SIGPLAN Notices
Automated responsive web service evolution through generative aspect-oriented component adaptation
International Journal of Computer Applications in Technology
Design and development of a context oriented language for middleware based applications
Proceedings of the 2008 workshop on Next generation aspect oriented middleware
A delegation-based approach for the unanticipated dynamic evolution of distributed objects
Journal of Systems and Software
Advanced runtime adaptation for Java
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
HotWave: creating adaptive tools with dynamic aspect-oriented programming in Java
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
Late binding of AspectJ advice
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
Mapping connection templates to spring aspects to integrate business rules
Proceedings of the 2011 international workshop on Early aspects
Non-functional concerns in web services: requirements and state of the art analysis
Proceedings of the 12th International Conference on Information Integration and Web-based Applications & Services
Modeling the car crash crisis management system using HiLA
Transactions on aspect-oriented software development VII
Modeling the car crash crisis management system using HiLA
Transactions on aspect-oriented software development VII
Safe and atomic run-time code evolution for Java and its application to dynamic AOP
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Achieving smooth component integration with generative aspects and component adaptation
ICSR'06 Proceedings of the 9th international conference on Reuse of Off-the-Shelf Components
HiLA: high-level aspects for UML state machines
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Enhancing UML state machines with aspects
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
A machine model for aspect-oriented programming
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Dynamic aspect-oriented programming in java: the hotwave experience
Transactions on Aspect-Oriented Software Development IX
An Analysis of Language-Level Support for Self-Adaptive Software
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Hi-index | 0.00 |
In this paper we propose an extension to JAsCo for supporting Adaptive Programming in a Component-Based Software Development context. JAsCo is an aspect-oriented programming language targeted at Component-Based Software Development and allows encapsulating crosscutting concerns using highly reusable aspect beans. Adaptive Programming on the other hand, allows capturing crosscutting concerns by structure-shy adaptive visitors. We propose to implement an adaptive visitor as a regular JAsCo aspect bean. Hence, the reusability of an adaptive visitor is improved because the same visitor can be reused within different component contexts. We introduce JAsCo traversal connectors to deploy adaptive visitors, implemented as JAsCo aspect beans, upon a concrete component traversal. In addition, these traversal connectors allow to explicitly specify how the behavior of several adaptive visitors, instantiated onto the same component traversal, needs to be combined by making use of the JAsCo precedence and combination strategies. A prototype implementation of the JAsCo Adaptive Programming extension, which employs the DJ library, is available. As a proof of concept, we present an extended case study in the context of the Web Service Management Layer (WSML) project. In this case study, a set of visitors implemented in JAsCo is reused to accomplish multiple tasks.