Model-Driven Development of Chatbot Microservices
摘要
Conversational agents and chatbots are gaining prominence in software systems by providing functionalities beyond traditional GUIs. These intelligent assistants facilitate software development tasks such as deployment, error handling, and scheduling. However, chatbot development remains challenging due to productivity, reusability, scalability, and maintainability issues. We propose a model-driven methodology for chatbot development in four phases: computation-independent model construction, platform-independent model construction, platform-specific model construction, and code generation. The methodology enhances productivity by automating code generation and improves reusability through computation-independent and platform-independent definitions. Additionally, it introduces a novel approach to categorizing, enumerating, parameterizing, and representing user intents. We obtain data for training natural language understanding services and leverage microservice architecture and architectural design patterns to enhance scalability, maintainability, and interoperability. The methodology has been evaluated based on three groups of criteria: criteria relevant to the generic software development lifecycle, criteria specific to model-driven development, and criteria relevant to chatbots.