Issue 10532: It seems better to merge LifeCycle with LightweightRTObject (rtc-ftf) Source: Hitachi (Dr. Saku Egawa, saku.egawa.qm@hitachi.com) Nature: Uncategorized Issue Severity: Summary: Originally, LightweightRTObject was an interface that just combines LifeCycle and ComponentAction. It existed for convenience to characterize lightweightRTC by a single interface. However, in the discussion of issue 10492, an operation, get_context(), was added to LightweightRTObject and its role was changed. LightweightRTObject is now an interface that defines basic operations for lightweightRTComponent except business logic operations defined by ComponentAction. Since the role of LifeCycle is also to provide basic component operations, it is no longer needed to define LifeCycle as a seperate interface. The model will become simpler and more clearly understandable if LifeCycle is merged with LightweightRTObject. Proposed Resolution Move LifeCycle operations to LightweightRTObject and delete LifeCycle. Resolution: Merge the contents of the LifeCycle interface into the LightweightRTObject interface and remove the LifeCycle interface. Revised Text: · The existing section 7.2.2.2, LightweightRTObject, should be deleted. In section 7.2.2.3, the section name "LifeCycle" should instead read "LightweightRTObject". · Just below heading "Description" in section 7.2.2.3, the following sentence should be inserted: This interface is realized by all lightweight RTCs (as required by the lightweightRTComponent stereotype). · In the following sentence under "Description," the phrase "The LifeCycle interface…" should be replaced with "It…". · After subsection "Description" in section 7.2.2.3, the following text should be added: Generalizations· ComponentAction · The first paragraph under "Semantics," "Initialization" in section 7.2.2.3 refers to the operation "LifeCycle::initialize". This should be changed to simply "initialize". · Under "Constraints" in section 7.2.2.3, the phrase "the LifeCycle interface" should be replaced with "this interface". · The name of the table under "Operations" in section 7.2.2.3 should be changed from "LifeCycle" to "LightweightRTObject". · In section 7.2.2.4.5, FINALIZED, under "Semantics," the word "LifeCycle" should be written "lifecycle" and should not use the mono-spaced style that indicates an API element. · In the first sentence of section 7.2.2.5, ComponentAction, the phrase "operations of LifeCycle" should be replaced with "lifecycle operations of LightweightRTObject". · In figure 7.16, Introspection interfaces, in section 7.4.2, Stereotypes and Interfaces, do not show any of the operations of LightweightRTObject-the model element is not in the package being depicted. · In RTC.idl and Annex A, all declarations and definitions of the LifeCycle interface should be removed, and the following text, interface LightweightRTObject : LifeCycle, ComponentAction { }; …should instead read, interface LightweightRTObject { ReturnCode_t initialize(); ReturnCode_t finalize(); boolean is_alive(); ReturnCode_t reset(); ReturnCode_t exit(); }; · In figure 7.4, RTC lifecycle, all occurrences of the interface name "LifeCycle" should instead read "LightweightRTObject". The title (in the graphical border and in the caption) should be changed to "Lightweight RTC Lifecycle". · In figures 7.3, 7.7, 7.10, 7.14, and 7.16, the generalization "LifeCycle" in LightweightRTObject interface should be deleted. · Figure 7.2, Lightweight RTC Package, should be modified as follows. The operations shown in the LifeCycle interface should be moved to the LightweightRTObject interface. The LifeCycle interface, and the generalization connecting it to LightweightRTObject, should be removed. Actions taken: December 21, 2006: received issue January 15, 2008: closed issue Discussion: like the proposal. -- RickWarren, 2006/12/12 [attachment:20061220LWRTC2.png] LightweightRTC Example(non-normative) I drew Component diagram example(non-normative). -- Takeshi Sakamoto, 2006/12/14 Resolution End of Annotations:===== MG issue 10532: It seems better to merge LifeCycle with LightweightRTObject Source: Hitachi (Saku Egawa, saku.egawa.qm@hitachi.com) Severity: Minor Disposition: Resolution Proposed Summary Originally, LightweightRTObject was an interface that just combines LifeCycle and ComponentAction. It existed for convenience to characterize lightweightRTC by a single interface. However, in the discussion of issue 10492, an operation, get_context(), was added to LightweightRTObject and its role was changed. LightweightRTObject is now an interface that defines basic operations for lightweightRTComponent except business logic operations defined by ComponentAction. Since the role of LifeCycle is also to provide basic component operations, it is no longer needed to define LifeCycle as a seperate interface. The model will become simpler and more clearly understandable if LifeCycle is merged with LightweightRTObject. Proposed Resolution Move LifeCycle operations to LightweightRTObject and delete LifeCycle. Discussion I like the proposal. -- RickWarren, 2006/12/12 [attachment:20061220LWRTC2.png] LightweightRTC Example(non-normative) I drew Component diagram example(non-normative). -- Takeshi Sakamoto, 2006/12/14 Resolution Revised Text