![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Including attributes in analysis column from second hop Topic Summary: Analysis Wizard and Layout DXL Created On: 17-Jul-2007 00:25 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
I have an originating requirements module that is linked to a system requirement (in link) and software requirement (in link, second hop). I want to include columns when viewing the originating requirement that contain object linked in the system requirements and attributes for those objects and objects from the second hop to the sw requirements and attributes for those objects. I thought I could just open the modules and us the analysis wizard to do a recursive analyis on all modules open but I can't pick the attributes to display. If I had the layout DXL from this analysis, I might be able to edit this to include specific attributes (but I can't find it). If anyone knows of an answer, please reply.
|
|
![]() |
|
![]() |
|
Hi Gordon,
first, let's look at the analysis wizard: You say, you don't get the layout DXL. Does that mean you have problems actually running the wizard, or do you just don't find the place where the layout DXL is stored? I'll assume the second, so if you run through the wizard dialog box and select "Object Text" as attribute and recursive analysis to a depth of 2, you should get two additional columns, showing the Objet Text attributes of the system requirements and of the software requirements, respectively. If you right-click on the second column header, select "Properties", you get a new dialog box. There, "Layout DXL" should be ticked, with a button "Browse" next to it. Click on that button, new dialog box, there you click "Current" and there you are, right in the middle of the layout DXL. Now search for the occurrence of "Object Text", and you should find a line à la s = probeRichAttr_(othero,"Object Text", false) In this line, you can replace the "Object Text" with any attribute available in the software requirements module. Click "Ok" twice, don't forget to save the view and you should be done. ------------------------------ Some time ago I had a similar problem, added with the problem that I had to follow links with changing directions. I decided to write a general layout DXL script for displaying nested links, which is attached to this post. It is built around nested skip lists and recursion, two possible sources for endless nightmares, hence it comes with no warranty :-) It is not fully trivial to use, but it comes with an example (void exampleNestedLinks()). If you want to give it a try, you have to put it into your layout DXL folder, add an include statement to the file in the (new) layout DXL column #include <links.inc> and add lines of code along the example given in the file: First, you have to define string arrays for the formal and link modules, in your example it would be something like this string LnkMod[] = {"*", "*"} string ModName[] = {"System requirements", "Software requirements"} Note that here I allow any Link Module,hence the "*"s. then, you specify the link direction at any level of recursion as a boolean array; you want incoming links, hence you define bool inComing[] = {true, true} The next line creates a skip list of linked objects: Skip linkSkip = followLinks(obj, 0, LnkMod, ModName, inComing) Now, a second skip list defines what you actually want to display; at any level, you can define any text with any attributes available at this level / module As an example: we will display the Object Text at both levels and an attribute "SysID" for the System requirements, and an attribute "Author" for the Software requirements: Skip attSkip = create string a0[] = {"{\\b ", "Object Text", "} System ID:", "SysID"} string a1[] = {" -> ", "Object Text", " SW Author: ", "Author"} put(attSkip, 0, a0) put(attSkip, 1, a1) In the individual string arrays a0 and a1, everything which is not an valid attribute name will be put in the displayed text as is, this allows usage of rich Text features like bold text in the above example. Now, the display srings have to be created for each linked object: Skip dispSkip = linkedAtts(linkSkip, attSkip) And finally, display the results: string disp for disp in dispSkip do {displayRich disp} We have to clean up afterwards: delete_skip linkSkip delete attSkip delete dispSkip That's it. Not terribly easy to set up, admittedly. Regards, Peter Edited: 17-Jul-2007 at 09:27 by Peter Albert |
|
![]() |
|
![]() |
|
Great! This was a big help. I opened the current DXL and added all off the attributes of interest for that module into the script for that column. I needed two columns from each module so I just added the second column from any attribute and then pasted the DXL from the first column and changed the attributes. I ended up with one column for the components and one for the subcomponents. Thanks again.
|
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.