In general, default values do not fit well into a
meta-layer
architecture, as a value of the model level is to be specified at the
meta-level. A default value can be constant or derived and primitive
or non-primitive, of these cases only constant primitive default
values fit well with a meta-layer architecture.
For other cases we could currently just specify the same as what we do
for derived but non-opposite attributes and the methods we generate
for them. => raise NotImplementedError() #This is a stub-method.
We want to give as much support for automation as possible, but
where impossible to do without the current mse-suport; the programmer
has to fill in the blanks in the generated code.
As far as I see default values declarations are only important for
code generation. For all other cases; you just use what's in the
"initialize" as default value.
I wouldn't immediately start providing support for other things by
means of a query language; this would convert the fileformat MSE into
a language of its own (which is then translatable to all the other
languages which use MSE???) which is also not the purpose I guess.