Author: Chandrasekhar Puliroju, Project Engineer, dSPACE Inc.
March 24, 2014: Technical research is continuously enriching our lives by adding new features and capabilities to the products of our day-to-day life. Personalization through customized offerings is exploding the number of variants offered in a given product.
While we love having a wide array of product offerings, the complexity associated with developing them poses a huge challenge to the engineering community − especially embedded software developers. It is not uncommon to hear their desperation voiced as:
“I’m afraid that our engineers sometimes lose overview when navigating through the huge amount of data produced in the various development phases.”
“How can I avoid getting lost in the exploding number of variant combinations?”
“My team wastes too much time transferring data between engineering tools.”
“How can we efficiently store and retrieve the specific data objects found in the model-based development?”
The frustration for developers arises because the software data management tools available in the market are primarily file based. These tools cannot handle traceability and variant management in a product life cycle effectively to match the model-based design process.
Work products that are acquired during the development phase (e.g. code modules, models, database of signals and parameters, test cases, test results, etc.) are not tracked, making it difficult to reuse them for the next generation of product life cycle development. The lack of having a proper data management solution in place causes companies to reinvest time and money in development and testing work that has already taken place.
Current Traceability and Variant Management Challenge
The figure below provides a very simplified representation of how the model-based data from different development phases are linked and related to each other in an embedded software development process.
However, even in this simplest representation, traceability and variant management looks very challenging. Today, it is common for everyone seriously developing embedded software to use some sort of Software Configuration Management (SCM). These tools are efficient in managing the outcome of this process.
However, the challenge in the development environment, like the one shown above, comes from the extensive tooling required to manage complexity. Each phase of this development cycle comes with independent tools with their own semantics.
Due to file-based data management techniques followed by SCM/ALM tools, traceability of objects within the semantics of tools that have impact on the overall quality of the product is lost.
A solution is needed to resolve the challenges posed by product complexity. dSPACE is addressing this challenge with the introduction of its new data management solution for model-based development environments called SYNECT.
SYNECT is data management software with a special focus on model-based development and Electronic Control Unit (ECU) testing. Designed to help manage data throughout the entire development process – models, signals and parameters, tests, test results, etc., – it also handles data inter-dependencies, versions and variants and requirements.
SYNECT is based on a commercial client-server data management platform which supports access control, secure communication, server and client-side cache and configuration management.
Managing Traceability Using SYNECT
Traceability is one of the key aspects of SYNECT. This can be achieved at different levels of development and testing phases in a product life cycle. Traceability can be easily realized due to the fact that:
- SYNECT has the capability to store and manage the individual engineering work items, such as signals, parameters, etc., and is also intelligent enough to analyze the data in the files which the normal software configuration management (SCM) tools cannot handle themselves.
- SYNECT extends the traceability of work-in-progress product to finished end product via connectivity to existing ALM/SCM tools without altering the SCM configurations. The traceability level of SYNECT is on work item level, rather than the file level only, provided by the SCM tools. Also, SYNECT allows re-using data on work item level rather than on file level only.
SYNECT Test Management
Test Management supports the intuitive management, planning, monitoring and evaluation of all test activities in ECU development projects. The software offers special support for model-in-loop (MIL), software-in-loop (SIL), processor-in-loop (PIL) and hardware-in-loop (HIL) testing by directly connecting test automation tools.
A whole team’s tests, test data and test results are stored centrally and made available for analysis and status monitoring independently of the test system and tool that has been used. The tests performed can be directly linked to the requirements’ documents, which eases the traceability to validate if a specific requirement has been tested.
SYNECT Signal and Parameter Management
Signal and Parameter Management is used for the central management of signals, parameters and parameter sets throughout the entire model-based development process. It can handle signals and parameters of controller functions and ECU software, as well as plant models. It supports commonly used file formats and standards, as well as providing direct connections to engineering tools so that the signals and parameters can be easily retrieved.
SYNECT Model Management
Model Management lets you manage all types of models, such as architecture models, function models, or test models in a central repository. Model designers can manage the life cycles of their models and add useful information to the new versions they make available. This helps model integrators assess which models are suitable for specific purposes – simulation, software builds, etc. – so that they can integrate the right models with the right properties.
SYNECT Model Management not only brings together model designers and model integrators, but is the central tool for everybody in an organization who works with models.
By using dSPACE SYNECT data management software, developers can:
- Manage all the development data in a central database.
- Easily import and export data throughout the development process.
- Track data from one end of the development process to the other, and,
- Manage data for the development of safety-critical systems, according to ISO 26262, IEC 61508, etc.
- Share and reuse data across projects, between individuals and groups, and for further variants.