ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
The Eclipse 3.0 platform: adopting OSGi technology
IBM Systems Journal
Towards reliable OSGi framework and applications
Proceedings of the 2006 ACM symposium on Applied computing
A Dynamic Service-Oriented Implementation for Java EE Servers
SCC '06 Proceedings of the IEEE International Conference on Services Computing
Do No Harm: Model Checking eHome Applications
ICSEW '07 Proceedings of the 29th International Conference on Software Engineering Workshops
Failure Semantics in a SOA Environment
MCETECH '08 Proceedings of the 2008 International MCETECH Conference on e-Technologies
Service Coroner: A Diagnostic Tool for Locating OSGi Stale References
SEAA '08 Proceedings of the 2008 34th Euromicro Conference Software Engineering and Advanced Applications
Using the service coroner tool for diagnosing stale references in the OSGi platform
Proceedings of the ACM/IFIP/USENIX Middleware '08 Conference Companion
Using fail-stop proxies for enhancing services isolation in the OSGi service platform
Proceedings of the 3rd workshop on Middleware for service oriented computing
Towards Dynamic Component Isolation in a Service Oriented Platform
CBSE '09 Proceedings of the 12th International Symposium on Component-Based Software Engineering
Applying dependability aspects on top of "aspectized" software layers
Proceedings of the tenth international conference on Aspect-oriented software development
A self-healing component sandbox for untrustworthy third party code execution
CBSE'10 Proceedings of the 13th international conference on Component-Based Software Engineering
Adaptive monitoring of end-user OSGi-based home boxes
Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering
Hi-index | 0.00 |
The OSGiTMService Platform is becoming the de facto standard for modularized Java applications. The market of OSGi based COTS components is continuously growing. OSGi specific problems make it harder to validate such components. The absence of separate object spaces to isolate components may lead to inconsistencies when they are stopped. The platform cannot ensure that objects from a stopped component will no longer be referenced by active code (a problem referred by OSGi specification as stale references) leading to memory retention and inconsistencies (e.g., utilization of invalid cached data) that can introduce faults in the system. This paper classifies different patterns of stale references detailing them and presents techniques based on Aspect Oriented Programming for runtime detection of such problems. We also present a fail-stop mechanism on services to avoid propagation of incorrect results. These techniques have proven to be effective in a tool implementation that validated our study.