Shabtay’s take 04/28 - Need to converge
on the recursion issue. a) What level must be supported? What (if any) should
be prohibited. I think this could be resolved quite quickly if SCE-MI 2.0 will
not impose restrictions on supporting more than what SCE-MI 2.0 requires.
Committee comment: This should have said what SV allows
DPI call restrictions
a) Whether there should
be any restrictions on DPI functions calling each other.
b) Whether
imported/exported tasks are supported
c) Is 'context' keyword
required for imported functions ?
d) What degrees of
recursion can you call imports from exports, exports from imports, etc ?
- Lets keep it
limited at first
- Mentor suggests
Russ's proposal as a starting point
Should not place a restriction although the
standard will state that only a single level of nesting should be provided. Exports cannot call
imports. A compliant implementation must also correctly handle SCE-MI 1.1
service loop
Shabtay
needs to provide a concrete example to show that an extension to this rule is
necessary before making the extension.
John
claims that in 1.1 the only thing we allow in an export function is
assignments. How much further should we go. What about
exported tasks - allows passage of time? Not a capability in 1.1, but should be
a feature of 2.0. It is possible that they could trigger imported tasks. This
could complicate things considerably. If we cannot resolve by feature cut off
date, then it would go into 2.1
Per> Given that 1.1 does not have exported
functions, I think you meant to say something along the lines of:
In SCE-MI 1.1
we only allowed the equivalent of assignments in exported functions.
John, does this capture what you were saying? I think the point you were making that if we decide
to allow more in exported functions/tasks we are providing new functionality
compared to SCE-MI 1.1, right?
JohnS> That's precisely my
point. Here we touch a bit into the "modeling subset" realm in terms
of saying what can be inside an exported function. The point I'm making is that
to provide the very basic equivalent SCE-MI 1.1 message input/output port
capability, we use exported functions strictly with assignments and nothing
more.
Tasks
can trigger other activity but not directly call other imported functions.