The Cost of Communication Protocols and Coordination Languages in Embedded Systems

  • Kees G. W. Goossens
  • Om Prakash Gangwal
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2315)


We investigate the use of communication protocols and coordination languages (henceforth interaction languages) for high-volume consumer electronics products in the multimedia application domain. Interaction languages are used to reduce the cost of designing a product by introducing structure and abstraction, by being application-domain specific, and by enabling re-use. They can also reduce the manufacturing cost which includes the cost of using the interaction language, the implementation cost of the interaction language, and its running cost. We classify services that can be offered by an interaction language and their impact on the cost of designing. Choices that can be made in their implementations are also categorised, and their impact on the manufacturing cost is shown. This is illustrated by three existing interaction languages: c-heap, Arachne, and stm.

We conclude first that the type of services offered by an interaction language must match the application domain. Furthermore, implementation choices are constrained by the underlying system architecture as well as the services to be offered. Finally, an interaction language with fewer services minimises the manufacturing cost but increases the cost of designing, and vice versa. The cost of designing and the manufacturing cost both contribute to the cost of the final product, which is to be minimised. These costs must be balanced when designing an interaction language.


Embed System Communication Protocol Manufacturing Cost Product Family Garbage Collection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    F. Arbab, C. L. Blom, F. J. Burger, and C. T. H. Everaars. Reusable coordinator modules for massively concurrent applications. Software Practice and Experience, 28(7):703–735, 1998.CrossRefGoogle Scholar
  2. 2.
    F. Arbab, F. S. de Boer, and M. M. Bonsangue. A coordination language for mobile components. In Proceedings of SAC, ACM press, pages 166–173, 2000.Google Scholar
  3. 3.
    Farhad Arbab. The IWIM model for coordination of concurrent activities. In Coordination languages and models, volume 1061 of Lecture notes in computer science, pages 34–56, 1996.Google Scholar
  4. 4.
    M. Boasson. Control systems software. In IEEE Transactions on Automatic Control, volume 38, pages 1094–1106, July 1993.Google Scholar
  5. 5.
    R.J. Bril, C. Hentschel, E.F.M. Steffens, M. Gabrani, G. van Loo, and J.H.A. Gelissen. Multimedia QoS in consumer terminals. In IEEE Workshop on Signal Processing Systems, pages 332–343, 2001.Google Scholar
  6. 6.
    Paolo Ciancarini and Davide Rossi. Jada-Coordination and Communication for Java Agents. In Jan Vitek and Christian Tschudin, editors, Mobile Object Systems: Towards the Programmable Internet, volume 1222, pages 213–228. Springer-Verlag: Heidelberg, Germany, 1997.Google Scholar
  7. 7.
    A. L. Cox, S. Dwarkadas, P. Keleher, H. Lu, R. Rajamony, and W. Zwaenepoel. Software versus hardware shared-memory implementation: A case study. In Proc. of the 21th Annual International Symposium on Computer Architecture (ISCA’94), pages 106–117, 1994.Google Scholar
  8. 8.
    J. D. Day and H. Zimmerman. The OSIreference model. In Proceedings of the IEEE, volume 71, pages 1334–1340, 1983.Google Scholar
  9. 9.
    Gjalt G. de Jong, Bill Lin, Carl Verdonck, Sven Wuytack, and Francky Catthoor. Background memory management for dynamic data structure intensive processing systems. In Proceedings of the international conference on computer-aided design, pages 515–520, 1995.Google Scholar
  10. 10.
    E.A. de Kock, G. Essink, W.J.M Smits, and P. van der Wolf. YAPI: Application modeling for signal processing systems. In Proceedings 37thDesign Automation Conference, 2000.Google Scholar
  11. 11.
    S. Edwards, L. Lavagno, E.A. Lee, and A. Sangiovanni-Vincentelli. Design of embedded systems: Formal models, validation, and synthesis. In Proceedings of the IEEE, volume 85, pages 366–390, 1997.Google Scholar
  12. 12.
    D. Engler, M. Kaashoek, and J. O’Toole Jr. Exokernel: An operating system architecture for application-level resource management. In Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, 1995.Google Scholar
  13. 13.
    A. Ferrari and A. Sangiovanni-Vincentelli. System design: traditional concepts and new paradigms. In International Conference on Computer Design, pages 2–12, 1999.Google Scholar
  14. 14.
    Eric Freeman, Susanne Hupfer, and Ken Arnold. JavaSpaces: Principles, Patterns and Practice. Addison-Wesley, 1999.Google Scholar
  15. 15.
    O. P. Gangwal, A. Nieuwland, and P. E. R. Lippens. A scalable and flexible data synchronization scheme for embedded HW-SW shared-memory systems. In International Symposium on System Synthesis, pages 1–6, Montréal, October 2001.Google Scholar
  16. 16.
    K. G. W. Goossens. A protocol and memory manager for on-chip communication. In International Symposium on Circuits and Systems, volume II, pages 225–228, Sydney, May 2001. IEEE Circuits and Systems Society.Google Scholar
  17. 17.
    Christine R. Hofmeister. Dynamic Reconfiguration of Distributed Applications. PhD thesis, Computer Science Department, University of Maryland, College Park, 1993.Google Scholar
  18. 18.
    N. C. Hutchinson and L. L. Peterson. The x-kernel: An architecture for implementing network protocols. IEEE Transactions on Software Engineering, 17(1):64–76, 1991.CrossRefGoogle Scholar
  19. 19.
    G. Kahn and David M. MacQueen. Coroutines and networks of parallel processes. In B. Gilchrist, editor, Proceedings of IFIP, pages 993–998, 1977.Google Scholar
  20. 20.
    Jeffrey Kang, Albert van der Werf, and Paul Lippens. Mapping array communication onto fifo communication-towards an implementation. In Proceedings of international symposium on system synthesis, pages 207–213, 2000.Google Scholar
  21. 21.
    J. Kramer and J. Magee. The evolving philosophers problem: Dynamic change management. IEEE Transactions on Software Engineering, 16(11):1293–1306, 1990.CrossRefGoogle Scholar
  22. 22.
    Ronaldo Menezes. Experiences with memory management in open Linda systems. In ACM Symposium on Applied Computing, pages 187–196, March 2001.Google Scholar
  23. 23.
    Hyunok Oh and Soonhoi Ha. Data memory minimization by sharing large size buffers. In ASP-DAC, Tokyo, January 2000.Google Scholar
  24. 24.
    Rafael Peset Llopis, Marcel Oosterhuis, Sethuraman Ramanathan, Paul Lippens, Albert van der Werf, Steffen Maul, and Jim Lin. HW-SW codesign and verification of a multi-standard video and image codec. In IEEE International Symposium on Quality Electronic Design, pages 393–398, 2001.Google Scholar
  25. 25.
    Umakishore Ramachandran, Rishiyur S. Nikhil, Nissim Harel, James M. Rehg, and Kathleen Knobe. Space-time memory: a parallel programming abstraction for interactive multimedia applications. In 10thA CM SIGPLAN Symposium on Principles and Practice of Parallel Programming, May 1999.Google Scholar
  26. 26.
    A. Rowstron and A. Wood. Bonita: a set of tuple space primitives for distributed coordination. In Proceeding of HICSS30, SW Track, pages 379–388, Hawaii, 1997. IEEE Computer Society Press.Google Scholar
  27. 27.
    D.B. Stewart, R. A. Volpe, and P. K. Khosla. Design of dynamically reconfigurable real-time software using port-based objects. IEEE transactions on Software Engineering, 23(12):759–776, 1997.CrossRefGoogle Scholar
  28. 28.
    Marino T.J. Strik, Adwin H. Timmer, Jef L. van Meerbergen, and Gert-Jan Rootselaar. Heterogeneous multi-processor for the management of real-time video & graphics streams. IEEE Journal of Solid-Sate Circuits, 35(11):1722–1731, November 2000.CrossRefGoogle Scholar
  29. 29.
    Rob van Ommering, Frank van der Linden, Je. Kramer, and Je. Magee. The Koala component model for consumer electronics software. In IEEE Computer, volume 33, pages 78–85, 2000.Google Scholar
  30. 30.
    Robbert van Renesse, Kenneth P. Birman, and Silvano Maffeis. Horus: A flexible group communication system. Communications of the ACM, 39(4):76–83, April 1996.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Kees G. W. Goossens
    • 1
  • Om Prakash Gangwal
    • 1
  1. 1.Philips Research LaboratoriesEindhovenThe Netherlands

Personalised recommendations