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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Weiser, M.: The Computer for the 21st Century. Scientific American 265(3), 66–75 (1991)
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)
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)
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)
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)
Filman, R.E., Elrad, T., Clarke, S., Aksit, M.: Aspect-Oriented Software Development. Addison-Wesley/Longman Publishing Co. (2004)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley/Longman Publishing Co. (2002)
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)
OSGi Alliance: OSGi Service Platform: Core Specification, Release 4, Version 4.1. Technical report (2007)
Klyne, G., Carroll, J.J.: Resource Description Framework (RDF): Concepts and abstract syntax. Technical report, W3C (2004)
Büchi, M., Weck, W.: A plea for Grey-Box components. Technical Report 122, Turku Centre for Computer Science (1997)
Webster, M.: AOSGi (May 2008), http://www.eclipse.org/equinox/incubator/aspects/
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)
OMG: CORBA Component Model Specification Version 4.0. Technical Report formal/06-04-01, Object Management Group (2006)
McGuinness, D.L., van Harmelen, F.: OWL Web Ontology Language. Technical report, World Wide Web Consortium (W3C) (2004)
Staab, S., Studer, R. (eds.): Handbook on Ontologies. Int. Handbooks on Information Systems. Springer, Heidelberg (2004)
Prud’hommeaux, E., Seaborne, A.: SPARQL query language for RDF (W3C recommendation). Technical report, W3C (2008)
Jena 2: A Semantic Web Framework (2006), http://www.hpl.hp.com/semweb/jena2.htm
Foundation, E.: Equinox OSGi framework (2008), http://www.eclipse.org/equinox
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)
Guttman, E., Perkins, C., Veizades, J.: RFC 2608: Service Location Protocol v2. IETF (June 1999)
Wahbe, R., Lucco, S., Anderson, T.E., Graham, S.L.: Efficient software-based fault isolation. SIGOPS Oper. Syst. Rev. 27(5), 203–216 (1993)
Necula, G.C.: Proof-Carrying Code. In: POPL 1997, Paris, pp. 106–119 (1997)
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)
ObjectWeb: RUBiS: Rice University Bidding System, http://rubis.objectweb.org
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)
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)
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)
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)
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)
Rho, T., Schmatz, M., Cremers, A.B.: Towards Context-Sensitive Service Aspects. In: Work. on Object Technology for Ambient Intelligence and Pervasive Computing (2006)
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)
Garlan, D., Cheng, S., Huang, A., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure. Computer 37(10), 46–54 (2004)
Suvée, D., Vanderperren, W., Jonckers, V.: JAsCo: an aspect-oriented approach tailored for component based software development. In: AOSD, pp. 21–29 (2003)
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)
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)
Rellermeyer, J.S., Alonso, G.: Concierge: a service platform for resource-constrained devices. SIGOPS Oper. Syst. Rev. 41(3), 245–258 (2007)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)