slreq.find error searching requirements with a specific stereotype property.
2 次查看(过去 30 天)
显示 更早的评论
CONTEXT OF THE PROBLEM:
I have created a requirement set called "reqset.slreqx", a profile called "prof.xml" in the same folder. The profile contains a first stereotype called "stereo1" applicable to Requirements with 2 properties called "prop1" enumeration type (Red, Green, Blue) and "prop2" type int8. I have created a second stereotype "stereo2" with similar properties. Requirement set and profile have been linked:
In the Requirements Editor,I have created 2 container requirements in the "reqset.slreqx" with 3 and 2 children requirement as it follows:
PROBLEM DESCRIPTION:
I want to retrieve/find which requirements in "reqset.slreqx" have the stereotype property "prop1" set to "Green".
Using the programmatic function slreq.find in the MATLAB command window as it follows:
slreq.find("Type","Requirement","prof.stereo1.prop1","Green")
The following error is shown:
Error using slreq.datamodel.RequirementData/find
No such attribute.
Error in slreq.data.ReqData/query
Error in slreq.find
Error in slreq.find
WHAT I HAVE DONE:
I have read https://es.mathworks.com/help/slrequirements/ref/slreq.find.html, and different chapters of the user guide and reference pdf.
- slreq.find works well with custom attributes of the requirement set.
- slreq.find("Type","Requirement","ReqType","prof.stereo1"); finds correctly the 3 "stereo1" requirements.
- getAttribute of a "green" "prop1" requirement
SET UP:
MATLAB, SIMULINK, Requirements Toolbox versions 2023a.
0 个评论
采纳的回答
Josh Kahn
2024-1-2
编辑:Josh Kahn
2024-1-2
This is a known limitation in 23a.
Here's a workaround for you:
reqs = slreq.find(Type='Requirement', ReqType='prof.stereo1');
matchLogIdx = arrayfun(@(req) isequal(getAttribute(req, 'prof.stereo1.prop1'), enumeration_class.Green), reqs);
matchReqs = reqs(matchLogIdx);
Hope this helps,
Josh
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Automated Driving Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!