Abstract
After a survey of the specific features of ubiquitous computing applications and corresponding middleware requirements, we list the various paradigms used in the main middlewares for ubiquitous computing in the literature. We underline the lack of works introducing the use of the concept of Aspects in middleware dedicated to ubiquitous computing, in spite of them being used for middleware improvement in other domains. Then, we introduce our WComp middleware model, which federates three main paradigms: event-based Web services, a lightweight component-based approach to design dynamic composite services, and an adaptation approach using the original concept called Aspect of Assembly. These paradigms lead to two ways to dynamically design ubiquitous computing applications. The first implements a classical component-based compositional approach to design higher-level composite Web Services and then allow to increment the graph of cooperating services for the applications. This approach is well suited to design the applications in a known, common, and usual context. The second way uses a compositional approach for adaptation using Aspect of Assembly, particularly well-suited to tune a set of composite services in reaction to a particular variation of the context or changing preferences of the users. Having detailed Aspect of Assembly concept, we finally comment on results indicating the expressiveness and the performance of such an approach, showing empirically that principles of aspects and program integration can be used to facilitate the design of adaptive applications.










Similar content being viewed by others
Notes
From Latin Ubique, everywhere, with the suffix rium, meaning location and structure. Hence, Ubiquarium means: “a location or a structure in which the computer is everywhere and in everything”.
References
Computer Science and Artificial Intelligence Laboratory (2004) Mit oxygen project. http://oxygen.lcs.mit.edu/
WCOP’96 (1996) Summary of the WCOP’96 workshop in ECOOP’96, Linz, July
Open SOA (2006) Service Component Architecture spec. http://www.osoa.org/
Ahmed M, Ghanea-Hercock R, Hailes S (2006) MACE: adaptive component management middleware for ubiquitous systems. In: Proc. of the 4th int. workshop on Middleware for perv. and ad-hoc comp. ACM, New York, p 3
Aho AV, Kernighan BW, Weinberger PJ (1988) The AWK programming lang. Addison-Wesley, Reading
Anastasopoulos M, Klus H, Koch J, Niebuhr D, Werkman E (2006) DoAmI—a middleware platform facilitating re-configuration in ubiquitous systems. In: System support for ubiquitous computing workshop. at the 8th annual conf. on ubiquitous computing (Ubicomp 2006), Irvine, September
Arnold K (ed) (2000) The JINI specifications, 2nd edn. Addison-Wesley Professional, Reading
Bastide G, Seriai A, Oussalah M (2006) Adapting software components by structure fragmentation. In: Proc. of ACM symposium on applied computing
Bencomo N, Blair G, Grace P (2006) Models, reflective mechanisms and family-based systems to support dynamic configuration. In: Proc. of the 1st workshop on MOdel driven development for Middleware. ACM, New York, pp 1–6
Blair G, Coulson G, Ueyama J, Lee K, Joolia A (2004) OpenCOM v2: a component model for building systems software. In: IASTED software engineering and applications
Blay-Fornarino M, Charfi A, Emsellem D, Pinna-Dery A-M, Riveill M (2004) Software interactions. J Object Technol 3(10):161–180
Bussière N, Cheung-Foo-Wo D, Hourdin V, Lavirotte S, Riveill M, Tigli J-Y (2007) Optimized contextual discovery of web services for devices. In: IEEE int. workshop on context modeling and management for smart environments, October
Cheung D (2008) Dynamic adaptation weaving aspects. Ph.D. thesis
Cheung-Foo-Wo D, Tigli J-Y, Lavirotte S, Riveill M (2006) Wcomp: a multi-design approach for prototyping applications using heterogeneous resources. In: 17th IEEE int. workshop on rapid syst. prototyping, Crete, pp 119–125
Cheung-Foo-Wo D, Tigli J-Y, Lavirotte S, Riveill M (2007) Self-adaptation of event-driven component-oriented Middleware using aspects of assembly. In: 5th int. workshop on Middleware for pervasive and ad-hoc computing (MPAC), California, November
David P-C, Ledoux T. (2006) An aspect-oriented approach for developing self-adaptive Fractal components. In: Softw Comp, pp 82–97
Dowling J, Cahill V (2004) Self-managed decentralised systems using K-Components and collaborative reinforcement learning. In: Proc. of the 1st ACM SIGSOFT workshop on self-managed systems. ACM, New York, pp 39–43
Garlan D, Siewiorek D, Smailagic A, Steenkiste P (2002) Aura: Toward distraction-free pervasive computing. In: IEEE pervasive computing
Hourdin V, Tigli J-Y, Lavirotte S, Rey G, Riveill M (2008) Slca, composite services for ubiquitous computing. In: ACM t.b.p. (ed) Mobility’08: the 5th int. conf. on mobile technology, applications & systems, September 2008
Jeronimo M, Weast J (2003) UPnP design by example. Intel Press, May
Kiczales G, Lamping J, Menhdhekar A, Maeda C, Lopes C, Loingtier J-M, Irwin J (1997) Aspect-oriented programming. In: Proc. European conf. on object-oriented programming, vol 1241. Springer, Berlin Heidelberg New York, pp 220–242
Lagaisse B, Joosen W (2006) True and transparent distributed composition of aspect-components. In: Middleware 2006. LNCS, vol 4290. Springer, Berlin Heidelberg New York, pp 41–61, November
Lyytinen K, Yoo Y (2002) Introduction. Commun ACM 45(12):62–65
Marples D, Kriens P (2001) The open service gateway initiative: an introductory overview. In: IEEE Commun Mag. pp 110–114, December
Mascolo C, Hailes S, Lymberopoulos L, Picco GP, Costa P, Blair G, Okanda P, Sivaharan T, Fritsche W, Karl M, Rnai MA, Fodor K, Boulis A (2005) Survey of middleware for networked embedded systems. Technical Report D5.1
Michelson BM (2006) Event-driven architecture overview. Event-driven SOA is just part of the eda story. Technical report. Feb
Niemela E, Latvakoski J (2004) Survey of requirements and solutions for ubiquitous software. In: MUM ’04: Proc. of the 3rd international conference on mobile and ubiquitous multimedia. ACM, New York, pp 71–78
Pessemier N, Seinturier L, Duchien L, Coupaye T (2006) A model for developing component-based and aspect-oriented systems. In: Springer (ed) 5th int. symposium on software composition. LNCS, vol 4089. pp 259–274, March
Rho T, Kniesel G (2004) Uniform genericity for aspect languages. Technical Report IAI-TR-2004-4. Computer Science Department III, University of Bonn, December
Robinson J, Wakeman I, Chalmers D (2007) Composing software services in the pervasive computing environment: Languages or APIs? J Perv Mobile Comput Apr
Roman M, Hess CK, Cerqueira R, Ranganathan A, Campbell RH, Nahrstedt K (2002) Gaia: a middleware infrastructure to enable active spaces. In: IEEE Pervasive Computing, pp 74–83, December
Roman M, Islam N (eds) (2004) Dynamically programmable and reconfigurable middleware services. LNCS, vol 3231. Springer, Berlin Heidelberg New York
Schlimmer J, Thelin J (2006) Devices profile for web services. schemas.xmlsoap.org/ws/2006/02/devprof, Feb
Seinturier L, Pessemier N, Duchien L, Coupaye T (2006) A component model engineered with components and aspects. In: CBSE. LNCS, vol 4063. Springer, Berlin Heidelberg New York, pp 139–153
Sivaharan T, Blair G, Friday A, Wu M, Duran-Limon H, Odanka P, Sorensen C (2004) Cooperating sentient vehicles for next generation automobiles. In: ACM MobiSys 2004 workshop on applications of mobile embedded systems (WAMES 2004), June
Söldner G, Kapitza R. (2007) AOCI: an aspect-oriented component infrastructure. In: WCOP 2007, twelfth int. workshop on component-oriented programming, at ECOOP 2007, July
Verissimo P, Cahill V, Casimiro A, Cheverst K, Friday A, Kaiser J (2002) Cortex: towards supporting autonomous and cooperating sentient entities. In: Proc. of European wireless 2002
Weiser M (1991) The computer for the twenty-first century. Sci Am 265(3):94–104
Zachariadis S, Mascolo C, Emmerich W (2006) The SATIN component system—a meta model for engineering adaptable mobile systems. IEEE Trans Softw Eng 32(11):910–927
Author information
Authors and Affiliations
Corresponding author
Additional information
V. Hourdin is employed by MobileGov since Oct 2008.
Annexe: AAs
Annexe: AAs
1.1 Adding new functionalities: vocal interface
1.1.1 Vocal control AA

1.1.2 Vocal input

Rights and permissions
About this article
Cite this article
Tigli, JY., Lavirotte, S., Rey, G. et al. WComp middleware for ubiquitous computing: Aspects and composite event-based Web services. Ann. Telecommun. 64, 197–214 (2009). https://doi.org/10.1007/s12243-008-0081-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12243-008-0081-y