Skip to main content

AmbientJS

A Mobile Cross-Platform Actor Library for Multi-Networked Mobile Applications

  • Chapter
  • First Online:
Programming with Actors

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

  • 455 Accesses

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 to check access.

Access this chapter

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 EPUB and 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

Institutional subscriptions

Notes

  1. 1.

    http://browserify.org.

  2. 2.

    https://tinyurl.com/instrumentsUserGuide.

  3. 3.

    http://thrift.apache.org/.

  4. 4.

    https://www.xamarin.com/.

  5. 5.

    https://marmaladegamestudio.com/tech/.

References

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Book  MATH  Google Scholar 

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

    Article  Google Scholar 

  5. Deutch, P.: The eight fallacies of distributed computing (1994). https://blogs.oracle.com/jag/resource/Fallacies.html. Captured Feb 2017

  6. Eugster, P.T., Felber, P.A., Guerraoui, R., Kermarrec, A.: The many faces of publish/subscribe. ACM Comput. Surv. 35(2), 114–131 (2003)

    Article  Google Scholar 

  7. Eugster, P.T., Guerraoui, R., Damm, C.H.: On objects and events. SIGPLAN Not. 36(11), 254–269 (2001)

    Article  Google Scholar 

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

    Article  Google Scholar 

  9. Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)

    Article  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  14. Joseph, A.D., Tauber, J.A., Kaashoek, M.F.: Mobile computing with the Rover toolkit. IEEE Trans. Comput. 46(3), 337–352 (1997)

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

  20. Musolesi, M., Mascolo, C., Hailes, S.: EMMA: epidemic messaging middleware for ad hoc networks. Pers. Ubiquitous Comput. 10(1), 28–36 (2005)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Article  Google Scholar 

  25. Sun Microsystems: Java RMI specification (1998). http://java.sun.com/j2se/1.4.2/docs/guide/rmi/spec/rmiTOC.html

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

    Chapter  Google Scholar 

  27. Vinoski, S.: RPC under fire. IEEE Internet Comput. 9(5), 93–95 (2005)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

  29. World Wide Web Consortium: Simple Object Access Protocol (SOAP) 1.2 W3C Recommendation (2007). https://www.w3.org/TR/soap12//

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Elisa Gonzalez Boix .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics