![]() |
How to do tracing? |
Post Reply
|
| Author | |
alev
Contributor
Joined: 08.Oct.2010 Location: Arnhem, NL Points: 19 |
Post Options
Thanks(0)
Quote Reply
Topic: How to do tracing?Posted: 13.Oct.2010 at 14:48 |
|
Hi,
My client's business process needs to configure models at two levels: 1. Product features selectable by client -> configuration F 2. Inhouse parts that realize those features -> configuration P Obviously the features and parts are fixed elements, organized in a library of features and a library of parts. These libraries are used to define Fs and Ps. For each F, multiple Ps are possible, each having its own quality/price ratio. The essence of client's process is to find a P that is quality/price optimum for the client's customer and needs as little as possible custom-specific development/costs. There are many features and even more parts, and many Fs and (especially) many Ps are possible. Unfortunately, this includes incomplete or redundant Ps. To help reduce the number of such unwanted Ps, we need tracing between the two levels. Specifically, tracing between parts and features; and tracing between F and Ps. Ideally, this tracing would be bidirectional. What is the best way to do such tracing in MetaEdit+? Thanks! |
|
![]() |
|
stevek
MetaCase
Joined: 11.Mar.2008 Points: 643 |
Post Options
Thanks(0)
Quote Reply
Posted: 13.Oct.2010 at 15:15 |
|
Let me check I'm understanding this right:
A feature contains many parts
E.g. f1 = {p1, p2, p3}
Can the same part be in many features? E.g. f2 = {p1, p7, p8}
Can a given feature actually be realised by several different sets of parts? E.g. f1 is a member of {{p1, p2, p3}, {p1, p2, p3a}, {p1, p5}} - i.e. p3a and p3 are functionally identical, and p5 does the same job as p2 plus p3.
A feature configuration F is a combination of multiple features
E.g. F = {f1, f2, f5}
A part configuration P is a combination of multiple parts
E.g. P = {p1, p2}
The maximum number of possible F's and P's is thus two to the power of the number of features or parts.
What kinds of numbers are we talking about, e.g. number of features, number of parts, number of parts per feature?
How much extra information does a feature have other than just the list(s) of parts that realize it?
Is there an intermediate level, e.g. a particular feature requires network support, and you have parts for ethernet and wireless, both of which contain the information that they provide network support?
Can you tell me anything about the modeling languages used to model Ps, Fs, ps and fs?
As you can tell by the questions, there are many possible ways to implement this in MetaEdit+, and it's a question of choosing the best solution for your problem domain and expected use process. There isn't a single "best way" in general, not even for a fixed set of modeling languages.
In general, I'd only build unidirectional links. Bidirectional either implies a pure tree or requires manual maintenance (whatever the tool). Given unidirectional links, you can always build the reverse mapping on the fly. I'd imagine that a feature simply refers to its parts; obviously that can answer all the questions, but it may not best reflect how your client relates to these concepts.
|
|
![]() |
|
alev
Contributor
Joined: 08.Oct.2010 Location: Arnhem, NL Points: 19 |
Post Options
Thanks(0)
Quote Reply
Posted: 13.Oct.2010 at 17:10 |
|
Steven, your understanding is correct. There is many-to-many relationship between feature and part concepts. And there are functionally identical parts that differ in quality and manufacturing costs.
I do not have the numbers of parts at the hand, but the exploration space of P configurations is large enough that experts struggle with access to distributed information and maintaining information consistency. I simplified the top modeling level: it actually contains functional specification of a product (which reflect features customer wants). There is no intermediate level. About modeling languages without gong into to many details: F is a graph containing fs, P is a graph containing ps. Currently ps have property 'realization of' which is a collection of objects of f type. Graph P has property 'realization of' which value is Graph of F type. This takes care of unidirectional tracing upwards. From technical point, I agree with you on preferring unidirectional links. However, when troubleshooting/optimizing a F/P pair, customer finds it convenient to navigate both ways (see all ps realizing an f and the other way around). Any advice on a MetaEdit+ unidirectional solution that can provide this 'bidirectional' effect? I guess, I can always fall back on a generated traceability report for a given configuration, as well as for a selected p or f? |
|
![]() |
|
stevek
MetaCase
Joined: 11.Mar.2008 Points: 643 |
Post Options
Thanks(0)
Quote Reply
Posted: 14.Oct.2010 at 12:49 |
|
Is there some kind of permanent library of all fs and ps? As a model or elsewhere? Are F and P graphs made for an offer to a customer by simply selecting existing fs and ps? Presumably first by selecting fs, and then looking at what ps would satisfy these fs, and also satisfy the customer's desires for price, quality etc.
In that case you'd want:
Try that first, and see how it works out. The other option is to make type p have an id generator, so its name in the UI includes the fs that it realizes, e.g. "p1 [f1, f2, f3]". In the Type Browser you can then select type p and set a filter, *[*f1*, which will list just all the ps that realize f1. From the list you can see their properties, open them, and copy them for pasting in your graph P. I think the generator is the better solution, though, since you can see all the fs and realizing ps at once, and have more control over what information is shown and in what format.
|
|
![]() |
|
Post Reply
|
|
| Tweet |
| Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |