Class UML 2.3::Profile
Description:
A profile defines limited extensions to a reference metamodel with the
purpose of adapting the metamodel to a specific platform or domain.
Direct Superclasses: PackageDirect Subclasses: Class Precedence List: Profile,
Package,
TemplateableElement,
Namespace,
PackageableElement,
ParameterableElement,
NamedElement,
ElementProperties:
metaclassReference :
ElementImport (0 *); -- source
Profile metamodelReference :
PackageImport (0 *); -- source
Profile nestedPackage :
Package (0 *); -- source
Package nestingPackage :
Package (0 1); -- source
Package ownedStereotype :
Stereotype (0 *); -- source
Package ownedType :
Type (0 *); -- source
Package packageMerge :
PackageMerge (0 *); -- source
Package packagedElement :
PackageableElement (0 *); -- source
Package profileApplication :
ProfileApplication (0 *); -- source
Package ownedTemplateSignature :
TemplateSignature (0 1); -- source
TemplateableElement templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement elementImport :
ElementImport (0 *); -- source
Namespace importedMember :
PackageableElement (0 *); -- source
Namespace member :
NamedElement (0 *); -- source
Namespace ownedMember :
NamedElement (0 *); -- source
Namespace ownedRule :
Constraint (0 *); -- source
Namespace packageImport :
PackageImport (0 *); -- source
Namespace visibility :
VisibilityKind (1 1); -- source
PackageableElement owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement templateParameter :
TemplateParameter (0 1); -- source
ParameterableElement clientDependency :
Dependency (0 *); -- source
NamedElement name : String (0 1); -- source
NamedElement nameExpression :
StringExpression (0 1); -- source
NamedElement namespace :
Namespace (0 1); -- source
NamedElement Specifies the namespace that owns the NamedElement.
{
readonly}
Derived union with sources: (nestingPackage)
Subsets: Element.owner
Opposite: Namespace.ownedMember
qualifiedName : String (0 1); -- source
NamedElement ownedComment :
Comment (0 *); -- source
Element ownedElement :
Element (0 *); -- source
Element owner :
Element (0 1); -- source
ElementConstraints:
Signature: references_same_metamodel() : Boolean;
Description: All elements imported either as metaclassReferences or through metamodelReferences
are members of the same base reference metamodel.
The OCL used here is not normative.Editor's notes: removed ) at ())->, but allOwningPackages not used, thus this cannot be used.
Expression: true
Original: self.metamodelReference.importedPackage.elementImport.importedElement.allOwningPackages())->
union(self.metaclassReference.importedElement.allOwningPackages() )->notEmpty()
Signature: metaclass_reference_not_specialized() : Boolean;
Description: An element imported as a metaclassReference is not specialized or generalized
in a Profile.
The OCL used here is not normative.Editor's notes: specialization not defined.
Expression: true
Original: self.metaclassReference.importedElement->
select(c | c.oclIsKindOf(Classifier) and
(c.generalization.namespace = self or
(c.specialization.namespace = self) )->isEmpty()
Operations:
No additional operations.
Send questions or comments to
[email protected].