Table of Contents

Interface IAcceptEventAction

Namespace
NMF.Interop.Uml
Assembly
NMF.UMLInterop.dll

The public interface for AcceptEventAction

[DefaultImplementationType(typeof(AcceptEventAction))]
[XmlDefaultImplementationType(typeof(AcceptEventAction))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//AcceptEventAction")]
public interface IAcceptEventAction : IAction, IExecutableNode, IActivityNode, IActivityContent, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
Inherited Members

Properties

IsUnmarshall

Indicates whether there is a single OutputPin for a SignalEvent occurrence, or multiple OutputPins for attribute values of the instance of the Signal associated with a SignalEvent occurrence. <p>From package UML::Actions.</p>

[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isUnmarshall")]
[XmlAttribute(true)]
bool IsUnmarshall { get; set; }

Property Value

bool

Result

OutputPins holding the values received from an Event occurrence. <p>From package UML::Actions.</p>

[Browsable(false)]
[XmlElementName("result")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<IOutputPin> Result { get; }

Property Value

IOrderedSetExpression<IOutputPin>

Trigger

The Triggers specifying the Events of which the AcceptEventAction waits for occurrences. <p>From package UML::Actions.</p>

[LowerBound(1)]
[Browsable(false)]
[XmlElementName("trigger")]
[XmlAttribute(false)]
[Containment]
IOrderedSetExpression<ITrigger> Trigger { get; }

Property Value

IOrderedSetExpression<ITrigger>

Methods

Conforming_type(object, object)

If isUnmarshall=false and all the triggers are for SignalEvents, then the type of the single result OutputPin must either be null or all the signals must conform to it. not isUnmarshall implies result->isEmpty() or let type: Type = result->first().type in type=null or (trigger->forAll(event.oclIsKindOf(SignalEvent)) and trigger.event.oclAsType(SignalEvent).signal->forAll(s | s.conformsTo(type)))

bool Conforming_type(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

No_input_pins(object, object)

AcceptEventActions may have no input pins. input->size() = 0

bool No_input_pins(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

No_output_pins(object, object)

There are no OutputPins if the trigger events are only ChangeEvents and/or CallEvents when this action is an instance of AcceptEventAction and not an instance of a descendant of AcceptEventAction (such as AcceptCallAction). (self.oclIsTypeOf(AcceptEventAction) and (trigger->forAll(event.oclIsKindOf(ChangeEvent) or
event.oclIsKindOf(CallEvent)))) implies output->size() = 0

bool No_output_pins(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

One_output_pin(object, object)

If isUnmarshall=false and any of the triggers are for SignalEvents or TimeEvents, there must be exactly one result OutputPin with multiplicity 1..1. not isUnmarshall and trigger->exists(event.oclIsKindOf(SignalEvent) or event.oclIsKindOf(TimeEvent)) implies output->size() = 1 and output->first().is(1,1)

bool One_output_pin(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool

Unmarshall_signal_events(object, object)

If isUnmarshall is true (and this is not an AcceptCallAction), there must be exactly one trigger, which is for a SignalEvent. The number of result output pins must be the same as the number of attributes of the signal. The type and ordering of each result output pin must be the same as the corresponding attribute of the signal. The multiplicity of each result output pin must be compatible with the multiplicity of the corresponding attribute. isUnmarshall and self.oclIsTypeOf(AcceptEventAction) implies trigger->size()=1 and trigger->asSequence()->first().event.oclIsKindOf(SignalEvent) and let attribute: OrderedSet(Property) = trigger->asSequence()->first().event.oclAsType(SignalEvent).signal.allAttributes() in attribute->size()>0 and result->size() = attribute->size() and Sequence{1..result->size()}->forAll(i | result->at(i).type = attribute->at(i).type and result->at(i).isOrdered = attribute->at(i).isOrdered and result->at(i).includesMultiplicity(attribute->at(i)))

bool Unmarshall_signal_events(object diagnostics, object context)

Parameters

diagnostics object

The chain of diagnostics to which problems are to be appended.

context object

The cache of context-specific information.

Returns

bool