![]() |
Telelogic DOORS (steve huntington) | ![]() |
new topic :
profile :
search :
help :
dashboard :
calendar :
home
|
||
Latest News:
|
|
Topic Title: Splitting Link Modules Topic Summary: Created On: 15-Apr-2004 12:06 Status: Post and Reply |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
We've just come up against an interesting problem, for which I can't see an immediate solution. Here's the deal:
TRW designs and builds (amongst other things) braking and steering products (this is not an advertisement!). These get shipped in the millions to a relatively small number of customers (there just aren't that many vehicle manufacturers out there...). Each customer wants basically the same system, but they need it to be tailored to their system architecture (network messages and so on). So we have created specification and test documents for the communications aspects of the product in DOORS, and we want to limit what a customer can see (in terms of traceability) to just their own documentation. We have set up users and views for each customer, but because all links of a given type ('satisfies', 'validates' etc) go through a link module named for the link type, each customer can see the links to all the other customers' source documentation. We don't even want the customer to know that there are (or may be) other customers, because that may be sensitive information. So what we want to do is split the link modules up so that each customer has their own link module for each type of link. But we don't want to lose the information we already have in the link modules we currently use. Can some nice person point me at an appropriate DXL snippet that might extract a linkset from one module and dump it in another? I'm sure that, given time, I could work it out; but I'm equally sure it's a wheel someone else has already invented, and I'd be quite happy to roll with that... Thanks for your help (and for getting this far with my very wordy request!) Paul. ![]() ------------------------- Paul dot Tiplady at TRW dot com TRW Automotive |
|
![]() |
|
![]() |
|
The issue seems to be how to hide sensitive info about customers from each other. Presumably that means either [1] being clever with object "R" accesses, perhaps allowing group "GM-Users" the ability to "RMCD" a certain object while setting group "Ford-Users" to no access. This looks real awkward. This method has the benefit that if Ford cannot even "R" a certain parent object, then the link from a Ford object to such a GM object will appear "corrupted" and any layout using it will display nothing. [2] Making copies of your modules, stripping away objects that don't apply, and sending *.dma files to your customers. This method presumably requires some mutli-enumerated attribute called "Customers" that allows your export procedure to filter for and then delete/purge undesirable objects.
I cannot help but think that if one customer can see stuff of other customers because of a link then they can see that other stuff even if the link was not there. But back to your question. Lets say you have LinkModule "Links Requirements" and want to distribute its links to new LMs "Links Requirements GM" and "Links Requirements Ford". I'd be tempted to write a DXL that looks like attached. Notice that a single existing link CAN, in theory, turn out to apply to both GM and Ford. When you are done migrating you can remove the original links be deleting and purging the old link module. - Louie PS. If you give one customer ANY access to your DB they will be able to steal, hehehe, access to the other customer's information. Option [2] is superior so long as you filter/purge/Baseline/Delete old baselines on every copy-of-module you send to a customer. |
|
![]() |
|
![]() |
|
I can see where you're coming from Louie, but it's possibly simpler than that. Our data structure is a bit like this (simplified for, well, simplification):
module "Software Spec" links through link module "satisfies" to module "GM Requirements". module "Software Spec" links through link module "satisfies" to module "Ford Requirments". module "Software Spec" has attribute "target VM", which is a multi-valued enumerated type with values including "GM" and "Ford". What I was looking for was a simple way of picking up the linkset "Software Spec" -> "GM Requirements" and dropping it into a new link module "satisfies GM", without having to loop through one or more of the modules. But if looping, finding links to the relevant module(s) and recreating the links in a new link module is the only way, I'll get my DXL coding hat on and get down to it... Having thought just a little more about this, I guess what I ought to do is start from the "GM Requirements" module and move all the incoming links -- that way I can be sure I haven't left any lying around in some obscure module someone's created and hidden away in a dark corner. I'll keep looking for the best way before I start coding (now *there's* a novel idea ![]() ------------------------- Paul dot Tiplady at TRW dot com TRW Automotive |
|
![]() |
|
![]() |
|
Paul,
By having access rights locked down on the target formal modules. When you look at the outgoing links in the "Software Spec" Module, you should only see link information like: "(Read locked data)" Is that showing too much information? Do you want to not even show that there are links that other customers cannot access? |
|
![]() |
|
![]() |
|
Paul,
Here's a DXL script we got from a Telelogic AE a few years ago. It moves a linkset from one Link module to another Link module. You run it from within the current Link module. Brian Azelborn Rockwell Collins |
|
![]() |
Telelogic DOORS
» DXL Exchange
»
Splitting Link Modules
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.