But if we are speaking about software development where single or distributed teams can participate, it's crucial to control what somebody is doing, what is produced by project members, and be capable of reacting to any problems as soon as possible. The effective software development process is based on effective organization of work, as well as on the use of special software tools designed to manage the project activities. Such tools can concern different process areas such as requirements management, change management, version control, and configuration management, testing, etc.
Rational solution for Collaborative Lifecycle Management (CLM) is an integrated Application Lifecycle Management solution containing four powerful products: IBM Rational DOORS Next Generation, IBM Engineering Workflow Management, IBM Rational Quality Manager, and some others. CLM is developed by the Rational brand of IBM and was first released in 2011. The Rational solution for Collaborative Lifecycle Management is built on Jazz, an extensible technology platform that helps teams integrate tasks across the software life cycle. CLM provides integration across Jazz-based applications, for example, such as Change and configuration management (CCM) to connect the work of all members in a team as well as many teams. Engineering Workflow Management is a team collaboration tool that uses the Change and Configuration Management (CCM) application in Jazz to provide features that integrate development project tasks including iteration planning, process definition, change management, defect tracking, source control, build automation, and reporting.
Modeling can be an effective way to manage the complexity of software development. It enables communication, design, and assessment of requirements, architectures, software, and systems. Building good models results in trace the design back to the requirements, helping to ensure that developers are building the right system.
Generally, using Jazz and Simulink can organize the software development process where any tool is responsible for some specific areas. It can be explained in the next picture.
You can see that incoming requests are external impacts on software development. They can impact requirements resulting in their creation and updating. Requirements are start points for further producing working software as sources, codes, and various kinds of files. Changes in codes result in building working software that can be tested for the presence of errors. Such errors are registered as defects. All actions are managed by project managers who can create tasks for other project members to direct the team's efforts with tasks, define priorities for works to be done first, and connect various members for more effective communication. All project artifacts are saved under version control and configuration management system to have a chance for reproducing accumulated data, develop software in many streams, make the process more flexible.
By the picture above, next to Jazz applications are used to cover these different areas:
- Rational DOORS Next Generation in “Requirements” area
- Engineering Workflow Management in “Requests”, “Defects”, “Tasks”, “Versions & Configurations” areas
- Rational Quality Manager in “Tests” area
- Simulink to design and produce models in the “Design” area
- Some developer's IDE (maybe, Eclipse, Microsoft Visual Studio, or something else) in the “Code” area
But Simulink is a tool that saves the data in a proprietary format, not as simple text, that is originally supported by Engineering Workflow Management by default. Simulink saves some data in binary format, why the changes can be tracked with this tool only. There's no direct integration for using Engineering Workflow Management and Simulink together. But there are perfect extending capabilities in Engineering Workflow Management due to which it can be used with practically any IDE from 3d parties. Those capabilities can track any changes in the file system that can be made by an external tool. Accordingly, you can compare those changes in Engineering Workflow Management history opening Simulink's comparator when needed to visualize the changes.
Let's look at a working sample. For example, there's a Simulink project in which files are saved in the file system of our computer. From another side, Engineering Workflow Management interacts with the file system using special software built based on Eclipse IDE. Accordingly, when we create the Eclipse project, we have to point to the same Simulink files to trace the changes in them. To get it, clear the “Use default location” checkbox and input the correct path to Simulink project files in the “Location” field when creating the Eclipse project.
As said above, Simulink uses various file types, for example, such as *.m (scripts) and *.slx (models). As for scripts, they are typical text files and can be tracked by any source control system without a problem. But models are saved in binary format, and differences can be viewed with Simulink comparator only. So if we need to compare versions in a model, run Simulink comparator from Engineering Workflow Management history and send the compared versions to there. For that, a small configuration of the Engineering Workflow Management Eclipse client should be performed in Eclipse preferences.
Now we can work with Simulink following our project goals. Provide needed changes and do required development in scripts, models, and any other files. When completed, run Eclipse client, refresh files in the workspace (if not defined automatic detecting the external changes in preferences).
Changes in text files are compared with the default text comparator in Engineering Workflow Management.
But if the project member will compare the model file in the history of changes saved in Engineering Workflow Management, an external Simulink comparator will be opened giving perfect visual details of changes between versions.
In a conclusion, we can say that Simulink can be included in the software development process due to Jazz solutions. It's especially valuable when an organization uses a multi-project structure with many developers and engineers who must effectively communicate with each other for reaching global business goals.
You can take a look at the next demo for together use of Simulink and Engineering Workflow Management to bring the configuration and version controls practices into your projects:
We will be pleased if you will ask us any questions concerned with the integrated use of Simulink with Jazz tools. Don't hesitate to contact Softacus AG regarding that!