-
Notifications
You must be signed in to change notification settings - Fork 15
/
NMeta.nmeta
148 lines (148 loc) · 12 KB
/
NMeta.nmeta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?xml version="1.0" encoding="utf-8"?>
<nmeta:Namespace xmi:version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Uri="http://nmf.codeplex.com/nmeta/" Prefix="nmeta" Name="Meta" xmlns:xmi="http://www.omg.org/XMI" xmlns:nmeta="http://nmf.codeplex.com/nmeta/">
<Types xsi:type="nmeta:Class" BaseTypes="#//TypedElement/" Name="Attribute" Summary="Represents a simple-valued attribute">
<Attributes Type="#//String/" Name="DefaultValue" Summary="The default value for this attribute" />
<References Opposite="#//StructuredType/Attributes/" ReferenceType="#//StructuredType/" Name="DeclaringType" Summary="The type that declared this attribute" />
<References ReferenceType="#//Attribute/" Name="Refines" Summary="Gets or sets the attribute that is implemented by the current attribute" />
</Types>
<Types xsi:type="nmeta:Class" Name="AttributeConstraint">
<References Opposite="#//Class/AttributeConstraints/" LowerBound="1" ReferenceType="#//Class/" Name="DeclaringType" />
<Attributes IsOrdered="True" Name="Values" Type="#//String/" UpperBound="-1"/>
<References ReferenceType="#//Attribute/" LowerBound="1" Name="Constrains" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//ReferenceType/" Name="Class" Summary="Represents a group of instances with common properties like attributes or references">
<Attributes DefaultValue="false" Type="#//Boolean/" LowerBound="1" Name="IsAbstract" />
<Attributes Type="#//IdentifierScope" LowerBound="1" Name="IdentifierScope" Summary="Specifies whether the identifier is valid only in the scope of its container or on a global scope." Remarks="This attribute is ignored when this class is not identified." />
<References UpperBound="-1" ReferenceType="#//Class/" Name="BaseTypes" />
<References UpperBound="1" ReferenceType="#//Class/" Name="InstanceOf" />
<References ReferenceType="#//Attribute/" Name="Identifier" Summary="Gets or sets the attribute that will identify instances of this class" />
<References IsContainment="True" Opposite="#//AttributeConstraint/DeclaringType/" UpperBound="-1" ReferenceType="#//AttributeConstraint/" Name="AttributeConstraints" />
<References IsContainment="True" Opposite="#//ReferenceConstraint/DeclaringType/" UpperBound="-1" ReferenceType="#//ReferenceConstraint/" Name="ReferenceConstraints" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//StructuredType/" Name="DataType" Summary="Represents a complex immutable data class" />
<Types xsi:type="nmeta:Class" BaseTypes="#//Type/" Name="Enumeration">
<Attributes Type="#//Boolean/" LowerBound="1" Name="IsFlagged" />
<References IsContainment="True" Opposite="#//Literal/Enumeration/" UpperBound="-1" ReferenceType="#//Literal/" Name="Literals" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//MetaElement/" Name="Event" Summary="Represents an event">
<References ReferenceType="#//DataType/" Name="Type" />
<References Opposite="#//ReferenceType/Events/" LowerBound="1" ReferenceType="#//ReferenceType/" Name="DeclaringType" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//ReferenceType/" Name="Extension">
<References LowerBound="1" ReferenceType="#//Class/" Name="AdornedClass" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//MetaElement/" Name="Literal">
<Attributes Type="#//Integer/" Name="Value" />
<References Opposite="#//Enumeration/Literals/" ReferenceType="#//Enumeration/" Name="Enumeration" IsOrdered="True"/>
</Types>
<Types xsi:type="nmeta:Class" IsAbstract="True" BaseTypes="#//ModelElement/" Identifier="#//MetaElement/Name/" Name="MetaElement">
<Attributes LowerBound="1" Type="#//String/" Name="Name" />
<Attributes Type="#//String/" Name="Summary" />
<Attributes Type="#//String/" Name="Remarks" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//ModelElement/" Name="Model">
<Attributes Type="#//Uri/" Name="ModelUri" />
<References IsContainment="True" IsOrdered="True" IsUnique="True" UpperBound="-1" ReferenceType="#//ModelElement/" Name="RootElements" />
</Types>
<Types xsi:type="nmeta:Class" IsAbstract="True" Name="ModelElement" InstanceOf="#//Class">
<Attributes LowerBound="1" Type="#//Uri/" Name="AbsoluteUri" />
<Attributes LowerBound="1" Type="#//Uri/" Name="RelativeUri" />
<References IsContainment="True" Opposite="#//ModelElementExtension/ExtendedElement/" UpperBound="-1" ReferenceType="#//ModelElementExtension/" Name="Extensions" />
<References ReferenceType="#//ModelElement/" Name="Parent" />
</Types>
<Types xsi:type="nmeta:Class" IsAbstract="True" Name="ModelElementExtension" InstanceOf="#//Extension/">
<References Opposite="#//ModelElement/Extensions/" LowerBound="1" ReferenceType="#//ModelElement/" Name="ExtendedElement" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//MetaElement/" Name="Namespace">
<Attributes Type="#//Uri/" Name="Uri" />
<Attributes Type="#//String/" Name="Prefix" />
<References Opposite="#//Namespace/ChildNamespaces/" ReferenceType="#//Namespace/" Name="ParentNamespace" />
<References IsContainment="True" Opposite="#//Namespace/ParentNamespace/" UpperBound="-1" ReferenceType="#//Namespace/" Name="ChildNamespaces" />
<References IsContainment="True" Opposite="#//Type/Namespace/" UpperBound="-1" ReferenceType="#//Type/" Name="Types" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//TypedElement/" Name="Operation">
<References IsContainment="True" Opposite="#//Parameter/Operation/" IsOrdered="True" UpperBound="-1" ReferenceType="#//Parameter/" Name="Parameters" />
<References Opposite="#//StructuredType/Operations/" LowerBound="1" ReferenceType="#//StructuredType/" Name="DeclaringType" />
<References ReferenceType="#//Operation/" Name="Refines" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//TypedElement/" Name="Parameter">
<Attributes LowerBound="1" Type="#//Direction/" Name="Direction" />
<References Opposite="#//Operation/Parameters/" LowerBound="1" ReferenceType="#//Operation/" Name="Operation" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//Type/" Name="PrimitiveType">
<Attributes Type="#//String/" Name="SystemType" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//TypedElement/" Name="Reference">
<Attributes Type="#//Boolean/" LowerBound="1" Name="IsContainment" />
<References Opposite="#//ReferenceType/References/" LowerBound="1" ReferenceType="#//ReferenceType/" Name="DeclaringType" />
<References Opposite="#//Reference/Opposite/" ReferenceType="#//Reference/" Name="Opposite" />
<References ReferenceType="#//ReferenceType" Name="ReferenceType" Refines="#//TypedElement/Type"/>
<References ReferenceType="#//Reference/" Name="Refines" Summary="The reference that is refined by the current reference, only applicable if the reference is part of a class" />
<References ReferenceType="#//Class/" Name="Anchor" Summary="The least common anchestor of an instance and its referenced element, if statically known" />
</Types>
<Types xsi:type="nmeta:Class" Name="ReferenceConstraint">
<References Opposite="#//Class/ReferenceConstraints/" LowerBound="1" ReferenceType="#//Class/" Name="DeclaringType" />
<References IsOrdered="True" Name="References" UpperBound="-1"/>
<References ReferenceType="#//Reference/" LowerBound="1" Name="Constrains" />
</Types>
<Types xsi:type="nmeta:Class" IsAbstract="True" BaseTypes="#//StructuredType/" Name="ReferenceType">
<References IsContainment="True" Opposite="#//Event/DeclaringType/" UpperBound="-1" ReferenceType="#//Event/" Name="Events" />
<References IsContainment="True" Opposite="#//Reference/DeclaringType/" UpperBound="-1" ReferenceType="#//Reference/" Name="References" />
</Types>
<Types xsi:type="nmeta:Class" IsAbstract="True" BaseTypes="#//Type/" Name="StructuredType">
<References IsContainment="True" Opposite="#//Operation/DeclaringType/" UpperBound="-1" ReferenceType="#//Operation/" Name="Operations" />
<References IsContainment="True" Opposite="#//Attribute/DeclaringType/" UpperBound="-1" ReferenceType="#//Attribute/" Name="Attributes" />
</Types>
<Types xsi:type="nmeta:Class" IsAbstract="True" BaseTypes="#//MetaElement/" Name="Type">
<References Opposite="#//Namespace/Types/" LowerBound="1" ReferenceType="#//Namespace/" Name="Namespace" />
</Types>
<Types xsi:type="nmeta:Class" IsAbstract="True" IsInterface="True" BaseTypes="#//MetaElement/" Name="TypedElement">
<Attributes LowerBound="1" Type="#//Boolean/" Name="IsOrdered" />
<Attributes LowerBound="1" Type="#//Boolean/" Name="IsUnique" />
<Attributes DefaultValue="0" LowerBound="1" Type="#//Integer/" Name="LowerBound" />
<Attributes DefaultValue="1" LowerBound="1" Type="#//Integer/" Name="UpperBound" />
<References LowerBound="1" ReferenceType="#//Type/" Name="Type" />
</Types>
<Types xsi:type="nmeta:Extension" AdornedClass="#//Type/" Name="MappedType">
<Attributes UpperBound="1" Type="#//SystemType/" Name="SystemType" />
</Types>
<Types xsi:type="nmeta:Extension" AdornedClass="#//ModelElement/" Name="AnnotationSet">
<References IsContainment="True" IsOrdered="True" IsUnique="True" UpperBound="-1" ReferenceType="#//AnnotationEntry/" Name="Annotations" />
</Types>
<Types xsi:type="nmeta:Class" BaseTypes="#//ModelElement/" Name="AnnotationEntry">
<Attributes Type="#//String/" Name="Source" />
<Attributes IsOrdered="True" IsUnique="False" UpperBound="-1" Type="#//String/" Name="Details" />
<References IsContainment="True" IsOrdered="True" IsUnique="True" UpperBound="-1" ReferenceType="#//AnnotationEntry/" Name="Annotations" />
</Types>
<Types xsi:type="nmeta:Extension" AdornedClass="#//MetaElement/" Name="SerializationInformation">
<Attributes UpperBound="1" Type="#//String/" Name="SerializationName" />
<Attributes UpperBound="1" LowerBound="1" Type="#//Boolean/" Name="IsDefault" />
</Types>
<Types xsi:type="nmeta:Enumeration" Name="Direction" Summary="Denotes the direction of a parameter">
<Literals Name="In" Summary="Denotes that the parameter is used as an input parameter" />
<Literals Value="1" Name="Out" Summary="Denotes that the parameter is used as an output parameter" />
<Literals Value="2" Name="InOut" Summary="Denotes that the parameter is used both as input and output parameter" />
</Types>
<Types xsi:type="nmeta:Enumeration" Name="IdentifierScope" Summary="">
<Literals Name="Inherit" Summary="The identifier scope is inherited from the (first) base class that defines an identifier" />
<Literals Name="Local" Value="1" Summary="The identifier has a local scope, i.e., the identifier identifies an element only in the scope of the parent element" />
<Literals Name="Global" Value="2" Summary="The identifier has a global scope, i.e., there is no other model element with the same identifier" />
</Types>
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Boolean" Name="Boolean" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Byte" Name="Byte" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Byte[]" Name="ByteArray" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Char" Name="Char" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="DateTime" Name="DateTime"/>
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Decimal" Name="Decimal" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Double" Name="Double" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Single" Name="Float" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="Guid" Name="Guid"/>
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Int32" Name="Integer" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Int64" Name="Long" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Object" Name="Object" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.String" Name="String" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Int16" Name="Short" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="TimeSpan" Name="TimeSpan"/>
<Types xsi:type="nmeta:PrimitiveType" SystemType="Uri" Name="Uri" />
<Types xsi:type="nmeta:PrimitiveType" SystemType="System.Type" Name="SystemType" />
</nmeta:Namespace>