Skip to main content

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

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7306))

Abstract

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. The Scala programming language, http://www.scala-lang.org/

  2. Yahoo pipes, http://pipes.yahoo.com/

  3. Ackerman, W.: Data flow languages. Computer 15(2), 15–25 (1982)

    Article  Google Scholar 

  4. Agha, G.: Actors: a model of concurrent computation in distributed systems. MIT Press, Cambridge (1986)

    Google Scholar 

  5. Arvind, Culler, D.E.: Dataflow architectures. Annual Review of Computer Science 1(1), 225–253 (1986)

    Article  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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. Davis, A., Keller, R.: Data flow program graphs. Computer 15(2), 26–41 (1982)

    Article  Google Scholar 

  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. Gelernter, D., Carriero, N.: Coordination languages and their significance. Commun. ACM 35, 97–107 (1992)

    Article  Google Scholar 

  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. 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. Johnston, W.M., Hanna, J.R.P., Millar, R.J.: Advances in dataflow programming languages. ACM Comput. Surv. 36, 1–34 (2004)

    Article  Google Scholar 

  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. 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. 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. Moors, A., Piessens, F., Odersky, M.: Parser combinators in scala. CW Reports, vol. CW491. Department of Computer Science, KU Leuven (2008)

    Google Scholar 

  21. Morrison, J.P.: Flow-Based Programming: A New Approach to Application Development, 2nd edn. CreateSpace (2010)

    Google Scholar 

  22. Network Working Group. Role of the Domain Name System (DNS). RFC3467

    Google Scholar 

  23. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: ICSE 1998 (1998)

    Google Scholar 

  24. Papadimitriou, D.: Future internet - the cross-etp vision document, version 1.0 (January 2009), http://www.future-internet.eu

  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. 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

    Article  Google Scholar 

  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. Tanenbaum, A.S., Van Renesse, R.: Distributed operating systems. ACM Comput. Surv. 17, 419–470 (1985)

    Article  Google Scholar 

  29. Wadge, W.W., Ashcroft, E.A.: LUCID, the dataflow programming language. Academic Press Professional, Inc., San Diego (1985)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Caporuscio, M., Funaro, M., Ghezzi, C. (2012). PaCE: A Data-Flow Coordination Language for Asynchronous Network-Based Applications. In: Gschwind, T., De Paoli, F., Gruhn, V., Book, M. (eds) Software Composition. SC 2012. Lecture Notes in Computer Science, vol 7306. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30564-1_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30564-1_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30563-4

  • Online ISBN: 978-3-642-30564-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics