in

The ORM Foundation

Get the facts!

Modeling based an existence chain

Last post Wed, May 25 2011 18:47 by Ken Evans. 44 replies.
Page 3 of 3 (45 items) < Previous 1 2 3
Sort Posts: Previous Next
  • Tue, May 24 2011 10:16 In reply to

    • Ken Evans
    • Top 10 Contributor
      Male
    • Joined on Sun, Nov 18 2007
    • Stickford, UK
    • Posts 789

    Re: Modeling based an existence chain

    Clifford Heath:
    whereas the others involve "Claimant works for Organization which is in Country"; i.e. two joined binaries. If the latter model is correct, then Ken's ER model is not normalized, because of the FD of Country on Organization

     Hi Clifford,
    That's a very good point. I just shows how careful you have to be when modeling a domain.
    Yes, my interpretation was that it's the country in which the claimant is working which determines the allowance.
    This may or my not be the case in Marc's situation but it maps to my own personal experience of the way big organisations decide on allowances.

    However, another (as yet unstated point) is that Marc's original narrative seems to be expressed as a "decision chain" which implies a process based view of the business rules. As I see it, starting from a process based perspective is incompatible with the declarative approach.

    Which is why I suggested that the analysis should start with some atomic propositions without any reference to a "process chain".

    Ken
  • Tue, May 24 2011 10:42 In reply to

    • Ken Evans
    • Top 10 Contributor
      Male
    • Joined on Sun, Nov 18 2007
    • Stickford, UK
    • Posts 789

    Re: Modeling based an existence chain

    Hi Andy,

    Thanks for pointing out my "Yoda Speak" (Ahhh the joys of natural language!)

    To be clear, my point is as follows: An object-role model should be designed in such a way that it minimises the risk of nulls appearing in the physical database that is based on the object-role model.

    My example was intended to illustrate this point.

    Ken 

  • Tue, May 24 2011 13:15 In reply to

    Re: Modeling based an existence chain

    Hi Ken,

    Well, I'm not enough of a Star Wars buff to know what you mean by "Yoda language". But perhaps the following is another example...

    You wrote:

    "Well, I did not infer that from Marc's description but you may be right on this point.However, my purpose was not to present an accurate model of Marc's domain (I agree with Clifford that we don't have enough information for that).

     

     My purpose was to illustrate the principle of how Marc's domain could be modeled in a way that does not require the use of nulls at the conceptual level."

       I don't know if Yoda could have understood it, but it befuddles me, how you could be intending to show how something could be modeled "in a way that does not require the use of nulls", while yet be unintending to do "an accurate model" of it. I thought that if you did an inaccurate model of it (only), you didn't actually model it... So how could you think it was unnecessary to model it accurately, if you wanted to show how it could be modeled in a particular (e.g. non-nulls-producing) way?? Help me out, please...

    Cheers,

    Andy

  • Tue, May 24 2011 14:42 In reply to

    • Ken Evans
    • Top 10 Contributor
      Male
    • Joined on Sun, Nov 18 2007
    • Stickford, UK
    • Posts 789

    Re: Modeling based an existence chain

     Hi Andy,

    As I mentioned in an earlier post, I think it is better to state propositions so that people can either agree or disagree, rather than using long, complex and "befuddling" sentences. So here are my two propositions

    1. My sample model illustrates a principle.
    2. We do not have an accurate model of Marc's domain.

    Here is the evidence that "we" (includes Marc) do not have an accurate model of the Domain (aka  Universe of Discourse) that Marc is trying to model. 

    Clifford said: "Your description is not very clear." (and it wasn't clear to me either)

    Marc said:  "As far as this intermediate table it is an agreement that is pre-determined, but the order of presidence dictates that the existence of certain pieces takes presidence over other pieces regardless of wether they exist or not."
    I have the following comments on this:
    1: There is an inference that the "table" and the "predetermined business rule" are the same thing. I believe that a set of valid propositions should be made first before deciding how they can be best represented in relational table form.
    2: This sentence seems to be saying something like: A takes precedence over B even if B does not exist.
    Which decomposes into: A takes precedence over B  AND  A takes precedence over something that does not exist.

    Then Marc says:

    What I'd like is for these constraints to be built into the model as constraints without having to build a matrix of each claimant

    [claimantid], [fedagency country code], [org country code], [claimant country code], [cost of living]
    1, null, af, us, 41.50
    2, null, us, af, 55.00

     

    This is not an elementary fact.
    ===================

    So, this is my case for saying that we don't have an accurate model of Marc's domain.
    I don't see how this invalidates the use of an example to illustrate a principle.
    Maybe you can enlighten me.

    Ken

  • Tue, May 24 2011 23:05 In reply to

    Re: Modeling based an existence chain

    Hi Ken,

    Perhaps I can do as good a job re-phrasing my statement, as you've done re-phrasing yours. I will try, in any case. But maybe what i need is to unpack, rather than condense... Anyway, my point was this:

      If you, or anyone else, should happen to put forward the principle that "An object-role model should be designed in such a way that it minimises the risk of nulls appearing in the physical database that is based on the object-role model", then I have to surmise you're implying we have a choice, at least sometimes, about how we model one and the same domain. For example, Terry's schema-transformation theorems give us examples of how two, semantically different models can both be accurate models of the same domain.

      But even if you have a choice, the presumable condition is that both ways must yield an accurate model. After all, the first and foremost job of the modeler is to model the domain accurately. As I said, a "model" that is not accurate, is not actually a model (of what it purports to model, anyway). So again, the idea of showing that there's a different way to model a domain, and yet not care if one's model is accurate, seems to vitiate the stated purpose: if it's not a way to model the domain accurately, it's not a way to model the domain at all.

      I hope that helps.

    Cheers

    Andy

  • Wed, May 25 2011 3:45 In reply to

    Re: Modeling based an existence chain

    Hi Ken,

    You responded to my first critique -- wherein I said that since a Claimant couldn't work both for a Federal Agency and for a Public Organization, your ternary was non-elementary (and needs splitting). Your  response was, mainly, that

    "If you look closely at my diagram, you will see that I have specified three permissible options on "Organization(.type)".
    Thus, the "exclusive or" is here because only one option can be chosen."

      I disagree with that inference. Yes, you specified there were only three possible "OrganizationType"s (as you have now named that entity type). But nothing about that, restricts the claimant to working for only one type of organization. That is, nothing in your model prevents them from working for a Public Organization, and for a Federal Agency, and even (in your model) working for a rather peculiar organization type called "not Listed".

       The only way you could prevent it, in your current ternary, would be to enforce a Functional Dependency between Claimant's role and OrganizationType's role. But to do so (by shortening the key to one role, viz. Claimant's) would be to imply that the ternary, as I've said, is non-elementary.

    Thanks,

    Andy

  • Wed, May 25 2011 4:04 In reply to

    • mnnoon
    • Top 10 Contributor
      Male
    • Joined on Wed, Apr 16 2008
    • Lawndale, CA
    • Posts 60

    Re: Modeling based an existence chain

    I think I'm way over my head on this one.  But I can make some basic logical declarations about this particular domain.

    1. A Claimant can only have one country code in this domain used to determine living expenses.
    2. A Federal Agency object, an organization object, and a Claimant object can either have a country code with a prescribed 2 digit letter value or a null value.
    3. For each country code used there is exactly one living expense.
    4. A country code will be used to determine the living expenses allowed for a claimant.
    5. If the claimant has a Federal Agency listed with a country code, the federal agencies country code associated living expense will be used.
    6. If the claimant has an Organization listed with a country code and the Federal Agencies country code does not exists, the organization's country code will be used.
    7. A claimant's country code will be used as a last resort if the last two statements above yielded no living expense, and the claimants country is not null.
    8. If the last three statement above yieled no living expense, the country code 'AF' will be used to determine the claimants living expense.  I listed the three country codes next to its living expense in a previous post ie af - $1.00, us - $2.00, fr - $1.50 .

    whew!  That's my iso9000 version.

    I think those utterances should solve the mystery. :)  One of the things I have been wandering about is the use of constraints to automate the generation of views and whether creating joins between these tables would be faster than creating a case statement.  But I think it depends which database you use b/c Sql Server 2008 and Oracle or DB2 or even couch db would solve this problem differently at the model level versus after the model has already been created and you are creating a view or sproc to solve the problem.  It would seem to be more eloquent to solve these types of problems at the model level rather than after ward.

  • Wed, May 25 2011 4:15 In reply to

    Re: Modeling based an existence chain

    Hi Marc,

      Thanks for the clarifications. As it happens, the particular, nitpicky modeling issue our current discussion swings on, is whether, in my model, the exclusion constraint holds. That is, is it possible for, say, a Claimant to work both for a Public Organization, and for a Federal Agency?

      There are other critiques I have of (the accuracy of) Ken's model. (And accuracy is the hobgoblin of this modeler's little mind... :-) But the above critique assumes the exclusion constraint is correct. So if you could, would you double-check the exclusion, and confirm or deny it? Many thanks,

    Best regards,

    Andy

  • Wed, May 25 2011 4:22 In reply to

    • mnnoon
    • Top 10 Contributor
      Male
    • Joined on Wed, Apr 16 2008
    • Lawndale, CA
    • Posts 60

    Re: Modeling based an existence chain

    Yes in this domain you can have all three, or any combination of nulls or country codes.  The idea in the domain I'm working off of assumes that its important to have as much data as possible filled out as well as a default value in case no country code was found.  So to sumarize, a claimant can be "Investigated by" Federal Agency which is a type of organizaiton for a visa, but can also be given a birth certifcate by a state agency, or be given a passport by a company like the United States Postal Service which is plausible in my example can be used to determine a living expense. 

    Just to qualify: I'm using this as an example and I have no desire to be a domain expert on any of these examples I'm using. 

  • Wed, May 25 2011 4:50 In reply to

    Re: Modeling based an existence chain

    Hi Marc,

    I hate to tell you, but you're our domain expert, by default :-) As such, I've got to tell you, I don't understand how someone could be all three: working for a Federal Agency (recorded), working for a Public Organization (recorded), and at the very same time, having their employment "not listed".

      I was going by what was in the text box of the model you sent: "...a claimant can work for a federal agency, public organization, or their work history is not listed". I must admit, that gave me the strong impression of exclusive-or (instead of inclusive-or) as the intended sense.

      So, are you truly saying a person can do all three of those things? Or maybe just two of them, at the same time? Or just one, at the same time?

    Thanks,

    Andy

  • Wed, May 25 2011 5:09 In reply to

    • mnnoon
    • Top 10 Contributor
      Male
    • Joined on Wed, Apr 16 2008
    • Lawndale, CA
    • Posts 60

    Re: Modeling based an existence chain

    Oh, this domain doesn't care about working at all... Assume all claimants are Veterans of Foreign wars any country.  So now you want to determine what country they are from and if you can't figure it out you'll give them a default living expense of country code af.   Some of the claimants are in pretty bad shape and have no records what so ever and don't even remember their names, others have all their records drivers license, ssn, passports, visa, etc...  Some have records of only one or two pieces of documentation.  These veterans are being taken care of by some world organization b/c they fought for the United Nations and the UN has to take care of them.   I know its probably preposterous, but that my model and I'm sticking to it.  Its as close as I can get to my model in the health insurance that makes any sense.

  • Wed, May 25 2011 5:44 In reply to

    • Ken Evans
    • Top 10 Contributor
      Male
    • Joined on Sun, Nov 18 2007
    • Stickford, UK
    • Posts 789

    Re: Modeling based an existence chain

    Andy Carver:
      But even if you have a choice, the presumable condition is that both ways must yield an accurate model. After all, the first and foremost job of the modeler is to model the domain accurately. A
     

    Hi Andy,

    You raise an excellent point.
    We clearly have different notions of what an "accurate model" of a Universe of Discourse actually is.
    In infer from your statements that you believe that the following proposition is true: 
    P1:
    An object-role model is used to describe a "reality" that is "out there" just waiting to be modeled." 

    Well, I think that this proposition is false for the following reasons:
    Graeme Simsion's four year research project used the research question:  " Is the Universe of Discourse (UoD) a reality that is "out there" just waiting to be described by the data modeler or is the UoD created during the data modeling process?"

    Graeme's conclusion (see the Research page ) showed that modeling is a creative activity not a descriptive activity.
    Graeme kindly allowed me to use his PhD thesis as the basis of my own survey in 2008.
    The results of my MSc survey agreed with his conclusions.
     

    Thus, an "accurate" object-role model could be said to be that object-role model that the domain expert agrees with.
    By "agreement" I mean that the domain expert agrees with the verbalisations of all the facts in the model.

    Ken

  • Wed, May 25 2011 5:50 In reply to

    • Ken Evans
    • Top 10 Contributor
      Male
    • Joined on Sun, Nov 18 2007
    • Stickford, UK
    • Posts 789

    Re: Modeling based an existence chain

    Andy Carver:
     I disagree with that inference. Yes, you specified there were only three possible "OrganizationType"s (as you have now named that entity type). But nothing about that, restricts the claimant to working for only one type of organization. That is, nothing in your model prevents them from working for a Public Organization, and for a Federal Agency, and even (in your model) working for a rather peculiar organization type called "not Listed".
     

    Hi Andy,
    This is an easy one.
    a) I couldn't find anything in Marc's description that said that a claimant could work for more than one orgainsation.
    b) In the absence of information, I assumed the "One claimaint one organisation rule"
    c) My example was intended to illustrate a way of avoiding nulls rather than being an "accurate" model of his domain.

    Ken   

  • Wed, May 25 2011 6:32 In reply to

    Re: Modeling based an existence chain

    Hi Ken,

     Thanks for this eludication. Yes, I agree, we seem to have a fundamental difference with regard to what an "accurate model" is. I believe in something that philosophers sometimes call "objectivity", meaning a grasp of a reality that yes, is really "out there".

    If we could get David Hume and Immanuel Kant involved in this discussion, we could hear them wrestle with this, perhaps at a higher level than you and I could operate in. But since they are now in a different reality altogether (if any), I guess we'll just have to agree to disagree. I hereby drop the point I was trying to make -- and which was going right by you, for reasons now clear. So thanks again,

    Cheers,

    Andy

  • Wed, May 25 2011 18:47 In reply to

    • Ken Evans
    • Top 10 Contributor
      Male
    • Joined on Sun, Nov 18 2007
    • Stickford, UK
    • Posts 789

    Re: Modeling based an existence chain

     Hi Andy,

    Hume and Kant made important contributions to philosophy. However, their contributions predated the computer era.
    If you don't want to accept the evidence of Graham Simpsion's PhD thesis (reported in his book "Data Modeling: Theory and Practice) then I suggest that you (and your students) study William Kent's book "Data and Reality" in which he makes a convincing argument that we don't actually model "reality". What we do model is "the way information about reality is processed by people."

    Kent makes many very good points about "categories". In particular he observes that (a) there is no "natural" set of categories. (b) What a thing "is" is defined by its usage. so what some people might classify as "things that are the same as each other"  might be classified by others as "things that are not the same as each other".

    For example, a table knife, a candlestick and a screwdriver might also all be classified as "weapons" by a criminologist. Or as Kent puts it "The purpose of the person using an object very often determines what that object is perceived to be." Or in other words, our "descriptions of reality" are subjective.

    Good luck with your search for "accurate" models of "reality".
    When you find one, please let me know. It may provide useful evidence to refute my argument.

    Ken

Page 3 of 3 (45 items) < Previous 1 2 3
© 2008-2019 The ORM Foundation: A UK not-for-profit organisation -------------- Terms of Service