The rapid rate of technological and digital advancement requires the building of related software, which is a time-consuming process. SmartCLIDE includes the advantages of Artificial Intelligence (AI) and Cloud Computing. These technologies can help the developer overcome the complexities associated with multi-platform software products.
Merging artificial intelligence with existing IDE functionality can bring new opportunities in the most involved area in software development tools. This improvement can include improving current IDE features, such as code suggestion or code search, resorting to recommender systems to provide more accurate results to developers. Moreover, With the advent of online code repositories and improved data collection, it has become possible to add more intelligent functionalities in most of the automation tasks, such as service classification.
Concerning Intelligent software engineering, theoretical [1][2] and empirical [3][4] works have shown that software intelligence has been widely used in software development. Accordingly, SmartCLIDE has proposed the DLE component, which is responsible for feeding smart Assistants by intelligent models. DLE subcomponent responsibility can fall into the following categories:
- Context monitoring specification in order to provide suggestions
- AI code completion for generating one-line code using language modelling
- The acceptance test set suggestion for giving the user a set of tests defined in Gherkin format.
- Classification of Web services based on their meta-data in order to reduce service selection search space
- Code repository suggestion is responsible for making suggestions for the user to facilitate commits to the git repository.
- Service deployment environment recommendations in order to produce suggestions for the sizing of the deployment environment.
- BPMN Items suggestions aim to help automation in selecting the next node/item in the BPMN workflow
The key functionalities of the subcomponents of the DLE are presented in the following table:
Component name | Description |
---|---|
Service Classification Model | The Service classification sub-component is responsible for classifying new services. There are two important resources for new services. First, the newly created services are created by SmartCLIDE users using the service creation module. Second, the new observation by service discovery module. |
Template-based agent Code Generation | This subcomponent is responsible for generating code based on internal templates. The API returns related code snippets based on templates to implement the workflow represented in BPMN in low code. The first version of this API is designed for finding Java codes. |
Code Generation Auto-complete Model | This sub-component is responsible for one line automatic code generation based on DL learning model, which is trained by available public source codes. |
Code Repository Suggestions Model | This wizard is responsible for generating suggestions to the user to facilitate commits to the git repository. Receiving information from the monitoring system, and with the help of the DLE, it will determine the best time to commit to the git repository. |
Deployment environment suggestions Model | This sub-component is responsible for generating suggestions for the sizing of the deployment environment |
Acceptance test Suggestions Model | The acceptance test set suggestion system, based on collaborative filtering techniques, is responsible for providing the user with a set of tests defined in Gherkin format to be applied to the workflow defined in the BPMN and help verify if the expectations are met |
BPMN Items suggestions | The BPMN Items suggestion system consists of automatically selecting the next node/item in the workflow being modeled during service composition in BPMN format. |
Predictive Model tool API | This wizard, as a subcomponent of the DLE in SmartCLIDE, is accessible through a RESTful API in several stages, structured in an ideally linear flow that in practice allows iterative backtracking. Its objective is to guide the user in the creation of a predictive model. |
If you wish to learn more about this aspect of the SmartCLIDE project, we invite you to read the public deliverable entitled “D3.1 – Early SmartCLIDE Cloud IDE Design“.
- [1] “JAXEnter, What Theia is all about.” [Online]. Available: https://jaxenter.com/theia-ide-efftinge-interview-134467.html
- [2] “What are Message Brokers?,” Aug. 11, 2021. https://www.ibm.com/cloud/learn/message-brokers (accessed Sep. 04, 2021).
- [3] “What is Usability Testing?,” The Interaction Design Foundation. https://www.interaction-design.org/literature/topics/usability-testing (accessed Sep. 07, 2021).
- [4] “JUnit 5.” https://junit.org/junit5/ (accessed Sep. 07, 2021).
No responses yet