Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
AntiPatterns: refactoring software, architectures, and projects in crisis
AntiPatterns: refactoring software, architectures, and projects in crisis
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Software performance antipatterns
Proceedings of the 2nd international workshop on Software and performance
Ejb Design Patterns: Advanced Patterns, Processes, and Idioms with Poster
Ejb Design Patterns: Advanced Patterns, Processes, and Idioms with Poster
Bitter EJB
Efficiently Distributing Component-Based Applications Across Wide-Area Environments
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
J2EE Antipatterns
Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies
Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies
Performance Tuning of Distributed Applications with CoSMoS
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
Runtime recovery and manipulation of software architecture of component-based systems
Automated Software Engineering
ICDCS '06 Proceedings of the 26th IEEE International Conference on Distributed Computing Systems
A Middleware-based Approach to Model Refactoring at Runtime
APSEC '07 Proceedings of the 14th Asia-Pacific Software Engineering Conference
Detecting anti-patterns in Java EE runtime system model
Proceedings of the Fourth Asia-Pacific Symposium on Internetware
Hi-index | 0.00 |
Poor-performance solutions need to be refactored for optimizing the performance in distributed computing systems. This paper presents a case study of pattern-driven online performance optimization by automatically detecting poor-performance solutions and refactoring them into great-performance ones. Poor-performance solutions are abstracted as negative patterns and the corresponding great-performance ones are abstracted as positive patterns. Both negative and positive patterns are manually defined by experts using a meta-model in order to make the patterns understandable for middleware and reusable. For a running system, poor-performance solutions are detected automatically by discovering the negative patterns from the runtime context. For a detected poor-performance solution, the refactoring operations which change the running system from the poor-performance solution to the great-performance one are automatically generated by comparing the negative and positive pattern. The refactoring operations will be mapped to the actual management operations provided by the middleware which then executes the refactoring without stopping the running system.