Code to Model Conversion
Discussion about Emmeskay legacy to Simulink code conversion services
The Problem
In an increasingly competitive world where technical requirements for embedded software are changing rapidly, the need for model-based systems development (MBSD) is critical. But how can a company migrate its existing legacy embedded software to the MBSD? Solving this problem allows the company to leverage the accumulated control system knowledge model based executable specifications:
- Model-based systems development (MBSD) offers a new approach to manufacturing embedded systems
- Models enable engineers to tackle complex algorithms and describe elaborate systems quickly and robustly
- Hardware and software can be modeled and co-simulated – virtual integration identifies design faults early, saving time and money
- Designs are graphically represented, controllable by API, easily managed, updated, and analyzed
The Solution
Emmeskay provides an optimum solution for customers who wish to move into the model-based development environment. Using proprietary technology, Emmeskay can support customers as they make this dramatic paradigm shift from working directly with embedded software to working with executable specification models. We work with our customers to deliver a solution through iterative dialog.
Realizing the Code's Intent
Emmeskay supports a wide number of legacy code to models conversion approaches:- Literal translation of legacy code to low-level Simulink® blocks
- Intent-based translation from design requirements to Simulink®
To accomplish this, we have established specialized capabilities that address the challenges of converting a large amount of software assets to models.
- Translating fixed-point arithmetic based source code to target independent models
- Isolating stand-alone components that can be independently converted even when the original source code is highly interdependent
- Understanding the source code configurations due to pre-processor statements (such as #if, #elif, etc.)
- Creating and managing a large parameter and signal data-dictionary
- Capturing the specific intent of the code as a model while also being time-efficient and productive
- Guaranteeing both equivalent functionality and style requirements
- Realizing desired auto-code style and structure
Achieving Efficiency and Quality
Emmeskay has developed a unique process relying on tools developed in-house:- Quality by construction using semi-automated model building technology
- Verification technology to guarantee functional equivalence between model and code
- Style checking technology for consistent appearance based on customer-specific requirements
- Process management and change control procedures to ensure quality and flexibility simultaneously
Solving the Customer's Problem
The translation process must be compatible with the customer’s work culture and product style. From the beginning of a project, an experienced engineering team investigates the customer’s processes, and establishes customer-specific requirements and objectives. These results are summarized as a detailed specification to develop an efficient translation process for the customer. The translation process is developed over several iterations.
Achieving Results Through an Iterative Process
Emmeskay understands that each company has particular needs when considering migrating from C Code to executable specification models. This is a serious commitment and must be handled carefully to ensure best results. For this reason, Emmeskay feels that an iterative approach is the best way to achieve customer goals. Here is how it works.
During each iteration, a subset of the C code source is converted to Simulink executable specifications. During a given iteration, select portions of the process are exercised in detail or optimized to ensure that those process steps are fully productive and made efficient.
At the conclusion of each iteration, a detailed analysis is performed to understand and evaluate the translation process. Based on customer feedback, the translation process is continuously improved and optimized. This enables Emmeskay to provide a reliable and stable solution that meets the customer-specific demands.
Quality Assurance and Reporting
To meet the highest standard of product quality, each Simulink® executable specification is peer reviewed by engineers. This final step ensures both the adherence to style guidelines as well an additional check of functionality. This is a key step at the end of the process. Peer reviews are intensively conducted by a team of expert engineers for quality assurance. As proof of quality, Emmeskay provides a complete set of documents for each component of source code that is converted. Typically, the following items are delivered with each model:
- Simulink® specifications
- Coverage reports
- Verification reports
- Test vectors and reference executables
- MATLAB p-code to allow the customer to repeat verification
Emmeskay will provide different arrangements on timing or formatting of the deliverables based on the customers’ needs.