Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3281278.3281282acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Reactive chatbot programming

Published: 04 November 2018 Publication History

Abstract

Chatbots are reactive applications with a conversational interface. They are usually implemented as compositions of client-side components and cloud-hosted services, including artificial-intelligence technology. Unfortunately, programming such reactive multi-tier applications with traditional programming languages is cumbersome. This paper introduces wcs-ocaml, a new multi-tier chatbot generator library designed for use with the reactive language ReactiveML. The paper explains our library with small didactic examples throughout, and closes with a larger case-study of a chatbot for authoring event-processing rules.

References

[1]
Amazon 2016. Alexa Skills Kit. Amazon. https://developer.amazon. com/alexa-skills-kit (Retrieved 08/2018).
[2]
I. Androutsopoulos, G. Ritchie, and P. Thanisch. 1995. Natural Language Interfaces to Databases – An Introduction. Natural Language Engineering 1, 1 (1995).
[3]
D. Bobrow, R. Kaplan, M. Kay, D. Norman, H. Thompson, and T. Winograd. 1977. GUS, a frame-driven dialog system. Artificial Intelligence 8, 2 (1977), 155–173.
[4]
F. Boussinot. 2010. Safe Reactive Programming: The FunLoft Language. Lambert Academic Publishing.
[5]
Business Rules Group 2003. The Business Rules Manifesto: The Principles of Rule Independence, Version 2.0. Business Rules Group. http://www. businessrulesgroup.org/brmanifesto.php (Retrieved 08/2018).
[6]
E. Cooper, S. Lindley, P. Wadler, and J. Yallop. 2006. Links: Web Programming Without Tiers. In Formal Methods for Components and Objects (FMCO). 266–296.
[7]
E. Czaplicki and S. Chong. 2013. Asynchronous Functional Reactive Programming for GUIs. In Conference on Programming Language Design and Implementation (PLDI). 411–422.
[8]
C. Elliott and P. Hudak. 1997. Functional Reactive Animation. In International Conference on Functional Programming (ICFP). 263–273.
[9]
D. Harel. 1987. StateCharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8, 3 (1987), 231–274.
[10]
Martin Hirzel, Louis Mandel, Avraham Shinnar, Jérôme Siméon, and Mandana Vaziri. 2017. I Can Parse You: Grammars for Dialogs. In Summit oN Advances in Programming Languages (SNAPL). 6:1–6:15.
[11]
IBM 2014. Operational Decision Manager Tutorial: Getting started with Decision Server Insights. IBM. https: //www.ibm.com/support/knowledgecenter/SSQP76_8.9.2/com. ibm.odm.itoa.tutorial/topics/itoa_tut_intro.html (Retrieved 08/2018).
[12]
IBM 2018. Overview of Watson Assistant. IBM. https://console.bluemix. net/docs/services/conversation/index.html (Retrieved 08/2018).
[13]
D. Kitchin, A. Quark, W. Cook, and J. Misra. 2009. The Orc Programming Language. In Proceedings of FMOODS/FORTE 2009. 1–25.
[14]
T. Kuhn. 2014. A Survey and Classification of Controlled Natural Languages. Computational Linguistics 40, 1 (2014), 121–170.
[15]
M. Linehan, S. Dehors, E. Rabinovich, and F. Fournier. 2011. Controlled English Language for Production and Event Processing Rules. In Conference on Distributed Event-Based Systems (DEBS). 149–158.
[16]
B. Lucas. 2000. VoiceXML for Web-based Distributed Conversational Applications. Commun. ACM 43, 9 (2000), 53–57.
[17]
L. Mandel, C. Pasteur, and M. Pouzet. 2015. ReactiveML, Ten Years Later. In Symposium on Principles and Practice of Declarative Programming (PPDP). 6–17.
[18]
M. McTear. 2002. Spoken dialogue technology: Enabling the conversational interface. Comput. Surveys 34, 1 (2002), 90–169.
[19]
L. Meyerovich, A. Guha, J. Baskin, G. Cooper, M. Greenberg, A. Bromfield, and S. Krishnamurthi. 2009. Flapjax: A Programming Language for Ajax Applications. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA).
[20]
A. Patil, K. Marimuthu, R. Niranchana, et al. 2017. Comparative study of cloud platforms to develop a Chatbot. International Journal of Engineering & Technology 6, 3 (2017), 57–61.
[21]
M. Pouzet. 2006. Lucid Synchrone, version 3. Tutorial and reference manual. Université Paris-Sud, LRI.
[22]
M. Serrano and G. Berry. 2012. Multitier Programming in Hop. Commun. ACM 55, 8 (Aug. 2012), 53–59.
[23]
Spring. 2018. Spring Expression Language (SpEL). https://docs.spring. io/spring-framework/docs/current/spring-framework-reference/ core.html#expressions (Retrieved 08/2018).
[24]
Mandana Vaziri, Olivier Tardieu, Rodric Rabbah, Philippe Suter, and Martin Hirzel. 2014. Stream Processing with a Spreadsheet. In European Conference on Object-Oriented Programming (ECOOP). 360–384.
[25]
J. Williams, N. Niraula, P. Dasigi, A. Lakshmiratan, C. Suarez, M. Reddy, and G. Zweig. 2015. Rapidly Scaling Dialog Systems with Interactive Learning. In International Workshop on Spoken Dialog Systems (IWSDS).
[26]
Mo Yu, Xiaoxiao Guo, Jinfeng Yi, Shiyu Chang, Saloni Potdar, Yu Cheng, Gerald Tesauro, Haoyu Wang, and Bowen Zhou. 2018. Diverse Few-Shot Text Classification with Multiple Metrics. arXiv preprint arXiv:1805.07513 (2018).

Cited By

View all
  • (2024) DSL ‐Driven Approaches and Metamodels for Chatbot Development: A Systematic Literature Review Expert Systems10.1111/exsy.13787Online publication date: 13-Nov-2024
  • (2023)Applying model-driven engineering to the domain of chatbots: The Xatkit experienceScience of Computer Programming10.1016/j.scico.2023.103032(103032)Online publication date: Oct-2023
  • (2022)Automatic Generation of Business Intelligence Chatbot for Organizations2022 27th International Computer Conference, Computer Society of Iran (CSICC)10.1109/CSICC55295.2022.9780490(1-5)Online publication date: 23-Feb-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
REBLS 2018: Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems
November 2018
70 pages
ISBN:9781450360708
DOI:10.1145/3281278
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 ACM 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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 November 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Chatbot
  2. reactive programming
  3. synchronous programming

Qualifiers

  • Research-article

Conference

SPLASH '18
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)40
  • Downloads (Last 6 weeks)3
Reflects downloads up to 18 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024) DSL ‐Driven Approaches and Metamodels for Chatbot Development: A Systematic Literature Review Expert Systems10.1111/exsy.13787Online publication date: 13-Nov-2024
  • (2023)Applying model-driven engineering to the domain of chatbots: The Xatkit experienceScience of Computer Programming10.1016/j.scico.2023.103032(103032)Online publication date: Oct-2023
  • (2022)Automatic Generation of Business Intelligence Chatbot for Organizations2022 27th International Computer Conference, Computer Society of Iran (CSICC)10.1109/CSICC55295.2022.9780490(1-5)Online publication date: 23-Feb-2022
  • (2021)Creating and migrating chatbots with congaProceedings of the 43rd International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion52605.2021.00030(37-40)Online publication date: 25-May-2021
  • (2021)Towards a model-driven approach for multiexperience AI-based user interfacesSoftware and Systems Modeling10.1007/s10270-021-00904-yOnline publication date: 2-Aug-2021
  • (2021)Model-Driven Chats: Enabling Chatbot Development for Non-technical Domain Experts Through Chat Flow Visualization and Auto-generationAdvances in Information and Communication10.1007/978-3-030-73100-7_71(1036-1050)Online publication date: 13-Apr-2021
  • (2020)Dependency Graph-based Reactivity for Virtual Environments2020 IEEE Conference on Virtual Reality and 3D User Interfaces Abstracts and Workshops (VRW)10.1109/VRW50115.2020.00052(246-253)Online publication date: Mar-2020
  • (2020)Model-Driven Chatbot DevelopmentConceptual Modeling10.1007/978-3-030-62522-1_15(207-222)Online publication date: 29-Oct-2020
  • (2019)Towards a Reactive Game Engine2019 SoutheastCon10.1109/SoutheastCon42311.2019.9020527(1-8)Online publication date: Apr-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media