Towards Type-Based Optimizations in Distributed Applications Using ABS and JAVA 8

  • Vlad Serbanescu
  • Chetan Nagarajagowda
  • Keyvan Azadbakht
  • Frank de Boer
  • Behrooz Nobakht
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8907)

Abstract

In this paper we present an API to support modeling applications with Actors based on the paradigm of the Abstract Behavioural Specification (ABS) language. With the introduction of JAVA 8, we expose this API through a JAVA library to allow for a high-level actor-based methodology for programming distributed systems which supports the programming to interfaces discipline. We validate this solution through a case study where we obtain significant performance improvements as well as illustrating the ease with which simple high and low-level optimizations can be obtained by examining topologies and communication within an application. Using this API we show it is much easier to observe drawbacks of shared data-structures and communications methods in the design phase of a distributed application and apply the necessary corrections in order to obtain better results.

Keywords

Cloud computing Programming models Distributed applications Formal methods Optimization 

References

  1. 1.
    Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in Erlang. Morgan Kaufmann, San Francisco (1993)MATHGoogle Scholar
  2. 2.
    Balbaert, I.: The Way to Go: A Thorough Introduction to the Go Programming Language. IUniverse, Bloomington (2012)Google Scholar
  3. 3.
    Bokhari, S.H.: Multiprocessing the sieve of Eratosthenes. Computer 20(4), 50–58 (1987)CrossRefGoogle Scholar
  4. 4.
    Cheong, E., Lee, E.A., Zhao, Y.: Viptos: a graphical development and simulation environment for TinyOS-based wireless sensor networks. In: SenSys, vol. 5, pp. 302–302 (2005)Google Scholar
  5. 5.
    Geoffray, N., Thomas, G., Folliot, B., Clément, C.: Towards a new isolation abstraction for OSGi. In: Proceedings of the 1st Workshop on Isolation and Integration in Embedded Systems, pp. 41–45. ACM (2008)Google Scholar
  6. 6.
    Gropp, W., Lusk, E., Skjellum, A.: Using MPI: Portable Parallel Programming with the Message-passing Interface, vol. 1. MIT press, Cambridge (1999)Google Scholar
  7. 7.
    Haller, P.: On the integration of the actor model in mainstream technologies: the scala perspective. In: Proceedings of the 2nd edition on Programming Systems, Languages and Applications Based on Actors, Agents, and Decentralized Control Abstractions, pp. 1–6. ACM (2012)Google Scholar
  8. 8.
    Haller, P., Odersky, M.: Scala actors: unifying thread-based and event-based programming. Theor. Comput. Sci. 410(2), 202–220 (2009)CrossRefMATHMathSciNetGoogle Scholar
  9. 9.
    Hewitt, C.: Procedural embedding of knowledge in planner. In: IJCAI, pp. 167–184 (1971)Google Scholar
  10. 10.
    Imam, S.M., Sarkar, V.: Integrating task parallelism with actors. In: ACM SIGPLAN Notices, vol. 47, pp. 753–772. ACM (2012)Google Scholar
  11. 11.
    Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: a core language for abstract behavioral specification. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) Formal Methods for Components and Objects. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  12. 12.
    Karmani, R.K., Shali, A., Agha, G.: Actor frameworks for the JVM platform: a comparative analysis. In: Proceedings of the 7th International Conference on Principles and Practice of Programming in Java, pp. 11–20. ACM (2009)Google Scholar
  13. 13.
  14. 14.
    Nicolae, B., Antoniu, G., Bougé, L., Moise, D., Carpen-Amarie, A.: Blobseer: next-generation data management for large scale infrastructures. J. Parallel Distrib. Comput. 71, 169–184 (2011). http://dx.doi.org/10.1016/j.jpdc.2010.08.004 CrossRefGoogle Scholar
  15. 15.
    Nobakht, B., de Boer, F.S.: Programming with actors in Java 8. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part II. LNCS, vol. 8803, pp. 37–53. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  16. 16.
    O’Neill, M.E.: The genuine sieve of Eratosthenes. J. Funct. Program. 19(01), 95–106 (2009)CrossRefMATHMathSciNetGoogle Scholar
  17. 17.
    Pierre, G., Stratan, C.: ConPaaS: a platform for hosting elastic cloud applications. IEEE Internet Comput. 16(5), 88–92 (2012)CrossRefGoogle Scholar
  18. 18.
    Pop, F., Dobre, C., Cristea, V.: Evaluation of multi-objective decentralized scheduling for applications in grid environment. In: Proceedings of 2008 IEEE 4th International Conference on Intelligent Computer Communication and Processing, pp. 231–238. IEEE Computer Society, Cluj-Napoca, Romania (2008). ISBN: 978-1-4244-2673-7Google Scholar
  19. 19.
    Serbanescu, V.N., Pop, F., Cristea, V., Achim, O.M.: Web services allocation guided by reputation in distributed SOA-based environments. In: 2012 11th International Symposium on Parallel and Distributed Computing (ISPDC), pp. 127–134. IEEE (2012)Google Scholar
  20. 20.
  21. 21.
    Tasharofi, S.: Efficient testing of actor programs with non-deterministic behaviors. Ph.D. thesis, University of Illinois at Urbana-Champaign (2014)Google Scholar
  22. 22.
  23. 23.

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Vlad Serbanescu
    • 1
  • Chetan Nagarajagowda
    • 1
  • Keyvan Azadbakht
    • 1
  • Frank de Boer
    • 1
  • Behrooz Nobakht
    • 1
  1. 1.Centrum Wiskunde and InformaticaAmsterdamThe Netherlands

Personalised recommendations