UTP 1.1 NO IDEA Avatar
  1. OMG Issue

UTP11 — UML::Action metaclass is too ambiguous for «FinishAction»

  • Key: UTP11-47
  • Legacy Issue Number: 15653
  • Status: closed  
  • Source: Fraunhofer FOKUS ( Mr. Marc-Florian Wendland)
  • Summary:

    Rational: Section 6.3.2 Test Behavior, Subsection FinishAction (Stereotyp description) says the following:

    A FinishAction is an action that determines that the test component will finish its execution of the test case immediately. This does not mean that the test component is terminated.

    Issue: Extending the abstract metaclass UML::Action (the root of any defined Action within UML superstructure), a tester has to select a concrete subclass of Action of his flavor. Extending a metaclass in terms of a stereotype is not comparable to the object-oriented concepts of extension (i.e. specialization). As a result, «FinishAction» could be assigned to each concrete action in a model, what is too ambiguous. With respect to test model interchange a more precise semantics and metaclass should be defined. It would be better, even for the understanding, to extend a concrete subclass of UML::Action (e.g. UML::OpaqueAction or similar).

  • Reported: UTP 1.0 — Mon, 27 Sep 2010 04:00 GMT
  • Disposition: Resolved — UTP 1.1
  • Disposition Summary:

    Use UML::OpaqueAction and UML::InvocationAction as base classes for «FinishAction», due to the following reasons:

    • UML::OpaqueAction is a concrete subclass of UML::Action, allowing the definition of user-/domain-specific descriptions as well as to add a various number of input and output parameter to and from the action. A user can configure the action to his liking. By using a domain-specific OpaqueAction, the user has the possibility to model the «FinishAction» in a declarative way.
    • UML::InvocationAction is the abstract super class of all invocation actions (SendObjectAction, CallBehaviorAction. CallOperationAction, BroadcastSignalAction). The user might want to execute a particular behavior that represents the finish behavior. In order to be as generic as necessary but concrete as possible, UML::InvocationAction is used
  • Updated: Sat, 7 Mar 2015 00:24 GMT