What I find most frustrating about discussion of archetypes is that it
is so often vague and intuitive in nature, making it rather hard to
decipher.

--- Bill Walton <[EMAIL PROTECTED]> wrote:

> Software Archetypes - single vs double systemsHi Lorie,
> 
> Archetypes provide a capability that's very familiar to programmers,
> but take it to the next level.  At the most basic level, it's about
> decoupling.  An RDBMS shields programs from the need to know about
> the underlying structure of the data.  A program needs only know
> about the db schema.  Views provide another level of abstraction,
> shielding programs from changes in the schema.  Archetypes (which I
> believe do not depend on an RDBMS implementation) provide a similar
> capability, but take it to the domain level.  

By domain do you mean application domain? Or are you referring to
domains in their technical sense in database theory (as a set of
values)? At any rate, it is clear that you are trying to abstract away
from a particular set of units, treating the quantity itself as a value
(not how it might be represented).

> 
> When working with an archetype-enabled system, programs / programmers
> work directly with domain concepts like blood pressure or height or
> weight.  The underlying data is stored / accessed through the
> archetype.  

But what does this mean? It suggests that an archetype is realizable as
a computational object (much as a schema may be realized as a set of
relations, or a class instantiated to form an object). I suspect that
this is the point at which an important concept is missing: The
integers are a ring, but when I add two numbers, I'm not using the +
operation of the category Ring, but rather of a specific member of that
category, namely Z. 

> A trivial example of the benefits would be lbs. vs. kgs..
>  In an archetype-enabled system, the program has no knowledge of the
> unit-of-weight measure used to store the data.  Programs access the
> data store with statements like (no representation made re: syntax)
> store_weight(220, lbs) and patient_weight =
> retrieve_weight(patient_id, kgs).

Okay, here is some concrete syntax, but what are you really doing? Is
kgs a flag or map (or something else altogether)? From a mathematical
point of view, it's natural to think of it as a scaling transformation
(a map). But that's  confusing, too, because it implies the existence
of some reference instance out there (say kilograms) that is somehow
privileged among other possible choices, and that your kgs flag is
simply the scaling factor (isomorphism) you need to apply to get your
chosen representation.
> 
> You might want to take a look at
> http://oceaninformatics.biz/archetypes/MindMap/ArchetypeMap.html for
> a better, high-level understanding of the above.  This, and a good
> deal of the related stuff, will be migrated shortly to the openEHR
> site.
> 
> Be happy to provide / get you more in-depth info if desired.
> 
> hth,
> 


===
Gregory Woodhouse  <[EMAIL PROTECTED]>

"It is foolish to answer a question that
you do not understand."
--G. Polya ("How to Solve It")


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members

Reply via email to