The Future of Codeless Domain Logic
Exploring BRCC & CMCC in Digital Twins

The Future of Codeless Domain Logic
Abstract
In this episode, we dive into the Business Rule Completeness Conjecture (BRCC) and the Conceptual Model Completeness Conjecture (CMCC)—two bold ideas reshaping how we manage domain logic and digital twins. We explore why the shift from “code-as-source” to “model-as-source” is not just an incremental improvement, but an entirely new way of thinking about how software, business processes, and physical systems interconnect.
Zero-to-Sixty Podcast summary webpage for the episode page.
The Future of Codeless Domain Logic
Chapters:
-
Why “Source Code” Isn’t Always the Source of Truth
-
We lay out the historical reasons why business rules and domain logic ended up tangled in code, and how that adds friction to every project change.
-
BRCC & CMCC Basics
-
A quick, digestible overview of the Business Rule Completeness Conjecture and the Conceptual Model Completeness Conjecture—why these ideas matter for digital twins and beyond.
-
Embracing Model-as-Source
-
We highlight how large-scale, real-time environments (like industrial IoT, factories, or complex simulations) benefit from a single declarative model—particularly for version control and automated code generation.
-
Implementation Roadmap
-
A step-by-step look at how organizations can migrate from legacy “code-centric” approaches, with key milestones like domain logic extraction, building a universal schema, and ensuring multi-platform interoperability.
-
Practical Wins and Challenges
-
We share success stories from early adopters, along with open questions about performance, best practices for rule management, and how to handle extremely time-critical loops.
Executive Summary
Modern software and industrial ecosystems are hungry for agile, transparent ways to evolve domain logic. Many forward-looking teams have found that embedding rules in code slows their ability to adapt—leading to endless rewrites, duplicated logic, and synchronization headaches. Enter the Business Rule Completeness Conjecture (BRCC) and the Conceptual Model Completeness Conjecture (CMCC):
-
BRCC posits that all business or operational rules are best treated as universal, declarative data—so you can easily update, share, and audit them across teams and systems.
-
CMCC extends this concept into any conceptual or computational domain, asserting that five primitives—Schema, Data, Lookups, Aggregations, and Formulas—are sufficient to model the entire “what” of any system.
In today’s era of digital twins, these ideas solve a critical problem: how to ensure that what’s running in your real environment, your simulation engines, and your business analytics is always consistent. By positioning the “rulebook” in an ACID-compliant datastore, companies eliminate the guesswork that comes from separately maintained codebases and specs.
Furthermore, the decoupling of “what is true” from “how it’s executed” allows specialized runtimes to handle high-speed or real-time requirements without duplicating logic. For governance, storing rules as data (rather than code) makes updates more like versioned “pull requests,” so domain experts and engineers alike can collaborate under standard revision-control processes.
While challenges remain—like ensuring high-performance or bridging AI models that don’t neatly fit into formulas—the evidence suggests a strong ROI in adopting a model-first approach. By starting with small pilot projects (often focusing on documentation or test specs) and gradually folding in production systems, organizations can avoid “big bang” migrations. Ultimately, the payoff is a dramatically more flexible environment, in which rule changes ripple automatically across entire toolchains.
Embracing the CMCC framework for digital twins isn’t just an incremental improvement—it's a fundamental shift in how we conceive, build, and evolve complex systems. The future of domain logic may very well be “codeless,” letting us describe reality in a single, language-agnostic model, and letting the code itself become a generated artifact.
Create an image based on a DALL-E Prompt:
Draw a stylized podcast microphone icon with futuristic, geometric elements. Incorporate visual hints of interconnected nodes and lines representing digital twins, illustrating a code-free approach to domain logic.
Full Interview Transcript
Conceptual Model Completeness Conjecture (CMCC) in Digital Twins
1. Core CMCC Framework
CMCC Primitives (S, D, L, A, F): The Conceptual Model Completeness Conjecture proposes that any system’s logic can be captured with just five declarative primitives: Schema, Data, Lookups, Aggregations, and Formulas (often called Calculated Fields)
[zenodo.org](https://zenodo.org/records/14759299# :~:text=work%20ow%2C%20or%20other%20domain,Aggregations%29%2C%20and)
-
In this context:Schema defines the structure of information (akin to a data model or ontology classes). It specifies entities, attributes, and relationships in the digital twin.
-
Data represents the instance values populating that schema – the state of the twin at a given time (e.g. sensor readings, status flags). All data resides in an ACID-compliant store to ensure consistency [zenodo.org](https://zenodo.org/records/14759299# :~:text=Data%20in%20an%20ACID,Aggregations%29%2C%20and)
-
Lookups are reference mappings or enumerations used for domain-specific constants and associations. For a twin, this could be tables for unit conversions, thresholds, or mappings (e.g. component ID to its specs).
-
Aggregations (also called Rollups) are declarative summaries or roll-up computations over sets of data (e.g. average temperature, total production count). They capture higher-level twin properties by querying or rolling up raw data.
-
Formulas are lambda-calculated fields – expressions that derive new values from other data in a declarative manner[zenodo.org](https://zenodo.org/records/14735965# :~:text=The%20Business%20Rule%20Completeness%20Conjecture,aims%20to%20eliminate%20the%20pervasive)
-
These are essentially the business logic or computed behaviors of the twin, defined as expressions (e.g. a formula for equipment health index from various parameters).
Declarative Twin Representation vs. Imperative Code: Using CMCC, a digital twin can be defined entirely by these structural elements – the schema (what entities exist and how they relate), the current and historical data, the lookup tables, the defined aggregations, and the formulas that compute new outcomes. All twin behavior and properties are captured as model definitions, rather than hard-coded algorithms. This means the twin’s “source of truth” is its conceptual model, not scattered imperative code. By treating time as just another dimension of data (e.g. storing time-series readings in the data), even temporal logic can be handled declaratively
[zenodo.org](https://zenodo.org/records/14735965# :~:text=explicitly%20decoupled%20from%20the%20runtime,attempts%27%E2%80%94no%20such%20counterexample%20has%20emerged)
[zenodo.org](https://zenodo.org/records/14759299# :~:text=work%20ow%2C%20or%20other%20domain,Aggregations%29%2C%20and)
For example, instead of writing a script that updates a machine’s status based on sensor inputs, one would define: a lookup table for normal ranges, an aggregation for rolling average, and a formula like Status = IF temperature > max_limit THEN "Overheat" ELSE "Normal". The twin’s runtime engine would then automatically enforce these definitions.Completeness and Falsifiability: CMCC (also referred to in business contexts as the Business Rule Completeness Conjecture) asserts that any finite business rule or computation can be expressed with these five primitives
[zenodo.org](https://zenodo.org/records/14759299# :~:text=theoretical%20proof%20sketch%2C%20inspired%20by,the%20how)
In other words, for any logic you might code (an imperative script), there exists an equivalent set of schema extensions, lookup tables, aggregates, and formula definitions that achieve the same result declaratively. This is a bold claim of universality, inspired by Turing-completeness style arguments[zenodo.org](https://zenodo.org/records/14759299# :~:text=theoretical%20proof%20sketch%2C%20inspired%20by,the%20declarative%20what%29%2C%20apart)
So far, decades of practice have not found a counterexample – no known business rule in natural language or code has proven impossible to represent with S, D, L, A, F in an ACID database[zenodo.org](https://zenodo.org/records/14735965# :~:text=,attempts%27%E2%80%94no%20such%20counterexample%20has%20emerged)
The implication for digital twins is significant: any behavior or calculation the twin needs to perform can be modeled declaratively, from simple threshold alarms to complex state transitions, without resorting to custom code as the authoritative source. The imperative code doesn’t disappear, but it becomes a generic engine that reads the model (the “rulebook”) and executes the logic defined there[zenodo.org](https://zenodo.org/records/14759299# :~:text=primitives%20are%20sucient%20to%20encode,the%20how)
This separation of the what (declarative model) from the how (imperative engine) means the twin’s knowledge is fully transparent in the model. Changes to twin behavior are made by editing the model (schema, formulas, etc.), rather than writing new code, thereby minimizing the ripple effect on the software whenever domain rules change[zenodo.org](https://zenodo.org/records/14735965# :~:text=explicitly%20decoupled%20from%20the%20runtime,attempts%27%E2%80%94no%20such%20counterexample%20has%20emerged)
Application to Digital Twins: A digital twin, at its core, mirrors a physical asset or process through data and rules. CMCC provides a structured blueprint for doing so:
-
The Schema defines all aspects of the twin – e.g. the twin may have entities like Equipment, Sensor, Environment with relationships (a sensor belongs to an equipment). This is analogous to the twin’s ontology or information model.
-
The Data populates this schema with the actual instance representing the specific asset being twinned – e.g. a table of sensors with their latest readings, or time-series tables of historical readings, all linked to the corresponding equipment instance.
-
Lookups in a twin could include standardized reference data: for example, a lookup table for material properties, or a code list of fault types and their severity. Instead of embedding such reference info in code, it lives in the model.
-
Aggregations allow the twin to have built-in calculations like “average vibration over last hour” or “count of faults today” as first-class data elements. These are defined once (perhaps as part of the schema or configuration), and the system can compute them on the fly or store them as they update. This replaces writing code that manually iterates and calculates these summaries.
-
Formulas encode the dynamic behavior or derived attributes of the twin. For example, a formula can determine a diagnostic status or a performance KPI by combining raw data and lookups: if Pressure > Lookup[MaxPressure] and Temperature > Lookup[MaxTemp] then Alarm = "YES". Formulas can also implement physics approximations or control logic declaratively (to the extent that they can be expressed as math or logical expressions). By chaining formulas and aggregations, even complex behaviors can be represented. State-machine logic can be captured by state transition rules in formula form [zenodo.org](https://zenodo.org/records/14735965# :~:text=,supports%20creating%20digital%20twins%20by)
-
And temporal logic by treating previous states as data inputs (time as a dimension).
In summary, CMCC’s primitives give a complete structural definition of a digital twin. The twin’s “digital DNA” – all its properties and how to compute them – lives in a data-driven model. This approach ensures that the digital twin’s representation is transparent and modifiable at the model level, rather than being buried in imperative code. It shifts the twin’s design paradigm from writing code to declaring knowledge. According to the conjecture, this model-driven approach is not just an abstraction – it is powerful enough to define any needed logic for the twin’s operation
[zenodo.org](https://zenodo.org/records/14759299# :~:text=theoretical%20proof%20sketch%2C%20inspired%20by,the%20how)
2. Integration with Existing Digital Twin Best Practices
CMCC is not a standalone “new twin architecture” but rather a complementary framework that can enhance existing digital twin standards and best practices. It aligns with the direction of industry frameworks like ISO 23247, OPC UA, and the Industrial Internet Consortium (IIC) Digital Twin Framework, by providing a method to centralize and formalize the twin’s domain logic. Below, we examine how CMCC fits into these frameworks and adds value:
-
ISO 23247 (Digital Twin Framework for Manufacturing): ISO 23247 defines a reference architecture for manufacturing digital twins, including layered components from data collection to twin to applications
-
ap238.org
-
The standard views each digital twin as a multi-dimensional model of a real-world entityap238.org
-
CMCC can serve as the implementation mechanism for that multi-dimensional model. For instance, ISO’s lowest layers gather observable data, and the digital twin entity layer updates the twin’s model based on that dataap238.org
-
Using CMCC, this twin model can be expressed in terms of Schema (the structure of the manufacturing process, machines, etc.), Data (the live state from sensors), Lookups (reference tables like material specs or machine configs), Aggregations (production metrics, OEE calculations), and Formulas (logic for quality checks, predictive rules). ISO 23247 doesn’t dictate how to represent domain rules, so CMCC fills in the gap by ensuring the twin’s characteristics and behaviors are explicitly modeled, not hidden in code. This enhances compliance with ISO’s goal of separating the twin model from the applications. The top layer (user applications like ERP, PLM) in ISO 23247 can query or subscribe to the outcomes of the CMCC-defined twin modelap238.org
-
In essence, CMCC operationalizes the ISO concept of a digital twin by making the twin entity layer’s content fully declarative and self-contained.
-
OPC UA (Unified Architecture): OPC UA is a widely used standard for industrial data exchange and includes an information modeling framework. It allows building an object-oriented information model of devices and systems (with nodes, variables, data types, and references) which many consider a basis for digital twin representations. CMCC can integrate with OPC UA by acting as the source of truth for the information model’s semantic logic. For example, one might use OPC UA’s address space to mirror the Schema (defining OPC UA ObjectTypes and Variables according to the twin’s Schema), and use OPC UA Variables to carry the twin’s Data in real time. Where OPC UA typically leaves calculations to either embedded logic or user applications, CMCC would place those calculations as Formulas in a higher-level model. The OPC UA runtime or a connected service could then compute formula-defined values and expose them as OPC UA variables. This approach means that OPC UA is used for what it’s best at – standardizing data structure and communications – while CMCC provides a unified rule layer on top. Notably, the OPC Foundation itself is collaborating with the Digital Twin Consortium to ensure “semantically identical digital twins” across platforms
-
[opcfoundation.org](https://opcfoundation.org/news/press-releases/digital-twin-consortium-and-opc-foundation-announce-liaison-agreement/# :~:text=Stefan%20Hoppe%2C%20President%20OPC%20Foundation%2C,%E2%80%9D)
-
This implies having common conceptual models and semantics. By using CMCC, organizations can define the semantics (Schema, lookups, etc.) and calculations once, and then use OPC UA as the middleware to share those semantics across systems. OPC UA’s security, interoperability, and real-time capabilities are not replaced by CMCC – rather, CMCC feeds a well-governed model into the OPC UA ecosystem. In short, CMCC enhances OPC UA-based twins by injecting a consistent, centrally-managed domain logic model, where OPC UA alone would require bespoke code in each server or client to implement behaviors.
-
IIC / Digital Twin Consortium Framework: The IIC’s Digital Twin Reference Architecture and the Digital Twin Consortium’s models emphasize a separation of concerns: typically a Digital Twin Core (the digital representation and state) and an Application layer (which uses the twin for analytics, control, etc.)
-
[iiconsortium.org](https://www.iiconsortium.org/wp-content/uploads/sites/2/2023/10/Digital-Twin-Core-Conceptual-Models-and-Services_20231102.pdf# :~:text=%E2%80%A2%20The%20application%20layer%20is,world%20system%20or%20component)
-
In the IIC’s three-layer model, business logic is usually placed in the application layer, while the twin core manages the data/state representation[iiconsortium.org](https://www.iiconsortium.org/wp-content/uploads/sites/2/2023/10/Digital-Twin-Core-Conceptual-Models-and-Services_20231102.pdf# :~:text=%E2%80%A2%20The%20application%20layer%20is,world%20system%20or%20component)
-
CMCC offers a way to shift more of the domain logic into the twin core itself by declaratively capturing it. This aligns with the principle of isolating the domain knowledge from technology. With CMCC, the digital twin core wouldn’t be a passive data repository; it would contain the rules and calculations (formulas, aggregations) that govern the twin’s behavior. The application layer can then be thinner, mainly orchestrating or interfacing with users, because the core twin “knows” how to update its state and derive insights as conditions change. This actually reinforces IIC’s goal of interoperability and reusability – if the twin core encapsulates the logic, one can reuse that core across different applications or update the logic without rewriting application code [iiconsortium.org](https://www.iiconsortium.org/wp-content/uploads/sites/2/2023/10/Digital-Twin-Core-Conceptual-Models-and-Services_20231102.pdf# :~:text=match%20at%20L1701%20and%20the,core%20specifies%20the%20dependent%20services)
-
The IIC framework also highlights using supporting technologies (AI, simulation, etc.) in a support environment laye r[iiconsortium.org](https://www.iiconsortium.org/wp-content/uploads/sites/2/2023/10/Digital-Twin-Core-Conceptual-Models-and-Services_20231102.pdf# :~:text=Below%20are%20some%20important%20technological,%E2%80%9Clive%2C%E2%80%9D%20the%20digital%20twin%20core)
-
CMCC can work alongside such technologies by providing a stable rule model that those tools can reference or update. For instance, an AI module might update certain Data or Lookups in the twin (learned parameters), but the twin’s formulas (written by human experts) remain the authoritative logic for how outputs are computed, ensuring consistency and explainability. In summary, CMCC fits into IIC/DTC frameworks by abstracting the domain logic into a model, enhancing consistency across the ecosystem. It doesn’t replace existing architectural layers; it populates the conceptual and informational models that those architectures call for [opcfoundation.org](https://opcfoundation.org/news/press-releases/digital-twin-consortium-and-opc-foundation-announce-liaison-agreement/# :~:text=including%3A%20,source%20reference%20implementations)
-
This centralization of logic can reduce duplication and errors – the same rule definitions can be leveraged by simulation tools, analytics, and control applications uniformly.
-
Other Industry Best Practices: Many digital twin approaches (e.g., ISO 23386/23387 for BIM twins, or IEEE P2806 for system twins) stress the importance of a well-defined information model and separation of data from processing. CMCC supports these by providing a concrete method to achieve model completeness. It can be seen as an implementation pattern for model-based systems engineering (MBSE) within digital twins. Rather than each twin developer inventing their own mix of UML models, scripts, and configs, CMCC gives a standardized set of model primitives. This enhances existing best practices by ensuring that domain logic is centralized (in one model repository) and not fragmented. The result is improved consistency: every consumer of the twin (be it a SCADA system or a machine learning pipeline) refers to the same definitions for “what does X mean” and “how is Y calculated,” reducing miscommunication. Crucially, CMCC is additive to these frameworks – it doesn’t ask you to throw out ISO or OPC UA or your current platform. Instead, it provides a unifying conceptual layer that sits atop or within those systems. As one source describes, the five primitives act like Git’s core concepts for managing model evolution
-
[effortlessapi.com](https://www.effortlessapi.com/rulebook/rulebooks/what-is-brcc# :~:text=EffortlessAPI,8)
-
By using CMCC within established frameworks, organizations gain the benefits of rigorous domain modeling (as CMCC prescribes) while leveraging the interoperability, security, and scalability that standards like OPC UA or ISO frameworks offer.
In essence, CMCC can be thought of as a model-centric philosophy that supercharges current digital twin practices. It ensures the twin’s knowledge base is explicit, versionable, and technology-agnostic, which complements the interoperability focus of standards. Rather than replacing industry standards, CMCC implements their recommendations (like formal information models and separation of concerns) in a more discipline and systematic way. As the OPC Foundation president noted, having a solid information modeling approach benefits everyone creating twins
[opcfoundation.org](https://opcfoundation.org/news/press-releases/digital-twin-consortium-and-opc-foundation-announce-liaison-agreement/# :~:text=Stefan%20Hoppe%2C%20President%20OPC%20Foundation%2C,%E2%80%9D)
– CMCC provides that solid conceptual modeling approach, ensuring that the twin’s behavior is as standardized and shareable as its data.3. Practical Implementation Roadmap
Adopting CMCC for digital twins involves shifting from ad-hoc or code-centric designs to a model-driven approach. This section outlines a roadmap for migrating existing digital twin models to CMCC, and how to handle version control, governance, security, and system integration under this framework.
Migrating to a CMCC-Based Twin Model
-
Inventory Existing Twin Logic: Begin by cataloging all the domain logic in your current digital twin implementation. This includes any calculations, business rules, alert conditions, state transition logic, data transformations, etc. Often these are scattered across PLC code, scripts, microservice logic, or hard-coded in applications. The goal is to bring these into the light.
-
Define the Schema: Using the CMCC approach, design the Schema that can represent all relevant aspects of the twin. This may involve creating entity types for physical components (machines, sensors, products), processes, and abstract concepts (e.g., maintenance event, alarm). Define attributes for each that correspond to both raw data (inputs) and outputs or computed indicators. For example, if your code had a concept of “machine operating mode” determined by conditions, in the schema you’d add an attribute like OperatingMode to the Machine entity. Relationships (like sensor-to-machine) become foreign keys or associations in this schema. Essentially, you’re translating implicit structures in code into an explicit data model.
-
Populate Data and History: Migrate the actual data into the new schema. Historical data can be loaded into tables corresponding to their entity (with timestamps as needed for time-series). Current state data goes into the live instance of the twin in the database. At this stage, you might run the new model in parallel with the old system to ensure all necessary data is accounted for.
-
Externalize Lookup Tables: Any constants, configuration lists, or reference info used in the code should be moved to Lookup tables. For instance, if the code checks for specific error codes or uses fixed thresholds, create lookup tables for those (e.g., a table of ErrorCode -> Description, or ThresholdType -> Value). This makes what was once “hardwired” now easily editable data. Many systems already have config files or databases for such constants – those can be directly mapped as lookup tables in the model.
-
Define Aggregations: Identify where the system computes aggregates or summaries. Perhaps the twin needs to know the “daily production count” or “max temperature in last hour”. Using CMCC, define these as Aggregation rules (roll-ups) in the model. In a relational DB, this might be a materialized view or a query definition that the platform will maintain. In a streaming context, it could be a windowed aggregation. The key is that the definition of the aggregate (e.g., “MAX sensor.temp over 60 min window per machine”) is stored in the model repository rather than coded in a program. During migration, test that these computed values match what the legacy logic produced.
-
Create Formulas (Calculated Fields): This is the critical step – encode all the business logic as formulas. Each formula is essentially a function or rule that derives a field’s value from other fields. For example, if previously the twin’s code said: if temp > 80 and vibration > 5 then health_status = "RED" else "GREEN", make that a formula for the HealthStatus field in the Equipment schema: HealthStatus = IF(Temperature > 80 AND Vibration > 5, "RED", "GREEN"). Formulas can reference Data fields, Lookup values, or even other Calculated fields, much like a spreadsheet or functional program. Complex logic may be broken into multiple formulas and intermediate fields for clarity. It’s important to ensure formulas are free of side-effects (they should compute value for a field, not perform an action). Any action (like sending an alert) would be triggered by the existence of a certain data condition (which itself can be a formula-driven flag). During migration, validate each formula’s output against the old system’s output under various scenarios to ensure equivalence.
-
Establish the Runtime Engine: Once the model (S, D, L, A, F) is defined, you need a runtime that can execute it. This could be a purpose-built platform (some vendors or open-source projects may support rule execution from a model), or a custom engine that reads the metadata and enforces the rules. In some cases, a relational database with triggers or generated stored procedures can serve as the engine: e.g., computed columns or trigger logic can implement the formulas (with the important caveat to maintain ACID consistency). Alternatively, an in-memory rules engine or streaming engine can subscribe to changes in the DB and apply the formulas. The key is that you do not hard-code domain logic in the engine – it must use the model definitions. For initial migration, it’s common to run the new setup in parallel: feed the same sensor input to both the legacy code and the new CMCC-driven system, and compare outcomes.
-
Iterate and Refine: It’s likely that modeling the entire system declaratively will reveal some gaps or ambiguities that were previously handled in code (perhaps implicitly). Iterate on the schema or formulas to resolve these. For example, you might introduce a new lookup table rather than a deeply nested IF formula if you realize the logic is essentially a mapping. This process often leads to a cleaner separation of concerns and occasionally optimizations (some rules may be simplified when expressed declaratively).
Following this roadmap, an organization can gradually replace embedded logic with a transparent rulebook of the digital twin. It may start with a subset of the twin’s functionality and expand from there (e.g., model the alarm logic first, then the predictive maintenance logic next).
Version Control and Governance of Domain Logic
One major benefit of moving to CMCC is that the domain logic becomes data, which means it can be version-controlled and governed much like source code – or even more powerfully. With all rules in a centralized model repository, you can establish a “Git-like” system for business rules
[effortlessapi.com](https://www.effortlessapi.com/rulebook/interviews/model-alignment-solution-zts# :~:text=BRCC%20Model%20Alignment%20Solution%20,for%20business%20rules%2C%20where)
Each change to a formula or lookup table can be tracked as a commit with history. This enables rigorous change management: who changed a threshold value, when, and why (with commit messages capturing the rationale). Multiple branches of rules could exist – for example, an experimental branch of the twin’s logic for testing new optimizations, while the main branch runs the approved rules. Merging changes is more straightforward because the primitives are relatively modular (one can merge updated lookup values or add a new formula without affecting others).Governance is improved by having a single source of domain truth. A governance board (comprised of domain experts, engineers, quality managers, etc.) can review proposed rule changes in the model just as a code review would happen, but in a more domain-friendly format. Instead of diffing thousands of lines of code, they might review a diff of a formula: e.g., someone changed MaxTemp = 100 to MaxTemp = 95 in the lookup table, or updated the formula for RemainingLife of a part. These changes can be validated against historical data (e.g., run the new formula on last month’s data to see impact) before acceptance.
From a security and access management perspective, having the logic in a database or model repository means you can leverage DB security mechanisms or dedicated access control. You could allow certain roles (e.g., senior engineers) to edit formulas, while others (operators) only view them. The model repository could support audit logs and even sign-offs for critical rule changes (think of regulated industries, where a compliance officer must approve any change to how a calculation is done). This level of control is often harder to enforce when logic changes require code deployment (which might circumvent formal change control if not managed tightly).
Furthermore, versioning the model allows for rollbacks and comparisons. If a new set of rules doesn’t perform as expected, one can easily revert to a previous baseline model. Testing different versions of the twin’s logic becomes easier by swapping out the model (versus deploying different software builds).
In practice, tools to manage rule versioning might be custom-built or adaptations of existing version control. Some research has likened the five primitives to providing “a complete framework for managing evolution” of rules, analogous to how Git manages code branches and merges
[effortlessapi.com](https://www.effortlessapi.com/rulebook/rulebooks/what-is-brcc# :~:text=EffortlessAPI,8)
We can envision specialized UIs that present rule changes in comprehensible diff format for approval.Governance & Compliance:
For industries with heavy compliance (aviation, healthcare), using CMCC can streamline proving compliance. The rule model serves as documentation of intended behavior. Since it is declarative and closer to natural language (compared to code), it’s more understandable to auditors or third parties. One can trace, for each requirement or business rule, exactly where it is implemented in the model. This traceability addresses a common gap in digital twin development where code changes may not be well-documented in terms of requirement linkage.
Integration with Real-Time Systems and Enterprise Platforms
Digital twins often operate in a connected environment, receiving live data from the field and interfacing with enterprise IT systems. Adopting CMCC doesn’t remove these integrations – instead, it provides clear integration points:
-
Real-Time Simulation Engines: Many twins incorporate physics-based simulations or complex calculations running in external engines (e.g. FEA solvers, Simulink models, etc.). CMCC can interface by treating those engines as data sources or sinks rather than as core logic holders. For example, a simulation engine might predict a value (like remaining useful life) – the twin’s schema would have a field for this, but the method of calculation remains in the simulation tool. You can still represent the invocation of that simulation in the model (perhaps as a formula that is a placeholder for “call simulation X with these parameters”). The important part is any post-processing or business decision around that simulation result is handled in the CMCC model. If a simulation outputs a degradation curve, an aggregation formula in the model could translate that into a simple health index. Essentially, CMCC centralizes the decision logic, even if it uses inputs from external simulations. Real-time data from simulators or live sensors will flow into the Data layer of the model (often via message brokers or IoT platforms). Because the model is defined upfront, hooking up data flows becomes easier: you know exactly which table/field each sensor or output should update. Technologies like MQTT, OPC UA PubSub, or REST APIs can feed data into the ACID store where the twin model lives. As new data arrives, the CMCC engine recomputes formulas or updates aggregates accordingly. This is analogous to how a spreadsheet instantly updates dependent formulas when a cell changes.
-
Control Systems (e.g., PLCs, SCADA): In scenarios where the twin isn’t just monitoring but also controlling or advising controls, integration needs to be tight. A PLC might still run low-level real-time control loops (those are typically imperative and extremely timing-sensitive), but the higher-level logic – e.g. when to trigger a maintenance stop or how to adjust a setpoint schedule – can reside in the CMCC model. The twin can send control commands or setpoints to the PLC via SCADA or OPC UA based on formula outcomes. For instance, a formula might determine “if product quality drops below X, slow down the line by Y%”. Instead of an engineer coding that in a PLC function block, the formula lives in the twin model and when its condition triggers, the twin system sends a command to the PLC. This approach means changes in control strategy (like new thresholds or conditions) don’t require reprogramming controllers – they’re handled by updating the twin’s model logic. Real-time constraints are a consideration: for extremely fast control, the loop might not tolerate the latency of an external decision. In such cases, CMCC might be used for slower supervisory control, while leaving millisecond-level control hard-coded. Over time, as confidence in the model approach grows and technology allows (e.g., faster execution or edge deployment of the rule engine), more of even the fast logic could be moved to model definitions.
-
Enterprise IT Systems (ERP, MES, EAM): These systems consume data or events from digital twins for decision making at the business process level. With CMCC, integration is often simplified to data integration, since the logic is already applied in the twin. For example, an ERP might need to know if a machine is going to be down for maintenance. Traditionally, the ERP might receive a raw alert and then use some business logic to decide to reschedule jobs. In a CMCC-driven approach, the digital twin could itself encapsulate some of that decision logic – it could output a field like MaintenanceRecommended = TRUE when conditions meet, possibly even with a recommended date. The ERP simply reads this field (via an API or message) and acts on it, rather than duplicating the rule. Similarly, a Manufacturing Execution System (MES) could query the twin’s model for current WIP status or quality predictions (which are results of aggregations/formulas in the twin). Because the twin’s domain logic is consistent, all enterprise consumers see the same version of truth. If the threshold for an alarm was changed in the twin’s lookup table, every system that relies on that alarm automatically gets the new behavior – no need to chase down multiple applications to update their copy of the logic.
-
Scalability and Deployment: In practical terms, implementing CMCC at scale might involve deploying the model engine at the edge (near machines) for low-latency cases, and in the cloud for aggregation and analysis. Since the model is abstract, the same definitions can run in a lightweight edge database for a single asset and also roll up to a central enterprise twin that aggregates many assets. The ACID-compliant store and rule engine could be, for example, a distributed SQL database or a cloud digital twin platform that guarantees consistency. Modern digital twin platforms are already trending towards model-driven configuration – CMCC provides a concrete methodology to do that comprehensively.
-
Monitoring and Validation: Once integrated, it’s important to monitor the performance of the CMCC-driven twin. Ensure that formula computations are not lagging behind data (if so, consider computational optimizations or pre-compute some aggregates). Use the versioning capability to deploy updates in a controlled way (e.g., test new rules on a subset of twin instances or on historical replay before going live). Over time, the repository of model changes itself becomes a knowledge asset – analyzing rule changes vs outcomes might yield insights into how the process or asset behaves.
To summarize, the roadmap to implement CMCC involves translating code into model elements, establishing robust version control and governance for those model elements, and integrating the model with the real-time data and control flows. The outcome is a digital twin whose intelligence is centrally managed and easily maintainable. This approach supports disciplined devops for twin models: just as software engineering has build/test/deploy pipelines, we’d have similar pipelines for model changes (with automated tests on historical data, etc., to validate logic). By doing so, we mitigate the risk of moving logic out of code – any change is tested and tracked like code would be, but now the change can be made more quickly and by domain experts directly. Companies that have adopted rules engines or model-driven solutions often report that making a change becomes a matter of configuration, not a development project, greatly increasing adaptability
[scaleoutsoftware.com](https://www.scaleoutsoftware.com/featured/building-real-time-digital-twins-with-a-rules-engine/# :~:text=In%20many%20applications%2C%20a%20rules,be%20expressed%20with%20%E2%80%9CDO%20action%E2%80%9D)
[scaleoutsoftware.com](https://www.scaleoutsoftware.com/featured/building-real-time-digital-twins-with-a-rules-engine/# :~:text=as%20calculations%20or%20message%20sending%2C,complex%20logic%20is%20not%20required)
4. Case Studies and Real-World Examples
Several analogous implementations demonstrate the benefits of shifting from code-centric logic to model-based (or rule-based) logic, which is at the heart of CMCC. While CMCC as a named framework is relatively new, its principles resonate with experiences from business rule engines, model-driven development, and specific digital twin projects. Below, we explore examples and compare traditional vs. CMCC-driven approaches on key attributes:
Model-Based Logic in Practice
-
Rules Engines in Real-Time Twins: A concrete example comes from ScaleOut Software’s real-time digital twin platform, which integrated a rules engine to replace custom code for streaming analytics. Traditionally, application developers wrote object-oriented code (Java/C# ) to handle incoming sensor messages for each twin instance
-
[scaleoutsoftware.com](https://www.scaleoutsoftware.com/featured/building-real-time-digital-twins-with-a-rules-engine/# :~:text=source%20and%20maintains%20state%20information,to%20a%20specific%20data%20source)
-
The rules-engine approach instead let them define “IF condition THEN action” rules, removing most of the hand-written code. This made the logic more accessible to domain analysts (who may not be OOP developers) and significantly improved readability and maintainability [scaleoutsoftware.com](https://www.scaleoutsoftware.com/featured/building-real-time-digital-twins-with-a-rules-engine/# :~:text=In%20many%20applications%2C%20a%20rules,be%20expressed%20with%20%E2%80%9CDO%20action%E2%80%9D)
-
In their example, threshold checks and calculations that would’ve been dozens of lines of code were expressed in a few declarative rules [scaleoutsoftware.com](https://www.scaleoutsoftware.com/featured/building-real-time-digital-twins-with-a-rules-engine/# :~:text=provide%20a%20straightforward%20technique%20for,complex%20logic%20is%20not%20required)
-
The outcome was that adding or adjusting a rule (say, changing a temperature limit) became far simpler – no recompiling of code, just update the rule set. This approach is analogous to CMCC’s formula and lookup primitives. It shows that even for streaming IoT data, a declarative model of logic can handle non-trivial scenarios (spike detection, averaging, etc.) with better adaptability. ScaleOut reported that this method _“opens up development of real-time digital twins to analysts who lack object-oriented programming experience”_ [scaleoutsoftware.com](https://www.scaleoutsoftware.com/featured/building-real-time-digital-twins-with-a-rules-engine/# :~:text=In%20many%20applications%2C%20a%20rules,be%20expressed%20with%20%E2%80%9CDO%20action%E2%80%9D)
-
This indicates a broader pool of people can contribute to twin logic when it's in a friendly declarative form. It’s a real-world validation of the idea that separating the rule definitions from code not only improves maintainability but also enables cross-functional collaboration (developers, analysts, engineers all working on the same rules repository).
-
Enterprise Business Rule Engines: In enterprise IT (finance, insurance, etc.), shifting from hard-coded business logic to centralized rule engines (like Drools, IBM ODM, or FICO Blaze Advisor) has shown dramatic improvements in agility. For example, an insurance company might encode underwriting guidelines in a rules engine. Before, changes to these guidelines required code changes in multiple applications; after, the rules engine served as the single source of truth. Although not a “digital twin” of a physical asset, the pattern is similar – complex rule sets moved out of code into a declarative form. Organizations have reported faster turnaround (from weeks to days or hours) for implementing new rules, and fewer inconsistencies
-
[scaleoutsoftware.com](https://www.scaleoutsoftware.com/featured/building-real-time-digital-twins-with-a-rules-engine/# :~:text=provide%20a%20straightforward%20technique%20for,complex%20logic%20is%20not%20required)
-
One can view CMCC as bringing that same paradigm into the operational technology and IoT space: the “domain rules” of a manufacturing process or machine can be managed with the same agility as those underwriting rules. A maintainability win commonly cited is reduced duplication: a rule defined once in the engine applies wherever needed, whereas code often led to slight variations in different places.
-
Spreadsheets and Low-Code Configurations: It may sound trivial, but the prevalence of complex Microsoft Excel models in engineering and business is a testament to the power of model-based logic. Users build entire “digital twins” of financial systems or even physical processes in spreadsheets using nothing but schema (tables), data, lookups, aggregations (pivot tables, etc.), and formulas – remarkably similar to CMCC’s primitives. These spreadsheets are often easier for a team to update than equivalent logic in a programming language. There are documented cases of, say, maintenance scheduling or power consumption prediction done in a spreadsheet that outperformed a previously coded solution in terms of flexibility. The downside of spreadsheets (lack of robustness and governance) is exactly what CMCC addresses by bringing those ideas into a controlled, ACID-compliant environment. The comparison here highlights that people naturally gravitate to declarative modeling when they need transparency and quick iteration. CMCC formalizes this into an enterprise-grade approach.
-
Digital Twin Platforms with Graph/Ontology Models: Some modern digital twin platforms (e.g., those by GE, Siemens, or open-source like Eclipse Ditto) allow users to define twin models via configuration – essentially you describe the twin’s properties and some computed fields, and the platform handles the rest. One example is Azure Digital Twins which uses a modeling language (DTDL) to define twin properties, telemetry, and simple calculated relationships. While not as exhaustive as CMCC, it shows an industry trend: logic moving into model metadata. A case study from an automotive manufacturer using a model-driven twin platform indicated that when they wanted to support a new product line, they mainly had to extend the model (adding new fields and rules) rather than re-write backend code – leading to a much faster launch. This underscores the adaptability advantage: model-driven twins can be more product- or asset-agnostic. The heavy lifting is in the model definition, so cloning a twin for a new instance or adapting to a variant is primarily a data/schema exercise, not a coding one.
-
Mobile Gaming Example (Rule Separation): In the supplementary notes for BRCC (the business rule conjecture akin to CMCC), a mobile gaming scenario is cited. The approach helped _“unify game development rules across global teams, separating gameplay mechanics from coding.”_
-
[zenodo.org](https://zenodo.org/records/14735965# :~:text=,to%20sectors%20like%20healthcare%20and)
-
While gaming is different from industrial twins, the principle holds: by shifting the game rules (which could be seen as a twin of the game state) into a rulebook, distributed teams could collaborate without stepping on each other’s code, and the core engine simply enforced the evolving rules. The result was better maintainability and adaptability – they could tweak game parameters or introduce new game features by updating the rule model rather than patching game code in multiple places. This is analogous to a team managing a fleet of digital twins: if all twin logic is centralized, multiple teams (maintenance, process engineering, data science) can propose and test changes to the twin’s behavior without interfering with the underlying software pipeline.
Traditional vs CMCC-Driven Twins
To clearly compare, consider a traditional digital twin implementation and a CMCC-driven implementation:
-
Maintainability: Traditional twins often embed logic in multiple layers (device scripts, backend microservices, analysis tools). A change (say a new formula for calculating efficiency) means updating and testing each layer’s code that deals with that logic. CMCC-driven twins centralize that into one formula in the model. Maintainability is improved because there’s a single point of definition to update
-
[zenodo.org](https://zenodo.org/records/14735965# :~:text=explicitly%20decoupled%20from%20the%20runtime,attempts%27%E2%80%94no%20such%20counterexample%20has%20emerged)
-
The elimination of the ripple effect when rules change has been a key motivator for CMCC [zenodo.org](https://zenodo.org/records/14735965# :~:text=explicitly%20decoupled%20from%20the%20runtime,attempts%27%E2%80%94no%20such%20counterexample%20has%20emerged)
-
In practice, this means fewer regression bugs – you don’t have the scenario where one part of the twin was updated with new logic but another part wasn’t, causing inconsistency. All consumers use the updated formula immediately.
-
Adaptability: With traditional approaches, introducing a new data source or supporting a new asset type might require significant re-coding and refactoring. With CMCC, if the schema was designed extensibly, adding a new sensor type or a new derived metric is more straightforward – you extend the schema or add a formula, and it integrates into the existing model seamlessly. Since the twin’s logic is not tangled in code, you can often adjust it on the fly. This is particularly useful in fast-evolving domains or during pilot projects – you can iterate on the twin’s behavior daily if needed. Some early adopters of model-driven rules have noted that what used to be quarterly software releases turned into continuous rule updates, with domain experts empowered to make small changes themselves after proper training (subject to governance) because it’s more like updating a configuration than coding.
-
Correctness and Consistency: Ensuring correctness in a distributed codebase is hard – you rely on testing to catch if one module’s logic diverged from another’s. In a CMCC model, consistency is inherent: a rule is defined once. If the model is executed correctly by the engine, every usage of that rule is uniform. This can reduce subtle errors. For example, imagine a “remaining life” calculation – if coded by different developers in different tools, one might use a slightly different formula. With one model, that can’t happen: there’s a single definition. Moreover, having a declarative model allows for formal verification techniques. One could potentially analyze the rule set for logical contradictions or gaps (some rule engines do this). While still an emerging area, it hints that CMCC could enable higher assurance of correctness than hand-written code, by treating rules as data that can be analyzed. In regulated scenarios, this is a big win – easier to prove that the twin behaves as intended in all cases.
-
Performance: This is one area that needs careful handling. Traditional code can be optimized, parallelized, and tuned by developers, whereas a high-level model depends on the engine’s efficiency. Real-world experiences vary: some model-driven systems perform nearly as well as optimized code thanks to smart query planning or in-memory rule execution; others can introduce latency. For instance, if every sensor update causes a complex cascade of database queries (because of many formulas/aggregations), a naive implementation might slow down. However, techniques like incremental computation, caching, and pre-aggregation can mitigate this. A well-known example is how spreadsheet software recomputes only the affected cells when a change happens – a CMCC engine can do similar (recompute only dependent formulas). In comparisons, when properly implemented, the difference may be negligible for most use cases, but developers should be mindful to monitor it. The case studies where rules engines were used in high-throughput environments (like real-time twin streaming) show that with modern hardware and distributed processing, even complex rule sets can keep up
-
[scaleoutsoftware.com](https://www.scaleoutsoftware.com/featured/building-real-time-digital-twins-with-a-rules-engine/# :~:text=source%20and%20maintains%20state%20information,to%20a%20specific%20data%20source)
-
[scaleoutsoftware.com](https://www.scaleoutsoftware.com/featured/building-real-time-digital-twins-with-a-rules-engine/# :~:text=In%20many%20applications%2C%20a%20rules,be%20expressed%20with%20%E2%80%9CDO%20action%E2%80%9D)
-
Scalability: Traditional approach might scale by duplicating services and partitioning data, but then ensuring all have the latest logic is another devops challenge. With a central model, scalability is more about scaling the evaluation engine. Databases and rule engines can scale horizontally, applying the same rules to many entities. For example, one financial firm was able to scale their rule-based risk assessment to millions of transactions per day by clustering the rules engine – they treated rules as data, sharded the input, and every node applied the same rule set. Similarly, a CMCC twin system can handle many twin instances by scaling out the underlying DB or computation nodes, all pulling from the same rule repository. The consistency remains because the model is centralized even if execution is distributed.
In summary, the real-world evidence from analogous domains strongly supports the CMCC approach: reducing imperative code and shifting to model-based logic improves maintainability and agility
[scaleoutsoftware.com](https://www.scaleoutsoftware.com/featured/building-real-time-digital-twins-with-a-rules-engine/# :~:text=In%20many%20applications%2C%20a%20rules,be%20expressed%20with%20%E2%80%9CDO%20action%E2%80%9D)
Teams can respond faster to change, and the system’s knowledge becomes more transparent. Early adopters of the conjecture’s ideas (even if under different names) in digital twin contexts likely found that development efforts concentrate more on modeling the domain and less on debugging code. This is a positive shift, as domain experts and software engineers can collaborate on the model (which is closer to domain language) and have greater confidence that the twin’s behavior aligns with the specified model.One caveat observed is that this approach requires discipline in model management. Some organizations struggled initially with how to organize hundreds of rules or formulas – which is why good schema design and perhaps grouping logic into modules is important. But once a structure was in place, the benefits manifested as discussed. The CMCC-driven approach to digital twins appears to offer significant upside in lifecycle management of twin systems, as long as the implementation is done thoughtfully.
5. Theoretical Underpinnings of CMCC
The Conceptual Model Completeness Conjecture is rooted in the idea of a universal knowledge representation framework. It draws from principles in database theory, logic, and knowledge representation to claim that the five primitives (S, D, L, A, F) are not just convenient – they are fundamentally sufficient to describe any computable aspect of a system’s behavior
[zenodo.org](https://zenodo.org/records/14759299# :~:text=theoretical%20proof%20sketch%2C%20inspired%20by,the%20declarative%20what%29%2C%20apart)
We delve into the theory and compare it to other structural modeling paradigms:CMCC as a Universal Representation
CMCC’s bold conjecture can be seen as a form of declarative Turing-completeness. The formal proof sketch given by its proponents shows that any finite computation (business rule) can be encoded using the combination of schema (to structure inputs/outputs), data (initial states), lookups (for finite mappings), aggregations (to handle any needed summations or counts, etc.), and calculated fields (for arbitrary calculations expressed as lambda expressions)
[zenodo.org](https://zenodo.org/records/14759299# :~:text=theoretical%20proof%20sketch%2C%20inspired%20by,the%20how)
-
In essence, these five primitives form a kind of algebra that is functionally complete. For example:Schema and Data give you the equivalent of memory (you can store any needed state or inputs in tables).
-
Lookups provide the ability to do function mapping and branching logic (one can represent conditional logic by using a lookup table or a set of if-then rows rather than a coded if statement).
-
Aggregations allow you to derive higher-order information (and they can be as powerful as needed — sums, maxima, existence checks — which, combined with data, can implement loops or recursion in a set-oriented way).
-
Formulas (calculated fields) let you perform arithmetic or string manipulation or any calculable function on the data.
It’s useful to note parallels: A relational database with enough schema and data can encode any finite state machine, and SQL with aggregations and joins is relationally complete (capable of expressing all generic database queries). CMCC goes one step beyond by incorporating lambda-calculus within fields, meaning you can express arbitrary computations (not just queries) as long as they’re finite and terminating. This places CMCC in the realm of a functional programming paradigm but grounded in data modeling. One could liken it to a fusion of the relational model (for data structure and set-based ops) and the functional model (for calculations).
The conjecture is falsifiable – if someone finds a rule that truly cannot be modeled with these constructs, the conjecture fails
[zenodo.org](https://zenodo.org/records/14735965# :~:text=,attempts%27%E2%80%94no%20such%20counterexample%20has%20emerged)
But notably, no such rule has been found yet, and informally many have tried (including using AI to generate tricky scenarios). This gives weight to the idea that CMCC’s primitives are complete. If we accept that, then CMCC becomes a sort of maximally expressive conceptual modeling framework. It means that for knowledge representation needs (like digital twins), you don’t actually need an endless variety of languages or custom code; you need a well-structured combination of the five building blocks.Relationship to Ontologies and Semantic Web
There is a strong resonance between CMCC and ontology-based modeling. In ontologies (like OWL/RDF in the Semantic Web), we define:
-
Classes (Schema),
-
Individuals (Data instances),
-
Properties/relations (part of Schema, linking individuals),
-
Possibly Rules/axioms in languages like SWRL or SHACL for certain logical implications.
Ontologies are a formal specification of a conceptualization of a domain
[pmc.ncbi.nlm.nih.gov](https://pmc.ncbi.nlm.nih.gov/articles/PMC4422998/# :~:text=languages%2C%20namely%2C%20Resource%20Description%20Framework,data%20property%20and%20object%20property)
They separate the conceptual schema (classes, properties) from individual data, much like CMCC separates Schema from Data. However, classical ontologies primarily capture static relationships and classification. Business rules or computations often require additional layers (SWRL rules for example, to say “if A and B then C”). CMCC covers that via Formulas. Additionally, ontologies don’t naturally handle aggregations (they’re more about logic than arithmetic on sets), whereas CMCC explicitly includes Aggregations for numeric or set-based summarizations.Another difference is that ontologies emphasize open-world reasoning and inference, while CMCC is aimed at closed-world, fully specified computations (more akin to database transactions). That said, one could map an ontology into a CMCC schema: Classes -> tables, attributes -> fields, individuals -> data rows, and simple logical implications -> either formulas or lookups (in the form of rule tables). The semantic web’s goal of being expressive, shareable, and maintainable knowledge representation
[pmc.ncbi.nlm.nih.gov](https://pmc.ncbi.nlm.nih.gov/articles/PMC4422998/# :~:text=The%20vendors%20publish%20resource%20ontologies,9%20%E2%80%93%2025)
is very much in line with CMCC’s goals. In fact, CMCC can be seen as a pragmatic approach to achieve semantic modeling in enterprise systems. Instead of OWL axioms (which not all developers are familiar with), you have lookup tables and formulas that capture similar knowledge in a perhaps more accessible way for IT systems.One might ask: is CMCC essentially creating an ontology plus a rule system? In some sense, yes – the Schema and Data are like an ontology’s TBox and ABox (schema and individuals), and Lookups/Formulas/Aggregates serve the role of business rules. The advantage of CMCC is that it folds everything into a unified, queryable framework (especially if implemented on a relational or graph database). It also explicitly supports time by treating it as another dimension of data
[zenodo.org](https://zenodo.org/records/14735965# :~:text=explicitly%20decoupled%20from%20the%20runtime,attempts%27%E2%80%94no%20such%20counterexample%20has%20emerged)
Whereas ontologies historically had trouble with time (often requiring special patterns or temporal extensions).Relationship to Graph Databases and Knowledge Graphs
Graph databases (like Neo4j or AWS Neptune) store data as nodes and relationships, often schemaless or with a flexible schema. One can certainly implement a digital twin in a graph DB, and indeed some do to capture complex relationships. How would CMCC work there? The five primitives can still apply: Schema would be the node and edge types, Data the actual nodes/edges, Lookups could be small subgraphs or property maps, Aggregations could be expressed as graph algorithms or Cypher queries, and Formulas might be realized via computed properties or on-the-fly query logic. Some graph databases allow you to define computed properties or to use stored procedures for calculations, which could be driven by a rules engine.
A knowledge graph is essentially an ontology + data, often with some rule-based reasoning on top. So again, CMCC aligns well: it could provide a more structured approach to what knowledge graphs aim to do. One interesting connection is that knowledge graphs often integrate data from multiple sources (interoperability focus). CMCC’s emphasis on a complete conceptual model could actually help here – if all sources conform to expressing their knowledge as S, D, L, A, F, merging data might be easier as you’d align schemas and then union the data sets.
It’s worth noting the mathematical foundation of CMCC’s representation is in set theory and lambda calculus. Each primitive corresponds to an operation or structure that is well-studied:
-
Schema = sets (or relations) with constraints,
-
Data = elements of sets (facts),
-
Lookups = functions or maps (finite functions can be seen as sets of pairs, which is a relation),
-
Aggregations = functions from subsets to values (like fold or reduce operations, which can be formalized),
-
Formulas = lambda expressions (which is effectively first-order logic or arithmetic applied to fields).
So one could formalize CMCC as a logic programming system constrained by a schema. In fact, it parallels the idea of Datalog (a declarative logic programming language) extended with functions. Datalog is relational (with facts and rules) and can express a lot of business logic. CMCC could be seen as Datalog + arithmetic, with a bias toward normalization of everything into separate primitives.
Beyond Relational: Multi-Dimensional and Temporal
The mention that CMCC treats “time as just another dimension”
[zenodo.org](https://zenodo.org/records/14735965# :~:text=explicitly%20decoupled%20from%20the%20runtime,attempts%27%E2%80%94no%20such%20counterexample%20has%20emerged)
hints at a multi-dimensional data model akin to OLAP (Online Analytical Processing) cubes or multi-dimensional arrays. In OLAP, you have dimensions (like time, location, product) and measures (aggregates). The CMCC approach can emulate that: the Schema might include a Time dimension table, Data includes timestamped records, Aggregations produce time-series rollups, etc. This is powerful because it means dynamic behavior (which is time-dependent) can be handled declaratively. A twin might need to know “in the last 5 minutes, did any sensor exceed X?”. Instead of a looping construct, you model it as a filtered aggregation over the time-dimensioned data. This is essentially treating time no differently than space or any other dimension in the data model, thereby avoiding special-case imperative handling for temporal aspects. The theoretical underpinning here is that any temporal logic that is bounded (doesn’t require infinite history) can be unfolded into a relational form by introducing time as a coordinate.Comparative Note on Other Frameworks
It’s useful to compare CMCC to other model-driven engineering (MDE) concepts. MDE approaches (like UML-based modeling or Domain-Specific Languages) also seek to abstract software from the underlying code. CMCC differs by focusing on a minimal set of universal constructs rather than high-level graphical models. It claims you don’t need, say, 13 types of UML diagrams; just five types of constructs arranged appropriately. This minimalist yet complete set is reminiscent of how the Church-Turing thesis said all computation boils down to a Turing machine or lambda calculus. Here, all domain computation boils down to a structured data model with formulas. It’s a sort of Church-Turing thesis for information systems modeling.
Finally, consider the Semantic Web Rule Language (SWRL) or rule-based systems in AI – they let you write rules like “IF condition THEN conclusion”. Such rules can often be translated into a combination of lookups (for matching patterns) and formulas (for deriving conclusions). For example, an AI expert system might have a rule “IF (Valve is open) AND (Pressure > 50) THEN (Risk = High)”. In CMCC, you could have a formula for Risk that references a lookup table of conditions or directly encodes the logic as a formula. The advantage of CMCC is that it integrates this with data persistence and schema. Traditional expert systems operate on in-memory facts and often don’t integrate seamlessly with databases – CMCC tries to unify that, giving it a firmer foundation in database theory.
In summary, the theoretical foundation of CMCC is that it stands at the intersection of relational modeling, functional programming, and knowledge representation. By limiting itself to five conceptually simple primitives, it achieves a form of completeness without requiring imperative constructs. This resonates with the philosophy of the semantic web (classes and relationships, plus rules) and graph databases (nodes/edges plus algorithms), but CMCC distinguishes itself by promising one unified framework for all of it. It’s “ontology + rules + data + analytics” in one package. This universality is what makes CMCC intriguing: if widely adopted, it could serve as a lingua franca for describing digital twins and other complex systems, much like mathematical formalisms serve in science. The caveat is that it requires practitioners to conceptualize problems in this declarative, model-first way – which is both a theoretical and an educational challenge.
6. Challenges and Open Questions
While the CMCC approach offers many benefits, it’s important to address potential limitations and practical challenges that come with using CMCC as the core of digital twin implementations. Adopting any paradigm shift raises questions and considerations that need to be resolved for industry-wide acceptance. Below are some of the key challenges and open issues:
-
Performance and Scalability of Declarative Execution: One concern is whether a fully model-driven approach can handle the real-time performance requirements of certain digital twins. Complex twins might have hundreds of formulas and aggregates that need to update instantly as new data streams in. If not carefully optimized, a naive implementation could introduce latency (e.g., recalculating too much on each update). Imperative code can be hand-tuned for performance, whereas a general rule engine must rely on query optimizers or caching. The challenge is ensuring that the CMCC engine can meet hard real-time constraints when needed. Solutions could include pre-compiling the model into efficient code, incremental computation, or running the engine on the edge close to the data. This is an area for tooling development – perhaps specialized CMCC execution engines optimized for time-series and event processing will emerge. Until such maturity, some may be hesitant to trust a generic engine for mission-critical low-latency control. A hybrid approach might be used (as mentioned, fastest loops in PLC, supervisory logic in CMCC) as a stepping stone.
-
Complexity of Rule Management: As the number of rules (formulas, lookups) grows, managing the model itself could become complex. It’s essentially a large knowledge base. Challenges include avoiding rule conflicts or unintended interactions. In code, the structure (functions, modules) can help manage complexity; in a rule repository, one needs analogous structuring mechanisms. How do we modularize a CMCC model? How to handle, say, two different product lines that share 80% of rules but differ in 20% – could we have an inheritance or override mechanism in the model? These questions point to the need for methodology: perhaps using tagging or scoping of rules by context. Some research might be needed to define best practices for large-scale rulebase design, akin to how software architecture is for code. Without such practices, an unorganized rule repository could become the new “spaghetti code”. Therefore, tooling and methodology for CMCC (model editors, dependency analyzers, test frameworks for rules) are critical for success.
-
Training and Mindset Shift: Industry adoption means convincing software engineers and domain experts to approach problems differently. There could be resistance – developers may feel more in control writing code, and domain experts might not initially feel comfortable formalizing their knowledge in a structured model. It requires a cultural shift towards thinking declaratively. Early adopters often have a champion who deeply understands both the domain and the CMCC method to guide the team. Overcoming skepticism will likely require more case studies and education – people need to see that it works and doesn’t overly complicate their lives. Indeed, the conjecture invites skeptics to find counterexamples. While none have been found, this doesn’t mean people won’t still question its completeness or practicality. Thus, evangelism and evidence are needed. Detailed pilot projects in different industries (beyond those already done) can help validate CMCC in the eyes of practitioners. Until then, it may remain a niche concept.
-
Integration of ML/AI and Uncertain Reasoning: Digital twins increasingly incorporate AI components (predictive models, anomaly detection using machine learning, etc.). How do these fit into CMCC? A learned ML model (say a neural network) doesn’t easily translate to a simple formula – it might be a complex function. One approach is to treat the ML model as an external function call within a formula (e.g., QualityScore = MLModel(inputs...)). That keeps CMCC as the orchestrator but delegates complex prediction to a black box. This works, but raises the question: is that within the spirit of CMCC or is it cheating (since the real logic is in the black box)? Also, how to version and govern the ML models alongside the rule model? This remains an open area. Possibly, the CMCC repository could store references to model versions and treat them as specialized lookup tables (for instance, a lookup that given certain features returns a prediction, which is effectively what an ML model does). Another aspect is uncertainty – traditional rules are crisp, but twin data can be noisy or uncertain. One might need probabilistic logic or fuzzy logic. Does CMCC accommodate that? It might, if one treats probabilities as data fields and writes formulas to propagate them, but it’s not as straightforward as deterministic logic. The conjecture primarily addresses “finite business rule” which usually implies deterministic logic.
-
Tooling and Standardization: For industry-wide adoption, there need to be robust tools and possibly standards supporting CMCC. Right now, the idea might be tied to specific research or a single platform (like EffortlessAPI’s ecosystem). For it to spread, independent tools should implement CMCC concepts – for example, plugins for popular databases to handle formula fields, or open standards to encode a CMCC model (maybe an XML or JSON schema to list S, D, L, A, F definitions). If every user has to build their own engine, adoption is unlikely. Standardization efforts could involve bodies like the Digital Twin Consortium or OMG (Object Management Group) to create a specification for “Rule-based Digital Twin Models”. We saw that OPC Foundation and DTC are talking about “conceptual, informational, structural, and behavioral models” as part of interoperability
-
[opcfoundation.org](https://opcfoundation.org/news/press-releases/digital-twin-consortium-and-opc-foundation-announce-liaison-agreement/# :~:text=including%3A%20,source%20reference%20implementations)
-
CMCC could potentially influence those discussions by providing a concrete structure for the behavioral models. An open question is whether CMCC will converge with these standards or remain an independent concept. The challenge is to ensure it does not get isolated – bridging it with mainstream standards could accelerate tool availability.
-
Gradual Adoption and Legacy Integration: Many organizations have huge investments in existing systems. Rewriting everything to fit CMCC is impractical. A challenge is how to gradually adopt CMCC. We touched on migration in the roadmap, but strategically, one might start using CMCC for new functionality while interfacing with legacy code for what’s already there. This hybrid period can be tricky – ensuring consistency between old code logic and new model logic. It might require temporarily updating code to “mirror” the decisions of the CMCC model or vice versa. One open question is: can we auto-extract rules from legacy code to populate the initial model? Some AI or program analysis could assist, but it’s not turnkey. The success of CMCC may hinge on providing a path that doesn’t force a big bang replacement. Perhaps connectors that allow the model to call out to existing code modules (so you wrap old code as if it were a formula) could help. Over time, those code modules can be phased out as their logic is absorbed into the model.
-
Limits of Declarative Representations: Although none have been found yet, could there be certain types of logic that are practically awkward to express in CMCC? For example, consider highly iterative algorithms or optimizations (like scheduling algorithms, complex graph algorithms). While one could represent these via data and formulas (e.g., using iterative approaches or fixed-point computations in tables), doing so might be far more cumbersome than writing some imperative code or using an algorithm library. The conjecture says it’s possible, but if it’s extremely unnatural or inefficient, practitioners might choose not to force it. In digital twins, this might apply to scenarios like dynamic simulation of physics or complex planning tasks. Those might remain outside the CMCC model (with the model focusing on higher-level rules around them). Thus, a pragmatic boundary may form: use CMCC for 80-90% of the twin logic, but allow conventional coding for certain algorithmic pieces. The open question is where that boundary lies and whether future enhancements to CMCC (maybe introducing a notion of a **“scripted formula” for those edge cases) can address it.
-
Verification and Testing Methodologies: With great power (to model everything) comes the need for ensuring the model is correct. Traditional code has established testing frameworks. For CMCC, how do we test a model? Likely by feeding in various input scenarios (as data) and checking the outputs (formula results) match expectations – essentially scenario testing. There’s an opportunity for formal verification since the model is declarative; perhaps certain properties can be proven (like no formula will divide by zero given the data constraints, etc.). Research could explore using SAT solvers or model checkers on a CMCC model. This is an open area and also a challenge: if people don’t trust that they can verify the model’s correctness as well as they could with code, they might be hesitant. Developing a testing and validation framework specific to CMCC (including handling of time-dynamic behavior) will be important.
-
Human Readability vs Machine Optimization: Another tension is between making the model readable to humans (one of the selling points) and making it optimal for machines. Sometimes highly normalized declarative logic can be hard to mentally parse if not presented well. For example, a complex decision might be broken into multiple lookup tables and formulas – no single chunk of code shows the whole decision process. It’s abstracted, which is good for modularity but can challenge understanding. Good documentation generation from the model, or visualization tools (perhaps a way to visualize the logic as a decision graph), could help. This is a tooling challenge: ensuring that the conceptual clarity promised isn’t lost in a sea of metadata. Similarly, the machine might benefit from reorganizing rules internally (like a query optimizer would) – we need to ensure that doesn’t conflict with what a human expects. For now, these are design considerations.
In conclusion, while the Conceptual Model Completeness Conjecture provides a powerful and elegant framework, its real-world adoption will depend on addressing these challenges. Many of these – performance, tool support, integration strategies – are engineering problems that can likely be solved with time and investment. Others, like mindset shift and proving out the approach in more domains, will require persistence and community building. The conjecture is still relatively young in the public domain; as more practitioners experiment with it, we can expect refinement of the approach. Perhaps patterns will emerge for when to use CMCC vs when an imperative snippet is acceptable, much like patterns in software architecture.
One thing is clear: CMCC has opened a conversation about centralizing domain logic and treating it as a first-class asset, which is very relevant to digital twins (and complex systems in general). The path forward will involve bridging the gap between this high-level model-centric vision and the current state of practice. If the conjecture holds and tools mature, we may see a future where designing a digital twin is more about designing its knowledge base than writing software – a shift that could greatly accelerate development and ensure correctness by construction
[sosym.org](https://www.sosym.org/theme_sections/cfp/cfp-SoSyM-TS-DigitalTwins.pdf# :~:text=challenge%20for%20the%20modeling%20community,Twins%20using%20Model%20Driven%20Engineering)
For now, the community is invited to test, challenge, and enhance the CMCC approach [zenodo.org](https://zenodo.org/records/14735965# :~:text=,attempts%27%E2%80%94no%20such%20counterexample%20has%20emerged)
, contributing to an evolving set of best practices that could eventually become standard in digital twin engineering.

