ABSTRACT
Distributed programs are often written as a collection of communicating modules. For example, to use Java RMI, programs are divided into objects which can be remotely referenced. Yet, in many cases, it would be desirable to write the program without the program structure being driven by distribution decisions. If distribution is decoupled from program structure, the programming language must allow communication throughout a program's structure, instead of at a few known points. This situation is simplified if the programming language provides a uniform programming model for local and remote values (location transparency). We present Distributed Orc, which offers location transparency, and distributes program operations automatically in cooperation with the execution environment. By eliminating any special semantics of remote values, Distributed Orc enables programmers to write cohesive distributed programs, rather than programs artificially divided at distribution boundaries. Distributed Orc is derived from the Orc language, a (centralized) concurrent orchestration language.
- G. Bierman, E. Meijer, and W. Schulte. The essence of data access in Cω: The power is in the dot! In A. P. Black, editor, ECOOP 2005 -- Object-Oriented Programming, volume 3586 of Lecture Notes in Computer Science, pages 287--311, Berlin, 2005. Springer. Google ScholarDigital Library
- A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Trans. Softw. Eng., SE-13(1):65--76, Jan. 1987. Google ScholarDigital Library
- L. Cardelli. A language with distributed scope. In POPL'95: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 286--297, New York, 1995. ACM. Google ScholarDigital Library
- S. Haridi, P. Van Roy, and G. Smolka. An overview of the design of Distributed Oz. In PASCO'97: Proceedings of the Second International Symposium on Parallel Symbolic Computation, pages 176--187, New York, 1997. ACM. Google ScholarDigital Library
- A. Ibrahim, Y. Jiao, E. Tilevich, and W. R. Cook. Remote batch invocation for compositional object services. In S. Drossopoulou, editor, ECOOP 2009 -- Object-Oriented Programming, volume 5653 of Lecture Notes in Computer Science, pages 595--617, Berlin, 2009. Springer. Google ScholarDigital Library
- M. Isard, M. Budiu, Y. Yu, A. Birrell, and D. Fetterly. Dryad: Distributed data-parallel programs from sequential building blocks. In EuroSys'07: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007, pages 59--72, New York, 2007. ACM. Google ScholarDigital Library
- E. Jul. Separation of distribution and objects. In R. Guerraoui, O. Nierstrasz, and M. Riveill, editors, Object-Based Distributed Programming: ECOOP '93 Workshop, volume 791 of Lecture Notes in Computer Science, pages 47--54, Berlin, 1993. Springer. Google ScholarDigital Library
- D. Kitchin, A. Quark, W. R. Cook, and J. Misra. The Orc programming language. In D. Lee, A. Lopes, and A. Poetzsch-Heffter, editors, Proceedings of FMOODS/FORTE 2009, volume 5522 of Lecture Notes in Computer Science, pages 1--25, Berlin, 2009. Springer. Google ScholarDigital Library
- B. McCord, D. Kitchin, J. A. Thywissen, and J. Misra. Orc reference manual v2.1.0. Regular tech report TR-13-24, The University of Texas at Austin, Dept. of Computer Science, Austin, TX, Sept. 2013.Google Scholar
- L. Philips, C. De Roover, T. Van Cutsem, and W. De Meuter. Towards tierless web development without tierless languages. In Onward! 2014: Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software, pages 69--81, New York, 2014. ACM. Google ScholarDigital Library
- M. Serrano. Programming web multimedia applications with Hop. In MM'07: Proceedings of the 15th International Conference on Multimedia, pages 1001--1004, New York, 2007. ACM. Google ScholarDigital Library
- P. Van Roy, S. Haridi, P. Brand, G. Smolka, M. Mehl, and R. Scheidhauer. Mobile objects in Distributed Oz. ACM Trans. Programming Languages Syst., 19(5):804--851, Sept. 1997. Google ScholarDigital Library
- J. Waldo, G. Wyant, A. Wollrath, and S. Kendall. A note on distributed computing. In J. Vitek and C. Tschudin, editors, Mobile Object Systems Towards the Programmable Internet: Second International Workshop, MOS'96, volume 1222 of Lecture Notes in Computer Science, pages 49--66, Berlin, 1996. Springer. Google ScholarDigital Library
- Implicitly Distributing Pervasively Concurrent Programs: Extended abstract
Recommendations
Concurrent orchestration in Haskell
Haskell '10: Proceedings of the third ACM Haskell symposium on HaskellWe present a concurrent scripting language embedded in Haskell, emulating the functionality of the Orc orchestration language by providing many-valued (real) non-determinism in the context of concurrent effects. We provide many examples of its use, as ...
Concurrent orchestration in Haskell
HASKELL '10We present a concurrent scripting language embedded in Haskell, emulating the functionality of the Orc orchestration language by providing many-valued (real) non-determinism in the context of concurrent effects. We provide many examples of its use, as ...
Comments