![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Most Efficient Way to Parse through a project Topic Summary: Created On: 15-Aug-2008 20:15 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|||||
OK, so I'm back to updating my trace report script (this is the bane of my existence)....
Basically management want to know if there are any errors in our tracing, i.e. Requirements with no in links from a lower level requirement. Requirements with no out links to higher level requirement. Requirements that have no test case linked to them. Then there are several checks on the tracing itself i.e. Requirements can't trace to non-requirements. Links from deleted objects. etc. Well needless to say with over 800 modules in the project this somewhat of a daunting task. The last revision of the script took about 8 hours to run, and recently started to die due to memory issues. So I said to myself time to start again, the old script had too many special cases worked into it and we just modifed a lot of our tracing standards so it was easier to start from scratch. So now I have this nice and pretty new script and it works, producing a nice pretty excel file with metrics and errors and the lot. The only problem is that it takes 20+ hours to run. Suprisingly enough, with running for 20+ hours, it appears to be fairly memory efficient as it has never crashed due to lack of memory (which is an issue I've had to overcome with all my previous scripts by splitting them up and batching it). Now pulling in all the data into the DXL Objects and skip lists takes about an hour and a half on its own..... So if you had to process all this information, how would you go about it? I parsed the data base loading information about the modules, objects and links into DXL objects and skip lists, then processed those to check for errors. In some cases I have a skip list that contains skip lists that contain DXL objects. So there's some embed for loops.... I did this for the links, i.e. Skip list uses the Object ID as the key contains a skip list of DXL objects, each DXL objects contains information about the links within the object. The script is attached if anyone wants to look....It still has some debug statemens in it...
------------------------- Scott Boisvert Engineering Tools Administrator L-3 Communications - Avionics Systems scott.boisvert@l-3com.com |
|||||
![]() |
Telelogic DOORS
» DXL Exchange
»
Most Efficient Way to Parse through a project
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.