Make sure a class has one and only one instance that can be accessed
globally.
More info
Profile download (Rational Rose model)
context Singleton inv: self.feature->exists (b | b.oclIsKindOf (Operation) and b.name = self.name and b.visibility <> VisibilityKind::public) context InstanceVar inv: self.ownerScope = ScopeKind::classifier inv: self.type.name = self.singleton.name
The NameFactory class does not have a protected or private constructor. Its instance variable is also not static and its type is incorrect.