Abstract
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.
To avoid repetition of the long phrase “communication protocol and coordination language” we write interaction language. We leave open whether the communication protocol and the coordination language are strictly separated or not [3].
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
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.
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.
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.
M. Boasson. Control systems software. In IEEE Transactions on Automatic Control, volume 38, pages 1094–1106, July 1993.
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.
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.
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.
J. D. Day and H. Zimmerman. The OSIreference model. In Proceedings of the IEEE, volume 71, pages 1334–1340, 1983.
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.
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.
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.
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.
A. Ferrari and A. Sangiovanni-Vincentelli. System design: traditional concepts and new paradigms. In International Conference on Computer Design, pages 2–12, 1999.
Eric Freeman, Susanne Hupfer, and Ken Arnold. JavaSpaces: Principles, Patterns and Practice. Addison-Wesley, 1999.
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.
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.
Christine R. Hofmeister. Dynamic Reconfiguration of Distributed Applications. PhD thesis, Computer Science Department, University of Maryland, College Park, 1993.
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.
G. Kahn and David M. MacQueen. Coroutines and networks of parallel processes. In B. Gilchrist, editor, Proceedings of IFIP, pages 993–998, 1977.
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.
J. Kramer and J. Magee. The evolving philosophers problem: Dynamic change management. IEEE Transactions on Software Engineering, 16(11):1293–1306, 1990.
Ronaldo Menezes. Experiences with memory management in open Linda systems. In ACM Symposium on Applied Computing, pages 187–196, March 2001.
Hyunok Oh and Soonhoi Ha. Data memory minimization by sharing large size buffers. In ASP-DAC, Tokyo, January 2000.
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.
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.
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.
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.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Goossens, K.G.W., Gangwal, O.P. (2002). The Cost of Communication Protocols and Coordination Languages in Embedded Systems. In: Arbab, F., Talcott, C. (eds) Coordination Models and Languages. COORDINATION 2002. Lecture Notes in Computer Science, vol 2315. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46000-4_19
Download citation
DOI: https://doi.org/10.1007/3-540-46000-4_19
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43410-8
Online ISBN: 978-3-540-46000-8
eBook Packages: Springer Book Archive