MES Message Routing System Domain Extension
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing message routing systems in manufacturing execution systems (MES) face challenges in extending or specializing domains, leading to increased complexity, code duplication, and maintenance issues, as they lack the ability to provide default domains or techniques for partial or complete domain extension, resulting in limitations such as function-based design limitations, dependency hell, code reduplication, opaque function calls, and cyclomatic complexity.
Innovation Solution
A process that extends MES functionalities by selecting a command, contextualizing it with a MES lineage contextualized entity, extending both the entity and command, registering handlers in the message routing system, and delivering messages with lineage information to select the appropriate handler for executing the functionality or extended functionality, allowing for polymorphic behavior without changing the underlying paradigm.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If message routing system is used to control domain interactions, then scalability and maintainability are improved, but complexity in functional design and source code increases
Solution Approach 1:
The patent introduces a message routing system as an intermediary layer between domains, where domains communicate through standardized messages rather than direct interactions. This mediator handles routing, transformation, and coordination, reducing the complexity of inter-domain communication while maintaining scalability.
Solution Approach 2:
The system segments the MES into independent domains that can be developed, deployed, and maintained separately. Each domain encapsulates specific functionality, and the message routing system provides the communication infrastructure, allowing teams to work independently without increasing overall system complexity.
2Stability of the object's composition
If domains are interconnected and bundled together, then integration is achieved, but modularity and extensibility are limited
Solution Approach 1:
The patent divides the MES into loosely-coupled domains that are integrated through standardized message interfaces. This segmentation allows each domain to be independently modified, extended, or replaced without affecting others, achieving both integration and modularity simultaneously.
Solution Approach 2:
The message routing system provides universal communication capabilities that work across all domains. Standardized message formats and routing mechanisms enable any domain to interact with any other domain through common interfaces, facilitating extensibility while maintaining integration.
3Adaptability or versatility
If inversion of control principle is used, then modularity and extensibility are improved, but complexity in code maintenance increases
Solution Approach 1:
The message routing system acts as an intermediary that manages the complexity of inversion of control patterns. By centralizing routing logic and message transformation in the mediator layer, the patent reduces the maintenance burden on individual domains while preserving modularity and extensibility benefits.
4Ease of operation
If message routing system transforms data models, then communication between domains is enabled, but dependency management becomes complex
Solution Approach 1:
The message routing system serves as an intermediary that handles data model transformation between domains. By centralizing transformation logic in the routing layer, the patent enables seamless communication while managing dependencies centrally, reducing the complexity for individual domains.
Data Source
AI summary
A process extends manufacturing execution system (MES) functionalities in a domain having MES lineage contextualized entities (MLCEs) and commands. The process includes selecting a command implementing the functionality to be extended; contextualizing the command with a MLCE to obtain an entity contextualized command (ECC); extending the MLCE and the ECC, to obtain an extended MLCE (EMLCE) and an extended ECC (EECC); registering in the routing system a first and second handler of the command in association with the lineage of the MLCE and the EMLCE; and communicating between domains by delivering message(s) including a name of the command and the MLCE or the EMLCE, the routing system selecting the first or the second handler, for executing the functionality or the extended functionality, based on a mapping between the lineage registered for the first or the second handlers in the routing system, and a lineage derived from the message.


