This wiki has undergone a migration to Confluence found Here
Datatypes R2 Issue 67
Revision as of 11:45, 14 September 2006 by Rene spronk (talk | contribs)
Need to document what the acceptable constraint rules are for datatypes.
This table summarizes the allowable datatype substitutions in designs.
There are two circumstances when one would constrain datatypes:
- Modelling-time: as part of the HDF, done by committee or affilliate
- Run time: as part of the on the wire format (uses xsi:type) as a constraint of a datatype as used in the serialized model (mostly: the message type)
Run-time dataype constraints
- ANY
- GTS
- I've got an R-MIM that has GTS in it (see the ActReference R-MIMs in shared messages) since they reference (are an extract of, a summary of) any random act. This requires run-time subtitution. According to Grahame GTS should not be in the above list, in which case I'd have to change the models to use ANY for effectiveTime and constrain the runtime substitution somehow. I dont really want to do that. Rene spronk 06:45, 14 September 2006 (CDT)
Modelling time datatype constraints
Note that regards to collections, COLL<X> can by constrained to COLL<Y> where Y is a valid constraint on X.
The second table is those proposed by Lloyd, but no formal basis:
Source | Allowed |
ANY | anything (including mixins?) |
BL | nothing |
BN | nothing |
ED | ST |
ST | UID |
CD | CE, CV, CO |
CE | CV, CO |
CV | CO |
CO | nothing |
CS | nothing |
CR | nothing |
SC | nothing |
II | nothing |
TEL | nothing |
AD | nothing |
EN | PN, ON, TN |
PN | nothing |
TN | nothing |
ON | nothing |
QTY | TS, MO, REAL, INT, TS, RTO<QTY, QTY>, PQ |
INT | nothing |
REAL | nothing |
RTO | nothing |
PQ | nothing |
PQR | nothing |
MO | nothing |
TS | nothing |
SET<T> | T |
LIST<T> | T |
GLIST<T> | T |
SLIST<T> | T |
BAG<T> | T |
IVL<T> | T |
HIST<T> | HXIT<T>, T |
UVP<T> | T |
NPPD<T> | T |
PIVL<T> | nothing |
EIVL<T> | nothing |
GTS<T> | SET<PIVL<TS>>, SET<EIVL<TS>> |
PPD<T> | ? |
Source | Allowed |
SC | ST |
PN | TN |
ON | TN |
REAL | INT |
PQ | REAL |
BAG | SET, LIST |
PIVL<T> | IVL<TS> |