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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in Erlang. Morgan Kaufmann, San Francisco (1993)
Balbaert, I.: The Way to Go: A Thorough Introduction to the Go Programming Language. IUniverse, Bloomington (2012)
Bokhari, S.H.: Multiprocessing the sieve of Eratosthenes. Computer 20(4), 50–58 (1987)
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)
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)
Gropp, W., Lusk, E., Skjellum, A.: Using MPI: Portable Parallel Programming with the Message-passing Interface, vol. 1. MIT press, Cambridge (1999)
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)
Haller, P., Odersky, M.: Scala actors: unifying thread-based and event-based programming. Theor. Comput. Sci. 410(2), 202–220 (2009)
Hewitt, C.: Procedural embedding of knowledge in planner. In: IJCAI, pp. 167–184 (1971)
Imam, S.M., Sarkar, V.: Integrating task parallelism with actors. In: ACM SIGPLAN Notices, vol. 47, pp. 753–772. ACM (2012)
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)
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)
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
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)
O’Neill, M.E.: The genuine sieve of Eratosthenes. J. Funct. Program. 19(01), 95–106 (2009)
Pierre, G., Stratan, C.: ConPaaS: a platform for hosting elastic cloud applications. IEEE Internet Comput. 16(5), 88–92 (2012)
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-7
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)
Sieve, F.: http://primesieve.org
Tasharofi, S.: Efficient testing of actor programs with non-deterministic behaviors. Ph.D. thesis, University of Illinois at Urbana-Champaign (2014)
http://heuristic-fencepost.blogspot.nl/2012/02/ruby-and-concurrency-maintaining-purity.html
http://absurdfarce.github.io/blog/2012/01/05/ruby-and-concurrency-design-with-actorsandakka/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Serbanescu, V., Nagarajagowda, C., Azadbakht, K., de Boer, F., Nobakht, B. (2014). Towards Type-Based Optimizations in Distributed Applications Using ABS and JAVA 8. In: Pop, F., Potop-Butucaru, M. (eds) Adaptive Resource Management and Scheduling for Cloud Computing. ARMS-CC 2014. Lecture Notes in Computer Science(), vol 8907. Springer, Cham. https://doi.org/10.1007/978-3-319-13464-2_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-13464-2_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-13463-5
Online ISBN: 978-3-319-13464-2
eBook Packages: Computer ScienceComputer Science (R0)