skip to main content
10.1145/3079368.3079399acmotherconferencesArticle/Chapter ViewAbstractPublication PagesprogrammingConference Proceedingsconference-collections
research-article

Exploratory Development of Data-intensive Applications: Sampling and Streaming of Large Data Sets in Live Programming Environments

Authors Info & Claims
Published:03 April 2017Publication History

ABSTRACT

Business applications are usually data-intensive. The process of designing and implementing such applications benefits from working with realistic data to sharpen requirements and discover pitfalls. However, such data is usually quite extensive and the feedback cycles during programming and design activities can become long and distracting. As a result, programmers might prefer abstract thinking and mental simulations over working with concrete, realistic data. We propose a new approach supporting live programming, with immediate feedback and explorable runtime data, for the domain of data-intensive business applications on top of relational databases. With the integration of streamed access to sampled data, we can employ productive traits of a live programming environment such as Squeak/Smalltalk, which is not optimized for the processing of huge amounts of data and is hence not well-suited for such tasks. We describe two representative scenarios and also discuss limitations by putting our approach in relation to the current development of business applications.

References

  1. Reudiger Buck-Emden and Jurgen Galimow. 1996. SAP R 3 System: A Client/Server Technology (first edition). Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Kerry Shih-Ping Chang and Brad A. Myers. 2014. Creating Interactive Web Data Applications with Spreadsheets. In Proceedings of the ACM Symposium on User Interface Software and Technology, UIST 2014. 87--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Luke Church, Mariana Mărăşoiu, and Alan Blackwell. 2016. Sintr: Experimenting with liveness at scale. (July 2016). https://www.cl.cam.ac.uk/~mcm79/pdf/2016-LIVE-Church-Marasoiu-Blackwell.pdf Proceedings of the second LIVE workshop on live programming systems (http://2016.ecoop.org/track/LIVE-2016).Google ScholarGoogle Scholar
  4. Danyel Fisher, Badrish Chandramouli, Rob DeLine, Jonathan Goldstein, Andrei Aron, Mike Barnett, John Platt, James Terwilliger, and John Wernsing. 2014. Tempe: An Interactive Data Science Environment for Exploration of Temporal and Streaming Data. Technical Report. https://www.microsoft.com/en-us/research/publication/tempe-an-interactive-data-science-environment-for-exploration-of-temporal-\and-streaming-data/Google ScholarGoogle Scholar
  5. Heinz Forsthuber and Jrg Siebert. 2009. SAP ERP Financials User's Guide. SAP PRESS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Adele Goldberg and David Robson. 1983. Smalltalk-80: The Language and its Implementation. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Christopher M. Hancock. 2003. Real-Time Programming and the Big Ideas of Computational Literacy. Ph.D. Dissertation. Massachusetts Institute of Technology. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kyung-Kwon Hong and Young-Gul Kim. 2002. The critical success factors for ERP implementation: an organizational fit perspective. Information & Management 40, 1 (2002), 25--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and Alan C. Kay. 1997. Back to the Future: The Story of Squeak - A Usable Smalltalk Written in Itself. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages & Applications (OOPSLA) 1997. 318--326. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Dan Ingalls, Krzysztof Palacz, Stephen Uhler, Antero Taivalsaari, and Tommi Mikkonen. 2008. The Lively Kernel: A Self-supporting System on a Web Page. In Proceedings of the Workshop on Self-Sustaining Systems (S3) 2008. Springer, 31--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Jun Kato, Takeo Igarashi, and Masataka Goto. 2016. Programming with Examples to Develop Data-Intensive User Interfaces. IEEE Computer 49, 7 (2016), 34--42.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. David Kitchin, Adrian Quark, William R. Cook, and Jayadev Misra. 2009. The Orc Programming Language. In Proceedings of FMOODS/FORTE 2009 (Lisbon, Portugal, 9--11 Jun 2009) (Lecture Notes in Computer Science), David Lee, Antónia Lopes, and Arnd Poetzsch-Heffter (Eds.), Vol. 5522. Springer, 1--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Thor Magnusson. 2014. Herding Cats: Observing Live Coding in the Wild. Computer Music Journal 38, 1 (2014), 8--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Erik Meijer, Brian Beckman, and Gavin M. Bierman. 2006. LINQ: reconciling object, relations and XML in the .NET framework. In Proceedings of the Conference on Management of Data (SIGMOD) 2006. 706. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Microsoft Corporation. 2017. Excel. (3 Feb. 2017). https://products.office.com/excelGoogle ScholarGoogle Scholar
  16. Bonnie A. Nardi. 1993. A Small Matter of Programming: Perspectives on End User Computing. MIT Press, Cambridge, MA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Donald A. Norman and Stephen W. Draper. 1986. User Centered System Design. Lawrence Erlbaum Associates, Inc., Publishers.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Hasso Plattner and Bernd Leukert. 2016. The In-Memory Revolution: How SAP HANA Enables Business of the Future. Springer International Publishing. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Patrick Rein, Stefan Lehmann, Toni, and Robert Hirschfeld. 2016. How Live Are Live Programming Systems?: Benchmarking the Response Times of Live Programming Environments. In Proceedings of the Programming Experience Workshop (PX/16) 2016 (PX/16). ACM, New York, NY, USA, 1--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. August-Wilhelm Scheer and Frank Habermann. 2000. Enterprise Resource Planning: Making ERP a Success. Commun. ACM 43, 4 (April 2000), 57--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Ben Shneiderman, Catherine Plaisant, Maxine Cohen, and Steven Jacobs. 2009. Designing the User Interface: Strategies for Effective Human-Computer Interaction (international edition of 5th revised edition ed.). Pearson, Upper Saddle River, New Jersey, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Smallthought Systems Inc. 2017. DabbleDB. (3 Feb. 2017). http://blog.dabbledb.com/Google ScholarGoogle Scholar
  23. Deborah Szebeko and Lauren Tan. 2010. Co-designing for Society. AMJ 3, 9 (2010), 580--590.Google ScholarGoogle ScholarCross RefCross Ref
  24. Marcel Taeumel, Michael Perscheid, Bastian Steinert, Jens Lincke, and Robert Hirschfeld. 2014. Interleaving of Modification and Use in Data-Driven Tool Development. In Proceedings of the ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward!) 2014. ACM, 185--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Steven L. Tanimoto. 2013. A perspective on the evolution of live programming. In Proceedings of the 1st International Workshop on Live Programming, LIVE 2013. San Francisco, California, USA, 31--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. David Ungar, Henry Lieberman, and Christopher Fry. 1997. Debugging and the Experience of Immediacy. Commun. ACM 40, 4 (1997), 38--43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. David Ungar and Randall B. Smith. 1987. Self: The Power of Simplicity. In Proceedings of Object-Oriented Programming, Systems, Languages & Applications (OOPSLA) 1987. ACM, New York, New York, USA, 227--242. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Mandana Vaziri, Olivier Tardieu, Rodric Rabbah, Philippe Suter, and Martin Hirzel. 2014. Stream Processing with a Spreadsheet. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP) 2014. Springer, 360--384. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Exploratory Development of Data-intensive Applications: Sampling and Streaming of Large Data Sets in Live Programming Environments

      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 Other conferences
        Programming '17: Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming
        April 2017
        193 pages
        ISBN:9781450348362
        DOI:10.1145/3079368

        Copyright © 2017 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: 3 April 2017

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader