Abstract
In this paper, we argue that due to technological advances programmers today are faced with a ninth fallacy of distributed computing: “there is only one fixed application architecture throughout the lifetime of the application”. Mobile devices are nowadays equipped with wireless technology which allows them to interact with one another in both a peer-to-peer way (e.g. Wi-Fi-direct, bluetooth, etc.), and via a server in the cloud. Distributed software engineering abstractions, however, do not aid the programmer in developing mobile applications which communicate over multiple networking technologies. This paper introduces AmbientJS, a mobile cross-platform actor library which incorporates a novel type of remote reference, called network transparent references (NTRs), which allows to seamlessly combine multiple application architectures. We give an overview of the NTR model, detail their implementation in a novel actor library called AmbientJS and assess the performance of AmbientJS with benchmarks.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Abolfazli, S., Sanaei, Z., Gani, A., Xia, F., Yang, L.T.: Review: rich mobile applications: genesis, taxonomy, and open issues. J. Netw. Comput. Appl. 40, 345–362 (2014)
Bainomugisha, E., Carreton, A.L., Van Cutsem, T., Mostinckx, S., De Meuter, W.: A survey on reactive programming. ACM Comput. Surv. 45(4), 52:1–52:34 (2013). https://doi.org/10.1145/2501654.2501666. Article no: 52
Cachin, C., Guerraoui, R., Rodrigues, L.: Introduction to Reliable and Secure Distributed Programming, 2nd edn. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-15260-3
Van Cutsem, T., Gonzalez Boix, E., Scholliers, C., Carreton, A.L., Harnie, D., Pinte, K., De Meuter, W.: AmbientTalk: programming responsive mobile peer-to-peer applications with actors. Comput. Lang. Syst. Struct. 40(34), 112–136 (2014). https://doi.org/10.1016/j.cl.2014.05.002
Deutch, P.: The eight fallacies of distributed computing (1994). https://blogs.oracle.com/jag/resource/Fallacies.html. Captured Feb 2017
Eugster, P.T., Felber, P.A., Guerraoui, R., Kermarrec, A.: The many faces of publish/subscribe. ACM Comput. Surv. 35(2), 114–131 (2003)
Eugster, P.T., Guerraoui, R., Damm, C.H.: On objects and events. SIGPLAN Not. 36(11), 254–269 (2001)
Fernando, N., Loke, S.W., Rahayu, W.: Mobile cloud computing: a survey. Futur. Gener. Comput. Syst. 29(1), 84–106 (2013). Including Special section: AIRCC-NetCoM 2009 and Special section: Clouds and Service-Oriented Architectures
Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)
Gonzalez Boix, E.: Handling partial failures in mobile ad hoc network applications: from programming language design to tool support. Ph.D. thesis, Vrije Universiteit Brussel, Faculty of Sciences, Software Languages Lab, October 2012
Gonzalez Boix, E., Scholliers, C., De Meuter, W., D’Hondt, T.: Programming mobile context-aware applications with TOTAM. J. Syst. Softw. SCI Impact factor in 2013:1.135 (5-year impact factor 1.322) 92, 3–19 (2014)
Heitkötter, H., Hanschke, S., Majchrzak, T.A.: Evaluating cross-platform development approaches for mobile applications. In: Cordeiro, J., Krempels, K.-H. (eds.) WEBIST 2012. LNBIP, vol. 140, pp. 120–138. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36608-6_8
Ibrahim, A., Jiao, Y., Tilevich, E., Cook, W.R.: Remote batch invocation for compositional object services. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol. 5653, pp. 595–617. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03013-0_27
Joseph, A.D., Tauber, J.A., Kaashoek, M.F.: Mobile computing with the Rover toolkit. IEEE Trans. Comput. 46(3), 337–352 (1997)
Kiczales, G., Paepcke, A.: Open implementations and metaobject protocols. Tutorial slides and notes, Software Design Area, Xerox Corporation (1996). http://www.parc.xerox.com/csl/groups/sda/publications
Mamei, M., Zambonelli, F.: Programming pervasive and mobile computing applications: the TOTA approach. ACM Trans. Softw. Eng. Methodol. 18(4), 15:1–15:56 (2009)
Meier, R., Cahill, V.: Steam: event-based middleware for wireless ad hoc networks. In: 22nd International Conference on Distributed Computing Systems, pp. 639–644. IEEE Computer Society, Washington, DC (2002)
Murphy, A.L., Picco, G.P.: Using Lime to support replication for availability in mobile ad hoc networks. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 194–211. Springer, Heidelberg (2006). https://doi.org/10.1007/11767954_13
Murphy, A., Picco, G., Roman, G.-C.: LIME: a middleware for physical and logical mobility. In: Proceedings of the 21st International Conference on Distributed Computing Systems, pp. 524–536. IEEE Computer Society (2001)
Musolesi, M., Mascolo, C., Hailes, S.: EMMA: epidemic messaging middleware for ad hoc networks. Pers. Ubiquitous Comput. 10(1), 28–36 (2005)
Pinte, K., Harnie, D., D’Hondt, T.: Enabling cross-technology mobile applications with network-aware references. In: De Meuter, W., Roman, G.-C. (eds.) COORDINATION 2011. LNCS, vol. 6721, pp. 142–156. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21464-6_10
Pinte, K., Harnie, D., Gonzalez Boix, E., De Meuter, W.: Network-aware references for pervasive social applications. In: Second IEEE Workshop on Pervasive Collaboration and Social Networking (PERCOM Workshops), pp. 537–542, March 2011
Salvaneschi, G., Drechsler, J., Mezini, M.: Towards distributed reactive programming. In: De Nicola, R., Julien, C. (eds.) COORDINATION 2013. LNCS, vol. 7890, pp. 226–235. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38493-6_16
Satyanarayanan, M., Bahl, P., Caceres, R., Davies, N.: The case for VM-based cloudlets in mobile computing. IEEE Pervasive Comput. 8(4), 14–23 (2009)
Sun Microsystems: Java RMI specification (1998). http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmiTOC.html
Van Cutsem, T., Dedecker, J., De Meuter, W.: Object-oriented coordination in mobile ad hoc networks. In: Murphy, A.L., Vitek, J. (eds.) COORDINATION 2007. LNCS, vol. 4467, pp. 231–248. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-72794-1_13
Vinoski, S.: RPC under fire. IEEE Internet Comput. 9(5), 93–95 (2005)
Waldo, J., Wyant, G., Wollrath, A., Kendall, S.: A note on distributed computing. In: Vitek, J., Tschudin, C. (eds.) MOS 1996. LNCS, vol. 1222, pp. 49–64. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-62852-5_6
World Wide Web Consortium: Simple Object Access Protocol (SOAP) 1.2 W3C Recommendation (2007). https://www.w3.org/TR/soap12//
Xanthopoulos, S., Xinogalos, S.: A comparative analysis of cross-platform development approaches for mobile applications. In: Proceedings of the 6th Balkan Conference in Informatics, BCI 2013, pp. 213–220. ACM, New York (2013)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Gonzalez Boix, E., De Porre, K., De Meuter, W., Scholliers, C. (2018). AmbientJS. In: Ricci, A., Haller, P. (eds) Programming with Actors. Lecture Notes in Computer Science(), vol 10789. Springer, Cham. https://doi.org/10.1007/978-3-030-00302-9_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-00302-9_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-00301-2
Online ISBN: 978-3-030-00302-9
eBook Packages: Computer ScienceComputer Science (R0)