27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Figure 1, a metamodel defines an XM L message<br />

(Project_Root) that consists of atomic (Child) and/or composite<br />

(Parent) XML elements. Each element may contain 0..*<br />

attributes (Attributes) and 0..1 value ( Tag_Text within Parent<br />

and Child). operation is a connection type in GM E that are<br />

used to define the relationship between Elements. For example,<br />

the six new feature relationships are described as follows:<br />

• Fold implies that the source of the connection becomes the<br />

parent of the destination. Suppose that if the first to-begenerated<br />

message (i.e., core asset) looks like:<br />

<br />

<br />

<br />

<br />

Fold will also concurrently generate a second m essage<br />

shown as follows, if the connection is applied from A to B:<br />

<br />

<br />

<br />

<br />

<br />

Fold can be also applied to a chain of elements such as A -<br />

B-C-D. Then will embed , , and then in a<br />

hierarchical manner.<br />

Figure 1. The metamodel.<br />

• Inverse is the opposite of Fold – the destination of a<br />

connection becomes the parent of the source of the<br />

connection.<br />

• Add (called Add_Remove when dealing w ith attributes)<br />

implies that the elem ent that is m issing in the first to-begenerated<br />

message will appear in the second to-begenerated<br />

message. For example, if the first to-begenerated<br />

message looks like:<br />

<br />

<br />

<br />

<br />

<br />

and if the second to-be-generated message looks like:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

This can be specified by adding extra elements and<br />

at the desired levels and connecting them by Add.<br />

• Remove implies that an elem ent appears in the first to-begenerated<br />

message should be removed in the second to -begenerated<br />

message.<br />

• Make_Tag is similar to Add but applied to Attributes. If the<br />

first to-be-generated message is as follows:<br />

<br />

<br />

<br />

and the second to-be-generated message looks like:<br />

<br />

V2 <br />

<br />

<br />

Make_Tag can be applied to A2 with false value so that A2<br />

becomes an element in the second to-be-generated message.<br />

Additionally, these new feature relationships can also work<br />

together. For example, suppose the first to-be-generated<br />

message is the same as the firs t to-be-generated message<br />

described in Fold, and the second to-be-generated message is<br />

as follows:<br />

<br />

<br />

<br />

<br />

<br />

<br />

It means that w ill require tw o kinds of connections:<br />

self-connects Add to itself; and connects two Folds<br />

to and to .<br />

In addition to the extensions, Type in Figure 1 defines<br />

FODA relationship among Elements in an XM L tree structure.<br />

Namely, Types are used t o specify FODA’s mandatory,<br />

optional, one-of, and more-of feature relationships. If an XM L<br />

element selects m andatory/optional, it m eans that the elem ent<br />

is mandatory/optional to its parent/com posing XML element.<br />

Similarly, if a set of XML elements with the same parent XML<br />

element selects one-of/more-of, one/more of the elem ents will<br />

be selected to construct a product line.<br />

538

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!