Skip to main content

A Practical Approach for Finding Stale References in a Dynamic Service Platform

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5282))

Abstract

The OSGi TM Service 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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. OSGi Alliance, http://www.osgi.org

  2. OSGi Alliance. About the OSGi Service Platform, Technical Whitepaper Revision 4.1, http://www.osgi.org/wiki/uploads/Links/OSGiTechnicalWhitePaper.pdf

  3. Delapp, S.: Industry Use of OSGi Continues to Increase (retrieved April 9, 2008), http://www.infoq.com/news/OSGi-Use-Increases

  4. Chappel, D.: Universal Middleware: What’s Happening With OSGi and Why You Should Care (retrieved April 9, 2008), http://soa.sys-con.com/read/492519_3.htm

  5. Desertot, M., Donsez, D., Lalanda, P.: A Dynamic Service-Oriented Implementation for Java EE Servers. In: 3th IEEE International Conference on Service Computing, Chicago, USA, pp. 159–166 (2006)

    Google Scholar 

  6. Gruber, O., Hargrave, B.J., McAffer, J., Rapicault, P., Watson, T.: The Eclipse 3.0 platform: Adopting OSGi technology. IBM Systems Journal 44(2), 289–300 (2005)

    Article  Google Scholar 

  7. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241. Springer, Heidelberg (1997)

    Google Scholar 

  8. Gama, K., Donsez, D.: Service Coroner: A Diagnostic Tool for Locating OSGi Stale References. In: Proceedings of the 34th Euromicro Conference on Software Engineering and Advanced Applications, Parma, Italy (2008)

    Google Scholar 

  9. Cervantes, H., Hall, R.S.: Automating Service Dependency Management in a Service-Oriented Component Model. In: Proceedings of the 6th International Workshop on Component-Based Software Engineering, Portland, USA (2003)

    Google Scholar 

  10. Escoffier, C., Hall, R.S., Lalanda, P.: iPOJO: An extensible service-oriented component framework. In: IEEE International Conference on Service Computing, Salt Lake City, USA, pp. 474–481 (2007)

    Google Scholar 

  11. Spring Dynamic Modules for OSGiTM Service Platforms, http://www.springframework.org/osgi

  12. Hobbs, C., Becha, H., Amyot, D.: Failure Semantics in a SOA Environment. In: 3rd Int. MCeTech Conference on eTechnologies, pp. 116–121. IEEE Computer Society, Montréal (2008)

    Google Scholar 

  13. Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn., pp. 330–331. Addison-Wesley, Reading (2005)

    MATH  Google Scholar 

  14. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–355. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  15. Equinox Framework, http://www.eclipse.org/equinox/framework

  16. Apache Felix, http://felix.apache.org

  17. Knopflerfish OSGi, http://www.knopflerfish.org

  18. JOnAS Open Source Java EE Application Server, http://jonas.objectweb.org

  19. SIP Communicator, http://www.sip-communicator.org

  20. Newton Framework, http://newton.codecauldron.org/

  21. Apache Sling, http://incubator.apache.org/sling/

  22. Service Component Architecture Specifications – Open SOA Collaboration, http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications

  23. JSR 277: Java Module System, http://jcp.org/en/jsr/detail?id=277

  24. Chen, Z., Fickas, S.: Do No Harm: Model Checking eHome Applications. In: Proceedings of the 29th Intl. Conference on Software Engineering Workshops, Minneapolis, USA (2007)

    Google Scholar 

  25. Ahn, H., Oh, H., Sung, C.O.: Towards Reliable OSGi Framework and Applications. In: Proceedings of the 2006 ACM symposium on Applied computing, Dijon, France, pp. 1456–1461 (2006)

    Google Scholar 

  26. Escoffier, C., Donsez, D., Hall, R.S.: Developing an OSGi-like service platform for. NET. In: Consumer Communications and Networking Conference, Las Vegas, USA, pp. 213–217 (2006)

    Google Scholar 

  27. JSR 121: Application Isolation API Specification, http://jcp.org/en/jsr/detail?id=121

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gama, K., Donsez, D. (2008). A Practical Approach for Finding Stale References in a Dynamic Service Platform. In: Chaudron, M.R.V., Szyperski, C., Reussner, R. (eds) Component-Based Software Engineering. CBSE 2008. Lecture Notes in Computer Science, vol 5282. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87891-9_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-87891-9_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-87890-2

  • Online ISBN: 978-3-540-87891-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics