Model-driven assembled low-code development system and method
By using a model-driven, modular low-code development system, and through model-based encapsulation and visualization tools, the system addresses the lack of application template management in existing systems, enabling rapid development and efficient quality control for non-professional developers.
Patent Information
- Application Number
- CN202511105215.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-07
- Publication Date
- 2025-11-18
AI Technical Summary
Existing low-code development systems lack model-driven modular development, cannot provide modular application template management functions, and cannot support visual editing and online preview of views before code generation, making it difficult to meet the needs of non-professional developers.
Introducing a model-driven, modular low-code development system, this system encapsulates business elements into reusable development model libraries and provides visual modeling tools to support graphical development and assembly. This decouples business requirements from technical implementation and enables flexible combination of components using standardized interfaces.
It lowers the technical threshold, making it easy for non-professional developers to get started, improving development efficiency and quality, and decoupling business requirements from technical implementation, thus improving development efficiency and quality.
Smart Images

Figure CN120973352A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of software development in computer technology, specifically to a model-driven, assembly-based low-code development system and method. Background Technology
[0002] With the advancement of enterprise digital transformation, the demand for software has increased dramatically. Traditional software development methods are costly and time-consuming, making it difficult to meet the rapidly changing business needs of enterprises. Low-code development technology has emerged to address this need, enabling non-specialist developers to participate in the software development process and complete business applications with minimal or even zero code, significantly improving development efficiency and reducing development costs.
[0003] From the perspective of the overall evolution of technical architecture, it has evolved from monolithic architecture and service-oriented architecture to the next-generation software architecture (in 2021, Gartner proposed modular applications as the next-generation software architecture). Modular applications are software systems built based on the logic of "component-based decomposition - standardized encapsulation - modular assembly". Its core idea is to decompose complex applications into reusable independent components (such as user interface modules, business logic modules, data processing modules, etc.), and achieve flexible combination between components through standardized interfaces, thereby quickly building or iterating application systems like "building blocks". Compared with traditional monolithic applications, modular applications emphasize "reusability", "flexibility" and "agility". Its technical implementation often relies on low-code platforms, model-driven development (MDA) and microservice architecture, which shifts the development process from "coding from scratch" to "component assembly", significantly shortening the delivery cycle.
[0004] Model-driven development (MDT) is a software architecture approach that divides the software development process into two phases: model-driven and code generation. In the model-driven phase, developers use visual modeling tools to create business models that describe the system's functions, data, and processes. In the code generation phase, corresponding code is automatically generated based on the business models. Model-driven modular low-code development, based on model-driven principles, encapsulates business elements into reusable development model libraries and provides visual modeling tools. This allows developers to manipulate models to complete software development, decoupling business requirements from technical implementation.
[0005] Visual development technology is a crucial support for model-driven, modular, low-code development. Through visual designers, developers can develop and assemble models graphically, eliminating the need for extensive coding. This interactive approach lowers the technical barrier, making the development process more intuitive and flexible, allowing even non-specialist developers to easily get started. Furthermore, visual development technology supports real-time preview and adjustments, facilitating timely problem identification and resolution, thus improving development efficiency and quality.
[0006] However, there is currently a lack of model-driven, modular low-code development systems that provide modular application template management capabilities, enable rapid generation of front-end and back-end code for application functional modules through models and scenario-based templates, support visual editing and online preview of views before code generation, and provide reusable models for code generation. Summary of the Invention
[0007] This invention provides a model-driven, modular low-code development system and method. It introduces model-driven, modular low-code development by encapsulating business elements into reusable development model libraries and providing visual modeling tools. This allows developers to complete software development by manipulating models, decoupling business requirements from technical implementation. Modular application development breaks down complex applications into reusable, independent components, enabling flexible combination of components through standardized interfaces for rapid construction or iteration of application systems. The visual designer allows developers to develop and assemble models graphically, eliminating the need for extensive coding, lowering the technical barrier, and making the development process more intuitive and flexible, allowing even non-professional developers to easily get started. Furthermore, visual development technology supports real-time preview and adjustment, facilitating timely problem identification and resolution by developers, improving development efficiency and quality.
[0008] The technical solution of this invention is:
[0009] A model-driven, assembly-based low-code development system includes a source model management component, an application assembly component, a template library component, and a model marketplace component.
[0010] The source model management section is implemented as follows: The standard library module manages unified standard data for application development. It establishes business domains, attribute categories, attribute libraries, and model libraries based on a unified standard, according to the abstract description of the business domain. This includes the maintenance and management of business domains and attribute categories, as well as the definition and application of attribute and model libraries. The object modeling module provides architects or designers with object modeling capabilities for application development. It offers functions for defining and managing attributes and models based on the business models in the source model standard library, and can manage the business domain categories, attribute categories, attribute libraries, and model library data in the standard library module.
[0011] The application assembly section is implemented as follows: The project management module manages project-related information, including basic project information and maintaining related configuration information; the application management module provides application information under the project, including application creation, editing, and viewing of project templates and operation logs, as well as application-related configuration functions, including environment variables for application code generation, application code templates, application module and version management; the object modeling module adopts a model-driven development model, organizing model data according to a module tree, using business objects as the design and development entry point for application services, parameter objects, and data model development, supporting wizard-driven development through databases, entity classes, source models, and other methods. The system completes model creation and derivation, defining application business objects, application services, parameter objects, data models, and related attributes. The object initialization module provides a graphical code generation configuration wizard for already created business objects. The code generation template includes project code generation and module code generation. Project code generation is used for online generation of application initialization project code, supporting generated environment variables. Simultaneously, it generates module code for modules that have already completed object modeling. The module code generation function provides a wizard-style generation page, allowing users to select the business object to be generated, the application to be generated, and configure the application's code template to complete code generation based on the application template.
[0012] The template library is implemented as follows: the project template management module provides maintenance and management of project templates, and provides a unified front-end and back-end project template definition for applications; the code template management module provides maintenance and management of templates required for front-end and back-end code generation; and the view template management module is used to generate the schema for the visual view designer.
[0013] The model marketplace is implemented as follows: The model management module provides management of shared and published application models, displayed in a card-style list format. It supports display by application scenario, product, and function, sorting by publication time and number of applications, fuzzy search by project name, viewing all business models of published projects according to project module structure, and viewing project view model function previews or introduction information previews according to the menu structure defined when the project is published. The model reuse module implements the reuse function of shared models. Users can directly copy the model of the current project to their own project by reusing the model.
[0014] A model-driven, assembly-based low-code development method, executed based on the aforementioned model-driven, assembly-based low-code development system, includes:
[0015] Step S110: Source model management, in which the source model standard library manages the unified standard data for attribute development applications, and object modeling manages the application development modeling data. The architect or designer extends the attributes and models based on the business model of the source model standard library to build the application model. The unified standard library is used to solve the uniqueness, integrity, validity and traceability of the data.
[0016] Step S120: Application assembly, in which designers or developers, according to the application project, select the applicable project template through the application generation wizard, select the technical or business components required for the application based on the component list provided by the project template, and complete the creation of the application;
[0017] Step S130: Object modeling, where the model established based on the source model management in step S110, through the application assembled in step S120, selects the layout template of the application module, and through a visual interface, quickly completes the configuration of the application module and automatically completes the creation of the service model, data model and parameter model.
[0018] Step S140: Code generation, wherein the application created in step S120 completes the online generation of application project code according to configuration parameters and project template; based on the object model created in step S130, online generation or preview of template-based code is achieved through a generation guide;
[0019] Step S150: Model release, in which the application assembled in step S120 and the object model created in step S130 are released to the model sharing market after selecting the application category and sharing scope, and reused in the model market after being reviewed by the architect.
[0020] The present invention has the following advantages compared with the prior art:
[0021] This invention introduces model-driven, modular low-code development. By establishing a standard library of source models, it ensures application development is based on unified standard data specifications and standards, effectively solving the problems of data uniqueness, integrity, validity, and traceability in application development. By encapsulating business elements into models, a reusable development model library is formed, and visual modeling tools are provided, enabling developers to complete software development by manipulating models, thus decoupling business requirements from technical implementation. Modular application development breaks down complex applications into reusable independent components, enabling flexible combination of components through standardized interfaces, and rapid construction or iteration of application systems. Through a visual designer, developers can develop and assemble models graphically, eliminating the need for extensive coding, lowering the technical threshold, and making the development process more intuitive and flexible, allowing even non-professional developers to easily get started. Furthermore, visual development technology supports real-time preview and adjustment, facilitating developers to promptly identify and resolve problems, improving development efficiency and quality. Attached Figure Description
[0022] Figure 1 This is a functional architecture diagram of the model-driven assembly-based low-code development system of the present invention;
[0023] Figure 2 A logic diagram for generating the code of this invention. Detailed Implementation
[0024] To describe the present invention more specifically, the technical solution of the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0025] Figure 1 This is a functional architecture diagram of the model-driven, assembly-based low-code development system of this invention. Figure 1 As shown, the system mainly includes: a source model management section, an application assembly section, a template library section, and a model marketplace section. The source model management section includes: a standard library and an object modeling module; the application assembly section includes: a project management module, an application management module, an object modeling module, an object initialization module, and a code generation module; the template library section includes: an engineering template management module, a code template management module, and a view template management module; and the model marketplace section includes: a model management module and a model reuse module.
[0026] The source model management section is implemented as follows: The standard library module manages unified standard data for application development. It establishes business domains, attribute categories, attribute libraries, and model libraries based on a unified standard, according to the abstract description of the business domain. This includes the maintenance and management of business domains and attribute categories, as well as the definition and application of attribute and model libraries. The object modeling module provides architects or designers with object modeling capabilities for application development. It offers definition and management functions for attributes and models based on the business models in the "source" model standard library, and can manage the business domain categories, attribute categories, attribute libraries, and model library data from the standard library module.
[0027] The application assembly section is implemented as follows: The project management module manages project-related information, including basic project information such as project name, code, and responsible person. It also maintains project-related configuration information, including project members, the database used by the project, and the project's code repository. The application management module provides application information under the project, including application creation (adding new applications), editing, and viewing project templates and operation logs. Application creation and editing support selecting different types of project templates, configuring the application's code repository, and selecting application-related business and technical components. It also provides application-related configuration functions, including environment variables for application code generation, application code templates, application module management, and application version management. The object modeling module adopts a model-driven development model, organizing model data in a module tree manner. It uses business objects as the design and development entry point to develop application services, parameter objects, and data models. It supports wizard-driven model creation and derivation through various methods, including databases, entity classes, and source models. It is the core of model-driven low-code design and development, enabling the definition of application business objects, application services, parameter objects, data models, and related attributes. Application services, parameter objects, and data models can be automatically managed by business objects or custom-created. It supports batch addition of business objects from databases, entity classes, and source models, and also supports graphical display of business object models. The object initialization module provides a graphical code generation configuration wizard for already created business objects. Users can select a layout template for the application module (such as a single-table list, tree table, master-child table, etc.) and configure layout template parameters, such as support for workflows, attachments, large data export / import, pop-up form window size, form style, child table association configuration, and page configuration. The page configuration provides tabular field information configuration, mainly including form, view, and field information configuration, such as required, unique, log, form control type, number of columns, field validation, default value, list display, background style, alignment, quick query, advanced query, matching method, import / export, etc. After initialization, the front-end view generates the corresponding view model, supporting visualization in the visual designer. Figure 2The design and online preview allow the generated view to be incorporated into the view code. The code generation template includes project code generation and module code generation. Project code generation generates the application's initialization project code online, supporting the generation of environment variables (such as version number, author information, etc.). Simultaneously, modules with completed object modeling can be selected to generate their code synchronously. Module code generation provides a wizard-style page; by selecting the business object to be generated, the application to be generated, and configuring the application's code template, code generation based on the application template can be completed. Both project code generation and module code generation support synchronous and asynchronous generation methods, and the generated results can be previewed online.
[0028] The template library is implemented as follows: The project template management module provides maintenance and management of project templates, offering unified front-end and back-end project template definitions for applications. This includes template creation, quick initialization import, template-related component configuration, project template variable set definition, and code template association functionality. The code template management module provides template maintenance and management required for front-end and back-end code generation. Templates are language-independent and support template maintenance for any language. The view template management module generates the schema (JSON) for the visual view designer. Based on the layout template definition and initialization parameters, it can quickly generate the corresponding view schema, supporting custom extensions. The view template management module provides a unified definition of view templates and supports standard templates and macro-type template management.
[0029] The model marketplace is implemented as follows: The model management module provides management of shared application models, displayed in a card-based list format. It supports categorization by application scenario, product, and function, sorting by release time and application frequency, fuzzy search by project name, and viewing all business models of a released project (including basic model information, model attributes, relationships, database tables, form models, view models, and API models) according to the project's module structure. It also supports viewing previews of project view models or their descriptions based on the menu structure defined during project release. The model reuse module enables the reuse of shared models. Users can directly copy models from the current project to their own project (e.g., "My Projects"). The copied content includes project information, module structure, basic model information, model attributes, model relationships, database table models, form models, view models, and API models.
[0030] This invention provides a model-driven, assembly-based low-code development method, comprising:
[0031] Step S110: Source model management, where the source model standard library is used to manage unified standard data for attribute development applications, and object modeling manages application development modeling data. Architects or designers extend attributes and models based on the business models in the source model standard library to build application models, and use the unified standard library to solve the uniqueness, integrity, validity, and traceability of data.
[0032] The source model management classifies attributes according to business, purpose, function or characteristics. It describes the attribute definition of basic elements according to the classification, including the element's name, code, type, constraints, default value and other attributes. According to business abstraction, the model definition is realized through the defined attributes. The model attributes contain business attribute information. They can directly inherit from the source model or parent model, or define custom attributes, and present the model and model attributes in a structured way.
[0033] Step S120: Application assembly, in which designers or developers, according to the application project, select the applicable project template through the application generation wizard, select the required technical or business components according to the component list provided by the project template, and complete the creation of the application.
[0034] Among them, the application assembly project template supports front-end or back-end project templates and provides dynamic configuration management of the technical or business components associated with the project template.
[0035] The application generation wizard generates the application's basic project code based on the application's associated project template, and can generate selected components into the application's component dependencies according to the application configuration parameters.
[0036] Step S130: Object modeling, where the model created by the source model management module in step S110, through the application assembled in step S120, selects the layout template of the application module, and quickly completes the configuration of the application module through a visual interface, and automatically completes the creation of the service model, data model and parameter model.
[0037] Among them, object modeling provides modeling methods based on source models, database tables, and entity class objects; it provides dynamic management and effect preview functions for dynamic layout templates; and it can automatically manage service models, data models, and parameter models based on object models.
[0038] Step S140: Code generation, wherein the application created in step S120 completes the online generation of application project code according to configuration parameters and project template; based on the model created in step S130, the template-based code is generated or previewed online through a wizard generation method.
[0039] The code generation feature dynamically generates front-end and back-end code for application modules based on the code template configured in the application's project template and the configuration parameters of the model. It can generate code in various languages based on the code template configured in the project template. It also supports developers to customize the application's code template according to the application and can generate personalized application module code based on user-defined code.
[0040] Step S150: Model release, in which the application assembled in step S120 and the model created in step S130 are released to the model sharing market after selecting the application category and sharing scope, and reused in the model market after being reviewed by the architect.
[0041] The model is released in batches according to the application. After being reviewed by the architect, it is shared in the model marketplace. For the shared application models, developers or designers can install the application models into the application of the specified project.
[0042] like Figure 2 As shown, the code generation in step S140 is a model-driven, assembly-based low-code development method, and its specific implementation steps are as follows:
[0043] Step S140-1, View Model Generation: Based on project information, application information, application-related project templates, business objects, layout templates, and view templates, and combined with the initialization parameters set by the developers, a view model (JSON) is generated using model engine technology (Freemarker).
[0044] Step S140-2, Visual Design of View: Based on the view model generated in step S140-1, the front-end view is written online through the visual view designer. The editing results are saved according to the data structure of the view model. The online preview function provided by the view designer can be used to view the code output effect of the view in real time.
[0045] Step S140-3, Code Generation Implementation: Select the business object that has completed the business object initialization operation, select the application-associated code template according to the project template, and combine the relevant parameters of the current application. The parameters include project information, application information, application-associated project template, business object created by object modeling, business object initialization parameters, view model, and application environment variable information. The code content is generated through model engine technology (Freemarker). The front-end view code is generated by combining the code template with the view model, and the back-end code is generated based on the data model and application service model. The code generation directory or package structure is determined by the associated code template hierarchy in the project template. The project code generation and code generation implementation logic are the same. During project code generation, the project code content is generated according to the definition of the project template and in combination with the application parameters through model engine technology (Freemarker).
[0046] The parts of this invention not described in detail are well-known in the field.
[0047] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the implementation of the present invention. Those skilled in the art can make other variations or modifications based on the above description. It is impossible to exhaustively list all embodiments here. All obvious variations or modifications derived from the technical solutions of the present invention are still within the protection scope of the present invention.
Claims
1. A model-driven, assembly-based low-code development system, characterized in that, It includes a source model management section, an application assembly section, a template library section, and a model marketplace section, among which, The source model management section is implemented as follows: The standard library module manages unified standard data for application development. It establishes business domains, attribute categories, attribute libraries, and model libraries based on a unified standard, according to the abstract description of the business domain. This includes the maintenance and management of business domains and attribute categories, as well as the definition and application of attribute and model libraries. The object modeling module provides architects or designers with object modeling capabilities for application development. It offers functions for defining and managing attributes and models based on the business models in the source model standard library, and can manage the business domain categories, attribute categories, attribute libraries, and model library data in the standard library module. The application assembly section is implemented as follows: The project management module manages project-related information, including basic project information and maintaining related configuration information; the application management module provides application information under the project, including application creation, editing, and viewing of project templates and operation logs, as well as application-related configuration functions, including environment variables for application code generation, application code templates, application module and version management; the object modeling module adopts a model-driven development model, organizing model data according to a module tree, using business objects as the design and development entry point for application services, parameter objects, and data model development, supporting wizard-driven development through databases, entity classes, source models, and other methods. The system completes model creation and derivation, defining application business objects, application services, parameter objects, data models, and related attributes. The object initialization module provides a graphical code generation configuration wizard for already created business objects. The code generation template includes project code generation and module code generation. Project code generation is used for online generation of application initialization project code, supporting generated environment variables. Simultaneously, it generates module code for modules that have already completed object modeling. The module code generation function provides a wizard-style generation page, allowing users to select the business object to be generated, the application to be generated, and configure the application's code template to complete code generation based on the application template. The template library is implemented as follows: the project template management module provides maintenance and management of project templates, and provides a unified front-end and back-end project template definition for applications; the code template management module provides maintenance and management of templates required for front-end and back-end code generation; and the view template management module is used to generate the schema for the visual view designer. The model marketplace is implemented as follows: The model management module provides management of shared and published application models, displayed in a card-style list format. It supports display by application scenario, product, and function, sorting by publication time and number of applications, fuzzy search by project name, viewing all business models of published projects according to project module structure, and viewing project view model function previews or introduction information previews according to the menu structure defined when the project is published. The model reuse module implements the reuse function of shared models. Users can directly copy the model of the current project to their own project by reusing the model.
2. The model-driven assembly-based low-code development system according to claim 1, characterized in that, In the application assembly section, within the object modeling module, application services, parameter objects, and data models are automatically managed by business objects, or custom application services, parameter objects, and data models can be created. This supports batch addition of business objects from the database, entity classes, and source models, and also supports graphical display of business object models.
3. The model-driven assembly-based low-code development system according to claim 1, characterized in that, In the application assembly section, within the object initialization module, select the layout template for the application module and configure the layout template's parameter options, including support for processes, attachments, large data export and import, pop-up form window size, form style, sub-table association configuration, and page configuration. The page configuration provides tabular field information configuration, including form, view, and field information configuration. After initialization, the front-end view generates the corresponding view model, supporting secondary design and online preview of the view in the visual designer. The designed view can be generated into the view code.
4. A model-driven, assembly-based low-code development method, characterized in that, Execution based on the model-driven assembly-based low-code development system according to any one of claims 1-3, including: Step S110: Source model management, where the source model standard library is used to manage unified standard data for attribute development applications, and object modeling manages application development modeling data. Architects or designers extend attributes and models based on the business models in the source model standard library to build application models, and use the unified standard library to solve the uniqueness, integrity, validity, and traceability of data. Step S120: Application assembly, in which designers or developers, according to the application project, select the applicable project template through the application generation wizard, select the technical or business components required for the application based on the component list provided by the project template, and complete the creation of the application; Step S130: Object modeling, where the model created based on the source model management in step S110, the application assembled in step S120, selects the layout template of the application module, and quickly completes the configuration of the application module through a visual interface, and automatically completes the creation of the service model, data model and parameter model. Step S140: Code generation, wherein the application created in step S120 completes the online generation of application project code according to configuration parameters and project template; based on the model created in step S130, online generation or preview of template-based code is achieved through a generation guide; Step S150: Model release, in which the application assembled in step S120 and the object model created in step S130 are released to the model sharing market after selecting the application category and sharing scope, and reused in the model market after being reviewed by the architect.
5. The model-driven assembly-based low-code development method according to claim 4, characterized in that, In S110, source model management categorizes attributes according to business, purpose, function, or characteristics. The attribute definition of basic elements is described according to the category, including the element's name, code, type, constraints, and default value. According to business abstraction, the model definition is realized through the defined attributes. The model's attributes contain business attribute information. The attribute information is directly inherited from the source model or parent model, or custom attributes are defined, presenting the model and model attributes in a structured manner.
6. The model-driven assembly-based low-code development method according to claim 4, characterized in that, In S120, the application assembly project template supports front-end or back-end project templates and provides dynamic configuration management of the technical or business components associated with the project template.
7. The model-driven assembly-based low-code development method according to claim 4, characterized in that, In S130, object modeling provides a modeling approach based on source models, database tables, and entity class objects; it offers dynamic management and effect preview functions for dynamic layout templates; and it can automatically manage service models, data models, and parameter models based on object models.
8. The model-driven assembly-based low-code development method according to claim 4, characterized in that, In S120, the application generates the basic project code of the application based on the project template associated with the application, and can generate the selected components into the component dependencies of the application according to the application configuration parameters.
9. The model-driven assembly-based low-code development method according to claim 4, characterized in that, In S140, code generation dynamically generates the front-end and back-end code of the application module based on the code template configured in the application's project template and the configuration parameters of the model. Based on the code template configured in the project template, it can generate code in various languages. It supports developers in creating custom application code templates and can generate personalized application module code based on user-defined code.
10. The model-driven assembly-based low-code development method according to claim 1, characterized in that, In S150, model releases are done in batches according to applications. After being reviewed by the architect, they are shared in the model marketplace. For shared application models, developers or designers install the models into the applications of the specified projects.