skip to main content
10.1145/2699343.2699361acmconferencesArticle/Chapter ViewAbstractPublication PageshotmobileConference Proceedingsconference-collections
research-article

maybe We Should Enable More Uncertain Mobile App Programming

Published:12 February 2015Publication History

ABSTRACT

One of the reasons programming mobile systems is so hard is the wide variety of environments a typical app encounters at runtime. As a result, in many cases only post-deployment user testing can determine the right algorithm to use, the rate at which something should happen, or when an app should attempt to conserve energy. Programmers should not be forced to make these choices at development time. Unfortunately, languages leave no way for programmers to express and structure uncertainty about runtime conditions, forcing them to adopt ineffective or fragile ad-hoc solutions.

We introduce a new approach based on structured uncertainty through a new language construct: the maybe statement. maybe statements allow programmers to defer choices about app behavior that cannot be made at development time, while providing enough structure to allow a system to later adaptively choose from multiple alternatives. Eliminating the uncertainty introduced by maybe statements can be done in a large variety of ways: through simulation, split testing, user configuration, temporal adaptation, or machine learning techniques, depending on the type of adaptation appropriate for each situation. Our paper motivates the maybe statement, presents its syntax, and describes a complete system for testing and choosing from maybe alternatives.

References

  1. Badrinath, B., Fox, A., Kleinrock, L., Popek, G., Reiher, P., and Satyanarayanan, M. A conceptual framework for network and client adaptation. Mobile Networks and Applications 5, 4 (2000), 221--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Balan, R. K., Satyanarayanan, M., Park, S. Y., and Okoshi, T. Tactics-based remote execution for mobile computing. In Proceedings of the 1st international conference on Mobile systems, applications and services (2003), ACM, pp. 273--286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Challen, G., Haseley, S., Maiti, A., Nandugudi, A., Prasad, G., Puri, M., and Wang, J. The Mote is Dead. Long Live the Discarded Smartphone! In Proc. 15th Workshop on Mobile Systems and Applications (ACM HotMobile 2014) (Feb. 2014). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cuervo, E., Balasubramanian, A., Cho, D.-k., Wolman, A., Saroiu, S., Chandra, R., and Bahl, P. Maui: making smartphones last longer with code offoad. In Proceedings of the 8th international conference on Mobile systems, applications, and services (2010), ACM, pp. 49--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Gomez, L., Neamtiu, I., Azim, T., and Millstein, T. Reran: Timing-and touch-sensitive record and replay for android. In Software Engineering (ICSE), 2013 35th International Conference on (2013), IEEE, pp. 72--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., marc Loingtier, J., and Irwin, J. Aspect-oriented programming. In ECOOP (1997), SpringerVerlag.Google ScholarGoogle Scholar
  7. Lachenmann, A., Marron, P. J., Minder, D., and Rothermer, K. Meeting lifetime goals with energy levels. In ACM Conference on Embedded Networked Sensor Systems (SenSys'07) (November 2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Nandugudi, A., Ki, T., Nuessle, C., and Challen, G. Pocketparker: Pocketsourcing parking lot availability. In Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing (New York, NY, USA, 2014), UbiComp '14, ACM, pp. 963--973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Nandugudi, A., Maiti, A., Ki, T., Bulut, F., Demirbas, M., Kosar, T., Qiao, C., Ko, S. Y., and Challen, G. Phonelab: A large programmable smartphone testbed. In Proc. 1st International Workshop on Sensing and Big Data Mining (SenseMine 2013) (November 2013). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Noble, B. D., Satyanarayanan, M., Narayanan, D., Tilton, J. E., Flinn, J., and Walker, K. R. Agile application-aware adaptation for mobility. In SOSP '97: Proceedings of the sixteenth ACM symposium on Operating systems principles (Saint Malo, France, 1997), pp. 276--287. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Sorber, J., Kostadinov, A., Brennan, M., Garber, M., Corner, M., and Berger, E. D. Eon: A Language and Runtime System for Perpetual Systems. In ACM Conference on Embedded Networked Sensor Systems (SenSys'07) (November 2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. van Schaik, S. J., Olteanu, D., and Fink, R. Enframe: A platform for processing probabilistic data. arXiv preprint arXiv:1309.0373 (2013).Google ScholarGoogle Scholar

Index Terms

  1. maybe We Should Enable More Uncertain Mobile App Programming

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        HotMobile '15: Proceedings of the 16th International Workshop on Mobile Computing Systems and Applications
        February 2015
        152 pages
        ISBN:9781450333917
        DOI:10.1145/2699343

        Copyright © 2015 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 12 February 2015

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        HotMobile '15 Paper Acceptance Rate23of85submissions,27%Overall Acceptance Rate96of345submissions,28%
      • Article Metrics

        • Downloads (Last 12 months)1
        • Downloads (Last 6 weeks)0

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader