The query language now supports SQL-like joins and – for result sets with identical columns – the set operations union, reduce, and intersect.
// Example for join of Query_A and Query_B query "some join query" source (join(q('Query_A'), "joinColumnOfA", q('Query_B'), "joinColumnOfB")) .collect(left("someColumnOfA"), right("joinColumnOfB"), right("someColumnOfB")) .where(right("joinColumnOfA")==left("joinColumnOfB"))
// Example for set operations reduceBy and union query "Passed SW-Integration-Tests" source( reduceBy(q('All SW-Integration-Tests'), union(q('Failed SW-Integration-Tests'),q('Untested SW-Integration-Tests')) ) ).collect(column("SW_Int_Test"))
The configuration for traceable artifacts of Matlab-Simulink (i.e., blocks) and Stateflow models (i.e., states and/or transitions) has been unified.
// Example mapping for blocks and states include blocks if(valueOf(path) contains "StatechartHierarchyOr/Chart2/") { name "B_" + valueOf(name) // matlab_type is mapped only for blocks map{ matlab_type to valueOf(type) } } include states if(valueOf(name) contains "State1" ) { name "S1_"+valueOf(name) } // matlab_path is mapped both for blocks and states map{ matlab_path to valueOf(path) }
The flexibility of attribute mapping has been improved significantly. The mapping configuration now supports attribute evaluations based on regular expression groups and/or cutting out of prefixes and suffixes.
Here’s a „prefix” example:
where A. attribute.separatedBy("/").substringBefore(":") in [...] //In this case, an attribute value of „A:1/B:2/C:3” //will result in a list of 3 values [A, B, C] considered for attribute mapping.
For more details, refer to Attribute mapping documentation
The DOORS data access now supports wildcards in the project names, i.e., it is possible to extract requirements and links out of a set of projects. Note that when using this feature, the specification of a baseline is not supported.
projects "/YT/*/IMPORTANT/*_PROJECT" undefined attribute value = "MY_UNDEFINED_VALUE"
With an artifact type being configured in a DOORS artifact type, YT is able to recognize DOORS projects and modules as traceable artifacts.
artifact type = Module include projects if( valueOf("Name") == "MY_PROJECT" ) include modules if( valueOf("FullName") == "MY_NAME" valueOf("Created By") != "ME" )
DOORS' external links can now be mapped to attributes of YT artifacts. YT extracts the entirety of external links – separated by comma – for the given requirements into one attribute.
map { EXTERNAL_LINKS to external links }
YT can now directly navigate from the C editor to any linked artifacts, e.g. requirements in an external tool. When pressing the
[Ctrl]
in the C editor the link information turns into hyperlinks on mouse-over.
When the user enters a regular expression as textual filter in the YT Explorer, YT now assumes the .* wildcard at both start and end of the regular expression entered by the user.
We closed a performance leak that occured if a column with header was specified, but the specified header did not exist in the Excel sheet.
YT now honors the identified by part of the configuration of XML-based artifact types. In addition, the XML adapter is now more robust regarding document changes when recognizing XML nodes. The performance has been tweaked as well.
The built-in link type-based coverage report now contains bar charts and creation date.
The menu item View Context → All traces has been removed from the YT Overview. Even for small projects this functionality had been proven to be not adequate. As an alternative, you may utilize YT’s Graphviz export to see the whole graph. It can be triggered in the Traceability menu: Traceability → Export → Export Data.
In GUI mode, YT may disable adapters, e.g. due to faulty configurations. Even if one adapter is deactivated, other adapters remain active and provide traceable artifacts and links. During data extracts in batch mode, such a situation is now considered as global configuration error; the batch data extract returns an exit code signaling an error (i.e., != 0) in such cases.
When YT had been configured
the Excel adapter ran into a bug and did not find any artifacts.
Now, the sheet without a matching header is ignored. Only matching artifacts from other sheets are recognized.
When the user triggered YT to show an artifact which had been extracted from Microsoft Word, YT opened the document, selected the given artifact, but did not scroll to the position of the artifact. Now, YT opens the document and selects and reveals the artifact in such cases.
When links were stored in Enterprise Architect, YT populated the link attributes only if they were fed from link end A. Now, YT considers both link ends.