WComp middleware for ubiquitous computing: Aspects and composite event-based Web services

  • Jean-Yves Tigli
  • Stéphane Lavirotte
  • Gaëtan Rey
  • Vincent Hourdin
  • Daniel Cheung-Foo-Wo
  • Eric Callegari
  • Michel Riveill


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.


Ubiquitous computing Web services for devices Event-based component middleware Software composition 

Supplementary material


  1. 1.
    Computer Science and Artificial Intelligence Laboratory (2004) Mit oxygen project.
  2. 2.
    WCOP’96 (1996) Summary of the WCOP’96 workshop in ECOOP’96, Linz, JulyGoogle Scholar
  3. 3.
    Open SOA (2006) Service Component Architecture spec.
  4. 4.
    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 3CrossRefGoogle Scholar
  5. 5.
    Aho AV, Kernighan BW, Weinberger PJ (1988) The AWK programming lang. Addison-Wesley, ReadingGoogle Scholar
  6. 6.
    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, SeptemberGoogle Scholar
  7. 7.
    Arnold K (ed) (2000) The JINI specifications, 2nd edn. Addison-Wesley Professional, ReadingGoogle Scholar
  8. 8.
    Bastide G, Seriai A, Oussalah M (2006) Adapting software components by structure fragmentation. In: Proc. of ACM symposium on applied computingGoogle Scholar
  9. 9.
    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–6CrossRefGoogle Scholar
  10. 10.
    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 applicationsGoogle Scholar
  11. 11.
    Blay-Fornarino M, Charfi A, Emsellem D, Pinna-Dery A-M, Riveill M (2004) Software interactions. J Object Technol 3(10):161–180Google Scholar
  12. 12.
    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, OctoberGoogle Scholar
  13. 13.
    Cheung D (2008) Dynamic adaptation weaving aspects. Ph.D. thesisGoogle Scholar
  14. 14.
    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–125Google Scholar
  15. 15.
    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, NovemberGoogle Scholar
  16. 16.
    David P-C, Ledoux T. (2006) An aspect-oriented approach for developing self-adaptive Fractal components. In: Softw Comp, pp 82–97Google Scholar
  17. 17.
    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–43CrossRefGoogle Scholar
  18. 18.
    Garlan D, Siewiorek D, Smailagic A, Steenkiste P (2002) Aura: Toward distraction-free pervasive computing. In: IEEE pervasive computingGoogle Scholar
  19. 19.
    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 2008Google Scholar
  20. 20.
    Jeronimo M, Weast J (2003) UPnP design by example. Intel Press, MayGoogle Scholar
  21. 21.
    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–242Google Scholar
  22. 22.
    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, NovemberGoogle Scholar
  23. 23.
    Lyytinen K, Yoo Y (2002) Introduction. Commun ACM 45(12):62–65CrossRefGoogle Scholar
  24. 24.
    Marples D, Kriens P (2001) The open service gateway initiative: an introductory overview. In: IEEE Commun Mag. pp 110–114, DecemberGoogle Scholar
  25. 25.
    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.1Google Scholar
  26. 26.
    Michelson BM (2006) Event-driven architecture overview. Event-driven SOA is just part of the eda story. Technical report. FebGoogle Scholar
  27. 27.
    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–78CrossRefGoogle Scholar
  28. 28.
    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, MarchGoogle Scholar
  29. 29.
    Rho T, Kniesel G (2004) Uniform genericity for aspect languages. Technical Report IAI-TR-2004-4. Computer Science Department III, University of Bonn, DecemberGoogle Scholar
  30. 30.
    Robinson J, Wakeman I, Chalmers D (2007) Composing software services in the pervasive computing environment: Languages or APIs? J Perv Mobile Comput AprGoogle Scholar
  31. 31.
    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, DecemberGoogle Scholar
  32. 32.
    Roman M, Islam N (eds) (2004) Dynamically programmable and reconfigurable middleware services. LNCS, vol 3231. Springer, Berlin Heidelberg New YorkGoogle Scholar
  33. 33.
    Schlimmer J, Thelin J (2006) Devices profile for web services., Feb
  34. 34.
    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–153Google Scholar
  35. 35.
    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), JuneGoogle Scholar
  36. 36.
    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, JulyGoogle Scholar
  37. 37.
    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 2002Google Scholar
  38. 38.
    Weiser M (1991) The computer for the twenty-first century. Sci Am 265(3):94–104CrossRefGoogle Scholar
  39. 39.
    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–927CrossRefGoogle Scholar

Copyright information

© Institut TELECOM and Springer-Verlag 2009

Authors and Affiliations

  • Jean-Yves Tigli
    • 1
  • Stéphane Lavirotte
    • 1
  • Gaëtan Rey
    • 1
  • Vincent Hourdin
    • 1
  • Daniel Cheung-Foo-Wo
    • 1
    • 2
  • Eric Callegari
    • 1
  • Michel Riveill
    • 1
  1. 1.Laboratoire I3SUniversité de Nice - Sophia Antipolis / CNRSSophia-Antipolis CedexFrance
  2. 2.CSTB 290Sophia-AntipolisFrance

Personalised recommendations