MTF syntax

Kurt Stirewalt ([email protected])
Wed, 7 Jun 1995 12:13:11 -0400

And now for something completely different...MTF syntax.
Noi and I were looking over some example MTF syntax today. She noticed
that in fully qualified accesses, attribute names were indistinguishable
syntactically from the names of objects in a collection.
A good example of this is in:

Generate_Report : Task {
subtask_connection = :And_Connection {
subtasks = Specify_account [MY_TAG];
Specify_perion : Account {
}; // specify period
}; // and connection
}; // generate report

Note that subtasks is a multi-valued attribute (implemented as a collection)
and that it is legal in MTF to do the top-level assignment:

Generate_Report.subtask_connection.subtasks.Specify_account.xxx = value;

Attribute names (like subtask_connection, subtasks, and xxx) are
syntactically indistinguishable from names of objects in a collection
(like Specify_account). This comes up because we need a way
to denote an object of a multi-valued attribute. Noi was worried that this
is a potential source of confusion for users of MM. Should we come up with
an alternate syntax that differentiates attribute names from collection object
names? Any ideas for what that syntax might be?

-- kurt.