Abstract
Reactive programming has been added to the traditional Linda programming style in order to deal with the dynamic aspects of those applications in which it is important to observe modifications of the environment which occur quickly. Reactive programming is embedded in shared data spaces by defining the observable entities and the corresponding reactions that usually are processes possibly executing coordination primitives. Typical observable entities are the presence in the space of a datum (state-based) or the execution of a particular primitive (event-based). In this paper we consider different models of reaction execution adopted in the coordination literature so far, namely the prioritized model (used e.g. in MARS [3], TuCSoN [8] and LIME [9]) and the parallel execution model (considered e.g. in JavaSpaces [13 ], TSpaces [14] and WCL [11]). Prioritized reactions are usually implemented at server-side as during their execution no other coordination primitives can take place; parallel reactions, more suited when reactions are executed at client-side, are executed in parallel with the other processes in the system (thus other coordination primitives can interleave with the reactions). Using a process algebraic setting we perform a rigorous investigation of the relative advantages and disadvantages of these two models for reaction execution.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Busi, N., Zavattaro, G.: On the Expressivenes of Event Notification in Data-Driven Coordination Languages. In: Smolka, G. (ed.) ESOP 2000. LNCS, vol. 1782, pp. 41–55. Springer, Heidelberg (2000)
Cheng, A., Esparza, J., Palsberg, J.: Complexity results for 1-safe nets. Theoretical Computer Science 147, 117–136 (1995)
Cabri, G., Leonardi, L., Zambonelli, F.: Reactive tuple spaces for mobile agent coordination. In: Rothermel, K., Hohl, F. (eds.) MA 1998. LNCS, vol. 1477, pp. 237–248. Springer, Heidelberg (1998)
Gelernter, D.: Generative Communication in Linda. ACM Transactions on Programming Languages and Systems 7(1), 80–112 (1985)
Karp, R.M., Miller, R.E.: Parallel Program Schemata. Journal of Computer and System Sciences 3, 147–195 (1969)
Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)
Minsky, M.L.: Computation: finite and infinite machines. Prentice-Hall, Englewood Cliffs (1967)
Omicini, A., Zambonelli, F.: Coordination of mobile information agents in TuCSoN. Journal of Internet Research 8(5) (1998)
Picco, G.P., Murphy, A.L., Roman, G.-C.: Lime: Linda meets mobility. In: Proc. of the 21st ICSE (1999)
Reisig, W.: Petri nets: An Introduction. In: EATCS Monographs in Computer Science. Springer, Heidelberg (1985)
Rowstron, A.: WCL: A web co-ordination language. World Wide Web Journal 1(3), 167–179 (1998)
Shepherdson, J.C., Sturgis, J.E.: Computability of recursive functions. Journal of the ACM 10, 217–255 (1963)
Waldo, J., et al.: Javaspace specification. Technical report, Sun Microsystems (1998)
Wyckoff, P., McLaughry, S., Lehman, T., Ford, D.: T spaces. IBM Systems Journal 37(3), 454–474 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Busi, N., Zavattaro, G. (2005). Prioritized and Parallel Reactions in Shared Data Space Coordination Languages. In: Jacquet, JM., Picco, G.P. (eds) Coordination Models and Languages. COORDINATION 2005. Lecture Notes in Computer Science, vol 3454. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11417019_14
Download citation
DOI: https://doi.org/10.1007/11417019_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25630-4
Online ISBN: 978-3-540-32006-7
eBook Packages: Computer ScienceComputer Science (R0)