Welcome to Telelogic Product Support
  Home Downloads Knowledgebase Case Tracking Licensing Help Telelogic Passport
Telelogic DOORS (steve huntington)
Decrease font size
Increase font size
Topic Title: Link / LinkRef in baselines
Topic Summary: usage of Link / LinkRef
Created On: 19-Aug-2005 07:37
Status: Post and Reply
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
Quick Reply Quick Reply
Subscribe to this topic Subscribe to this topic
E-mail this topic to someone. E-mail this topic
Bookmark this topic Bookmark this topic
View similar topics View similar topics
View topic in raw text format. Print this topic.
Answer This question was answered by cliff Bly, on Thursday, June 8, 2006 12:16 PM

Answer:
Oooohhh! That gets more complicated. There is probably a better way since I have not done much dxl with baselines.. but this is what I would do.

Module mBase = baseline 1 of Systemspec. This module has the incoming link from the software module in version 1. baseline 2 does not have this incoming link. Using the Object o = source(l) will not give you the object in the current version nor the actual object in the baseline version.

Object o
for o in mBase do {
for lref in o <- "*" do {
int num = sourceAbsNo(lref)
ModName_ mref = source lref
//open the current version of mref (software spec)
// then open baseline version 1, 2 or the current version of the software spec
// then go to the object Object oFind = object(num,module xyz)
// error checking if oFind is null ,etc....
}
}
 19-Aug-2005 07:37
User is offline View Users Profile Print this message


Hubertus Grobbel

Posts: 58
Joined: 3-May-2005

Dear all,

I have a problem with a DXL-script under 7.1 (Build 71122).

I have two modules: A and B and want to understand what I can do to investigate former (changed and baselined) link-relations.

A: is e.g. Systemspec., which has an object with an incoming link from B.
B: is e.g. Softwarespec. with an outgoing link to already mentioned object in A

Now following constellation occurs:

A baseline 1.0 and B baseline 1.0 have a link relation as described.
A baseline 2.0 and B baseline 2.0 do no longer have this link.
Both versions 2.0 are current versions.

Ok, loading baseline A 1.0 and checking each object against incoming links let's me detect the link when checking in a for-loop using LinkRef .

Object o
Module currModule (... = previous baselined module, loaded)
LinkRef inLink

for inLink in currModule <- "*"do {
       print "link detected!!"
}

This let's me detect the link. But how can I get the source-object of the link?
Using Object source(Link l) is only possible for Link-Type, but letting run upper loop with inlink as Link-Type does not detect the buried inlink. Do you understand my dilemma?

All related modules are to be loaded, what I have understood so far from the NG.  This is the case, which I also verified with DOORS Tools->Manage Open Modules ...

The core-question is: How do I get via LinkRef-Type the source object or at least the Link-Type, which would allow me to do the same.

Maybe it is so simple ...

Thank in advance
Hubertus

Report this to a Moderator Report this to a Moderator
 19-Aug-2005 17:00
User is offline View Users Profile Print this message


cliff Bly

Posts: 58
Joined: 11-Apr-2003

Use ModName to get the name of the source.
Use this to open the module needed.
The dxl below opens the modules which contain source objects for the current object only.

Module m = current
Object o = current
LinkRef lRef
for lRef in o <- "*" do {
ModName_ mref = source lRef
Module m = read(fullName(mref),true)
}

-------------------------
Cliff Bly
Report this to a Moderator Report this to a Moderator
 22-Aug-2005 09:49
User is offline View Users Profile Print this message


Hubertus Grobbel

Posts: 58
Joined: 3-May-2005

Hi Cliff,

thanks for your reply! Loading the source module before having the chance to evaluate the link is understood by me and already implemented. This was also checked by me by the list of loaded modules DOORS Tools->Manage Open Modules ...

But what is wrong, that I cannot get the OutLink from B version 1.0 to A version 1.0? Is this not supported, when the link is not existing in the current version (V 2.0)?
Do I need something special to consider or is DOORS simply buggy...

Thanks for answer
Hubertus
Report this to a Moderator Report this to a Moderator
 22-Aug-2005 14:44
User is offline View Users Profile Print this message


cliff Bly

Posts: 58
Joined: 11-Apr-2003

Answer Answer
Oooohhh! That gets more complicated. There is probably a better way since I have not done much dxl with baselines.. but this is what I would do.

Module mBase = baseline 1 of Systemspec. This module has the incoming link from the software module in version 1. baseline 2 does not have this incoming link. Using the Object o = source(l) will not give you the object in the current version nor the actual object in the baseline version.

Object o
for o in mBase do {
for lref in o <- "*" do {
int num = sourceAbsNo(lref)
ModName_ mref = source lref
//open the current version of mref (software spec)
// then open baseline version 1, 2 or the current version of the software spec
// then go to the object Object oFind = object(num,module xyz)
// error checking if oFind is null ,etc....
}
}

-------------------------
Cliff Bly
Report this to a Moderator Report this to a Moderator
 30-Aug-2005 11:42
User is offline View Users Profile Print this message


Tony Goodman

Posts: 1098
Joined: 12-Sep-2002

I haven't done much DXL dealing with baselines either, but you need to be using the new ModuleVersion type. I suggest using the wizard to create a layout DXL column showing incoming links and then look at the DXL it produced. Also look at ModuleVersion (handle) in the on-line help. This should give you enough information to get started.

Also, there is a known defect with links to baselines not showing up. This is fixed in DOORS 8.0.

-------------------------
Tony Goodman
http://www.smartdxl.com
Report this to a Moderator Report this to a Moderator
 30-Aug-2005 15:57
User is offline View Users Profile Print this message


Hubertus Grobbel

Posts: 58
Joined: 3-May-2005

Thanks Cliff,

sourceAbsNo is the key. Then I can find the way to the object ...

Thanks
Hubertus
Report this to a Moderator Report this to a Moderator
 30-Aug-2005 15:59
User is offline View Users Profile Print this message


Hubertus Grobbel

Posts: 58
Joined: 3-May-2005

quote:

Originally posted by: Tony Goodman
I haven't done much DXL dealing with baselines either, but you need to be using the new ModuleVersion type. I suggest using the wizard to create a layout DXL column showing incoming links and then look at the DXL it produced. Also look at ModuleVersion (handle) in the on-line help. This should give you enough information to get started. Also, there is a known defect with links to baselines not showing up. This is fixed in DOORS 8.0.



Hi Tony,

a very good tip to browse in the layout-dxl library ... thanks for that.

What kind of defect is it? Do you have a defect-id?

Thanks
Hubertus
Report this to a Moderator Report this to a Moderator
 31-Aug-2005 09:06
User is offline View Users Profile Print this message


Tony Goodman

Posts: 1098
Joined: 12-Sep-2002

Quote from Telelogic support:

We are pleased to inform you that the following issue you have reported has been resolved in DOORS 8.0, which is now available for download at <http://support.telelogic.com>

Reference ID: 4013246
Description: Links from Baselines in Layout DXL. When a module having links is baselined and reopened, the other module to which this is linked, does not display incoming link arrow.

-------------------------
Tony Goodman
http://www.smartdxl.com
Report this to a Moderator Report this to a Moderator
 31-Aug-2005 09:21
User is offline View Users Profile Print this message


Hubertus Grobbel

Posts: 58
Joined: 3-May-2005

Hi Tony,
Thanks. I found, that it was not so easy to get the script running with baseline-support. I "debugged" DOORS by "Manage Open Modules" and found, that it is apparently necessary to open at first the current version. Having it opened it is important, that all related link-modules are also loaded. When you load a former baseline then it seems important to close the baseline module before closing the current version, otherwise the Linkmodule may be closed also, which leads to not detecting links and further load-attempts fail. Anyway the bug seemed to be not only in the GUI, but also in the DXL-functions. I found a way now, which was quite expensive to investigate and found also that support is not always support....

The TraceabilityWizard (at least in V 7.1) is not working with baselines, did anybody else encounter this problem? This may be fixed in V8.0, if I read the info of the bug id 4013246 .

Regards
Hubertus
Report this to a Moderator Report this to a Moderator
Statistics
20925 users are registered to the Telelogic DOORS forum.
There are currently 1 users logged in.
The most users ever online was 15 on 15-Jan-2009 at 16:36.
There are currently 0 guests browsing this forum, which makes a total of 1 users using this forum.
You have posted 0 messages to this forum. 0 overall.

FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.