This article concludes and summarizes our series of articles on the design of the SmartCLIDE IDE. Each section will point you to the corresponding article end you are welcome to read the full deliverable “D3.1 Early SmartCLIDE IDE Design” explaining in detail all the aspects of the project approach.
The main objective of this series was to report on the design of the three main SmartCLIDE framework components, namely User Interface (UI), Deep Learning Engine (DLE), and the Backend Components.
The first article of the series described the design progress of the main components of the SmartCLIDE IDE User Interface integrating all the functionalities provided by SmartCLIDE technologies and exposing them as a development experience to developers.
The front-end user interface was structured considering the three main pillars for the SmartCLIDE IDE front-end which represent the main types of projects that can be created:
- Services – applications with a well-defined interface developed independently of external entities (e.g., other services).
- Workflows – consist of the graphical representation of a system through diagrams, where each node of the diagram represents a task than can be performed by a service.
- Deployments – configurations of deployments of services or workflows that run on remote environments (e.g., Amazon Web Services).
Deep Learning Engine
The second article of this series provided an overview of the Deep Learning Engines (DLE) components. These subcomponents are responsible for supporting AI-based smart assistant features of the IDE. The DLE component of SmartCLIDE aims to provide some intelligent features directly in the service classification, code generation, and predictive modelling wizard subcomponents. But in addition, it also contains subcomponents responsible for AI models to service the Smart Assistant responsibilities.
The rest of the articles of this series presented the early design approach of the core backend components from the technological perspective. You can retrieve:
- The choice made on the Source Code Repository and the reasons of this choice,
- How services are discovered, created or managed with:
- The Discovery of Services and Resources backend module. This module is responsible for collecting data on services discovered through the use of crawlers, maintaining an internal registry of services, as well as serving queries/requests for services based on service usage details and service code requests.
- The Service Creation subcomponent is responsible for handling the creation of a new service (creation, composition and testing). It creates the required infrastructure for the development process by automatically creating and configuring functions such as version control and continuous integration.
- The Run-time Monitoring & Verification (RMV) module. When services are created in SmartCLIDE, the RMV may be employed to generate a runtime monitor for the service. Runtime monitors supplement, at run time, other quality assurance measures such as testing and verification that are employed at development time.
- The Security Assurance module is handled by 2 mechanisms: the Vulnerability Prediction and Quantitative Security Assessment.
- The Message Oriented Middleware (MOM) component is responsible for the inter-component communication with the SmartCLIDE platform. The MOM is designed and implemented as a message broker which is a piece of software that enables applications, services, and systems to communicate with one another to exchange information.
- The User Access Management (UAM), also known as identity and access management (IAM), is defining and managing the roles and access privileges of individual network entities (users and devices) to a variety of cloud and on-premises applications.
- The Deployment workflow and its thrird-party services, and the Continuous Integration/Continuous Deployment (CI/CD) infrastructure.
As mentioned in each article, this series is extracted from the public deliverable entitled “D3.1 – Early SmartCLIDE Cloud IDE Design“. This series was created to attract different readers on different topics knowing this deliverable is covering a wide range of subjects.