Version Object Framework for Process Control Software Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Process control systems face challenges in seamlessly integrating and upgrading software applications to accommodate evolving specifications, particularly in handling different versions of device descriptions and protocols, which can lead to compatibility issues and increased complexity.
Innovation Solution
A software framework is developed that utilizes version objects, class factories, and a parser to instantiate the appropriate version objects for processing inputs, allowing for backward and forward compatibility by creating a linked list of class factories and using a last version object to handle unsupported versions, thus simplifying upgrades and tolerating changes in unsupported versions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software applications are upgraded to accommodate evolving specifications, then the system can support new features and address known problems, but compatibility issues arise with existing field devices and prior specification versions
Solution Approach 1:
The software framework segments the specification handling into distinct version objects, each representing a specific specification version. This segmentation allows the system to maintain multiple version implementations simultaneously and select the appropriate one based on the field device being accessed, thereby resolving the contradiction between supporting new features and maintaining compatibility with existing devices.
Solution Approach 2:
The framework introduces an intermediary layer (the version object selection mechanism) between the software application and the field devices. This intermediary automatically selects the appropriate version object based on the device's specification version, allowing the application to work with evolving specifications while maintaining seamless compatibility with existing devices without requiring application-level changes.
2Adaptability or versatility
If multiple version objects are implemented to support different specification versions, then backward and forward compatibility is achieved, but the device complexity and software structure increase
Solution Approach 1:
The framework implements a universal version object interface that can handle multiple specification versions through a common structure. Each version object follows the same interface contract, allowing the selection mechanism to work uniformly across different versions without requiring version-specific selection logic, thereby reducing the perceived complexity despite supporting multiple versions.
Solution Approach 2:
The framework performs preliminary action by pre-defining version objects for different specification versions and establishing the selection mechanism in advance. This allows the system to handle version compatibility issues automatically without requiring complex runtime decision-making or configuration, simplifying the overall software structure despite the presence of multiple version implementations.
3Manufacturing precision
If a rigid specification versioning system is implemented, then precise control over version compatibility is achieved, but the system becomes inflexible and difficult to maintain when new versions are introduced
Solution Approach 1:
The framework implements a dynamic version object selection system that can adapt to new specification versions automatically. When a new version object is introduced, the selection mechanism dynamically recognizes and incorporates it without requiring system reconfiguration or rigid version mapping rules, thereby maintaining precise version compatibility control while enabling easy introduction of new versions.
Solution Approach 2:
The framework uses parameter changes in the version object interface to maintain compatibility control. By defining version-specific parameters within a unified object structure, the system can precisely control which parameters are version-dependent while keeping the overall structure consistent, making it easy to introduce new versions by simply updating the relevant parameters rather than restructuring the entire system.
Data Source
AI summary
A software application architecture based on object oriented concepts. According to an aspect, upgrading the application to support newer versions of a standard describing device description is simplified. According to another aspect, the application is designed to be tolerant to changes (additions or modifications) introduced by future/later versions not yet supported by the application. In an embodiment, the approaches are applied in the context of a parser designed to parse device descriptions of different versions.


