Search the web
Sign In
New User? Sign Up
information_modeling · Information Modeling
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Message search is now enhanced, find messages faster. Take it for a spin.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
ORM Metamodel   Message List  
Reply | Forward Message #234 of 237 |
Re: [information_modeling] Re: ORM Metamodel

On 09/06/2009, at 5:55 AM, jportalfraga wrote:
> Therefore, the word "Concept" has the same meaning as ORM2 ObjectType

For a concept to have "the same meaning", it must play exactly the same
set of roles. Please re-read my definition of "meaning" from my previous
message. My "Concept" is not the same as in either SBVR or ORM2's
ObjectType. In ORM2, an ObjectType has exactly one name, and I'm
moving my metamodel to separate *naming* from Concept.

I *intend* "Concept" to mean something much closer to SBVR's meaning
than to ORM2's meaning, so I think that the term is correct. It does
carry
the natural English meaning as well - a "term in a vocabulary denotes a
concept" - objectified as Denotation if you wish.

The existing (Compromise) and the new (Term) model fragments are
attached as images. I've uploaded them to the Yahoo files area also:

http://tech.groups.yahoo.com/group/information_modeling/files/Clifford%20Heath%2\
7s/


The fragment I'm currently using:


2 of 2 Photo(s)

Tue Jun 9, 2009 12:18 pm

clifford_heath4
Offline Offline
Send Email Send Email




The revised fragment: each Concept has one definitive Term (a Name in
a Vocabulary),
and any number of synonyms. This version has been sitting in my
project files for a
while, and I keep incorporating new features from it; but not yet these:







I tried having a single fact type objectified as "Denotation" joining
Term
and Concept, but that requires a surrogate key for Concept, and I avoid
those (see below).

> , and it doesn't denote the same thing as SBVR "Concept" term at all.

Again, I intend it to mean almost the same thing as SBVR - however as I
argued before, to treat a *role* as a concept requires objectifying an
un-named
subtype of the role player. I think this is an error - the role player
is not always
objectified in this way. Objectification only applies when a role name
applies.
See for example Director in my CompanyDirectorEmployee model. By
applying
this role name, the role player is objectified as a subtype of Person,
and *becomes*
a concept. On the other hand, the role of "Company" in the same fact
type does
not have a role name and does not represent a separate (subtype)
concept.

However, this argument has not convinced Terry - see the discussion in
the list
archives around role naming and hyphen-binding from Nov 2007. So ORM2
remains different from both CQL and SBVR in this respect. CQL takes
the middle
path, and I believe it's closest to the correct one.

Furthermore, the corrected model fragment above allows a concept to
bear a
synonym from any Vocabulary (including one in another language).
However,
this fragment does not indicate how fact type readings may be
customised in
that way, which is necessary and is explicitly allowed by SBVR. Any
fact type
may have any number of readings, including many for one reading order
(RoleSequence), but though the metamodels do not yet show a Reading as
belonging to a Vocabulary, that is intended, and won't have other
impacts.

> the use of the word "Concept" may look unfamiliar to other members
> of the ORM Community.

I intend that. It is different.

> For the time being, I can't see the necessity for the model element
> Feature.

You're using the version of the Metamodel from http://dataconstellation.com
,
which is slightly out of date; the version in the
http://github.com/cjheath/activefacts
source code repository is always the most recent published version.
The recent
version has eliminated Feature. I had used it for two reasons that
don't exist in
ORM2: Aliases (synonyms), and as a place to attach "business context
notes" for
use in requirements management. I've reworked both using a different
method,
but haven't integrated the changes through my code yet; see below.

> Some ORM2 model elements, like Concept (ObjectType) and Role may be
> named.
> This means one can use words (symbols) to make reference to them.

Role names in ORM2 are not unique, and may duplicate ObjectType names.
Thus they're not useful as references. I think this is an error, but
it's an error I've
retained for now, until further discussion can resolve it. See my
revised metamodel
below however.

> The words belong to vocabularies (set of symbols).

Sets of Terms that denote Concepts, yes.

> An ORM model element is more a matter of meaning.

No. An ORM2 Object Type is a named concept. A Role name is a convenience
for column-name generation during relational mapping, and little more.

> I wouldn't include one of them in a vocabulary and wouldn't use
> their names as primary references either, since it's possible more
> than one symbol, even in the same vocabulary, denotes the same
> meaning.

You'll see I've already been thinking along the same lines. I'm not
entirely free
to immediately correct the error, as these diagrams are crucial parts
of the
*source code* of ActiveFacts, and require changes must be followed
through.

> I would also like to see the element Model in the metamodel.

Not my view, and your Model doesn't add any capability that doesn't
already
exist.

In my view, a Model is self-contained, whereas a Vocabulary contains
terms
that denote a set of concepts relevant within some semantic space. These
semantic spaces (defined as per SBVR being the shared concepts of a
semantic community) *overlap*, and the union is potentially infinite.
A Model
is where someone chooses a limited set of vocabularies, which creates
a closed-world around them; and this model can thus be translated to an
SQL schema.

At present, this idea of "Model" is thus an *implementation* specific
thing,
not a semantic thing. It may be that this coincides with your use of
"Model",
and we can add it; but I see it as being outside the core metamodel.

> I couldn't attach a file to this group.

I don't know why not. Any member who signs in to Yahoo and visits the
Files
page should be able to create a directory for themselves and add files:
<http://groups.yahoo.com/group/information_modeling/files>

> I'm sending an email with your metamodel little changed. It opens
> with NORMA.
> Please, see the page 'discussion'. ModelElement and
> ModelNamedElement were taken from NORMA Core metamodel.

I understand why you're suggesting these things, but I don't think
they are
* well-named
* all necessary
* naturally-structured.

My model already incorporates the semantic concepts of ORM2 as
implemented
in NORMA, without any of the implementation ones. In particular:

* My comments about Model above,

* "ModelElement" exists as a place to hang the geometry rules for the
diagram
layouts, which is an implementation thing, not a semantic thing;
and unnecessary
in any case.

* "Name" is already used wherever NORMA can use a name (an ObjectType
or Role)

* NORMA doesn't denote object types by any "symbols" other than Names
so the
change of terminology is unnecessary.

* Since ORM2 doesn't have any relationship between ObjectType names and
RoleNames, the proposed ModelNamedElement supertype doesn't actually
exist in any reality. It's as redundant as my (better-named!)
"Feature" was.

* Role Names in ORM2 don't (unfortunately) to belong to a Vocabulary.
This is
reflected still in my metamodel, and that needs to change. A role
name should
be a Term, even though that would disallow any ORM model that re-
uses a
Concept's term as a role name (a good thing, in my view). That's
fixed in my
revised metamodel, though not yet in my code.

* Your proposed "Meaning" is a dangling object having no meaning.
"Meaning"
in a semantic model is not described in paragraphs or by an ID, but
by the *roles*
that the concept plays; and your "Meaning" has only two roles (one
played by ID,
and one played by ModelElement). Neither of these role really
*means* anything.

* You use a lot of "id" reference modes. I avoid them wherever a
"natural" identifier
exists. Thus "Vocabulary" has a name, and Concept is identified by
a primary Name.

> I would like to propose you first to agree on these basic terms (ex.
> vocabulary), as we did with "Concept". Then we'll be able to proceed
> the discussion on the rest of the metamodel.

I hope you'll see my latest proposed metamodel incorporates the
capabilities you
want. It's uploaded as "Metamodel 2009-06-09.orm" in the group files.
This file
also contains incomplete support for business context notes.

Finally; I intend "Vocabulary" to play additional roles, such as one
denoting the
natural language in which it's expressed. These aren't modelled yet,
and neither
is the details of vocabularies incorporating completely, or borrowing
from, other
vocabularies (despite the "Imports" that were in earlier models).

Clifford Heath, Data Constellation, http://dataconstellation.com
Agile Information Management and Design

Forward
Message #234 of 237 |
Expand Messages Author Sort by Date

Hi all, Regarding Data Constellation ORM Metamodel http://www.dataconstellation.com/ActiveFacts/examples/ORM/Metamodel.orm Does the term 'Concept' stand for...
jportalfraga
Offline Send Email
Jun 4, 2009
1:57 am

... To be perfectly flippant, "Concept" means exactly what the model says it means ;-). That is, this model *defines* its own meaning for Concept. It's in the...
Clifford Heath
clifford_heath4
Offline Send Email
Jun 4, 2009
6:56 am

Thanks Clifford, Therefore, the word "Concept" has the same meaning as ORM2 ObjectType, and it doesn't denote the same thing as SBVR "Concept" term at all. I...
jportalfraga
Offline Send Email
Jun 8, 2009
7:55 pm

... For a concept to have "the same meaning", it must play exactly the same set of roles. Please re-read my definition of "meaning" from my previous message....
Clifford Heath
clifford_heath4
Offline Send Email
Jun 9, 2009
12:19 pm

What about using "GeneralConcept" instead of "Concept" for better matching with SBVR? It could also be used "FactTypeForm" instead of "Reading". I prefer to...
jportalfraga
Offline Send Email
Jun 11, 2009
2:13 pm

... I assume you're using the diagram at the start of SBVR section 8.1 (snapshot below for those who don't have it open). The definition of "general concept"...
Clifford Heath
clifford_heath4
Offline Send Email
Jun 12, 2009
7:26 am

... I was absolutely wrong when I tried to match "general concept" to an ORM object type. Actually, now I think a better approximation to the interpretation of...
jportalfraga
Offline Send Email
Jun 17, 2009
6:59 pm
< Prev Topic  |  Next Topic >
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help