# Enhancing Conversational Agent Development Through a Semi-Automatization Development Proposal
## 2 Fundamentals
### Xatkit: A Multimodal Low-Code Chatbot Development Framework  
The Xatkit [20] Multimodal Low-Code Chatbot Development Framework, previously known as Multi-Platform Chatbot Modeling and Deployment with the Jarvis Framework, is a framework designed for the development of low-code chatbots. The proposal referenced in [21] is another of the most frequently cited in the literature. This is an open-source framework for the development of MDD-based conversational agents. The proposed methodology offers a fundamental structure that must be established for each development undertaking. Xatkit offers significantly enhanced flexibility in the design and implementation of conversational agents compared to platform-restricted tools such as Dialogflow. As an open-source framework, Xatkit provides complete access to its source code, allowing extensive customization and modification, and supports a customized development process adaptable to specific project needs. This flexibility extends to automated deployment and management of conversation logic across various platforms, facilitating changes without requiring alterations to the underlying code, a key advantage when switching NLP providers, unlike the constraints imposed by tools such as Dialogflow. Using MDD strategies, Xatkit defines platform-agnostic agents, ensuring adaptability throughout development and enabling the independent evolution of components due to its modular architecture, thus facilitating seamless integration of new features and updates. This combination of customization, flexible development, modular design, and simplified platform switching without altering conversational logic makes Xatkit particularly well suited for complex and sophisticated conversational agent projects and justifies its selection over tools such as Dialogflow in this work. The Xatkit metamodel facilitates the development of conversational agents by providing a conceptual framework integrated with Java, a widely used programming language. This integration allows developers to leverage existing Java tools and libraries during the creation, debugging, and testing of chatbots, simplifying the development process. The metamodel's extensibility allows integration with various NLP providers and external services, providing a standard framework for defining chatbot components and ensuring manageable, scalable systems. Key components include the following:  
1. Dialog Flows: Define the conversational paths and decisions during user interactions. 2. Intents: Capture the user's goals or purposes, such as seeking information or executing actions. 3. Entities: Represent specific data points (e.g., dates, locations) necessary for understanding user input. 4. Actions: Specify the chatbot's responses to inputs, including database queries or API calls. 5. Contexts: Maintain the conversation state, enabling contextually aware interactions. 6. Slots: Act as placeholders for user-provided values like dates or times. 7. Variables: Store temporary data for dynamic interactions. 8. User Inputs and Outputs: Cover the interaction modes (e.g., text, voice) and responses (e.g., text, images). Xatkit's Platform package delineates the functionalities of novel platforms, enabling the definition of executable actions and the emission of events based on the provider definition (class 'Provider Definition'). These capabilities are explicitly employed within the execution model to facilitate platform interaction. As illustrated in Figure 1, initial platform definition (class 'Platform') is crucial, requiring a name attribute and a path used by the Xatkit Runtime (the event-driven execution engine responsible for the deploymentand management of chatbots) to establish a connection between the model and the implementation of the platform. Furthermore, a set of actions (class 'Action Definition'), each requiring parameterized input (class 'Parameter' with a key attribute), must be defined for each path.