Learn more about Genio

Contents

Overview

Genio is an integrated development platform developed by Quidgest, designed to address the challenges of building software systems in complex, urgent, and highly customized environments. By adopting a Model-Driven Engineering (MDE) approach, Genio enables the automation of large parts of the software development lifecycle, resulting in significant gains in productivity, quality, traceability, and responsiveness to business changes.

Combining functional metamodeling, automatic code generation, and simulation, Genio makes it possible to drastically reduce the time required to deliver enterprise-grade solutions, while maintaining a high degree of alignment with the specific needs of each organization.

What is Genio?

Genio is a model-based system for automatic software generation, built on top of dynamic metamodels and functional specifications. It provides a complete development environment that includes visual modeling, simulation and prototyping tools, and multi-platform code generation.

All development is centered around metadata, which declaratively defines the behavior and structure of the system. Once this metadata is defined, the entire system can be generated with a single click — no additional manual interventions are required. When custom code is necessary, it is isolated and safeguarded, and automatically reintegrated during each regeneration cycle.

The generated code is readable, documented, and efficiently structured. Complex tasks such as validation, sorting, and iterations are moved to the design phase, ensuring optimal performance at runtime.

Advantages of Using Genio

Using Genio brings several technical and operational benefits. The development cycle is significantly shortened due to automated generation and the separation between the functional and technological layers. This allows both layers to evolve independently — for example, technology can be updated without impacting business logic.

Agility is a core strength: Genio supports rapid prototyping, short feedback loops, and tight integration with end users. Regeneration of the full system can be performed at any time, ensuring continuous delivery and adaptation.

Genio promotes system consistency and quality through reusable smart templates and the systematic application of engineering patterns. These patterns cover a wide range of domains, including persistence, business logic, user interfaces, security, auditing, and interoperability.

Patterns and Engineering Standards

Genio includes a comprehensive library of reusable software engineering patterns. These patterns represent proven solutions to recurring design and development problems. They are technology-independent and applicable across different functional domains and architectures.

Pattern categories include:

  • Data persistence and storage
  • Business processes and workflow
  • Business rules and logic
  • User interfaces (forms, lists, search)
  • Security and auditing
  • Internationalization and localization
  • Integration and system interoperability
  • System administration and operations
  • General software engineering best practices
  • Domain-specific components for vertical markets
  • These patterns automate over 95% of the requirements found in typical enterprise systems. Any remaining needs are addressed through controlled extensibility, without compromising model integrity.

Architecture and Technological Independence

Genio enforces a clear separation between the functional and technological layers. Functional specifications are stored as metadata, while technology-specific code templates (smart templates) are managed independently. This modular architecture allows separate teams to evolve each layer in parallel and ensures that technological upgrades do not disrupt the functional model.

Genio supports multiple technology stacks — including Windows (C++, C#, .NET), web platforms (MVC, Vuejs, JavaScript), REST and SOAP services, Office Add-ins, PL/SQL, and others. The ability to instantiate a model into various technologies, without requiring different versions of the model, is one of Genio's defining features.

Continuous Evolution and Quality

Genio was designed with continuous improvement in mind. New platform versions include enhancements to the technological layer, which are automatically propagated to existing projects via regeneration. This mechanism supports high agility, long-term maintainability, and technological alignment.

Traceability, idempotency, and transparency are embedded into the development process. Declarative specifications make changes easy to introduce, but Genio also encourages engineering discipline by requiring careful validation of all modifications to ensure consistency across the system.

Principles and Guidelines of Automatic Software Generation with Genio

The Genio platform is built on a solid set of engineering principles and methodological guidelines that support the automatic generation of high-quality software systems. These principles ensure that Genio-based systems are robust, efficient, maintainable, and aligned with business goals.

Core Principles

  • Quality = Fitness for Purpose + Continuous Improvement
    Genio aims to produce systems that are correct from the first generation, while remaining adaptable to evolving requirements.

  • Model-Driven Engineering (MDE)
    Functional specifications are defined at a high abstraction level, independent of technology. Code is generated from these models using customizable templates.

  • 100% Genio
    Genio manages the entire development lifecycle. Manual code, when needed, is isolated, preserved, and included in each regeneration cycle.

  • Simulation as a Design Strategy
    Simulation enables interaction with the system model before deployment. It is a form of high-level, visual programming, close to the user, far from the code.

  • Visual Programming and Qualified User Involvement
    The use of graphical modeling and interactive simulation encourages direct involvement of domain experts and end users.

  • Agility and Rapid Prototyping
    Iterative, short development cycles — measured in hours, not months — allow rapid adaptation to change, in line with Agile principles.

  • Separation of Functional and Technological Layers
    Functional metadata and technological templates evolve independently, ensuring modularity and long-term maintainability.

  • Continuous Technological Evolution
    Each regeneration automatically incorporates improvements in the technological layer, ensuring alignment with modern platforms and tools.


Characteristics of the Generated Systems

  • One-Click Regeneration
    Any user, even unfamiliar with the system, can regenerate the full source code from metadata with a single click.

  • Manual Code Preservation
    Custom logic (e.g. complex algorithms, validations) is protected and integrated in each generation cycle.

  • Performance Efficiency
    Code generation occurs at design-time. Generated systems exhibit no performance penalties; instead, design-time complexity improves runtime efficiency.

  • Readability and Maintainability
    Generated code is formatted and documented for easy debugging and comprehension.

  • Error Minimization
    The reuse of templates across multiple projects and clients significantly reduces the likelihood of defects.

  • Cross-Platform Coherence
    Identical results are ensured across multiple interfaces (e.g., Web, SmartClient), supporting data consistency.

  • Robustness
    Systems handle exceptions gracefully and maintain stability under invalid inputs or edge conditions.

  • Maturity
    Genio is the result of decades of refinement and integration into real-world, mission-critical environments.


Engineering Guidelines

  • Simplicity
    Between two possible solutions, the simplest and most maintainable one is preferred.

  • Traceability
    Systems are designed to reconstruct how each state was achieved (e.g. history tracking instead of overwriting).

  • Idempotency
    Repeated execution of the same process always produces the same result. This is enforced through modeling discipline and metadata structure.

  • Transparency
    Users have visibility and control over system behavior and execution flows.

  • Intuitiveness
    Genio-generated systems aim for intuitive interaction, increasing productivity and reducing training and error rates.

  • Value-Driven Development
    All changes must deliver measurable value to the end user or organization. Flexibility should not lead to unnecessary complexity.

  • Model Coherence
    Users are encouraged to test and validate changes within the existing model, avoiding arbitrary modifications without proper analysis.

A Platform That Builds Itself

One of Genio’s most distinctive features is its self-generative capability. As a second-generation generator, Genio is developed using Genio itself — a concept known internally as GenGenio. This self-replication mechanism demonstrates the platform’s maturity and its ability to support large-scale, complex systems under real-world constraints.

Navigating the Genio IDE

Having understood the foundational principles, architecture, and advantages of Genio, the next step is to explore how these capabilities are made accessible through the platform’s development environment.

The Genio IDE is not a traditional code editor — it is a model-driven development interface where systems are conceived, simulated, and generated through interaction with structured metadata. Its interface is organized into a set of specialized menus, each corresponding to a critical dimension of software modeling and system definition.

Each menu within the Genio environment encapsulates a specific layer of abstraction or functional concern — from data modeling and business rules, to user interface design, security policies, internationalization settings, and system behavior logic. Understanding the purpose and scope of each section is key to effectively using the platform.

In the following sections, we break down the structure of the Genio IDE, detailing the role of each main menu, how it interacts with others, and the kinds of models and configurations users can define in each area.

Let’s begin by examining the core structure of the platform, starting with the Modeling environment.

Data Patterns

Dive into the foundational building blocks of data management and manipulation in Genio.

  • Tables : Explore the structure and creation of tables.
  • Enumerations : Understand static and dynamic enumerations.
  • Formulas : Learn about the logic and calculations integral to Genio's functionality.

Interface Design

Discover the tools and techniques to design intuitive and efficient user interfaces.

Discover the tools and techniques to design your navigation.

Processes

Streamline and automate workflows and operations.

Keep users informed and engaged.

Access Rights

Secure your application and manage user access.

Manual Code

Integrate custom code and third-party applications.

Settings

Configure everything on the application.

Testing

Ensure the reliability and performance of your application.

  • UI Tests : Test the user interface for consistency and responsiveness.

Symbols

A set of symbols will allow you to identify, for each of the patterns and whenever applicable:

Icon Function Description Context Where to find
Alerts Notifications Displays system alerts and warnings Main navbar, Right sidebar Found in the top bar and sidebar panels.
App Languages Languages Changes application language Main navbar Located in the top bar language selector.
Search Search Filters or finds records Main navbar, List (header) Global search and list filter headers.
Actions button Actions button Shows all available actions (Read, Edit, etc.) List (row) Appears for each row in entity lists.
Create Create Adds a new item or record List (row) All lists across Genio. Appears below lists next to pagination. Examples: Add new table, field, form, alert, etc.
Read Read Displays a record in view-only mode List (row) Part of the actions group (Read, Edit, Delete, Duplicate). Examples: View table, field, or form details.
Edit Edit Opens a record for editing List (row), Dashboard Part of the actions group. Also appears on dashboards to edit widgets.
Delete Delete Deletes the selected item List (row), Dashboard (Widget) In the actions group. Also used in dashboard edit mode to remove widgets.
Duplicate Duplicate Creates a copy of an item List (row) In the actions group across all entity lists.
Create area Create area Creates a new area/logical table Table List (row) Used to create an area from the selected entity.
Cancel Cancel Cancels the current action and returns to the previous view Forms Used when editing, duplicating, or deleting records.
Go Back Go Back Returns to the previous screen Forms In read-only forms to return to the previous screen.
Sort Sort Sorts list by a selected column List (column) Present in all list headers.
Manage Views Manage Views Customizes how lists are displayed List (header) Appears in the header of lists with multiple view modes.
Exportation Exportation Exports data to external formats List (header) Found above the list in export controls.
Advanced Filters Filtering Opens advanced filtering options List (header) Top-right of all lists.
Configure columns Set columns Manages visibility of table columns List (column) Found in list/grid header tools.
First sight model Model View Displays high-level model of forms or tables Table List (row), Table's form, Form List (row), Form's form Found in the actions menu and form quick view.
Forms editor Form Layout Opens visual editor for forms Form List (row), Form's form Found in quick view and the actions menu of form lists.
See more (dropdown lists) See more Opens another form with a list of all options Form (components) Found in dropdowns components inside the forms.
Dependencies Dependencies Shows related or dependent records Record's form Available in table, field, and form configuration views.
Save record Save record Saves the active form or record Record's form Footer or toolbar on all edit forms.
Translations Translations Opens the translation interface Form (components) Near localizable labels and titles.
Translations with AI Translations with AI Suggests translations using AI Resources menu Inside the text form.
Untranslated texts Untranslated texts Displays missing translations Resources menu Shortcut in the dashboard or the “Resources” menu.
Go to another page/form Navigate Opens related form for more detail Record's form, Form (components) Inside quick view panels and beside dropdown components.
Block/Unblock Locking Enables/disables record access Table form Found on record detail forms.
Reorder Order Changes sequence of items List (header) Available in the header of reorderable lists.
Compact Compact/rearrange the widgets Removes extra space between widgets Dashboard (header) Appears in dashboard edit mode to rearrange layout.
Reload Refresh Reloads the data in a widget Dashboard (Widget) Available on widgets that support reloading.
Generate app Code Generation Builds entire application Generation Menu In the generation toolbar.
Generate client lieCnt Generation Builds the UI/client-side app Generation Menu In the generation toolbar.
Open sidebar Expand Tools Opens tools sidebar Right sidebar Inside the right sidebar panel.
Close sidebar Collapse Tools Closes tools sidebar Right sidebar Inside the right sidebar panel.
Chatbot Assistant Opens Genio assistant Right sidebar Toggle in the right sidebar.