Top Banner
Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies
21

Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

Apr 01, 2015

Download

Documents

Dennis Leakey
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1

Naming

Proposal byX-Change Technologies

Page 2: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-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)

Page 3: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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.

Page 4: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

Monday, October 27, 2003 X-Change Technologies—Compliance proposal 4

This proposal

This proposal is concrete…

Page 5: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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

Page 6: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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

Page 7: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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’ …}

Page 8: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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.)

Page 9: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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.

Page 10: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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.

Page 11: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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.

Page 12: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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

Page 13: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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.

Page 14: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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).

Page 15: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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.

Page 16: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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.

Page 17: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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’

Page 18: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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

Page 19: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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

Page 20: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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.

Page 21: Monday, October 27, 2003 X-Change Technologies—Compliance proposal 1 Naming Proposal by X-Change Technologies.

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.