Skip to main content

AOCI: Weaving Components in a Distributed Environment

  • Conference paper
On the Move to Meaningful Internet Systems: OTM 2008 (OTM 2008)

Abstract

Mobile and embedded devices like PDAs, mobile phones, and all kinds of consumer hardware populate the world we live in. Despite the vision of ubiquitous computing and its idea of spontaneous interaction among these devices more than fifteen years ago, most of them are still isolated and restricted in their interaction capabilities. One reason for this limitation is the poor support for dynamic adaptation and evolution of software in distributed environments.

This paper proposes AOCI, an Aspect-Oriented Component Infrastructure that takes the core ideas of AOP, the separation of concerns and system modularization to make them more adaptable and evolvable, to the domain of component systems. Components are usually considered as black boxes that can be combined to a complex system using their outer interfaces. In the context of our infrastructure, components export possible adaptation points, which are enriched by ontological information. This enables the application of AOP techniques without detailed knowledge about the component’s internals, enabling dynamic and distributed adaptation.

Our prototype is based on OSGi and provides a complete infrastructure to weave local as well as remote components. We demonstrate the feasibility of our approach by adapting the RUBiS infrastructure (a web-based bidding system) to support dynamic user-centric error detection.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Weiser, M.: The Computer for the 21st Century. Scientific American 265(3), 66–75 (1991)

    Article  Google Scholar 

  2. Ferscha, A.: Contextware: Bridging Physical and Virtual Worlds. In: Blieberger, J., Strohmeier, A. (eds.) Ada-Europe 2002. LNCS, vol. 2361, pp. 51–64. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  3. Ferscha, A., Hechinger, M., Mayrhofer, R., dos Santos Rocha, M., Franz, M., Oberhauser, R.: Digital Aura. In: Advances in Pervasive Computing. In: A Collection of Contributions Presented at the 2nd Int. Conf. on Pervasive Computing (Pervasive 2004), Vienna, Austria, vol. 176, pp. 405–410 (April 2004)

    Google Scholar 

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

    Chapter  Google Scholar 

  5. Xu, J., Rajan, H., Sullivan, K.J.: Understanding Aspects via Implicit Invocation. In: Proc. of the 19th IEEE Int. Conf. on Automated Software Engineering, pp. 332–335 (2004)

    Google Scholar 

  6. Filman, R.E., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. Addison-Wesley/Longman Publishing Co. (2004)

    Google Scholar 

  7. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley/Longman Publishing Co. (2002)

    Google Scholar 

  8. Söldner, G., Kapitza, R.: AOCI: An Aspect-Oriented Component Infrastructure. In: Reussner, R., Szyperski, C., Weck, W. (eds.) Proc. of the 12th Int. Workshop on Component Oriented Programming (WCOP 2007), pp. 53–58 (2007)

    Google Scholar 

  9. OSGi Alliance: OSGi Service Platform: Core Specification, Release 4, Version 4.1. Technical report (2007)

    Google Scholar 

  10. Klyne, G., Carroll, J.J.: Resource Description Framework (RDF): Concepts and abstract syntax. Technical report, W3C (2004)

    Google Scholar 

  11. Büchi, M., Weck, W.: A plea for Grey-Box components. Technical Report 122, Turku Centre for Computer Science (1997)

    Google Scholar 

  12. Webster, M.: AOSGi (May 2008), http://www.eclipse.org/equinox/incubator/aspects/

  13. 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–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  14. OMG: CORBA Component Model Specification Version 4.0. Technical Report formal/06-04-01, Object Management Group (2006)

    Google Scholar 

  15. McGuinness, D.L., van Harmelen, F.: OWL Web Ontology Language. Technical report, World Wide Web Consortium (W3C) (2004)

    Google Scholar 

  16. Staab, S., Studer, R. (eds.): Handbook on Ontologies. Int. Handbooks on Information Systems. Springer, Heidelberg (2004)

    MATH  Google Scholar 

  17. Prud’hommeaux, E., Seaborne, A.: SPARQL query language for RDF (W3C recommendation). Technical report, W3C (2008)

    Google Scholar 

  18. Jena 2: A Semantic Web Framework (2006), http://www.hpl.hp.com/semweb/jena2.htm

  19. Foundation, E.: Equinox OSGi framework (2008), http://www.eclipse.org/equinox

  20. Rellermeyer, J.S., Alonso, G., Roscoe, T.: R-OSGi: Distributed applications through software modularization. In: Cerqueira, R., Campbell, R.H. (eds.) Middleware 2007. LNCS, vol. 4834, pp. 1–20. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  21. Guttman, E., Perkins, C., Veizades, J.: RFC 2608: Service Location Protocol v2. IETF (June 1999)

    Google Scholar 

  22. Wahbe, R., Lucco, S., Anderson, T.E., Graham, S.L.: Efficient software-based fault isolation. SIGOPS Oper. Syst. Rev. 27(5), 203–216 (1993)

    Article  Google Scholar 

  23. Necula, G.C.: Proof-Carrying Code. In: POPL 1997, Paris, pp. 106–119 (1997)

    Google Scholar 

  24. Czajkowski, G.: Application isolation in the Java Virtual Machine. In: Proc. of the 15th ACM SIGPLAN Conf. on Object-oriented Programming, Systems, Languages, and Appl., pp. 354–366 (2000)

    Google Scholar 

  25. ObjectWeb: RUBiS: Rice University Bidding System, http://rubis.objectweb.org

  26. Kellens, A., Mens, K., Brichau, J., Gybels, K.: Managing the Evolution of Aspect-Oriented Software with Model-Based Pointcuts. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 501–525. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  27. Cyment, A., Kicillof, N., Altman, R., Asteasuain, F.: Improving AOP Systems’ Evolvability by Decoupling Advices from Base Code. In: RAM-SE, pp. 9–21 (2006)

    Google Scholar 

  28. Navarro, L.D.B., Südholt, M., Vanderperren, W., Fraine, B.D., Suvée, D.: Explicitly distributed AOP using AWED. In: AOSD, pp. 51–62 (2006)

    Google Scholar 

  29. Tanter, É., Toledo, R.: A Versatile Kernel for Distributed AOP. In: Eliassen, F., Montresor, A. (eds.) DAIS 2006. LNCS, vol. 4025, pp. 316–331. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  30. Pessemier, N., Seinturier, L., Coupaye, T., Duchien, L.: A Safe Aspect-Oriented Programming Support for Component-Oriented Programming. In: Proc. of the 11th Int. ECOOP Workshop on Component-Oriented Programming (WCOP 2006) (2006)

    Google Scholar 

  31. Rho, T., Schmatz, M., Cremers, A.B.: Towards Context-Sensitive Service Aspects. In: Work. on Object Technology for Ambient Intelligence and Pervasive Computing (2006)

    Google Scholar 

  32. Duclos, F., Estublier, J., Morat, P.: Describing and using non functional aspects in component based applications. In: AOSD 2002: Proc. of the 1st Int. Conf. on Aspect-oriented Software Development, pp. 65–75. ACM Press, New York (2002)

    Google Scholar 

  33. Garlan, D., Cheng, S., Huang, A., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure. Computer 37(10), 46–54 (2004)

    Article  Google Scholar 

  34. Suvée, D., Vanderperren, W., Jonckers, V.: JAsCo: an aspect-oriented approach tailored for component based software development. In: AOSD, pp. 21–29 (2003)

    Google Scholar 

  35. Behlouli, N.B., Taconet, C., Bernard, G.: An architecture for supporting Development and Execution of Context-Aware Component applications. In: ACS/IEEE Int. Conf. on Pervasive Services, pp. 57–66 (2006)

    Google Scholar 

  36. Mügge, H., Rho, T., Cremers, A.: Integrating Aspect-orientation and structural annotations to support adaptive middleware. In: Proc. of the 1st workshop on Middleware-application interaction: in conjunction with Euro-Sys 2007, Lisbon, Portugal (2007)

    Google Scholar 

  37. Rellermeyer, J.S., Alonso, G.: Concierge: a service platform for resource-constrained devices. SIGOPS Oper. Syst. Rev. 41(3), 245–258 (2007)

    Article  Google Scholar 

  38. Nikolov, V., Kapitza, R.: Recoverable class loaders for a fast restart of Java applications. In: MOBILWARE 2008: Proc. of the 1st int. conf. on MOBILe Wireless MiddleWARE, Operating Systems, and Appl., pp. 1–8 (2007)

    Google Scholar 

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

Söldner, G., Schober, S., Schröder-Preikschat, W., Kapitza, R. (2008). AOCI: Weaving Components in a Distributed Environment. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems: OTM 2008. OTM 2008. Lecture Notes in Computer Science, vol 5331. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88871-0_39

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-88871-0_39

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-88870-3

  • Online ISBN: 978-3-540-88871-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics