ArchFm: fmArch.fmprimitives

File fmArch.fmprimitives, 17.2 KB (added by acher, 7 years ago)

fmArch enforced architectural FM, only require constraints (S2T2 format)

Line 
1<?xml version="1.0" encoding="ASCII"?>
2<fmprimitives:FeatureModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fmprimitives="http://lero.ie/spl/fmprimitives.ecore" id="res0" name="res0">
3  <features id="FraSCAti" name="FraSCAti" featureHasSubfeature="//@primitives.5 //@primitives.13 //@primitives.24 //@primitives.25 //@primitives.38"/>
4  <features id="generators" name="generators" groupHasParent="//@primitives.51" featureHasParent="//@primitives.27"/>
5  <features id="implementations" name="implementations" featureHasParent="//@primitives.6" featureHasSubfeature="//@primitives.1 //@primitives.7 //@primitives.15 //@primitives.18 //@primitives.19 //@primitives.21 //@primitives.41"/>
6  <features id="sca_binding_sca" name="sca_binding_sca" featureHasParent="//@primitives.28"/>
7  <features id="bindings" name="bindings" featureHasParent="//@primitives.16" featureHasSubfeature="//@primitives.3 //@primitives.4 //@primitives.9 //@primitives.12 //@primitives.14 //@primitives.17 //@primitives.28 //@primitives.29 //@primitives.33"/>
8  <features id="sca_metamodel" name="sca_metamodel" featureHasParent="//@primitives.22"/>
9  <features id="compiler_provider" name="compiler_provider" groupHasParent="//@primitives.56" featureHasParent="//@primitives.8"/>
10  <features id="sca_implementation_java" name="sca_implementation_java" featureHasParent="//@primitives.41"/>
11  <features id="assembly_factory" name="assembly_factory" featureHasParent="//@primitives.5" featureHasSubfeature="//@primitives.6 //@primitives.16 //@primitives.26 //@primitives.34"/>
12  <features id="sca_parser" name="sca_parser" featureHasParent="//@primitives.13" featureHasSubfeature="//@primitives.30"/>
13  <features id="tinfi_oo" name="tinfi_oo" groupHasChild="//@primitives.45"/>
14  <features id="sca_property_type_xsd" name="sca_property_type_xsd" featureHasParent="//@primitives.37"/>
15  <features id="frascati_implementation_fractal" name="frascati_implementation_fractal" featureHasParent="//@primitives.21"/>
16  <features id="frascati_binding_rmi" name="frascati_binding_rmi" featureHasParent="//@primitives.9"/>
17  <features id="sca_interface_wsdl" name="sca_interface_wsdl" featureHasParent="//@primitives.10"/>
18  <features id="sca_binding_upnp" name="sca_binding_upnp" featureHasParent="//@primitives.17"/>
19  <features id="julia" name="julia" groupHasChild="//@primitives.42"/>
20  <features id="jdt_compiler" name="jdt_compiler" groupHasChild="//@primitives.55"/>
21  <features id="metamodels" name="metamodels" featureHasParent="//@primitives.30" featureHasSubfeature="//@primitives.2 //@primitives.20 //@primitives.22 //@primitives.35 //@primitives.40"/>
22  <features id="sca_property_type_java" name="sca_property_type_java" featureHasParent="//@primitives.32"/>
23  <features id="frascati_implementation_osgi" name="frascati_implementation_osgi" featureHasParent="//@primitives.7"/>
24  <features id="frascati_binding_http" name="frascati_binding_http" featureHasParent="//@primitives.12"/>
25  <features id="frascati_binding_jsonrpc" name="frascati_binding_jsonrpc" featureHasParent="//@primitives.3"/>
26  <features id="fractal_bootstrap_class_providers" name="fractal_bootstrap_class_providers" groupHasParent="//@primitives.46" featureHasParent="//@primitives.11"/>
27  <features id="sca_implementation_spring" name="sca_implementation_spring" featureHasParent="//@primitives.15"/>
28  <features id="osgi" name="osgi" groupHasChild="//@primitives.50"/>
29  <features id="sca_metamodel_frascati" name="sca_metamodel_frascati" featureHasParent="//@primitives.35"/>
30  <features id="binding_factory" name="binding_factory" featureHasParent="//@primitives.38"/>
31  <features id="sca_implementation_bpel" name="sca_implementation_bpel" featureHasParent="//@primitives.18"/>
32  <features id="sca_interface_native" name="sca_interface_native" featureHasParent="//@primitives.0"/>
33  <features id="frascati_binding_jms" name="frascati_binding_jms" featureHasParent="//@primitives.33"/>
34  <features id="juliac" name="juliac" featureHasParent="//@primitives.36" featureHasSubfeature="//@primitives.8 //@primitives.27"/>
35  <features id="interfaces" name="interfaces" featureHasParent="//@primitives.34" featureHasSubfeature="//@primitives.0 //@primitives.10 //@primitives.39"/>
36  <features id="tinfi_oo_1" name="tinfi_oo_1" groupHasChild="//@primitives.48"/>
37  <features id="services" name="services" featureHasParent="//@primitives.24"/>
38  <features id="sca_metamodel_upnp" name="sca_metamodel_upnp" featureHasParent="//@primitives.20"/>
39  <features id="property_types" name="property_types" featureHasParent="//@primitives.26" featureHasSubfeature="//@primitives.23 //@primitives.32 //@primitives.37"/>
40  <features id="jdk6_compiler" name="jdk6_compiler" groupHasChild="//@primitives.53"/>
41  <features id="sca_implementation_composite" name="sca_implementation_composite" featureHasParent="//@primitives.19"/>
42  <features id="component_factory" name="component_factory" featureHasParent="//@primitives.25" featureHasSubfeature="//@primitives.11 //@primitives.31"/>
43  <features id="sca_metamodel_tuscany" name="sca_metamodel_tuscany" featureHasParent="//@primitives.2"/>
44  <features id="frascati_binding_rest" name="frascati_binding_rest" featureHasParent="//@primitives.14"/>
45  <features id="sca_property_type_jaxb" name="sca_property_type_jaxb" featureHasParent="//@primitives.23"/>
46  <features id="delegate_membrane_generation" name="delegate_membrane_generation" featureHasParent="//@primitives.31" featureHasSubfeature="//@primitives.36"/>
47  <features id="frascati_binding_jna" name="frascati_binding_jna" featureHasParent="//@primitives.29"/>
48  <features id="frascati_implementation_script" name="frascati_implementation_script" featureHasParent="//@primitives.1"/>
49  <features id="sca_metamodel_native" name="sca_metamodel_native" featureHasParent="//@primitives.40"/>
50  <features id="sca_binding_ws" name="sca_binding_ws" featureHasParent="//@primitives.4"/>
51  <features id="osgi_provider" name="osgi_provider" groupHasChild="//@primitives.44"/>
52  <features id="sca_interface_java" name="sca_interface_java" featureHasParent="//@primitives.39"/>
53  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge0" name="edge0" parent="//@features.32" subfeature="//@features.29"/>
54  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge1" name="edge1" parent="//@features.2" subfeature="//@features.45"/>
55  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge2" name="edge2" parent="//@features.18" subfeature="//@features.40"/>
56  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge3" name="edge3" parent="//@features.4" subfeature="//@features.22"/>
57  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge4" name="edge4" parent="//@features.4" subfeature="//@features.47"/>
58  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge5" name="edge5" parent="//@features.0" subfeature="//@features.8"/>
59  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge6" name="edge6" parent="//@features.8" subfeature="//@features.2"/>
60  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge7" name="edge7" parent="//@features.2" subfeature="//@features.20"/>
61  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge8" name="edge8" parent="//@features.31" subfeature="//@features.6"/>
62  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge9" name="edge9" parent="//@features.4" subfeature="//@features.13"/>
63  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge10" name="edge10" parent="//@features.32" subfeature="//@features.14"/>
64  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge11" name="edge11" parent="//@features.39" subfeature="//@features.23"/>
65  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge12" name="edge12" parent="//@features.4" subfeature="//@features.21"/>
66  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge13" name="edge13" parent="//@features.0" subfeature="//@features.9"/>
67  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge14" name="edge14" parent="//@features.4" subfeature="//@features.41"/>
68  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge15" name="edge15" parent="//@features.2" subfeature="//@features.24"/>
69  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge16" name="edge16" parent="//@features.8" subfeature="//@features.4"/>
70  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge17" name="edge17" parent="//@features.4" subfeature="//@features.15"/>
71  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge18" name="edge18" parent="//@features.2" subfeature="//@features.28"/>
72  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge19" name="edge19" parent="//@features.2" subfeature="//@features.38"/>
73  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge20" name="edge20" parent="//@features.18" subfeature="//@features.35"/>
74  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge21" name="edge21" parent="//@features.2" subfeature="//@features.12"/>
75  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge22" name="edge22" parent="//@features.18" subfeature="//@features.5"/>
76  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge23" name="edge23" parent="//@features.36" subfeature="//@features.42"/>
77  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge24" name="edge24" parent="//@features.0" subfeature="//@features.34"/>
78  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge25" name="edge25" parent="//@features.0" subfeature="//@features.39"/>
79  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge26" name="edge26" parent="//@features.8" subfeature="//@features.36"/>
80  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge27" name="edge27" parent="//@features.31" subfeature="//@features.1"/>
81  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge28" name="edge28" parent="//@features.4" subfeature="//@features.3"/>
82  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge29" name="edge29" parent="//@features.4" subfeature="//@features.44"/>
83  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge30" name="edge30" parent="//@features.9" subfeature="//@features.18"/>
84  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge31" name="edge31" parent="//@features.39" subfeature="//@features.43"/>
85  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge32" name="edge32" parent="//@features.36" subfeature="//@features.19"/>
86  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge33" name="edge33" parent="//@features.4" subfeature="//@features.30"/>
87  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge34" name="edge34" parent="//@features.8" subfeature="//@features.32"/>
88  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge35" name="edge35" parent="//@features.18" subfeature="//@features.26"/>
89  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge36" name="edge36" parent="//@features.43" subfeature="//@features.31"/>
90  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge37" name="edge37" parent="//@features.36" subfeature="//@features.11"/>
91  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge38" name="edge38" parent="//@features.0" subfeature="//@features.27"/>
92  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge39" name="edge39" parent="//@features.32" subfeature="//@features.49"/>
93  <primitives xsi:type="fmprimitives:FeatureHasOptionalSubfeature" id="edge40" name="edge40" parent="//@features.18" subfeature="//@features.46"/>
94  <primitives xsi:type="fmprimitives:FeatureHasMandatorySubfeature" id="edge41" name="edge41" parent="//@features.2" subfeature="//@features.7"/>
95  <primitives xsi:type="fmprimitives:GroupHasChild" id="groupchild0" name="groupchild0" child="//@features.16" group="//@primitives.43"/>
96  <primitives xsi:type="fmprimitives:OrGroup" id="group0" name="group0" groupHasParent="//@primitives.46" groupHasChild="//@primitives.42 //@primitives.44 //@primitives.45" groupHasMin="//@primitives.47"/>
97  <primitives xsi:type="fmprimitives:GroupHasChild" id="groupchild1" name="groupchild1" child="//@features.48" group="//@primitives.43"/>
98  <primitives xsi:type="fmprimitives:GroupHasChild" id="groupchild2" name="groupchild2" child="//@features.10" group="//@primitives.43"/>
99  <primitives xsi:type="fmprimitives:GroupHasParent" id="gparent0" name="gparent0" parent="//@features.23" group="//@primitives.43"/>
100  <primitives xsi:type="fmprimitives:GroupHasMin" group="//@primitives.43"/>
101  <primitives xsi:type="fmprimitives:GroupHasChild" id="groupchild3" name="groupchild3" child="//@features.33" group="//@primitives.49"/>
102  <primitives xsi:type="fmprimitives:OrGroup" id="group1" name="group1" groupHasParent="//@primitives.51" groupHasChild="//@primitives.48 //@primitives.50" groupHasMin="//@primitives.52"/>
103  <primitives xsi:type="fmprimitives:GroupHasChild" id="groupchild4" name="groupchild4" child="//@features.25" group="//@primitives.49"/>
104  <primitives xsi:type="fmprimitives:GroupHasParent" id="gparent1" name="gparent1" parent="//@features.1" group="//@primitives.49"/>
105  <primitives xsi:type="fmprimitives:GroupHasMin" group="//@primitives.49"/>
106  <primitives xsi:type="fmprimitives:GroupHasChild" id="groupchild5" name="groupchild5" child="//@features.37" group="//@primitives.54"/>
107  <primitives xsi:type="fmprimitives:AlternativeGroup" id="group2" name="group2" groupHasParent="//@primitives.56" groupHasChild="//@primitives.53 //@primitives.55" groupHasMin="//@primitives.57"/>
108  <primitives xsi:type="fmprimitives:GroupHasChild" id="groupchild6" name="groupchild6" child="//@features.17" group="//@primitives.54"/>
109  <primitives xsi:type="fmprimitives:GroupHasParent" id="gparent2" name="gparent2" parent="//@features.6" group="//@primitives.54"/>
110  <primitives xsi:type="fmprimitives:GroupHasMin" group="//@primitives.54"/>
111  <primitives xsi:type="fmprimitives:Requires" id="cst0" name="cst0" sources="//@features.20" targets="//@features.48"/>
112  <primitives xsi:type="fmprimitives:Requires" id="cst1" name="cst1" sources="//@features.22" targets="//@features.26"/>
113  <primitives xsi:type="fmprimitives:Requires" id="cst2" name="cst2" sources="//@features.45" targets="//@features.26"/>
114  <primitives xsi:type="fmprimitives:Requires" id="cst3" name="cst3" sources="//@features.15" targets="//@features.35"/>
115  <primitives xsi:type="fmprimitives:Requires" id="cst4" name="cst4" sources="//@features.29" targets="//@features.46"/>
116  <primitives xsi:type="fmprimitives:Requires" id="cst5" name="cst5" sources="//@features.46" targets="//@features.44"/>
117  <primitives xsi:type="fmprimitives:Requires" id="cst6" name="cst6" sources="//@features.46" targets="//@features.29"/>
118  <primitives xsi:type="fmprimitives:Requires" id="cst7" name="cst7" sources="//@features.25" targets="//@features.20"/>
119  <primitives xsi:type="fmprimitives:Requires" id="cst8" name="cst8" sources="//@features.29" targets="//@features.44"/>
120  <primitives xsi:type="fmprimitives:Requires" id="cst9" name="cst9" sources="//@features.10" targets="//@features.31"/>
121  <primitives xsi:type="fmprimitives:Requires" id="cst10" name="cst10" sources="//@features.43" targets="//@features.31"/>
122  <primitives xsi:type="fmprimitives:Requires" id="cst11" name="cst11" sources="//@features.12" targets="//@features.26"/>
123  <primitives xsi:type="fmprimitives:Requires" id="cst12" name="cst12" sources="//@features.28" targets="//@features.14"/>
124  <primitives xsi:type="fmprimitives:Requires" id="cst13" name="cst13" sources="//@features.48" targets="//@features.25"/>
125  <primitives xsi:type="fmprimitives:Requires" id="cst14" name="cst14" sources="//@features.41" targets="//@features.26"/>
126  <primitives xsi:type="fmprimitives:Requires" id="cst15" name="cst15" sources="//@features.48" targets="//@features.20"/>
127  <primitives xsi:type="fmprimitives:Requires" id="cst16" name="cst16" sources="//@features.25" targets="//@features.48"/>
128  <primitives xsi:type="fmprimitives:Requires" id="cst17" name="cst17" sources="//@features.20" targets="//@features.25"/>
129  <primitives xsi:type="fmprimitives:Requires" id="cst18" name="cst18" sources="//@features.13" targets="//@features.26"/>
130  <primitives xsi:type="fmprimitives:Requires" id="cst19" name="cst19" sources="//@features.44" targets="//@features.46"/>
131  <primitives xsi:type="fmprimitives:Requires" id="cst20" name="cst20" sources="//@features.35" targets="//@features.15"/>
132  <primitives xsi:type="fmprimitives:Requires" id="cst21" name="cst21" sources="//@features.25" targets="//@features.26"/>
133  <primitives xsi:type="fmprimitives:Requires" id="cst22" name="cst22" sources="//@features.44" targets="//@features.29"/>
134  <primitives xsi:type="fmprimitives:Requires" id="cst23" name="cst23" sources="//@features.25" targets="//@features.23"/>
135  <primitives xsi:type="fmprimitives:Requires" id="cst24" name="cst24" sources="//@features.21" targets="//@features.40"/>
136</fmprimitives:FeatureModel>