Unlocking the Power of Jama Connect Interchange™ and MathWorks Integration
Keeping requirements and engineering tools in sync is crucial for effective product development. In complex product development, connecting requirements management with engineering tools is crucial for success.
When teams work in disconnected environments, the risk of errors and compliance gaps grows. An integration between Jama Connect Interchange™ and MathWorks tools like MATLAB and Simulink bridges this divide, creating a seamless, bidirectional flow of information. This connection ensures every team member, from system architects to design engineers, works in alignment with the most current data.
This powerful integration offers significant benefits that streamline development cycles and improve product quality. By automating the exchange of requirements and design data, teams can achieve greater efficiency and collaboration.
Key advantages include:
- End-to-End Traceability: Create a clear, auditable link from high-level requirements to detailed model elements.
- Reduced Errors: Minimize manual data entry mistakes and miscommunication between teams.
- Streamlined Collaboration: Enable systems and design engineers to work together effectively in their preferred tools.
- Simplified Compliance: Maintain a complete traceability chain to meet strict industry standards.
- Time and Cost Savings: Automate processes to shorten development cycles and allow teams to focus on innovation.
WATCH THE FULL DEMO BELOW
VIDEO TRANSCRIPT:
Patrick Garman: Hello, my name is Patrick Garman. In this demo, I’m going to walk through an example of using Jama Connect Interchange to share requirements with MathWorks tools, then bring that information back into Jama Connect® for complete traceability. Here’s what you’ll see.
First, I’m going to export a set of requirements from Jama Connect to a ReqIF file using Jama Connect Interchange. Next, I’ll import that ReqIF file into the requirements editor in MATLAB and link those requirements to model elements in Simulink. Once those links are in place, I’ll use MATLAB’s native ReqIF export feature to create a new ReqIF package that includes both the requirements and their Simulink connections.
Finally, I’ll import that ReqIF file back into Jama Connect using Jama Connect Interchange, which will update any requirements that were edited in MATLAB, and also create a new set of model items in Jama Connect to represent the Simulink model elements.
By the end of this process, you’ll see how Jama Connect maintains end-to-end traceability between requirements and model elements, bridging the gap between systems engineering and model-based design. So here I have a Jama Connect project, and you see I have a set of functional requirements here. And these are some requirements that I want to link to elements of a model that I’ve built in Simulink. And I’m going to start this process by exporting these requirements into a ReqIF file. And ReqIF file is essentially an XML file type, but it is a format that is specifically designed to be a standard file type for requirements management tools to enable this kind of exchange of information.
RELATED: Jama Connect® Features in Five: Jama Connect Interchange™ — ReqIF Import
Garman: All right, so I’m gonna start. I’ve already connected my Jama Connect instance to my Jama Connect Interchange. And so I’m going to come to our conversations page, and I’m going to start a new conversation. Just gonna give it first, I need to tell it what tool I’m going to be connecting with, and so we’re going to go with Simulink. And next. And then we need to pick if we have more than one Jama Connect connector, we’ve gotta tell it which one we want to export and import with, and then we just need to pull the project ID. So here we can see this is project two fifty one. So I can search by project using the API ID, or I can use a text search using this drop-down menu.
So this project is a Simulink demo. There we go. Just type a few letters. It pops up for me. And then I’m gonna give my conversation a name, and this is how I can know if I’m having several projects or even several sections of a project that are exchanging information with Simulink. We want to have separate conversations for those. So now I’ve created the conversation space in Jama Connect Interchange, and I want to start by exporting. So I’m gonna come to my export page. And here, I’m gonna start by selecting a location.
Step one: Location. There are a few different ways that our locations can export a baseline. For this situation, I’m going to stick to the container and I’m going to select my functional requirements, even that set of. So I need to select either the project root or a component, and I’ll have a chance to filter items out. But here, I’m gonna select this component and click next. And within that, if there were other sets of items, I could filter those out, but this is the one that I want. So I’m going to save.
Now then, on export, there is field mapping that I can select. For example, if I had more than one item type, more than just functional requirements, I could select which item types I want to include. But I can also set which fields I want to keep for each of these. So there may be several fields that I just don’t care about bringing into MATLAB Simulink because they’re not relevant to the work that I want to do there. Or I just don’t need them and that other thing. So I can turn off any of these fields that I don’t care about or don’t need to have in in Simulink. So I’m only exporting the specific data that I want to import into Simulink.
Alright, so in this case, I’m really just keeping the name, description, and rationale fields. So I can save that export mapping, and Jama Connect will also capture all of your relationship types just in case we again we’re pulling the relationships back in, but those are all mapped automatically. So from here I can just initiate export. And confirm. And depending on how many items this is, you know, six or seven items, it’s going to be really fast. Depending on how many items you are trying to export into ReqIF, that could potentially take longer. But from this log screen, can see the progress, especially if you use the funnel icon, include debug, it brings in, it gives you some status, but ultimately, it gives you this link where you can download the ReqIF file. So here, I’m just gonna drag and drop that onto my desktop so I can find it. And now I’m going to switch over to MATLAB. So starting here in Requirements Editor, because I need to import those requirements that I did previously. Here, I’m gonna delete. So for that, I’m going to first clear out what I had done previously. I can’t do that. So I’m just gonna import. We are importing from ReqIF, and I’m just gonna browse to find the file that I saved to my Desktop.
RELATED: Transform Engineering Processes: Bridge Gaps Between Teams and Tools Effectively
Garman: So here we have that ReqIF I just created from Jama Connect. So we’ll open that. In these other settings, MATLAB automatically selects some things. I would say, you know, it automatically detects that it’s coming from Jama Connect. If you want to save this in a different location, you can do that here. Ultimately, we’re going to import these requirements. Alright. So here I have my second import, and you can see that these requirements have come through. Now then, I export the description rationale field. So why are they not showing up here? Because this is the MATLAB description and rationale field. For those Jama Connect elements, we need to come down here to custom attributes. And here we can see all of those, all of those fields as set that we exported. Alright. Now that we’re in MATLAB, this is our model that I want to start connecting things to. So in MATLAB, I’m going to select a model element here at the controller. And we will say that one point one is the one, so I can just right-click it and link from the controller. And I could even say, here we go, my Dryden Wind gust models are part of one point three. So again, I can create the link there. And let’s do one more. Let’s do this small gain one. We’ll link that to one point six. Okay. So now we’ve made we’ve added all of our links And and so now what we want to do is we want to take what we’ve done, I want to save it, but then I’m going to export this back to ReqIF.
Here, I can just reuse the original mapping from Jama Connect. If there are, you know, attributes that you want to remove, you can do that here. But the most important thing is we want to export links. So make sure that this export links box is checked, and then we can set a location. I’m gonna move this to our desktop again for easier finding. When we’re ready, we can just click export. So it’s running through everything. It’s gonna save that to our desktop. So, what we can do now is let’s come back to Jama Connect Interchange, and I’m going to switch to import because now we’ve pulled that data from MATLAB and Simulink and we want to bring it into Jama Connect. So I’m gonna go to my import in the same conversation. Click upload.
I’m gonna select that file that I just pulled out of Simulink. And we’ve already set the location, which we can edit if we need to, but we’re gonna leave it at the same location. And here we’re gonna map for the import. So we want to have our functional requirements mapped back to functional requirements in Jama Connect. And these others, these are those model elements that we want to bring back in. And so I’m gonna bring those in as Models. So I can select what item type in Jama Connect I want to have as a reference to those elements back in MATLAB Simulink. So I’ve turned those on. Now I’m gonna, oops, save our item type mappings. And I can switch to fields. And here, the same thing. I just want to map everything back to what it should be in Jama Connect. So here, I’m looking at those model elements. So we want to create this as a set. And we want to bring in the name of the set to the or the name of the collection from MATLAB to a set name in Jama Connect. But then we also have to establish these object types. So here are just Simulink objects. If we had, say, headers or information items, we could maybe map those differently. But we want to tell Jama Connect the Simulink objects should be brought in as folders, text, or models? And in this case, that’s the actual model elements. So we’ll bring them in as models, which is the item type that we map to in the first step.
So now Jama Connect is going to generate the mapping. So we are gonna pull here are the elements, the metadata elements that are found on these Simulink objects, and we just wanna map these back to an item in Jama Connect. So here description will go to description, name goes to name. And if we want to keep if there is a, you know, key, we could map that to an additional field. But once we’re done, we’re gonna click save.
RELATED: Traceable Agile™ – Speed AND Quality Are Possible for Software Factories in Safety-critical Industries
Garman: Now we will move on to our next item type, which is functional requirements. And, again, functional requirements will come back in as a set. And we really only have to map those fields that we want to update. So here I can just leave that as a name, and here a functional requirement. We’ll go back to the functional requirement. And, again, we really don’t have to map many of these fields back if we’re not actually bringing in field-level updates. So here, I’m just gonna map the name. If I had made changes to the other fields in MATLAB, I would change those here. And the final step, I wanna go to relationships, and I just need to map these back into the appropriate even though they’re originally pulled from Jama Connect, and mapping them back to the relationship types that they were pulled from. The good thing about doing this import mapping is that you really only have to do it once. Once you’ve mapped everything in this conversation, you can just keep reusing this conversation and make updates as necessary.
Okay. Another thing you’ll notice with each of these relationships, have this option to reverse direction. And there, that is because some tools treat traceability in a slightly different direction. So, what is happening right now in Simulink, the way I created those is that the model element is actually upstream of the requirement. But in Jama Connect, we want the requirement to be upstream from the model. So I can just I can fix that by clicking this box to reverse direction. On each of these so that when it brings it in, they will be in the correct the relationships will be in the correct cardinal direction. Alright. So once we’ve done that, we can click save.
And now that we’ve mapped everything, we can initiate import. And Jama Connect is gonna ask us, “Do we want to update existing items?” And that’s what we want to choose for this, because we want to update the existing functional requirements, and those model elements will be brought in as new items. Now then, in future iterations, if we export these functional requirements and these model elements into Simulink again, say we’ve made updates, we want to redo it again, it’ll update the existing models that you’ve already imported. If you select create new items, it will only create new items. It will not update any existing items. So in this situation, I want to update the existing items. So we’ll confirm. And tells us to take a look at the logs page, and it’ll take a little bit for this to finish. So again, we’ll get a complete message when it’s done. But if we want to see more, we can enable this debug option.
And you can see that Jama Connect Interchange is evaluating, and it’s saying like, “look, no field changes happened” with these, so we’re not going to update those. But here we go. We do have a few fields that we had to update, and we’re creating those relationships because again, we linked three items. All right, so let’s go back into Jama Connect, and if I refresh my tree, you see that there’s this additional component here under my functional requirements. If I expand that, I have this set of models. And then here I have each of those models. So here is the controller. And you can see it has a link back to that element, the description field. And it is related to the transfer history with a “Satisfied By” Marker.
And that concludes the demo. You’ve now seen how Jama Connect Interchange makes it possible to seamlessly exchange requirements with MATLAB and Simulink through the ReqIF standard. By moving requirements into MATLAB, linking them to model elements in Simulink, and then bringing those links back into GeometConnect, we’ve established full traceability between the system requirements and the model-based design. This integration helps your teams reduce errors, streamline collaboration across engineering disciplines, and maintain compliance with industry standards. Thank you for watching, and please reach out if you’d like to explore how Jama Connect can support your development process.









