Abstract Automation Model for Industrial Control Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing industrial control software development platforms are inflexible and require extensive development and testing, often unsupported for newer software paradigms unless a new platform is designed, limiting their ability to support multiple automation languages and versions.
Innovation Solution
A flexible and extensible architecture using abstract programming models, such as the Abstract Automation Model (AAM) and Concrete Automation Model (CAM), which supports rapid software development and deployment across various hardware platforms, allowing developers to design control solutions in an abstract setting while facilitating code execution on any end hardware platform, and provides a familiar design environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional control software development platforms are used, then development and testing require many man-years, but the platforms lack flexibility to support newer software paradigms and multiple automation languages
Solution Approach 1:
The system segments the development platform into distinct modules: a presentation layer for UI design, a translation layer for language conversion, and an execution layer for controller operation. This segmentation allows each layer to be independently developed, tested, and updated, enabling support for multiple automation languages without requiring complete platform redesign.
Solution Approach 2:
The translation layer serves as a universal intermediary that converts between multiple automation languages (ladder logic, SFC, Structured Text, etc.) and the controller's native language. This multi-functional component enables the platform to support various software paradigms and language versions through a single unified architecture, eliminating the need for separate development platforms for each language.
2Adaptability or versatility
If a new platform is designed to support newer software paradigms, then adaptability improves, but development complexity and resource requirements increase
Solution Approach 1:
The translation layer acts as an intermediary between the presentation layer and the execution layer, absorbing the complexity of language conversion and paradigm translation. This mediator approach allows the platform to support newer software paradigms without increasing the complexity of the overall architecture, as the translation layer handles all language-specific complexities in isolation.
Solution Approach 2:
The system adds a new dimensional layer (the translation layer) between the user interface and the execution engine. This dimensional change allows the platform to support multiple automation languages and paradigms without complicating the existing layers, as each language is handled in its own dimension (translation layer) rather than integrating complexity into the core execution layer.
3Reliability
If extensive development and testing are performed, then platform reliability improves, but time to market and deployment speed decrease
Solution Approach 1:
The translation layer is pre-configured with conversion rules and mappings for multiple automation languages. This preliminary preparation allows rapid translation and deployment of control logic without requiring extensive testing for each language combination, as the translation framework is already validated and ready for use.
Solution Approach 2:
The system creates translated copies of control logic in the target controller language through the translation layer. These copied versions can be independently tested and validated, allowing parallel development and testing activities that accelerate time to market while maintaining reliability through multiple validation opportunities.
Data Source
AI summary
A control system development platform is provided. The platform includes a shell component adapted to support development of a control systems application. An abstract model is associated with the shell component to facilitate development of the control systems applications.


