Reconfigurable Component-based Middleware for Networked Embedded Systems

  • Paolo Costa
  • Geoff Coulson
  • Cecilia Mascolo
  • Luca Mottola
  • Gian Pietro Picco
  • Stefanos Zachariadis
Article

Next generation embedded systems will be composed of large numbers of heterogeneous devices. These will typically be resource-constrained (such as sensor motes), will use different operating systems, and will be connected through different types of network interfaces. Additionally, they may be mobile and/or form ad-hoc networks with their peers, and will need to be adaptive to changing conditions based on context-awareness. Our focus in this paper is on the provision of a middleware framework for such system environments. Our approach is based on a small and efficient ‘middleware kernel’ which supports highly modularised and customisable component-based middleware services that can be tailored for specific embedded environments, and are runtime reconfigurable to support adaptivity. These services are primarily communications-related but also address a range of other concerns including service discovery and logical mobility. In the paper we provide an overview of our approach, focusing in detail on both the middleware kernel and the services. We also discuss an application scenario in which we are currently applying and evaluating our middleware approach.

Keywords

middleware embedded systems reconfiguration mobile computing 

References

  1. 1.
    Szyperski C.(1999) Component Software: Beyond Object-Oriented Programming. Addison-WesleyGoogle Scholar
  2. 2.
    Object Management Group, UML 2.0 OCL specification. http://www.omg.org/docs/ptc/03-10-14.pdf
  3. 3.
    Object Management Group, OMG IDL specification. http://www.omg.org/technology/documents/idl2x_spec_catalog.htm
  4. 4.
    S. Zachariadis, C. Mascolo, and W. Emmerich. SATIN: A component model for mobile self-organisation. In International Symposium on Distributed Objects and Applications (DOA), Agia Napa, Cyprus, October, 2004. Springer.Google Scholar
  5. 5.
    Waldo J. (1999) The Jini architecture for network-centric computing. Communications of the ACM, 42(7):76–82CrossRefGoogle Scholar
  6. 6.
    L. Capra, C. Mascolo, S. Zachariadis, and W. Emmerich, Towards a mobile computing middleware: a synergy of reflection and mobile code techniques. In Proc. of the 8th IEEE Workshop on Future Trends of Distributed Computing Systems (FTDCS’2001), pp. 148–154, Bologna, Italy, October, 2001.Google Scholar
  7. 7.
    Fuggetta A., Picco G., Vigna G. (1998) Understanding code mobility. IEEE Transactions on Software Engineering, 24(5):342–361CrossRefGoogle Scholar
  8. 8.
    G.-C. Roman, A. L. Murphy, and G. P. Picco, A Software Engineering Perspective on Mobility. In A. C. W. Finkelstein (ed.), Future of Software Engineering, ACM Press, 2000.Google Scholar
  9. 9.
    G.P. Picco, μCode: A Lightweight and Flexible Mobile Code Toolkit. In K. Rothermel and F. Hohl (eds.), Proc. 2nd Int. Workshop on Mobile Agents, LNCS 1477. Springer-Verlag, 1998.Google Scholar
  10. 10.
    Akyildiz I., Su W., Sankarasubramaniam Y., Cayirci E. (2002) A survey on sensor networks. IEEE Communication Magazine, 40(8):102–114CrossRefGoogle Scholar
  11. 11.
    G. Coulson, G. Blair, P. Grace, A. Joolia, K. Lee, and J. Ueyam, A component model for building systems software. In Proc. IASTED Software Engineering and Applications (SEA’04), Nov, 2004.Google Scholar
  12. 12.
    H. Cervantes and R. Hall, Autonomous adaptation to dynamic availability using a service-oriented component model. In Proceedings of the 26th International Conference of Software Engineering (ICSE 2004), pp. 614–623, Edinburgh, Scotland, May, 2004, ACM Press.Google Scholar
  13. 13.
    The OSGi Alliance. The OSGi framework. http://www.osgi.org, 1999.
  14. 14.
    A. Ferscha, M. Hechinger, R. Mayrhofer, and R. Oberhauser, A light-weight component model for peer-to-peer applications. In 2nd International Workshop on Mobile Distributed Computing. IEEE Computer Society Press, March, 2004.Google Scholar
  15. 15.
    M. Roman and N. Islam, Dynamically Programmable and Reconfigurable Middleware Services. In Proceedings of Middleware ’04, Toronto, October, 2004.Google Scholar
  16. 16.
    C. Becker, M. Handte, G. Schiele, and K. Rothermel, PCOM – A component system for pervasive computing. In Proceedings of the 2nd International Conference on Pervasive Computing and Communications, Orlando, Florida, March, 2004.Google Scholar
  17. 17.
    Y. Weinsberg and I. Ben-Shaul, A programming model and system support for disconnected-aware applications on resource-constrained devices. In Proceedings of the 24th International Conference on Software Engineering, pp. 374–384, May, 2002.Google Scholar
  18. 18.
    R. S. Hall, D. Heimbigner, and A. L. Wolf, A cooperative approach to support software deployment using the software dock. In Proceedings of the 1999 International Conference on Software Engineering, pp. 174–183. IEEE Computer Society Press/ACM Press, 1999.Google Scholar
  19. 19.
    J.-P. Fassino, J.-B. Stefani, J. Lawall, and G. Muller, THINK: a software framework for component-based operating system kernels. In 2002 USENIX Annual Technical Conference, pp. 73–86, Monterey, CA, June, 2002, USENIX.Google Scholar
  20. 20.
    R. Grimm, T. Anderson, B. Bershad, and D. Wetherall, A system architecture for pervasive computing. In Proceedings of the 9th workshop on ACM SIGOPS European workshop, pp. 177–182, ACM Press, 2000.Google Scholar
  21. 21.
    K. Magoutis, J. Brustoloni, E. Gabber, W. Ng, and A. Silberschatz, Building Appliances out of Reusable Components using Pebble. In Proc. SIGOPS European Workshop, pp. 211–216, Kolding, Denmark, September, 2000, ACM Press.Google Scholar
  22. 22.
    M. Winter, T. Genbler, A. Christoph, O. Nierstrasz, S. Ducasse, R Wuyts, G. Arevalo, P. Muller, C. Stich, and B. Schonhage. Components for embedded software: the PECOS approach. In Proc. International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES ’02), pp. 19–26, Grenoble, France, 2002, ACM Press.Google Scholar
  23. 23.
    D. Stewart, R. Volpe, and P. Khosla, Design of Dynamically Reconfigurable Real-Time Software using Port-Based Objects. Technical Report CMU-RI-TR-93-11, Robotics Institute, Carnegie Mellon University, July, 1993.Google Scholar
  24. 24.
    H. Hansson, M. Akerholm, I. Crnkovic, and M. Torngren, SaveCCM – a component model for safety-critical real-time systems, September, 2004.Google Scholar
  25. 25.
    van Ommering R., van der Linden F., Kramer J., Magee J. (2000) The Koala component model for consumer electronics software. IEEE Computer, 33(3):78–85Google Scholar
  26. 26.
    A. Dunkels, B. Groenvall, and T. Voigt, Contiki – a lightweight and flexible operating system for tiny networked sensors. In Proceedings of the First IEEE Workshop on Embedded Networked Sensors, Tampa, Florida, USA, November, 2004.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  • Paolo Costa
    • 1
  • Geoff Coulson
    • 2
  • Cecilia Mascolo
    • 3
  • Luca Mottola
    • 1
  • Gian Pietro Picco
    • 1
  • Stefanos Zachariadis
    • 3
  1. 1.Dip. di Elettronica ed InformazionePolitecnico di MilanoMilanItaly
  2. 2.Department of ComputingLancaster UniversityLancasterUK
  3. 3.Department of Computer ScienceUniversity College LondonLondonUK

Personalised recommendations