osate / osate2

Open Source AADL2 Tool Environment
http://osate.org
Eclipse Public License 2.0
36 stars 8 forks source link

Default port "Complete" is not working #114

Closed alnayeem closed 11 years ago

alnayeem commented 11 years ago

Hi,

Are the default ports, e.g. "Complete" supported? I get the error in OSATE when I try to use it in a connection. I presume, as done in AADLv1, thread1 does not have to declare this port.

"C1: port thread1.Complete -> thread2.inputEvent"

Also, is the default port "Dispatch" not supported? I did not find any mention of this in either the AADLv2 standard and the Behavior annex standard.

Thanks, Abdullah

reteprelief commented 11 years ago

Hi Abdullah,

Good observation about the Complete and Error ports. The OSATE2 name resolver currently ignores them (the Xtext resolver we use wants explicitly defined names). This will need to be corrected.

The Dispatch was eliminated in AADL V2. It was originally used to allow modeling of conditional dispatches, i.e., by an external task determining whether the thread should be dispatched and triggering the dispatch through this port. This conditional dispatching is now handled within the Behavior Annex see Annex D.4.

Peter

reteprelief commented 11 years ago

Please declare the Complete port or Error port explicitly in the feature section before referencing it in connections.

The standard describes those ports as predeclared and has a rule that they are declared implicitly. As I have been revising the Error Model annex I am referencing the Error port as well. Dealing with implicit declaration by referencing the port when references can occur in the core model and in annexes gets confusing and does not fit the overall AADL philosophy of explicit declaration and consistent typec hecking of references.

Instead we are treating these ports as ports with pre-reserved names. The reason they are pre-reserved is that the AADL runtime system also makes use of them generting a completion event or reporting a thread execution failure (see thread section).

I'll put up an errata about it.