OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-core message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Re: Methodology for describing Core Components - 3.1) Representation Class Candidatess


Hisanao

One of the sections you have in your paper that has not been challenged to date is the one on Representation Class Candidates (3.1). You list the following classes:

 amount -  A number of monetary units. It is normally associated with a type of currency.
 code -  A character string that represents a member of a set of values.
 description - A series of sentences describing a person, object, place, event or concept..
 identifier - A character string used to identify and distinguish uniquely, one instance of a value within an identification scheme.
 name - A word or phrase that constitutes the distinctive designation of a person, object, place, event or concept. What the person, object, place, event or concept is known by or called.
 number - An arithmetical expression representing a particular value. Note: This may often be used to imply sequence or a member of a series.
 percent - A rate expressed in hundredths between values that have the same unit of measure.
 quantity - A number of non-monetary units. It is normally associated with a unit of measurement.
 rate - A quantity or amount measured with respect to another measured quantity or amount.
  date or time -   A date and/or time as measured in the time dimension.
  age   -  A length of time that a person or thing has existed.
Indicator  -  An attribute indicating a condition such as on/off, true/fouls, yes/no, 0/1. 
  measure  -   A standard unit used to express size, amount or degree.(*)
      (*) Another idea is to use ‘height’, ‘width’, ‘length’ ,’degree’ or ‘size’ instead of ‘measure’.

While some of these are obvious, some are just not representation classes, and others are ambiguous or  invalidly defined. Let me list them one by one in an order that I think increases the understanding of the problem.

> identifier - A character string used to identify and distinguish uniquely, one instance of a value within an identification scheme.

In other words a string of ISO 10646 characters that is unique within a particular context, i.e. within the occurrences of a particular entity or attribute. (This is a "safer" definition.)

>name - A word or phrase that constitutes the distinctive designation of a person, object, place, event or concept. What the person, object, place, event or concept is known by or called.

In other words, a string of ISO 10646 characters that is not necessarily unique in a particular context.

>description - A series of sentences describing a person, object, place, event or concept..

In other words, an unconstrained string of ISO 10646 characters

code -  A character string that represents a member of a set of values.

In other words a constrained set of permitted strings of ISO 10646 characters

In fact these four definitions are not representations: they are uses of a basic representation class - string. The identifier includes a constraint of uniqueness. For applicability in an XML environment it should have other constraints, such as starting with an alphabetic character, not including spaces, and using a minimal set of punctuation characters. Names may need a constraint on their length. Where the names are to designed to be used as XML names (i.e. as the names of elements, attributes or tokens in attribute value lists) then the constraints (other than uniqueness) listed above for identifiers also need to be applied. For description no constraints need to be applied to the basic string representation. For code what we are talking about is really a set of names - a code set.

>number - An arithmetical expression representing a particular value. Note: This may often be used to imply sequence or a member of a series.
 
Hold on: An expression! This does not suggest a basic representation class. A sequence, or member of a series? Do you mean something like a set, or must the sequence be contiguous and complete? Again this does not correspond with basic datatyping rules. Are we talking about floating numbers (single or double precision), decimals or integers? Are they signed or unsigned? Are negative values permitted, or only positive ones?

For e-business we probably only need signed decimal numbers and subsets thereof (e.g. integers and positiveIntegers). Any thing else needs thinking about seriously. Lets look at some examples.

>amount -  A number of monetary units. It is normally associated with a type of currency.

Well here we obviously need decimals with a sign and a qualifying specification of a currency.

> quantity - A number of non-monetary units. It is normally associated with a unit of measurement.

Can there be negative quantities? I suspect this needs to be defined in terms of unsigned decimals with an optional qualifying specification of measurement unit (ideally constrained to be an ISO 31 SI unit!)

>  measure  -   A standard unit used to express size, amount or degree.(*)
      (*) Another idea is to use ‘height’, ‘width’, ‘length’ ,’degree’ or ‘size’ instead of ‘measure’.

Hold on. What distinguishes a measure from a quantiy with an associated measurement unit? Why do we need to define specific applications of measurement as representations? This one just does not make any sense.

>rate - A quantity or amount measured with respect to another measured quantity or amount.

In other words two qualified numbers, one the denominator, the other the numerator of a division expression. Now lets look at the catches. Can I have a measure/quantity divided by an amount? What about an amount divided by a measure or quantity (price per foot)? What about an unqualified quantity by a qualified one? What about a spherical measurement by a linear one (degrees per metre)? What about measuring miles per hour? According to your definition this cannot be a rate as the denominator is not a measured quantity or amount. Methinks we need to think a bit more about defining rate as a basic representation class.

>percent - A rate expressed in hundredths between values that have the same unit of measure.

Umm. So I can't create a percentage from two numbers, only from amounts, quantities and measures! In addition percentage is defined as a rate. According to the definition I gave above for rate, it needs to be expressed as a numerator divided by a denominator, but with the additional constraint that the result needs to be multiplied by 100. Methinks this is dodgy. Percentages are used in different ways from rates. Rates record the relationship between two numbers. Percentages are normally used as a modifier for another number. They are involved in multiplications rather than divisions.

>  date or time -   A date and/or time as measured in the time dimension.

Not too much to complain about here, except that you do not constrain the format in any way. If there is no constraint to use ISO 8601 how do I interpret the string 02-03-04? How does this differ from 4/3/02?

age   -  A length of time that a person or thing has existed.

Ouch. When does a person start to exist? When do they cease to exist? At what point does a car exist or cease to exist. How old is the car I bought 18 months after it left the manufacturing plant? Methinks age is a dangerous representation. The basic representation class that it is based on is Duration. Duration is a difference betweeen an ordered pair of date/time statements. The outstanding question is whether or not negative durations are valid.

Indicator  -  An attribute indicating a condition such as on/off, true/fouls, yes/no, 0/1.

I cry fowl (I mean false)! Indicator? Boolean or switch maybe, but calling this an Indicator representation just does not seem right.

I think the current methodology paper needs to seriously rethink what constitutes a core representation class. I am in the process of writing a paper on datatype representation for the CEN/ISSS DAMSAD group that I will submit to you as soon as it is ready. Hopefully this will provide a starting point for discussing how we can usefully develop a core set of representation classes.

Martin Bryan
  



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Search: Match: Sort by:
Words: | Help


Powered by eList eXpress LLC