PaCE: A Data-Flow Coordination Language for Asynchronous Network-Based Applications

  • Mauro Caporuscio
  • Marco Funaro
  • Carlo Ghezzi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7306)


Network-based applications usually rely on the explicit distribution of components, which interact by means of message passing. Assembling components into a workflow is challenging due to the asynchronism inherent to the underlying message-passing communication model. This paper presents the PaCE language, which aims at coordinating asynchronous network-based components by exploiting the data-flow execution model. Specifically, PaCE has been designed for dealing with components compliant with the P-REST architectural style for pervasive adaptive systems. Moreover PaCE provides reflective features enabling run-time adaptation and evolution of workflows.


Execution Model Domain Name System Conference Room External Function Pervasive Environment 
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.
    The Scala programming language,
  2. 2.
  3. 3.
    Ackerman, W.: Data flow languages. Computer 15(2), 15–25 (1982)CrossRefGoogle Scholar
  4. 4.
    Agha, G.: Actors: a model of concurrent computation in distributed systems. MIT Press, Cambridge (1986)Google Scholar
  5. 5.
    Arvind, Culler, D.E.: Dataflow architectures. Annual Review of Computer Science 1(1), 225–253 (1986)CrossRefGoogle Scholar
  6. 6.
    Backus, J.: Can programming be liberated from the von neumann style?: a functional style and its algebra of programs. Commun. ACM 21, 613–641 (1978)MathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Baresi, L., Guinea, S.: Mashups with Mashlight. In: Maglio, P.P., Weske, M., Yang, J., Fantinato, M. (eds.) ICSOC 2010. LNCS, vol. 6470, pp. 711–712. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Bernini, M., Mosconi, M.: Vipers: a data flow visual programming environment based on the tcl language. In: AVI: Proceedings of the Workshop on Advanced Visual Interfaces. Association for Computing Machinery, Inc., New York (1994)Google Scholar
  9. 9.
    Caporuscio, M., Funaro, M., Ghezzi, C.: Restful service architectures for pervasive networking environments. In: Wilde, E., Pautasso, C. (eds.) REST: From Research to Practice. Springer (2011)Google Scholar
  10. 10.
    Caporuscio, M., Funaro, M., Ghezzi, C.: Resource-oriented middleware abstractions for pervasive computing. In: IEEE International Conference on Software Science, Technology and Engineering, SWSTE (to appear, June 2012)Google Scholar
  11. 11.
    Davis, A., Keller, R.: Data flow program graphs. Computer 15(2), 26–41 (1982)CrossRefGoogle Scholar
  12. 12.
    Fielding, R.T.: REST: Architectural Styles and the Design of Network-based Software Architectures. PhD thesis. University of California, Irvine (2000)Google Scholar
  13. 13.
    Gelernter, D., Carriero, N.: Coordination languages and their significance. Commun. ACM 35, 97–107 (1992)CrossRefGoogle Scholar
  14. 14.
    Jagannathan, R.: Coarse-grain dataflow programming of conventional parallel computers. In: Advanced Topics in Dataflow Computing and Multithreading, pp. 113–129. IEEE Computer Society Press (1995)Google Scholar
  15. 15.
    Joeris, G.: Decentralized and flexible workflow enactment based on task coordination agents. In: 2nd International BiConference Workshop on Agent-Oriented Information Systems (AOIS 2000 - CAiSE 2000), pp. 41–62 (2000)Google Scholar
  16. 16.
    Johnston, W.M., Hanna, J.R.P., Millar, R.J.: Advances in dataflow programming languages. ACM Comput. Surv. 36, 1–34 (2004)CrossRefGoogle Scholar
  17. 17.
    Kahn, G.: The Semantics of a Simple Language for Parallel Programming. In: Rosenfeld, J.L. (ed.) Information Processing 1974: Proceedings of the IFIP Congress, pp. 471–475. North-Holland, New York (1974)Google Scholar
  18. 18.
    Khare, R., Taylor, R.N.: Extending the representational state transfer (rest) architectural style for decentralized systems. In: ICSE 2004, pp. 428–437. IEEE Computer Society, Washington, DC (2004)Google Scholar
  19. 19.
    Liskov, B., Shrira, L.: Promises: linguistic support for efficient asynchronous procedure calls in distributed systems. In: Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation, PLDI 1988, pp. 260–267. ACM, New York (1988)Google Scholar
  20. 20.
    Moors, A., Piessens, F., Odersky, M.: Parser combinators in scala. CW Reports, vol. CW491. Department of Computer Science, KU Leuven (2008)Google Scholar
  21. 21.
    Morrison, J.P.: Flow-Based Programming: A New Approach to Application Development, 2nd edn. CreateSpace (2010)Google Scholar
  22. 22.
    Network Working Group. Role of the Domain Name System (DNS). RFC3467Google Scholar
  23. 23.
    Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: ICSE 1998 (1998)Google Scholar
  24. 24.
    Papadimitriou, D.: Future internet - the cross-etp vision document, version 1.0 (January 2009),
  25. 25.
    Pautasso, C., Alonso, G.: Jopera: A toolkit for efficient visual composition of web services. Int. J. Electron. Commerce 9, 107–141 (2005)Google Scholar
  26. 26.
    Pautasso, C., Alonso, G.: The jopera visual composition language. Journal of Visual Languages & Computing 16(1-2), 119–152 (2005); 2003 IEEE Symposium on Human Centric Computing Languages and Environments CrossRefGoogle Scholar
  27. 27.
    Roman, G.-C., Picco, G.P., Murphy, A.L.: Software engineering for mobility: a roadmap. In: FOSE 2000, pp. 241–258. ACM, New York (2000)Google Scholar
  28. 28.
    Tanenbaum, A.S., Van Renesse, R.: Distributed operating systems. ACM Comput. Surv. 17, 419–470 (1985)CrossRefGoogle Scholar
  29. 29.
    Wadge, W.W., Ashcroft, E.A.: LUCID, the dataflow programming language. Academic Press Professional, Inc., San Diego (1985)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Mauro Caporuscio
    • 1
  • Marco Funaro
    • 1
  • Carlo Ghezzi
    • 1
  1. 1.Deep-SE Group - Dipartimento di Elettronica e InformazionePolitecnico di MilanoMilanoItaly

Personalised recommendations