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:
![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
metaclassReference :
ElementImport (0 *); -- source
Profile![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
metamodelReference :
PackageImport (0 *); -- source
Profile![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
nestedPackage :
Package (0 *); -- source
Package![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
nestingPackage :
Package (0 1); -- source
Package![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
ownedStereotype :
Stereotype (0 *); -- source
Package![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
ownedType :
Type (0 *); -- source
Package![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
packageMerge :
PackageMerge (0 *); -- source
Package![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
packagedElement :
PackageableElement (0 *); -- source
Package![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
profileApplication :
ProfileApplication (0 *); -- source
Package![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
ownedTemplateSignature :
TemplateSignature (0 1); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
visibility :
VisibilityKind (1 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
templateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=23630%3ADB1D0266CFFE0E73B194C12FEDD03987)
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].