Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies
Apr 01, 2015
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1
Naming
Proposal byX-Change Technologies
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 2
Goals
• A naming scheme using a single namespace, for builders of generic model access and manipulation tools
• A single approved naming scheme that provides an identifier for each distinct element of the MOF, infrastructure, and superstructure metamodels (as does the current naming scheme)
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 3
This proposal
This proposal is for discussion and agreement in principle. It does not provide the full details that will be needed for the specification. These can be worked out once agreement is principle is reached.
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 4
This proposal
This proposal is concrete…
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 5
Outline
• Goals• org.omg.UML2, as proposed by IBM• Unique names for every class, as
in the final adopted specification• More than one name for a MOF
object• The goals, met
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 6
ODP::Namespace
2-12.3 Name space: A set of terms usable as names.
www.joaquin.net/ODP/Part2/12.html
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 7
UML2NamesThe set containing every model element
name used in a UML package or model is an ODP::namespace.
In particular, the set containing every model element name used in the UML 2 metamodel.
Let’s call that set ‘UML2Names’:{‘Class’ ‘Property’ ‘Package’ ‘Action’ …}
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 8
org.omg.UML2
Let’s have a package named, ‘org.omg.UML2’.
In fact, if this is the IBM proposal, let’s have a lot of packages with that name.
(This, our proposal, is silent on how to manage all those many packages.)
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 9
Names in org.omg.UML2
Consider the package, org.omg.UML2(the biggest such package, for the moment)
Name each element in that package with the obvious name from the set, UML2Names
The fully qualified name of an element in that package is ‘org.omg.UML2::<name>’, where <name> is the name of that element, from UML2Names.
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 10
Them other packages
And the same for all the smaller packages named, ‘org.omg.UML2’.
Name the elements in these packages the same way.
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 11
The first goal
This meets the first goal: A naming scheme using a single namespace, for builders of generic model access and manipulation tools
Whichever of the classes named ‘Class’ in the UML metamodel we provide, a tool can call this class, ‘org.omg.UML2::Class’
This avoids type casting in the tool.
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 12
FineGrainPackage
Consider any package from the current metamodels, say, Kernel::Class
Name each element in that package with the obvious name from the set, UML2Names, just as it is now named.
The fully qualified name of an element in that package is ‘Kernel::Class::<name>’, where <name> is the name of that element, from UML2Names
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 13
First Class Namespace
Enable the specification of more than one name for an element in a package,
each name being an identifier.
2-12.2 Identifier: An unambiguous name, in a given naming context.
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 14
ODP::Naming context
2-12.4 Naming context: A relation between a set of names and a set of [model elements]. The set of names belongs to a single name space.
A package, for example, specifies a relation between a set of elements (those in the package) and a set of names (their names).
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 15
The second goal
This enables meeting the second goal: An identifier for each distinct element of the MOF, infrastructure and superstructure metamodels
Whichever of the classes named ‘Class’ in the UML metamodel a tool is calling, ‘org.omg.UML2::Class’, we can call this class by a name that is an identifier.
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 16
Whatever we call them
We are not proposing today that UML conform to ODP concept names.
Whatever we call the concepts, use these concepts (name, namespace, naming context, identifier) to permit the UML and MOF specifications to provide more than one identifier for each element of a metamodel.
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 17
Both goals met
Now, an element in a particular package can have two identifiers, each meeting one of the goals.
Example: two names of the same class:
‘Kernel::Classes::Class’ ‘org.omg.UML2::Class’
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 18
Yes: Both goals met
Now, an element in a particular package can have two identifiers, each meeting one of the goals.
Example: the same class, listed twice: Kernel::Classes::Class org.omg.UML2::Classunambiguosly, using identifiers
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 19
Yes: Identifiers
‘org.omg.UML2::Class’ is an identifier.
That’s because the tools we are talking about will handle only one of the many classes named, ‘Class’, at a time.
The name is unambiguos in any given context: it names the Class the tool is currently handling
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 20
Correction requested
Is the following statement wrong?
The tools we are talking about will handle only one of the many classes named, ‘Class’, at a time.
If so, please correct us.And explain what it is we have
mistaken.Thanks.
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 21
RequestIn addition to the correction requested
on the previous slide:X-Change Technologies requests:• comments that improve this proposal
or provide necessary additional detail, • an alternate proposal
that meets the same goals, or • correction of our misstatement of the
goals.