dFlow: A Domain Specific Language for the Rapid Development of open-source Virtual Assistants

Nikolaos Malamas,Konstantinos Panayiotou,Andreas L. Symeonidis
2023-10-03
Abstract:An increasing number of models and frameworks for Virtual Assistant (VA) development exist nowadays, following the progress in the Natural Language Processing (NLP) and Natural Language Understanding (NLU) fields. Regardless of their performance, popularity, and ease of use, these frameworks require at least basic expertise in NLP and software engineering, even for simple and repetitive processes, limiting their use only to the domain and programming experts. However, since the current state of practice of VA development is a straightforward process, Model-Driven Engineering approaches can be utilized to achieve automation and rapid development in a more convenient manner. To this end, we present \textit{dFlow}, a textual Domain-Specific Language (DSL) that offers a simplified, reusable, and framework-agnostic language for creating task-specific VAs in a low-code manner. We describe a system-agnostic VA meta-model, the developed grammar, and all essential processes for developing and deploying smart VAs. For further convenience, we create a cloud-native architecture and expose it through the Discord platform. We conducted a large-scale empirical evaluation with more than 200 junior software developers and collected positive feedback, indicating that dFlow can accelerate the entire VA development process, while also enabling citizen and software developers with minimum experience to participate.
Software Engineering
What problem does this paper attempt to address?
The paper aims to address several key issues in the development of Virtual Assistants (VA): 1. **High demand for expertise**: Existing frameworks and tools require users to have specialized knowledge in Natural Language Processing (NLP) and software engineering, making even simple tasks difficult to avoid complex operational processes. 2. **Low level of automation**: Although there are various frameworks available, most still require a significant amount of manual configuration, and commercial frameworks may lead to vendor lock-in, limiting openness and flexibility. 3. **Simplifying the development process**: By adopting a Model-Driven Engineering (MDE) approach, the paper proposes a text-based Domain-Specific Language (DSL) called dFlow to create task-specific virtual assistants in a simplified, reusable, and system-independent manner. The main contributions of the paper include: - Proposing a cloud-based development and deployment platform that allows citizen developers without specialized programming skills to participate in the development of virtual assistants. - Conducting a large-scale empirical evaluation involving over 200 junior software developers, which demonstrated that dFlow can significantly accelerate the entire development process and allow the least experienced developers to participate. Through these methods, the researchers aim to lower the technical barriers to virtual assistant development, enabling more people to quickly build and deploy intelligent virtual assistants using open-source tools.