Issue 10482: Stimulus response execution diagrams (rtc-ftf) Source: Technologic Arts (Mr. Takeshi Sakamoto, tsakamoto@tech-arts.co.jp) Nature: Uncategorized Issue Severity: Summary: Source: Technologic Arts (Takeshi Sakamoto, <tsakamoto AT SPAMFREE tech-arts DOT co DOT jp>) Severity: Supporting Text Disposition: Resolution Proposed Summary Like Figure 7.6 Data type flow, I suggest it would be better that Figure 7.9 Stimulus response execution be divided into several diagrams. Proposed Resolution [attachment:stim-response-metamodel.png] Meta-Model [attachment:stim-response-stereotypes.png] Stereotypes Discussion Revised Text Resolution: Add diagrams as described below. Simplify the relationships between the lightweightRTComponent stereotype and the fsm and fsmParticipant stereotypes as described below. Add missing programmatic APIs for sending stimuli to state machine components. Revised Text: · In section 7.3.2, Stimulus Response Processing, the following figure should replace Figure7.9, Stimulus Response Execution. Figure < number > - Stimulus Response Processing Stereotypes · In section 7.3.2, Stimulus Response Processing, the following figure should replace Figure 7.10, FSM UML example. Figure < number > - Stimulus Response Processing M1 Illustration · In section 7.3.2.1 fsm, the following unnumbered subsection should be added after Semantics subsection. Generalizations· lightweightRTComponent · In section 7.3.2.1 fsm, the first constraint should be deleted. · In section 7.3.2.1, fsm, a new constraint should be added: "A component extended by fsm must realize the interface FsmObject." · In section 7.3.2.2 fsmParticipant, the following unnumbered subsection should be added after Description subsection. Generalizations· lightweightRTComponent · In section 7.3.2.2 fsmParticipant, the first constraint should be deleted. · Rename FsmComponentAction to FsmParticipantAction. · In section 7.3.2.2 fsmParticipant, rename FsmComponentAction to FsmParticipantAction. · Rename section 7.3.2.3 FsmComponentAction, to FsmParticipantAction. Make the same replacement under Description and in the title of the Operation table in the same numbered section. · In RTC.idl and in Annex A, rename the IDL definition of FsmComponentAction to "FsmParticipantAction" including its usage in the definition of FsmParticipant. · Rename on_transition to on_action. · In section 7.2.2.5.8 on_error, rename FsmComponentAction::on_transition to FsmParticipantAction::on_action. · In section 7.3.2.2 fsmParticipant, rename on_transition to on_action. · In the Operation table in section 7.3.2.3, FsmComponentAction, rename on_transition to on_action. · Rename section 7.3.2.3.1 on_transition, to on_action. · In RTC.idl and in Annex A, rename the IDL definition of on_transition to "on_action". · In section 7.3.2.2, fsmParticipant, the following figure should replace Figure 7.11 , FSM participant defines state transition Behavior. Figure < number > - FSM Participant Defines State Transition Behavior · In section 7.3.2, Stimulus Response Processing, add the following paragraph before Figure7.9, Stimulus Response Execution. Stimulus response models can be inspected and modified dynamically using types in the Introspection package. The correspondence between state machine transitions, state entries, and state exits in an FSM and FSM participants is described in an FsmProfile (see Section <cross reference to FsmProfile section>) and its FsmBehaviorProfiles (see Section <cross reference to FsmBehaviorProfiles section>) in the Introspection package (see Section <cross reference to Introspection section>). This data is provided by an FsmService interface (see Section <cross reference to FsmService section>) in the Introspection package. · Add the following section immediately following section 7.3.2.1, fsm. 7.3.2.2 FsmObjectDescriptionThe FsmObject interface allows programs to send stimuli to a finite state machine, possibly causing it to change states.OperationsFsmObject no attributes operations send_stimulus ReturnCode_t message String exec_handle ExecutionContextHandle_t 7.3.2.2.1 send_stimulusDescriptionSend a stimulus to an FSM that realizes this interface.SemanticsIf the stimulus corresponds to any outgoing transition of the current state, that transition shall be taken and the state shall change. Any FSM participants associated with the exit of the current state, the transition to the new state, or the entry to the new state shall be invoked. If the stimulus does not correspond to any such transition, this operation shall succeed but have no effect.If the given execution context is a non-nil reference to a context in which this FSM participates, the transition shall be executed in that context. If the argument is nil, the FSM shall choose an EVENT_DRIVEN context in which to execute the transition. If the argument is non-nil, but this FSM does not participate in the given context, this operation shall fail with ReturnCode_t::BAD_PARAMETER.Constraints· The given execution context shall be of kind EVENT_DRIVEN. · In section 7.4.1, Resource Data Model, the following figure should replace Figure 7.15, Introspection resource data model ComponentProfile. (The following figure is also modified by the resolution to issue 10487.) Figure < number > - Introspection Resource Data Model · Add the following section immediately following section 7.4.1.6.5, properties. 7.4.1.7 FsmProfileDescriptionThe FsmProfile describes the correspondence between an FSM and its contained FSM participants. This Profile is necessary for Stimulus Response Processing.AttributesFsmProfile attributes behavior_profiles FsmBehaviorProfile[] no operations 7.4.1.7.1 behavior_profilesDescriptionThis attribute lists the correspondences between an FSM and its contained FSM participants.7.4.1.8 FsmBehaviorProfileDescriptionFsmBehaviorProfile represents the association of an FSM participant with a transition, state entry, or state exit in an FSM.SemanticsThe assignment of identifiers to particular transitions, state entries, or state exits is implementation-dependent.AttributesFsmBehaviorProfile attributes action_component FsmParticipantAction id UniqueIdentifier no operations 7.4.1.8.1 action_componentDescriptionThis attribute stores a reference to the FSM participant that is invoked when the containing Fsm receives a message distinguished by id.7.4.1.8.2 idDescriptionThis attribute stores the message identifier. · In section 7.4.2, Stereotypes and Interfaces, the following figure should replace Figure 7.16, Introspection interface. (The following figure is also modified by the resolution to issue 10487, 10488 and 10492.) Figure < number > - Introspection M1 Illustration · Add the following section immediately following section 7.4.2.4.3, remove. 7.4.2.5 FsmServiceDescriptionThe FsmService interface defines operations necessary for Stimulus Response Processing as an SDO service.Generalizations· SDOService[SDO]OperationsFsmService no attributes operations get_fsm_profile FsmProfile set_fsm_profile ReturnCode_t fsm_profile FsmProfile 7.4.2.5.1 get_fsm_profileDescriptionGet the current state of the FSM.SemanticsModifications to the object returned by this operation will not be reflected in the FSM until and unless set_fsm_profile is called.7.4.2.5.2 set_fsm_profileDescriptionThis operation will be used to modify the behavior of an FSM as described in Stimulus Response Processing. · Add the following interface to the IDL in RTC.idl and in Annex A. interface FsmObject { ReturnCode_t send_stimulus( in string message, in ExecutionContextHandle_t exec_handle); }; · Add the following definitions to the IDL in RTC.idl and in Annex A. struct FsmBehaviorProfile { FsmParticipantAction action_component; UniqueIdentifier id; }; typedef sequence<FsmBehaviorProfile> FsmBehaviorProfileList; struct FsmProfile { FsmBehaviorProfileList behavior_profiles; }; · Add the following interface to the IDL in RTC.idl and in Annex A last. interface FsmService : SDOPackage :: SDOService { FsmProfile get_fsm_profile(); ReturnCode_t set_fsm_profile(in FsmProfile fsm_profile); }; Actions taken: December 5, 2006: received issue January 15, 2008: closed issue Discussion: End of Annotations:===== MG issue 10482: Stimulus response execution diagrams Source: Technologic Arts (Takeshi Sakamoto, [[MailTo(tsakamoto AT SPAMFREE tech-arts DOT co DOT jp)]]) Severity: Supporting Text Disposition: Resolution Proposed Summary Like Figure 7.6 Data type flow, I suggest it would be better that Figure 7.9 Stimulus response execution be divided into several diagrams. Proposed Resolution [attachment:stim-response-metamodel.png] [[BR]] Meta-Model [attachment:stim-response-stereotypes.png] [[BR]] Stereotypes Discussion Revised Text