Issues for UML testing Profile Revision Task Force

To comment on any of these issues, send email to [email protected]. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to [email protected].

List of issues (green=resolved, yellow=pending Board vote, red=unresolved)

List options: All ; Open Issues only; or Closed Issues only

Jira Issues

Issue 7195: UML 2.0 Alignment Jira Issue UTP-27
Issue 9797: Section: 6.3.2 Test Behavior Jira Issue UTP11-33
Issue 9798: Section: 6.3.2 Test Behavior, FinishAction Jira Issue UTP11-34
Issue 9799: Section: 6.3.3 Test Data, CodingRule Jira Issue UTP11-35
Issue 15644: Scheduler seems to be a tool concept Jira Issue UTP11-41
Issue 15648: Scheduler reference should be made optional in utp::TestContext Jira Issue UTP11-42
Issue 15649: Clarification of Arbiter Description Jira Issue UTP11-43
Issue 15650: utp::InteractionOperator::determAlt not applicable in CombinedFragment Jira Issue UTP11-44
Issue 15651: Who is the receiver of a LogAction? Jira Issue UTP11-45
Issue 15652: �TestLog� should be renamed to avoid confusion Jira Issue UTP11-46
Issue 15653: UML::Action metaclass is too ambiguous for �FinishAction� Jira Issue UTP11-47
Issue 15654: utp::TimeOut should extend UML::TimeEvent Jira Issue UTP11-48
Issue 15655: TimeOutMessage, TimeOutAction and TimeOut are semantically equivalent Jira Issue UTP11-49
Issue 15656: UTP should have an official logo Jira Issue UTP11-50
Issue 15657: Missing numbering of chapters leads to imprecise references Jira Issue UTP11-51
Issue 15658: UML Testing Profile should be officiallly acronymed by UTP Jira Issue UTP11-52
Issue 15770: Restructuring of chapters Jira Issue UTP11-53
Issue 15771: Continuation information of DefaultApplication should be formalized as model concepts Jira Issue UTP11-54
Issue 15772: Merging distributed semantical descriptions of elements Jira Issue UTP11-55
Issue 15773: Contents and location of chapter 4 must be clarified Jira Issue UTP11-56
Issue 15813: Figure 6.19 need clarification Jira Issue UTP11-57
Issue 15907: Errornous constraint description of TestLogApplication Jira Issue UTP11-58
Issue 15908: "Testing Profile" word phrases should be changed Jira Issue UTP11-59
Issue 15909: Stereotypes should be decorated with angle brackets �� Jira Issue UTP11-60
Issue 15910: Test Context must be a UML::BehavioredClassifier, too Jira Issue UTP11-61
Issue 15913: Test management should be supported Jira Issue UTP11-62
Issue 15915: Test log should contain additional information Jira Issue UTP11-63
Issue 15916: Reviews and audits should be supported by UTP Jira Issue UTP11-64
Issue 15921: Spell out all acronyms at first use with the document, e.g. see first page, UML, MOF, and XMI Jira Issue UTP11-36
Issue 15926: input - SUT issue Jira Issue UTP11-37
Issue 15928: Verify Relationship not in UTP Jira Issue UTP11-25
Issue 15929: testcase or TestCase Jira Issue UTP11-38
Issue 15931: Test Objective issue Jira Issue UTP11-26
Issue 15932: General definitions question Jira Issue UTP11-39
Issue 15939: UTP & SysML Jira Issue UTP11-27
Issue 15941: Complex Data Jira Issue UTP11-28
Issue 15942: Who is "self"? Jira Issue UTP11-40
Issue 16000: TestRequirements shall be defined Jira Issue UTP11-29
Issue 16105: Missing semantics section Jira Issue UTP11-65
Issue 16163: Rework of TestArchitecture section Jira Issue UTP11-66
Issue 16346: UTP profile Jira Issue UTP11-30
Issue 16878: Integration of TTCN-3 template modification Jira Issue UTP12-25
Issue 16898: Tag definitions of test management concepts should be of type ValueSpecification Jira Issue UTP12-26
Issue 16900: Correction for issue #15652 Jira Issue UTP12-27
Issue 16902: TestLog should have detailed information as TestLogEntry Jira Issue UTP12-28
Issue 16906: Base class of TestComponents must be instances of BehavioredClassifier, too Jira Issue UTP12-29
Issue 17222: LogAction should be FinishAction Jira Issue UTP12-30
Issue 17223: Modernization of introductory chapters Jira Issue UTP12-31
Issue 17224: UTP should constitute a new conceptual package structure Jira Issue UTP12-32
Issue 17229: Typos, style glitches and figures Jira Issue UTP12-33
Issue 17231: ValidationAction should extends CallOperationAction Jira Issue UTP12-34
Issue 17292: Rename predefined type Time to Timepoint Jira Issue UTP12-35
Issue 17462: ValidatonAction should provide a reason why the verdict has been assigned Jira Issue UTP11-31
Issue 17539: Semantics of DefaultApplication::repetition not clear Jira Issue UTP11-32

Issue 7195: UML 2.0 Alignment (uml-testing-profile-rtf)

Click here for this issue's archive.
Source: Fraunhofer FOKUS (Dr. Ina Schieferdecker, ina.schieferdecker(at)fokus.fraunhofer.de)
Nature: Uncategorized Issue
Severity:
Summary:
Summary: U2TP has to be aligned with the finalized UML 2.0

Resolution: Since this is an old issue, alignment with the most recent version of UML (2.3) at the beginning of the UTP 1.1 RTF is targeted. Due to the changes of previously applied resolutions, UTP is now compatible with UML 2.3. Additionally, the resolution of this issue includes the alignment of the introductory sections with UML 2.3.
Revised Text: Change first sentence of third paragraph in section 1 from The UML Testing Profile is based on the UML 2.0 specification. To The UML Testing Profile is based on the UML 2.3 specification. Update Text Replace word phrases of first bullet point in section 1 from � as defined in the UML Infrastructure volume of UML 2.0. To � as defined in the UML Infrastructure 2.3. Update Text Update normative references in section 3 from � UML 2.0 Infrastructure Specification � UML 2.0 Superstructure Specification � UML 2.0 OCL Specification � MOF 2.0 Specification To � [UML] Unified Modeling Language (UML) Specification: Superstructure, version 2.3, formal/2010-05-05, 2010 � [OCL] Object Constraint Language (OCL), version 2.2, formal/2010-02-01 � [MOF] Meta Object Facility (MOF) Core Specification, version 2.0, formal/2006-01-01, 2010 Update Text Update lower part of informative references in section 3.1 from (notice section numbering was already removed by resolution of issue 15770) � JUnit: http://www.junit.org. � ETSI ES 201 873-1: The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language. V2.2.1 (2002- 10), 2002; also an ITU-T standard Z.140. � ETSI ES 201 873-3: The Testing and Test Control Notation version 3; Part 3: TTCN-3 Graphical Presentation Format (GFT). V2.2.1 (2002-10), 2002; also an ITU-T standard Z.142. � ITU-T Z.120: Message Sequence Charts (MSC), Nov. 1999 To � [JUNIT] JUnit: http://www.junit.org. � [[TTCN3p1] ES 201 873-1: The Testing and Test Control Notation version 3; Part 1: TTCN-3 Core Language. V4.2.1 (2010-07), 2010. � [TTCN3p3]ETSI ES 201 873-3: The Testing and Test Control Notation version 3; Part 3: TTCN-3 Graphical Presentation Format (GFT). V3.2.1 (2007-02), 2010. � [MSC] ITU-T Z.120: Message Sequence Charts (MSC), Nov. 1999 � [SysML] OMG Systems Modeling Language (OMG SysML), Version 1.2, formal/2010-06-01, 2010. � [ISTQBg] ISTQB Standard glossary of terms used in Software Testing, Version 2.1 (dd. April 1st, 2010) � [IEEE1012] 1012-1998 - IEEE Standard for Software Verification and Validation, 1998 Replace Text Replace entire section 6.1 Acknowledgements with The following companies submitted and/or supported parts of the original specification: � Fraunhofer FOKUS � Ericsson � Motorola � University of L�beck � Telelogic � IBM � Softeam � iLogix � IRISA � Scapa Technologies The following persons were members of the team that designed and wrote this specification: Ina Schieferdecker, �ystein Haugen, Paul Baker, Zhen Ru Dai, Jens Grabowski, Serge Lucio, Eric Samuelson, Clay Williams. The following companies submitted and/or supported parts of the 1.1 RTF of this specification: � Fraunhofer FOKUS � KnowGravity, Inc. � Lockheed Martin � SINTEF � sepp.med GmbH � UFR Sciences et Techniques � Softeam � THALES � IBM � NoMagic, Inc. � University of Applied Sciences Hamburg � University of Pitest The following persons were members who submitted and/or supported parts of the 1.1 RTF of this specification: Marc-Florian Wendland, Markus Schacher, Jon D. Hagar, Ina Schieferdecker, Armin Metzger, Zhen Ru Dai, Fabien Perureux, Eldad Palachi, Laurent Rioux, J.D. Baker, Alin Stefanescu, Andreas Hoffmann, Max Bureck Update Text Update the first bullet point of the second paragraph in section 6.2 from � is based upon the UML 2.0 specification, To � is based upon the UML 2.3 specification, Update Text Update the last paragraph in section 6.2 from Chapter 6 contains the terminology, the metamodel, examples, and mappings for these concepts. To Chapter 7 contains the abstract syntax and the terminology for these concepts. Annex A - Mappings defines a mapping between UTP concepts and TTCN-3 as well as JUnit. Annex B - Examples provides examples of how the UTP can be applied. (notice, chapter 6 has already been renumbered to section 7 by the resolution of issue 15770) Update Text Change the second bullet point of second paragraph of section 6.2 (notice that section 6.2 has been merged with section overview by resolution of issue 15772 and numbering was removed by resolution of issue 15770) from Defining the UML 2.0 based metamodel of UML Testing Profile. To Defining the UML 2.3 based metamodel of UML Testing Profile. Update Text Change the last paragraph of section 6.2 (notice that section 6.2 has been merged with section overview by resolution of issue 15772 and numbering was removed by resolution of issue 15770) from All sections form the definition of the UML Testing Profile. In case of ambiguities, the UML 2.0 based metamodel takes precedence. To All sections form the definition of the UML Testing Profile. In case of ambiguities, the UML 2.3 based metamodel takes precedence.
Actions taken:
March 30, 2004: received issue
October 21, 2011: closed issue

Issue 9797: Section: 6.3.2 Test Behavior (uml-testing-profile-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Significant
Summary:
Default chapter, Notation section (p.28): �a default is behavior and has no special notation�. DefaultApplication chapter, Description section (p.28): �a default application is a dependency used to apply a default behavior to a unit of test component�. However, in Notation section of DefaultApplication chapter there is written that default should be represented as comment. The same notation is used in examples on Figures 29 and 31. Since information in Default and DefaultApplication chapters contradicts each other we need clarification what notation should be used for Default and DefaultApplication. Also it is unclear how repeat and continue parameters should be represented. According to UML specification the detailed semantics of behavior is determined by it subtypes. Each subtype (Interaction, Activity, StateMachine) has it own notation. Since Default can also be described on Interaction, Activity or StateMachine the most convenient notation for Default would be behavior subtype notation with <<Default>> stereotype and for DefaultApplication � dependency with stereotype <<DefaultApplication>>.   

Resolution:
Revised Text:
Actions taken:
May 29, 2006: received issue
May 29, 2006: received issue
October 21, 2011: closed issue

Discussion:
This issue is a subset of the more comprehensive issues 15771.  Disposition:	See issue 15771 for disposition  


Issue 9798: Section: 6.3.2 Test Behavior, FinishAction (uml-testing-profile-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Significant
Summary:
<<FinishAction>> stereotype extends Action metaclass. However FinishAction chapter, Notation section specifies how FinishAction should be represented on Activity, Interaction and StateMachine diagrams. In that case we have conflict with UML 2.0 specification: according to UML specification actions cannot be used on Interaction and StateMachine diagrams. Actually for interactions UML 2.0 defines ActionExecutionSpecification that specifies execution of action within the Lifeline. However, then <<FinishAction>> stereotype should extend ActionExecutionSpecification metaclass.   

Resolution:
Revised Text:
Actions taken:
May 29, 2006: received issue
October 21, 2011: closed issue

Discussion:
This issue is a subset of the more comprehensive issues 15653.  Disposition:	See issue 15653 for disposition  


Issue 9799: Section: 6.3.3 Test Data, CodingRule (uml-testing-profile-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Significant
Summary:
UML Testing Profile defines that �the notation for coding rule is identical to a comment in UML�. Can coding rule be displayed as stereotype attribute (tagged value) using notation given by UML 2.0 specification?  

Resolution: Since the UTP spec says (Section 6.3.3 Coding Rule, subsection Description) �Coding Rules are defined outside of the Testing Profile and referred to within Testing Profile specifications.� the coding rule can surely be displayed as ordinary tagged value of the Stereotype. The string does not define the coding rule itself, but rather an identifier for a coding rule that is part of the test execution system. We propose to change this issue with no change. Disposition: Closed
Revised Text:
Actions taken:
May 29, 2006: received issue
October 21, 2011: closed issue

Issue 15644: Scheduler seems to be a tool concept (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Significant
Summary:
Rational: Scheduler is a predefined interface defining operations used for controlling the tests and the test components. None of the operations of the Scheduler are available to the UML specifier.      Issue: The usage of the scheduler is not clear. Scheduler seems to be a pure tool concept. Section 6.3.1 Test Architecture, Subsection Scheduler says the following:       Scheduler is a predefined interface defining operations used for controlling the tests and the test components. None of the operations of the Scheduler are available to the UML specifier. The implementation of the predefined interface will determine the detailed semantics. The implementation must make sure that the scheduler has enough information to keep track of the existence and participation of the test components in every test case. The test context itself will ensure the creation of a scheduler.    Hence, the scheduler cannot be used within the test model as it is not visible to the UML elements. The specification should separate between model elements and interfaces to the test execution system, which can be seen as technical issues.

Resolution:
Revised Text:
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Discussion:
Scheduler is not part of the profile (of any test specification model) and confuses reader. It is a dedicated tool concept and will be moved into the Annex.  Disposition:	See issue 16163 for disposition  


Issue 15648: Scheduler reference should be made optional in utp::TestContext (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
Rational: Scheduler is a predefined interface defining operations used for controlling the tests and the test components. None of the operations of the Scheduler are available to the UML specifier.      Issue: Section 6.3.1 Test Architecture, Subsection TestContext, Subsubsection Constraints states the following:   ---  A test context must contain exactly one property realizing the Scheduler interface  ---  A scheduler represents a pure tool concept and is not visible to any UML element in the test model. Implementing this interface in context of test model is not possible.

Resolution:
Revised Text:
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Discussion:
Scheduler is not part of the profile (of any test specification model) and confuses reader. It is a dedicated tool concept and will be moved into the Annex. As a consequence the property of TestContext must be removed.  Disposition:	See issue 16163 for disposition  


Issue 15649: Clarification of Arbiter Description (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
Rational: Arbiter is a predefined interface defining operations used for arbitration of tests. Test cases, test contexts, and the runtime system can use realizations of this interface to assign verdicts of tests and to retrieve the current verdict of a test (verdicts are discussed in Section 6.3.2, �Test Behavior,� on page 14)       Issue: Section 6.3.2 Test Behavior, Subsection Verdict mentions the following:  ---  The final verdict of a test case is determined by an arbiter. Every test context has an arbiter and the tool vendor will provide a default arbiter if the test context does not explicitly specify one [� ]  ---  Section 6.3.1 "TestArchitecture" (page 10) says:  ---  Every test context must have an implementation of the arbiter interface, and the tool vendor constructing tools based on  the Testing Profile will provide a default arbiter to be used if one is not explicitly defined in the test context.  ---      It seems to be a logical contradiction. Since the multiplictity of a test context's arbiter reference (see Fig. 6.1 TestArchitecture) is exactly one (so it has to be set in any case), why is it necessary to have a default arbiter in addition? It can never be used by a test context. In the case, a test context wants to use a kind of default arbiter, it has to define it anyway.  In order to avoid confusion on the readers, this must be clarified and probably simplified.

Resolution:
Revised Text:
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Discussion:
This issue will be clarified by the merge of scattered information, addressed by resolution to issue 15772. The solution itself is easy. The section to be clarified will be removed by the referred resolution.  Disposition:	See issue 15772 for disposition  


Issue 15650: utp::InteractionOperator::determAlt not applicable in CombinedFragment (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Significant
Summary:
Rational: Section 6.3.2 Test Behavior, Subsection InteractionOperator says the following:   ---  The deterministic alternative is a shorthand for an Alternative where the operands are evaluated in sequence such that it is deterministic which operand is chosen given the value of the guards, regardless of the fact that the guard for more than one operand may be true  ---      Issue: utp::InteractionOperator::determAlt is embedded in an UTP enumeration and therefore not applicable to UML models. UML::CombinedFragment refers to UML::InteractionOperator instead, so that it seems as utp::InteractionOperator is an extension to UM::InteractionOperator. Extending metaclasses is restricted by the UML Profile design requirements (UML::Superstructure, Section 18.1.2, Item 1):  ---  8. [�] UML Profiles should form a metamodel extension mechanism that imposes certain restrictions on how the UML metamodel can be modified. The reference metamodel is considered as a �read only� model, that is extended without changes by profiles. It is therefore forbidden to insert new metaclasses in the UML metaclass hierarchy (i.e., new super-classes for standard UML metaclasses) or to modify the standard UML metaclass definitions (e.g., by adding meta-associations). Such restrictions do not apply in a MOF context where in principle any metamodel can be reworked in any direction.  ---            UTP::InteractionOperator::determAlt must be completely redesigned in order to be applicable to UML models.

Resolution: Change the determAlt enumeration into a �DetermAlt� stereotype, enhancing CombinedFragment instead. The idea is to declare the whole combined fragment as a deterministic alternative. This would address another shortcoming of the current description of determAlt. In contrast to the normal operand selection semantics of UML for alternative combined fragments, the determAlt combined fragment is intended to work slightly different: The decision whether an operand should be entered is resolved by the first occurrence specification of a test component lifeline first. If the actual occurrence specification matches the expected one during execution, than the guard condition is going to be evaluated. The guard condition expresses restrictions on data instances, potentially accompanying a receive message. If the guard is left empty, this is a shortcut for �true�. Only if both conditions are met, the operand will be entered.
Revised Text: Replace Figure 6.5 with (notice: Figure was already re-numbered to 7.5 by the resolution of issue 15770) Update Figure 6.5 caption from Deterministic Alt Operator (in Combined Fragments) To Deterministic Alternative Combined Fragment Update Text Change title of section determAlt from determAlt (an interaction operator) to DetermAlt Update Text Change text of subsection Description of section DetermAlt from The deterministic alternative is a shorthand for an Alternative where the operands are evaluated in sequence such that it is deterministic which operand is chosen given the value of the guards, regardless of the fact that the guard for more than one operand may be true To The deterministic alternative is a combined fragment with interaction operator alt applied and stereotyped by �DetermAlt�. The interaction operands of a deterministic alternative are evaluated in exactly the same order as they appear in the model (respectively diagram) and regardless of the fact that the guard for more than one operand may be true. Add subsection Add new subsection Extension after subsection Description in section DetermAlt with content � CombinedFragment (from UML::Interactions::Fragments) Add subsection Add new subsection Generalizations after subsection Extensions in section DetermAlt with content None. Add subsection Add new subsection Attributes after subsection Generalization in section DetermAlt with content None. Update Text Add new paragraphs to the beginning subsection Semantics of section DetermAlt: Only one lifeline, representing a test component, is allowed to participate in a deterministic alternative, i.e. no other test component lifeline is covered by the surrounding combined fragment. If a deterministic alternative is reached during the execution of an interaction, the involved test component waits until it receives an input. After an input was received, the evaluation of the deterministic alternative is carried out. The evaluation mechanism of the guards of a deterministic alternative restricts the ordinary evaluation mechanism of combined fragments in UML in a way that guards only allowed to references values either local to the test component lifeline or global to the entire enclosing interaction. Furthermore, the evaluation of the entering condition for an interaction operand will be carried out in two-step-process during runtime: � Guard evaluation: The first step will evaluate the guard condition. If it fails, the entire operand will be excluded for further investigation and not entered. If the guard condition evaluates to true, an additional evaluation step succeeds. � Occurrence specification evaluation: After a successful guard evaluation, the very first occurrence specification on the test component lifeline within the interaction operand, which is supposed to be entered, will be checked. This may include a check whether a particular timer has expired, or whether a particular message is received from another lifeline, which must also participate in the deterministic alternative. If it represents a check for a time out event, and the referenced timer has not expired yet, the interaction operand will not be entered. If it represents a message originating from another lifeline, the interaction operand will only be entered if the expected message matches the actual message during runtime. An expected message matches with an actual messages, if all the messages arguments are equal to the expected message arguments. Wildcards may be used allowing message arguments to be optionally provided. If the occurrence specification evaluation is also fulfilled, the interaction operand will be entered. Otherwise, the interaction operand will be skipped and the evaluation of the next interaction operand (if present) starts immediately. It is neither specified when the test case will be concluded by the execution environment nor what test case verdict will be delivered if none of the interaction operands are allowed to be entered. Add subsection Add new subsection Constraints after subsection Semantics of section DetermAlt with content [1] The interaction operator of the deterministic alternative must be of InteractionOperatorKind::alt. self.base_CombinedFragment.interactionOperator = uml::InteractionOperator::alt [2] There must be at most one lifeline, representing a classifier stereotyped by �TestComponent�, being covered by a deterministic alternative. [3] Guards of a deterministic alternative must contain only references to values local to the lifeline, representing a classifier stereotyped by �TestComponent�, or values global to the whole Interaction. Update Text Change the text of subsection Notation of section DetermAlt from The �DetermAlt� uses the notation for combined fragments in interactions: a �determAlt� in the small compartment in the upper left corner of the CombinedFragment frame. To One possible notation is to reuse the ordinary visualization of combined fragment, but with determAlt depicted in the upper left cornered rectangle of the combined fragment. Another possibility is to put the stereotype (�DetermAlt�) on top or beside the combined fragment. Another valid visualization is to show a comment-like symbol with text �DetermAlt� and attach it with the combined fragment frame. Disposition: Resolved
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Discussion:
see pge 45 for figure


Issue 15651: Who is the receiver of a LogAction? (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
Rational: Section 6.3.2 Test Behavior, Subsection LogAction says the following:  ---   The LogAction defines the tester�s desire to log certain aspects during the execution of a test case.  ---      Issue: Since �LogAction� stereotype enhances UML::SendObjectAction, the receiver of the object to be logged must be explicitly mentioned. It is not clear who receives the sent object.     Commonly, a log is sent to the execution environment which accepts and persists the entry. This seems to be a tool concepts, too, comparable to Scheduler semantics. It might make sense to introduce another additional technical interface for logging at test execution system level. �LogAction� might extend uml::OpaqueAction, so that there is no explicit receiver to be specified on model level. Vendors must ensure that logs are transported properly to the log interface.

Resolution: Actually, the issue does not target a technical error in the specification, since the multiplicity of the target pin of SendObjectAction is not defined and left open. Therefore, it is possible to neglect the receiver or to add one if needed. However, subsection semantics and constraints are stated more precisely
Revised Text: Replace subsection Semantics of section LogAction The target of a log action refers to a logging mechanism in the run-time system. The request refers to the information that is logged. The representation of the logging mechanism is not specified. The LogAction records some snapshot of the test component With The target of a log action either refers implicitly to a logging facility in the run-time system, or explicitly to an element within the model acting as the receiver of the information to be logged. In the first case, the logging can be seen as a declaration of what should be logged rather than saying how or where the information is finally stored. The request input pin of the underlying SendObjectAction determines what information shall be logged. The type of the request input pin is not determined and may represent simple strings, instance values, or any other information values of interest. A log action must submit either one single information value or a set of information (at least one), which are supposed to be logged all at once. This is a shortcut for invoking the log action multiple times in a row. The receiver of the log action is optional. Per default, omitting the receiver object means the execution environment is responsible to log the values transferred by the log action. Update Text Add new constraints to subsection Constraints of section LogAction (notice, Constraint section was introduced by resolution of issue 15770): [1] The multiplicity of the target input pin of a �LogAction� is set to 0..1. [2] The multiplicity of the request input pin of a �LogAction�is set to 1..*. [3] There must be no further argument input pins attached to a �LogAction�. Disposition: Resolved
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Issue 15652: �TestLog� should be renamed to avoid confusion (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
Rational: A �TestLog � represents the actual trace of an executed test case. It contains the messages and stimuli sent to the SUT as well as the result of the SUT. Additionally, the final verdict of each test component and each explicit log statement is present.    Issue: The name �TestLog� is confusing in a way that only the �LogAction� results seem to be included in the resulting behavior. In fact, it is a detailed and exact trace of all events executed in the test case.

Resolution: RTF agreed that TestLog is an appropriate name for the concept. Disposition: Closed
Revised Text:
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Issue 15653: UML::Action metaclass is too ambiguous for �FinishAction� (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
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).

Resolution: 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
Revised Text: Replace Figure Replace Figure 6.4 (issue 15770 already changed the numbering to 7.4) with Update Text Change subsection Description of section FinishAction from 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. To A finish action is an action that completes the test case for one test component immediately. The action has no implicit effect on other test components involved in the same test case, but it has recognized the need for other test components to be notified of the finish such that they may no longer expect messages from the finished test component. This must be specified explicitly. Update Text Change Extensions subsection (introduced by resolution of issue 15770) of section FinishAction from � Action (from UML::Actions::BasicActions) To � OpaqueAction (from UML::Actions::BasicActions) � InvocationAction (from UML::Actions::BasicActions) Update Text Change subsection Semantics of section FinishAction from A FinishAction means that the test component will move to a state where it awaits the conclusion of the test case that is now running. This may mean waiting for other test components to finish their behavior corresponding to that test case. In the traces of the test behavior for that test case, there will be no event occurrences on a test component after its FinishAction. to A finish action moves a test component to a state where it awaits the conclusion of the test case that is now running. This may mean waiting for other test components to finish their behavior corresponding to that test case. In the traces of the test behavior for that test case, there will be no event occurrences on a test component after it was finished. Consequently, the local verdict of a finished test component cannot be altered. If the finish action is used within an Interaction, the test component to be finished is determined by the lifeline, representing a test component, which is covered by the ActionExecutionSpecification pointing to the finish action. If the finish action is used within an Activity and if there is at least one test component defined in the test configuration, than there must be a target input pin owned by the finish action. The target input pin is typed by the classifier of the test component. It represents the test component to be finished. The multiplicity of the target input pin must be 1. Extending InvocationAction allows the invocation of a particular behavioral description on the finished test component, which is called when the test component is finished. Update Text Add constraints to the Constraints subsection of section FinishAction (Constraint section was introduced by resolution to issue 15770): [1] If �FinishAction� is applied to an OpaqueAction and if it is used within an activity, there is exactly one input pin with name target. Its type must be a StructuredClassifier with �TestComponent� applied, and its multiplicity must be set to 1. [2] If �FinishAction� is applied to an InvocationAction, the multiplicity of the target input pin must be 1. Disposition: Resolved
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Discussion:


Issue 15654: utp::TimeOut should extend UML::TimeEvent (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Significant
Summary:
Rational: UTP specification 1.0, Section 6.3.4 Time Concepts, Subsection TimOut says the following:   ---  A �TimeOut� is generated by a timer when it expires and may trigger an associated behavior (e.g., a transition in a state machine).  ---    Issue: It is pretty obvious that this is an error resulting from the fact that UTP 1.0 was finalized before UML 2.0 was finalized. UML::TimeTrigger is not a legal, existing metaclass of the UML specification, but there is a metaclass called UML::TimeEvent that can be used instead.

Resolution: Extend TimeEvent instead of non-existent metaclass TimeTrigger
Revised Text: Replace Figure 6.11 (issue 15770 changed the numbering to 7.11) with Update Text Change subsection Extensions of section TimeOut (subsection already introduced by resolution of issue 15770) from Extensions � TimeTrigger (from UML::CommonBehaviors::SimpleTime) To Extensions � TimeEvent (from UML::CommonBehaviors::SimpleTime) Update Text Change text of subsection Notation of section TimeOut (subsection already introduced by resolution of issue 15770) from The notation for a TimeOut reuses the notation for TimeTrigger. To The notation for a �TimeOut� reuses the notation for TimeEvent.
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Discussion:
see figure  on page 55 of ptc/2011-07-18


Issue 15655: TimeOutMessage, TimeOutAction and TimeOut are semantically equivalent (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
Rational:  UTP specification, Section 6.3.4, Timer Concepts, Subsections TimeOut, TimeOutMessages, TimeOut Action says the following:  ---  TimeOut: A TimeOut is generated by a timer when it expires and may trigger an associated behavior. The TimeOut is placed in the input pool of the object owning the timer.      TimeOutMessage: A TimeOutMessage is generated by a timer when it expires. The timeout message is sent to the active class   that owns the timer.      A timeout is enabled when the timer expires. It may trigger an associated activity. The TimeOutAction occurs, when all input conditions for that activity are satisfied (including the TimeOutAction).  

Resolution:
Revised Text:
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Discussion:
Since the behavioral descriptions in UML are very different, having dedicated concepts for all kinds of behavior is very pragmatic and useful. Otherwise, one combined stereotyped would need to have additional tagged values in order to be applicable to all behavior kinds. However, this would lead to complex constraints, depending on the behavior kind the stereotype is used in. Therefore, we suggest to close this issue with no change. As a side-note, the resolution for issue 15654 already changed the base class of TimeOut from TimeTrigger to TimeEvent.  Disposition:	Closed  


Issue 15656: UTP should have an official logo (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Minor
Summary:
Issue: For better a recognition and placement inside the UML 2 specification family, a UTP logo should be created.

Resolution: Put the logo on the cover page of UTP as it was done by other OMG UML-related specifications
Revised Text:
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Issue 15657: Missing numbering of chapters leads to imprecise references (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
    Issue: UTP specification 1.0 does not have an ongoing numbering of subsection within the main chapters.  This leads to imprecise references of particular subsections. Other specifications of OMG exhibit such an ongoing numbering.     For example, Section 6.3.1 Test Architecture of the UTP spec contains two subsections "Arbiter" on the same hierarchy level, so that it is not clear how references to either of them should be distinguished.

Resolution:
Revised Text:
Actions taken:
September 27, 2010: received issue
October 21, 2011: closed issue

Discussion:
This issue is directly related to the new outline of the specification (see Issue #15770), and therefore merged with it.   Disposition:	See issue 15770 for disposition  


Issue 15658: UML Testing Profile should be officiallly acronymed by UTP (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
Issue: There is no clarity concerning the official acronym of the profile. In the namespace of the XMI definition file, u2tp is used as shortcuut. However, since UML 2 is established in both research and industry, upcoming profiles are considered to be profiles for UML 2. UTP as typical 3-characters acronym should be sufficient and contemporary.

Resolution: ="name" type="xsd:string"/> <xsd:element name="dataPoolDefinition" type="xsd:string"/> <xsd:element name="selector" type="utp:DataSelector"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="dataPoolDefinition" type="xsd:string"/> <xsd:attribute name="selector" type="xsd:string"/> </xsd:complexType> <xsd:element name="DataPool" type="utp:DataPool"/> <xsd:complexType name="DataSelector"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="dataSelectorDefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="dataSelectorDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="DataSelector" type="utp:DataSelector"/> <xsd:complexType name="DataPartition"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="dataPartitionDefinition" type="xsd:string"/> <xsd:element name="selector" type="utp:DataSelector"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="dataPartitionDefinition" type="xsd:string"/> <xsd:attribute name="selector" type="xsd:string"/> </xsd:complexType> <xsd:element name="DataPartition" type="utp:DataPartition"/> <xsd:complexType name="IScheduler"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> </xsd:complexType> <xsd:element name="IScheduler" type="utp:IScheduler"/> </xsd:schema> Disposition: Resolved
Revised Text: Replace content of Annex B: B.1 The Profile The XMI schema definition for the exchange of U2TP profile specifications follows the XMI schema definition of UML 2.0 for UML 2.0 profiles. Please refer to the schema definition of UML 2.0. B.2 The MOF-based Metamodel The XMI schema definition for the MOF-based metamodel is given below. <?xml version="1.0"?> <xsd:schema targetNamespace="https://www.omg.org/U2TPSA" xmlns:u2tp="https://www.omg.org/U2TPSA" xmlns:xmi="https://www.omg.org/XMI" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="https://www.omg.org/XMI" schemaLocation="XMI.xsd"/> <xsd:simpleType name="Verdict"> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="pass"/> <xsd:enumeration value="fail"/> <xsd:enumeration value="inconclusive"/> <xsd:enumeration value="error"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="Arbiter"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="arbiterDefinition" type="xsd:string"/> <xsd:element name="behavior" type="u2tp:Behavior"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="arbiterDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="Arbiter" type="u2tp:Arbiter"/> <xsd:complexType name="Scheduler"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="schedulerDefinition" type="xsd:string"/> <xsd:element name="behavior" type="u2tp:Behavior"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="schedulerDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="Scheduler" type="u2tp:Scheduler"/> <xsd:complexType name="Deployment"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="deploymentDefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="deploymentDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="Deployment" type="u2tp:Deployment"/> <xsd:complexType name="SUT"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="SUTdefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="SUTdefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="SUT" type="u2tp:SUT"/> <xsd:complexType name="TestComponent"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="testComponentDefinition" type="xsd:string"/> <xsd:element name="zone" type="xsd:string"/> <xsd:element name="behavior" type="u2tp:Behavior"/> <xsd:element name="dataPool" type="u2tp:DataPool"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="testComponentDefinition" type="xsd:string"/> <xsd:attribute name="zone" type="xsd:string"/> <xsd:attribute name="dataPool" type="xsd:string"/> </xsd:complexType> <xsd:element name="TestComponent" type="u2tp:TestComponent"/> <xsd:complexType name="TestContext"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="testContextDefinition" type="xsd:string"/> <xsd:element name="sut" type="u2tp:SUT"/> <xsd:element name="component" type="u2tp:TestComponent"/> <xsd:element name="arbiter" type="u2tp:Arbiter"/> <xsd:element name="scheduler" type="u2tp:Scheduler"/> <xsd:element name="behavior" type="u2tp:Behavior"/> <xsd:element name="testConfiguration" type="u2tp:Deployment"/> <xsd:element name="testCase" type="u2tp:TestCase"/> <xsd:element name="executions" type="u2tp:TestLog"/> <xsd:element name="dataPool" type="u2tp:DataPool"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="testContextDefinition" type="xsd:string"/> <xsd:attribute name="sut" type="xsd:string"/> <xsd:attribute name="component" type="xsd:string"/> <xsd:attribute name="arbiter" type="xsd:string"/> <xsd:element name="scheduler" type="u2tp:Scheduler"/> <xsd:attribute name="testConfiguration" type="xsd:string"/> <xsd:attribute name="executions" type="xsd:string"/> <xsd:attribute name="dataPool" type="xsd:string"/> </xsd:complexType> <xsd:element name="TestContext" type="u2tp:TestContext"/> <xsd:complexType name="TestLog"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="testLogDefinition" type="xsd:string"/> <xsd:element name="verdict" type="u2tp:Verdict"/> <xsd:element name="testConfiguration" type="u2tp:Deployment"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="testLogDefinition" type="xsd:string"/> <xsd:attribute name="verdict" type="u2tp:Verdict"/> <xsd:attribute name="testConfiguration" type="xsd:string"/> </xsd:complexType> <xsd:element name="TestLog" type="u2tp:TestLog"/> <xsd:complexType name="BaseDefault"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> </xsd:complexType> <xsd:element name="BaseDefault" type="u2tp:BaseDefault"/> <xsd:complexType name="Behavior"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="behaviorDefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="behaviorDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="Behavior" type="u2tp:Behavior"/> <xsd:complexType name="TestCase"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="testCaseDefinition" type="xsd:string"/> <xsd:element name="behavior" type="u2tp:Behavior"/> <xsd:element name="executions" type="u2tp:TestLog"/> <xsd:element name="testObjective" type="u2tp:TestObjective"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="testCaseDefinition" type="xsd:string"/> <xsd:attribute name="executions" type="xsd:string"/> <xsd:attribute name="testObjective" type="xsd:string"/> </xsd:complexType> <xsd:element name="TestCase" type="u2tp:TestCase"/> <xsd:complexType name="TestObjective"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="testObjectiveDefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="testObjectiveDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="TestObjective" type="u2tp:TestObjective"/> <xsd:complexType name="CodingRule"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="coding" type="xsd:string"/> <xsd:element name="value" type="u2tp:InstanceValue"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="coding" type="xsd:string"/> <xsd:attribute name="value" type="xsd:string"/> </xsd:complexType> <xsd:element name="CodingRule" type="u2tp:CodingRule"/> <xsd:complexType name="InstanceValue"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="literalAny" type="u2tp:LiteralAny"/> <xsd:element name="literalAnyOrNull" type="u2tp:LiteralAnyorNull"/> <xsd:element name="literalNull" type="u2tp:LiteralNull"/> <xsd:element name="coding" type="u2tp:CodingRule"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="literalAny" type="xsd:string"/> <xsd:attribute name="literalAnyOrNull" type="xsd:string"/> <xsd:attribute name="literalNull" type="xsd:string"/> <xsd:attribute name="coding" type="xsd:string"/> </xsd:complexType> <xsd:element name="InstanceValue" type="u2tp:InstanceValue"/> <xsd:complexType name="LiteralAny"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="value" type="u2tp:InstanceValue"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="value" type="xsd:string"/> </xsd:complexType> <xsd:element name="LiteralAny" type="u2tp:LiteralAny"/> <xsd:complexType name="LiteralAnyorNull"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="value" type="u2tp:InstanceValue"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="value" type="xsd:string"/> </xsd:complexType> <xsd:element name="LiteralAnyorNull" type="u2tp:LiteralAnyorNull"/> <xsd:complexType name="LiteralNull"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="value" type="u2tp:InstanceValue"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="value" type="xsd:string"/> </xsd:complexType> <xsd:element name="LiteralNull" type="u2tp:LiteralNull"/> <xsd:complexType name="ITimer"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="isRunning" type="xsd:boolean"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="isRunning" type="xsd:boolean"/> </xsd:complexType> <xsd:element name="ITimer" type="u2tp:ITimer"/> <xsd:complexType name="Timer"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> </xsd:complexType> <xsd:element name="Timer" type="u2tp:Timer"/> <xsd:complexType name="IArbiter"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> </xsd:complexType> <xsd:element name="IArbiter" type="u2tp:IArbiter"/> <xsd:complexType name="DataPool"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="dataPoolDefinition" type="xsd:string"/> <xsd:element name="selector" type="u2tp:DataSelector"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="dataPoolDefinition" type="xsd:string"/> <xsd:attribute name="selector" type="xsd:string"/> </xsd:complexType> <xsd:element name="DataPool" type="u2tp:DataPool"/> <xsd:complexType name="DataSelector"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="dataSelectorDefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="dataSelectorDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="DataSelector" type="u2tp:DataSelector"/> <xsd:complexType name="DataPartition"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="dataPartitionDefinition" type="xsd:string"/> <xsd:element name="selector" type="u2tp:DataSelector"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="dataPartitionDefinition" type="xsd:string"/> <xsd:attribute name="selector" type="xsd:string"/> </xsd:complexType> <xsd:element name="DataPartition" type="u2tp:DataPartition"/> <xsd:complexType name="IScheduler"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> </xsd:complexType> <xsd:element name="IScheduler" type="u2tp:IScheduler"/> </xsd:schema> With B.1 The Profile The XMI schema definition for the exchange of UTP profile specifications follows the XMI schema definition of UML 2.3 for UML 2.3 profiles. Please refer to the schema definition of UML 2.3. B.2 The MOF-based Metamodel The XMI schema definition for the MOF-based metamodel is given below. <?xml version="1.0"?> <xsd:schema targetNamespace="https://www.omg.org/UTPSA" xmlns:utp="https://www.omg.org/UTPSA" xmlns:xmi="https://www.omg.org/XMI" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="https://www.omg.org/XMI" schemaLocation="XMI.xsd"/> <xsd:simpleType name="Verdict"> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="pass"/> <xsd:enumeration value="fail"/> <xsd:enumeration value="inconclusive"/> <xsd:enumeration value="error"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="Arbiter"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="arbiterDefinition" type="xsd:string"/> <xsd:element name="behavior" type="utp:Behavior"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="arbiterDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="Arbiter" type="utp:Arbiter"/> <xsd:complexType name="Scheduler"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="schedulerDefinition" type="xsd:string"/> <xsd:element name="behavior" type="utp:Behavior"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="schedulerDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="Scheduler" type="utp:Scheduler"/> <xsd:complexType name="Deployment"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="deploymentDefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="deploymentDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="Deployment" type="utp:Deployment"/> <xsd:complexType name="SUT"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="SUTdefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="SUTdefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="SUT" type="utp:SUT"/> <xsd:complexType name="TestComponent"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="testComponentDefinition" type="xsd:string"/> <xsd:element name="zone" type="xsd:string"/> <xsd:element name="behavior" type="utp:Behavior"/> <xsd:element name="dataPool" type="utp:DataPool"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="testComponentDefinition" type="xsd:string"/> <xsd:attribute name="zone" type="xsd:string"/> <xsd:attribute name="dataPool" type="xsd:string"/> </xsd:complexType> <xsd:element name="TestComponent" type="utp:TestComponent"/> <xsd:complexType name="TestContext"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="testContextDefinition" type="xsd:string"/> <xsd:element name="sut" type="utp:SUT"/> <xsd:element name="component" type="utp:TestComponent"/> <xsd:element name="arbiter" type="utp:Arbiter"/> <xsd:element name="scheduler" type="utp:Scheduler"/> <xsd:element name="behavior" type="utp:Behavior"/> <xsd:element name="testConfiguration" type="utp:Deployment"/> <xsd:element name="testCase" type="utp:TestCase"/> <xsd:element name="executions" type="utp:TestLog"/> <xsd:element name="dataPool" type="utp:DataPool"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="testContextDefinition" type="xsd:string"/> <xsd:attribute name="sut" type="xsd:string"/> <xsd:attribute name="component" type="xsd:string"/> <xsd:attribute name="arbiter" type="xsd:string"/> <xsd:element name="scheduler" type="utp:Scheduler"/> <xsd:attribute name="testConfiguration" type="xsd:string"/> <xsd:attribute name="executions" type="xsd:string"/> <xsd:attribute name="dataPool" type="xsd:string"/> </xsd:complexType> <xsd:element name="TestContext" type="utp:TestContext"/> <xsd:complexType name="TestLog"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="testLogDefinition" type="xsd:string"/> <xsd:element name="verdict" type="utp:Verdict"/> <xsd:element name="testConfiguration" type="utp:Deployment"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="testLogDefinition" type="xsd:string"/> <xsd:attribute name="verdict" type="utp:Verdict"/> <xsd:attribute name="testConfiguration" type="xsd:string"/> </xsd:complexType> <xsd:element name="TestLog" type="utp:TestLog"/> <xsd:complexType name="BaseDefault"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> </xsd:complexType> <xsd:element name="BaseDefault" type="utp:BaseDefault"/> <xsd:complexType name="Behavior"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="behaviorDefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="behaviorDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="Behavior" type="utp:Behavior"/> <xsd:complexType name="TestCase"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="testCaseDefinition" type="xsd:string"/> <xsd:element name="behavior" type="utp:Behavior"/> <xsd:element name="executions" type="utp:TestLog"/> <xsd:element name="testObjective" type="utp:TestObjective"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="testCaseDefinition" type="xsd:string"/> <xsd:attribute name="executions" type="xsd:string"/> <xsd:attribute name="testObjective" type="xsd:string"/> </xsd:complexType> <xsd:element name="TestCase" type="utp:TestCase"/> <xsd:complexType name="TestObjective"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="testObjectiveDefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="testObjectiveDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="TestObjective" type="utp:TestObjective"/> <xsd:complexType name="CodingRule"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="coding" type="xsd:string"/> <xsd:element name="value" type="utp:InstanceValue"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="coding" type="xsd:string"/> <xsd:attribute name="value" type="xsd:string"/> </xsd:complexType> <xsd:element name="CodingRule" type="utp:CodingRule"/> <xsd:complexType name="InstanceValue"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="literalAny" type="utp:LiteralAny"/> <xsd:element name="literalAnyOrNull" type="utp:LiteralAnyorNull"/> <xsd:element name="literalNull" type="utp:LiteralNull"/> <xsd:element name="coding" type="utp:CodingRule"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="literalAny" type="xsd:string"/> <xsd:attribute name="literalAnyOrNull" type="xsd:string"/> <xsd:attribute name="literalNull" type="xsd:string"/> <xsd:attribute name="coding" type="xsd:string"/> </xsd:complexType> <xsd:element name="InstanceValue" type="utp:InstanceValue"/> <xsd:complexType name="LiteralAny"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="value" type="utp:InstanceValue"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="value" type="xsd:string"/> </xsd:complexType> <xsd:element name="LiteralAny" type="utp:LiteralAny"/> <xsd:complexType name="LiteralAnyorNull"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="value" type="utp:InstanceValue"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="value" type="xsd:string"/> </xsd:complexType> <xsd:element name="LiteralAnyorNull" type="utp:LiteralAnyorNull"/> <xsd:complexType name="LiteralNull"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="value" type="utp:InstanceValue"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="value" type="xsd:string"/> </xsd:complexType> <xsd:element name="LiteralNull" type="utp:LiteralNull"/> <xsd:complexType name="ITimer"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="isRunning" type="xsd:boolean"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="isRunning" type="xsd:boolean"/> </xsd:complexType> <xsd:element name="ITimer" type="utp:ITimer"/> <xsd:complexType name="Timer"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> </xsd:complexType> <xsd:element name="Timer" type="utp:Timer"/> <xsd:complexType name="IArbiter"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> </xsd:complexType> <xsd:element name="IArbiter" type="utp:IArbiter"/> <xsd:complexType name="DataPool"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="dataPoolDefinition" type="xsd:string"/> <xsd:element name="selector" type="utp:DataSelector"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="dataPoolDefinition" type="xsd:string"/> <xsd:attribute name="selector" type="xsd:string"/> </xsd:complexType> <xsd:element name="DataPool" type="utp:DataPool"/> <xsd:complexType name="DataSelector"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="dataSelectorDefinition" type="xsd:string"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="dataSelectorDefinition" type="xsd:string"/> </xsd:complexType> <xsd:element name="DataSelector" type="utp:DataSelector"/> <xsd:complexType name="DataPartition"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="dataPartitionDefinition" type="xsd:string"/> <xsd:element name="selector" type="utp:DataSelector"/> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> <xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="dataPartitionDefinition" type="xsd:string"/> <xsd:attribute name="selector" type="xsd:string"/> </xsd:complexType> <xsd:element name="DataPartition" type="utp:DataPartition"/> <xsd:complexType name="IScheduler"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element ref="xmi:Extension"/> </xsd:choice> <xsd:attribute ref="xmi:id"/> <xsd:attributeGroup ref="xmi:ObjectAttribs"/> </xsd:complexType> <xsd:element name="IScheduler" type="utp:IScheduler"/> </xsd:schema> Disposition: Resolved
Actions taken:
October 7, 2010: received issue
October 21, 2011: closed issue

Issue 15770: Restructuring of chapters (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Minor
Summary:
The structure of the specification is erroneous in a way, that is not clear why some parts, belonging to the same topic, have been extracted into an own subsection:      Issues with section 6.4 and 6.5:  Section 6.4 �MOF-based Metamodel� consists of the subsection 6.4.1 �Test Architecture and Behavior� solely. Except that using a single, numbered subsection is not a good style, the sibling section 6.5 �Test Data� must belong to section 6.4, henceforth referred as subsection 6.4.2 �Test Data�.   Additionally, the subsection 6.5.1 �Time Concepts� is rather a sibling subsection to 6.4.1 and 6.4.2, resulting in 6.4.3 �Time Concepts�, so that the logically more correct structure is like:  6.4 �MOF-based Metamodel�  -6.4.1 Test Architecture and Test Behavior  -6.4.2 Test Data  -6.4.3 Timer Concepts      Issues with section 6.6 and 6.7:  Section 6.6 �Examples� describes a comprehensive usage example of UTP. Since chapter 6 should be dedicated to the definition of the profile�s concepts solely, section 6.6 should be extracted either to a new chapter 7 or to the appendix (as it is often done in other MOF-related specifications).  Section 6.7 �Mapping� should remain as section 6.6, since it definitely belongs to the specification of the profile.

Resolution: The RTF agreed on that the current outline of the specification is not ideal to read and to maintain. In order to improve both, a new structure for the UTP 1.1 specification was proposed, targeting - the elimination of redundant sections - a clear numbering of the sections so that they can be directly and precisely referred - to shift any accompanying material in the specification from the normative sections into the non-normative sections (Annexes) - the introduction of a common schema for the meta element descriptions, like it is done in UML, SysML or MARTE, which is used for each meta element
Revised Text: Apply the following changes to the outline: - Add a new chapter 5 �Symbols and acronyms� after chapter 4 �Terms and definitions� - Change current chapter 5 to chapter 6 - Change current chapter 6 to chapter 7 and rename it to �The UML Testing Profile (UTP)� - Make current sections 6.1 and 6.2 to unnumbered sections - Remove current section 6.3 and position its current subsections directly underneath chapter 7 o 6.3.1 -> 7.1 o 6.3.2 -> 7.2 o 6.3.3 -> 7.3 o 6.3.4 -> 7.4 - Move current section 6.4 to Annex C o Mark new Annex C as non-normative o Add a line to the very beginning of new Annex C: �The UTP MOF-based metamodel is obsolete since version 1.1 and will not be further maintained.� - Move current section 6.5 into Annex C and make it a subsection of it - Move current section 6.6 to Annex B o Declare Annex B as normative - Move current section 6.7 to Annex A o Declare Annex A as normative - Remove Annex A from the specification to avoid redundancy - Change current Annex B to Annex E Include two subsections �Abstract Syntax� and �Stereotype Descriptions� into each package of the UTP. Whereas the abstract syntax contains the stereotypes and their relationships (like in UML), the Stereotye descriptions are further structured. The structure for each stereotyped is similar to the UML class descriptions. It contains the following paragraphs: � Description: A rather general description of the element (just a few words) � Extensions: List to UML Classes, this stereotype extends (full qualified UML namespace name) � Generalizations: List of stereotypes, this stereotype specializes o In case no attributes section was mentioned for an already existing concept, use �None.�. � Attributes: List of additional attributes for this stereotype o In case no Attributes section was mentioned for an already existing concept, use �None.�. � Semantics: Detailed semantic description of the stereotype and the concept related to it � Constraints: Constraints expressed as both natural and formal (OCL) language, if possible o In case no constraints section was mentioned for an already existing concept, use �None.�. � Notation: Information regarding graphical representation of the stereotype o In case no notation section was mentioned for an already existing concept, use the sentence �No additional notation for �StereotypeName� defined�. � Examples: Usage examples or references to those o In case no examples section was mentioned for an already existing concept, use �None.�. The new structure is exemplarily outlined below: 1. Scope 2. Conformance 2.1 Summary of optional versus mandatory features 2.2 Proposed compliance points 3. Normative reference 4. Terms and definitions 5. Symbols 6. Additional information 6.1 Acknowledgements 6.2 Guide to material in the specification 7. The UML Testing Profile 7.1 Test Architecture 7.1.1 Abstract Syntax 7.1.2 Stereotype Descriptions 7.1.2.1 Stereotype name � Description: Extensions: List to UML Classes, this stereotype extends (full qualified UML namespace name) � Generalizations: List of stereotypes, this stereotype specializes � Attributes: List of additional attributes for this stereotype � Semantics: Detailed semantic description of the stereotype and the concept related to it � Constraints: Constraints expressed as both natural and formal (OCL) language, if possible � Notation: Information regarding graphical representation of the stereotype � Examples: Usage examples or references to those 7.2 Test Behavior 7.2.1 Abstract Syntax 7.2.2 Stereotype Descriptions (Stereotype description as done in 7.1.2.1) 7.3 Test Data 7.3.1 Abstract Syntax 7.3.2 Stereotype Descriptions (Stereotype description as done in 7.1.2.1) 7.4 Timer Concepts 7.4.1 Abstract Syntax 7.4.2 Stereotype Descriptions (Stereotype description as done in 7.1.2.1) A Mappings A.1 Mapping to JUnit A.2 Mapping to TTCN-3 B Examples B.1 Money Example B.2 Bank ATM Example B.3 Money Transfer Example C MOF-based Metamodel D Arbiter and Scheduler Protocol E XMI Schema E.1 The Profile E.2 The MOF-based Metamodel Remove any the word phrases �X extends Y� from the description paragraph of each stereotypes. Since the UML metaclass that is extended by this stereotype is precisely defined within the extensions paragraph (by giving the full qualified name of the metaclass within the UML Superstructure), those word phrases are redundant and inconvenient to read. This affects description paragraphs of stereotypes - SUT - TestLog - TimeOut - TimeOutMessage - TimeOutAction Disposition: Resolved
Actions taken:
October 22, 2010: received issue
October 21, 2011: closed issue

Discussion:
  


Issue 15771: Continuation information of DefaultApplication should be formalized as model concepts (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Significant
Summary:
UTP specification, section 6.4.2 Test Behavior, subsection DefaultApplication (p.19) say the following:  "A default application is a dependency used to apply a default behavior to a unit of testing on a test component. That unit of test behavior must be one of the following: Package, Classifier, Behavior, InteractionFragment, State, Region, or Activity."      Additionally, subsubsection Notation says the following:  "The notation for a default is identical to a Comment (i.e., a rectangle with a bent corner). The text in the comment symbol has the following syntax:          default default-identifier [continue | repeat [repetition-count] ]  If nothing is given following the default identifier, continue is assumed. If no repetition-count is given, infinity is assumed."      Description  ##########################################  The information, given in the notation section, determine how to proceed if a applied default is executed. Continue means that the process flow will continue after the behavior of the default was executed once. In contrast, repeat indicates the number of re-invocations of the default, in a case, when a previous execution has not matched.  Those information are crucial parts of �DefaultApplication�, hence, introducing them just as a remark in the notation section is not enough. Since the continuation information are currently just defined as �textual syntax�, meaning, there are no metamodel concepts for expressing the continuation behavior, it is not clear where (to what property of the extended metaclass �Dependency�) to add these information. Additionally, a parser is required to obtain the information from the text.  To easy both the applicability and understandability those information should be part of �DefaultApplication� as property. By doing so, access to the information is easy to get and to evaluate.

Resolution: Introduce a repetition attribute that determines the number of repetitions of the default behavior. The default value is unlimited (*). For further formalization a new constraint will be introduced, stating the target of the default application must be a behavior marked as <<Default>>.
Revised Text: Replace Figure Replace Figure 6.3 with (notice: Figure number already changed to 7.3 due to resolution of issue 15770) Update Text Add a property repetition of primitive type unlimited natural to �DefaultApplication� Attributes subsection of section DefaultApplication (notice: Attributes section was introduced by resolution of issue 15770) � repetition : UnlimitedNatural [1] = * A possibly unlimited integer value, indicating how often the behavior in the referenced default shall be invoked. Default value is * (unlimited). Update Text Change subsection Semantics of section DefaultApplication from Please refer to the semantics of Default. to A default application relates a default to a unit of test behavior. A unit of test behavior can be one of Package, Classifier, Behavior, InteractionFragment, State or Region. The unit of testing must be related to a test component. Default behavior can be integrated into any situation where the test component expects a particular reaction of the SUT. In case a default is applied to a Package, the default will be applied to each possible unit of testing of each test component either contained directly (child) or indirectly (descendant) in that package. In case a default is applied to an InteractionFragment, the InteractionFragment must cover a lifeline representing a test component. Most likely a default is applied to a subclass of OccurrenceSpecification, representing the reception of a signal or operation call or a reply message (MessageOccurrenceSpecification) on a test component lifeline. The repetition attribute indicates how often the default behavior will be executed, if none of the possibilities stated in the default becomes affected. 0 indicates the default will be executed once (continue), whereas * stands for unlimited repetition (repeat) of the behavior until either one of the possibilities stated in the default become affected, or the execution environment concludes the test case. It is supposed that the execution environment concludes with a Verdict::error, but not restricted to it. Update Constraint Since having both metaclasses (UML::Behavior and UML::Activity) mentioned in the constraint section, change the constraint [1] of subsection Constraints of section DefaultApplication from [1] The default application relates a default to a unit of test behavior. That unit of test behavior must be one of the following: Package, Classifier, Behavior, InteractionFragment, State, Region, or Activity To [1] The client of default application must be one of Package, Classifier, Behavior, InteractionFragment, State, or Region. Update Constraint Alter constraint [2] of subsection Constraints of section DefaultApplication from [2] The multiplicity of clientDependency is restricted to [0..1] to [2] The multiplicity of client of a default application is restricted to [1]. Update Constraint Add a new constraint into subsection Constraints of section DefaultApplication: [3] The supplier of a default application must be a Behavior with �Default� applied. Update Text Change paragraph in subsection Notation of section DefaultApplication from default default-identifier [continue | repeat [repetition-count] ] If nothing is given following the default identifier, continue is assumed. If no repetition-count is given, infinity is assumed. to default default-identifier [repetition] If no repetition-count is given, infinity is assumed. Update Text Change paragraph in subsection Semantics of section Default from The above rule applies when the default is defined as continue which is the situation if nothing is explicitly specified. When the default is defined as repeat, the resulting set of traces is more elaborate since the default portions are repeated a number of times depending on the repetition count of the repeat. To The above rule applies when the default application repetition attribute is set to 0 (called continue). When the default application repetition attribute is greater than 0 (called repeat), the resulting set of traces is more elaborate since the default portions are repeated a number of times depending on the repetition count of the repetition attribute. Disposition: Resolved see page 40 of ptc/2011-07-18 for figures
Actions taken:
October 22, 2010: received issue
October 21, 2011: closed issue

Discussion:
  


Issue 15772: Merging distributed semantical descriptions of elements (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Minor
Summary:
The subsection 6.3.1 � 6.3.4 define the profiles concepts, semantics and descriptions. Those descriptions are the main section of the whole specification, though it must be ideally free from ambiguities, redundancies and impreciseness.   Before introducing the profile�s elements, an introduction section is given.       Unfortunately, those introductions have been used to describe also detailed descriptions of an element�s objective and semantic. Even if an introduction into the following problem space is needful and helpful for the reader, the way how it was done in UTP is confusing, since the semantical descriptions are scattered over several subsections and sometimes even redundant.       This affects the following elements and their descriptions:  - 6.3.1: Arbiter, Scheduler,  SUT  - 6.3.2: Verdict, Default, FinishAction, LogAction, determAlt, TestLog  - 6.3.3: Data Pool, Data Partition, Data Selector, Coding Rules  - 6.3.4: Timer, TimeOut, Timezone    In order to keep the specification clean and easy to read and maintain, it should be precisely identified, what parts of the description should rather be positioned in the element�s subsections and what could remain in the introduction.

Resolution: The resolution of this issue will be done by a complete editorial review of the profile section, where the introductory sections of UTP concepts will be merged with the stereotype sections. Complete redundant information will be removed. Furthermore, the stereotype sections will be checked for redundancy as well. If necessary, the redundant information will be either merged or removed
Revised Text: Remove Text Remove the following text of section 6.1 (notice, numbering already removed by resolution of issue 15770) to avoid redundancy. All information are present in section 1: This section provides an overview and introduction to the UML Testing Profile. The UML Testing Profile defines a language for designing, visualizing, specifying, analyzing, constructing, and documenting the artifacts of test systems. It is a test modeling language that can be used with all major object and component technologies and applied to testing systems in various application domains. The UML Testing Profile can be used stand alone for the handling of test artifacts or in an integrated manner with UML for a handling of system and test artifacts together. The UML Testing Profile is defined by using the metamodeling approach of UML. It has been architected with the following design principles in mind: � UML integration: as a real UML profile, the UML Testing Profile is defined on the basis of the metamodel provided in the UML superstructure volume and follows the principles of UML profiles as defined in the UML infrastructure volume of UML 2.0. � Reuse and minimality: wherever possible, the UML Testing Profile makes direct use of the UML concepts and extends them and adds new concepts only where needed. Only those concepts are extended/added to UML, which have been demonstrated in the software, hardware, and protocol testing area to be of central relevance to the definition of test artifacts and are not part of UML. Remove Text Remove section title 6.2 �Structure of the UML Testing Profile� (numbering already removed by resolution of issue 15770) and merge its contents with Overview subsection Remove Text Remove introductory subsection Arbiter of section 6.3.1 (section already re-numbered to 7.1 by resolution of issue 15770) to avoid redundancy Update Text Change subsection Semantics of stereotype section Arbiter from The verdict setting semantics is defined by the classifier realizing the arbiter interface. One example of how to implement the setVerdict operation is the following: � If a verdict is pass, it can be changed to inconclusive, fail, or error only. � If a verdict is inconclusive, it can be changed to fail or error only. If a verdict is fail, it can be changed to error only. � If a verdict is error, it cannot be changed. The verdict setting semantics is defined by the classifier realizing the arbiter interface. One example of how to implement To Arbiter is a predefined interface provided with the UML Testing Profile. The purpose of an arbiter implementation is to determine the final verdict for a test case. This determination is done according to a particular arbitration strategy, which is provided in the implementation of the arbiter interface. The arbiter interface provides two operations for use in verdict setting: getVerdict and setVerdict. The setVerdict operation is used to provide updated information to the arbiter by a test component regarding the current status of the test case in which it is participating. Every validation action causes the setVerdict operation on the arbiter implementation to be invoked (see Section 7.2, �Test Behavior,� on page 17 for more information on validation actions.) A test case or a test context uses the arbiter to evaluate test results and to assign the overall verdict of a test case or test context respectively. There is a default arbitration algorithm based on functional, conformance testing, which generates Pass, Fail, Inconclusive, and Error as verdict, where the precedence of these verdicts are defined as Pass < Inconclusive < Fail < Error. The arbitration algorithm can be user-defined, if needed. Remove Text Remove introductory subsection Scheduler of section 6.3.1 (section already re-numbered to 7.1 by resolution of issue 15770) since Scheduler is no longer pat of the normative part of the profile. Remove Text Remove introductory subsection SUT of section 6.3.1 (section already re-numbered to 7.1 by resolution of issue 15770) to avoid redundancy. The content of SUT will be addressed by resolution for issue 16105. Remove Text Remove introductory subsection TestElements of section 6.3.1 (section already re-numbered to 7.1 by resolution of issue 15770) to avoid confusion of the readers. TestElement is neither an established term of testing or UTP, nor part of UTP. Update Text Shift the following parts of Description section of stereotype section TestComponent to the very beginning of the Semantics section: - A test component is commonly an active class with a set of ports and interfaces. - The classifier behavior of a test component can be used to specify low level test behavior, such as test scripts, or it can be automatically generated by deriving the behavior from all test cases in which the component takes part. Resulting text: Semantics A test component is a structured classifier participating in test behaviors. The classifier behavior of a test component can be used to specify low level test behavior, such as test scripts, or it can be automatically generated by deriving the behavior from all test cases in which the component takes part. The zone attribute is available at run-time, and GetTimezoneAction and SetTimezoneAction are used to get and set the timezone in run-time. The run-time representation of the timezone is not specified. The initial timezone of the component is specified in the model as a tagged value on the zone attribute. Remove Text Remove the introductory subsection Default from Section 6.3.2 (section already re-numbered to 7.2 by resolution of issue 15770) UpdateText Change the Description section of stereotype section Default from A default is a behavior used to handle unexpected or exceptional messages or events on one test component. To A system specification expressed in UML is not necessarily complete. To be complete in this sense means that it specifies every possible trace of execution. In particular if Interactions are used to specify the behavior, the normal situation is that the specification is partial only specifying in detail those scenarios that are of particular importance. In a testing context, however, there is a need to have complete definitions such that the number of erroneous test case executions can be kept to a minimum. The default specifications are units of specification defined in the UML Testing Profile as a means to make partial definitions of test components complete in a compact, yet flexible way. The UML Testing Profile defines mechanisms for defaults on Interactions as well as State Machines. The general idea about defaults is the following. A test behavior specification typically describes the normative or expected behaviors for the SUT. However, if during test execution an unexpected behavior is observed, then a default handler is applied. We have included default behavior definitions on several different levels. If the innermost default fail to recognize the observed behavior, the default of the next level is tried. The reason for designing with defaults rather than making sure that the main description is complete, is to separate the most common and normal situations from the more esoteric and exceptional. The distinction between the main part and the default is up to the designer and the test strategies. The UML Testing Profile has chosen to associate the default applications to static behavioral structures. In Interactions we may apply defaults to interaction fragments, in State Machines to StateMachines, States or Regions, and in Activities to Actions and Activities. Since each default in an Interaction applies only to one test component, we attach the defaults on interaction fragments to the intersection between the fragment and the test component. We said above that default behavior is invoked when the main description cannot describe the observed behavior. More precisely the default mechanism is invoked when a trigger in a State Machine or message reception in an Interaction or an action in an Activity is not defined by the main description or an explicit runtime constraint is violated. The point of default invocation will be well-defined as an event occurrence in Interactions or a State (-stack) in State Machines or an accept event action in Activities. Whenever a default behavior has executed, there is the question of where the main behavior should resume. There are several options, and the UML Testing Profile has chosen to distinguish between these different situations: � The default execution is considered an interrupt, and the main behavior should resume exactly at the trigger that led to the default interruption. This situation is called repeat. � The default execution is considered a limited disruption such that the resumption should be after the unit to which the executed default was attached. This situation is called continue. � The default execution is considered to conclude the test case execution. The test component should not return to its main description for this test case. This situation can be considered a special case of the continue-situation provided that there exists an action called �FinishAction�, which ensures the completion of the test case execution locally for this test component. We acknowledge that defaults are often described in the notation that the main description is made in. If the main specification is written with Interactions, the defaults will normally be Interactions. But it is possible with hybrid descriptions where, for example, some defaults to a main description written in Interactions are in fact State Machines. Remove Text Remove introductory subsection Verdict from Section 6.3.2 (section already re-numbered to 7.2 by resolution of issue 15770) UpdateText Change the Description section of stereotype section Verdict from A verdict is a predefined enumeration specifying the set of possible evaluations of a test. Four literals are defined: pass, fail, inconclusive, error. To A verdict is a predefined enumeration specifying the set of possible evaluations of a test case. Five enumeration literals are defined: none, pass, fail, inconclusive, error. UpdateText Add an enumeration literal none into the list of verdicts in the Description section of stereotype section Verdict � none The test case has not been executed yet. Update Text Change the Semantics section of stereotype section Verdict from The Verdict has no semantics other than that of a plain enumeration. The order of the predefined literals are: error, fail, inconclusive, pass. To The verdict is a predefined enumeration datatype that contains at least the values none, fail, inconclusive, pass, error indicating how this test case execution has performed. When a test case is not executed yet or just invoked, its verdict is none. None indicates that no communication between test components and the SUT has been carried out yet. None is the weakest verdict. It is never set by the tester directly. A pass indicates that the test case is successful and that the SUT has behaved according to what should be expected. A fail on the other hand shows that the SUT is not behaving according to the specification. An inconclusive means that the test execution cannot determine whether the SUT performs well or not. An error tells that the test system itself and not the SUT fails. The precedence rules for the predefined literals are: none < pass < inconclusive < fail < error. This means whenever a test component submits a local verdict fail, the final test case verdict will never result with a pass, nor inconclusive. The final verdict of a test case is determined by an arbiter. UpdateText Change Notation section of Enumeration section Verdict from The predefined literals pass, inconclusive, fail, and error are shown as keywords (normally in bold face). To The predefined literals none, pass, inconclusive, fail, and error are shown as keywords (normally in bold face). Replace Figure Replace Figure 6.4 (notice this figure has been renumbered to Figure 7.4 by resolution of issue 15770 and was already replaced by resolution of issue 16563) with Remove Text Remove introductory sections Utilities from Section 6.3.2 (section already re-numbered to 7.2 by resolution of issue 15770) to avoid redundancy. This includes the paragraphs for FinishAction, LogAction, determAlt and TestLog. Remove Text Remove introductory section Data Pool from Section 6.3.3 (section already re-numbered to 7.3 by resolution of issue 15770) to avoid redundancy Update Text Change the Semantics section of stereotype section DataPool from The semantics of a data pool are given by the classifier, and contained data partitions, that realizes it. To Test cases are often executed repeatedly with different data values to stimulate the SUT in various ways. Also when observing data, abstract equivalence classes are used to define sets of allowable values. Typically these values are taken from data partitions, or lists of explicit values. For this purpose a data pool provides a means for associating data sets with test contexts and test cases. A data pool is a classifier containing either data partitions (equivalence classes), or explicit values; and can only be associated with either a test context or test components. Remove Text Remove introductory section Data Partition from Section 6.3.3 (section already re-numbered to 7.3 by resolution of issue 15770) to avoid redundancy Update Text Change the Semantics section of stereotype section DataPartition from The semantics of a data partition are given by the classifier that realizes it. To A data partition is used to define an equivalence class for a given type (e.g., �ValidUserNames� etc.). By denoting the partitioning of data explicitly we provide a more visible differentiation of data. A data partition is a stereotyped classifier that must be associated with a data pool. Remove Text Remove introductory section Data Selector from Section 6.3.3 (section already re-numbered to 7.3 by resolution of issue 15770) to avoid redundancy Update Text Change the Semantics section of stereotype section DataSelector from The semantics of a data selector are given by the classifier that realizes it. To To facilitate the different data selection strategies and data checking one or more data selectors can be associated with either a data pool or data partition. Typically, these data selectors are operations that operate over the contained values or value sets. Remove Text Remove introductory section Coding Rules from Section 6.3.3 (section already re-numbered to 7.3 by resolution of issue 15770) to avoid redundancy Remove Text Remove second paragraph from section 6.3.4 (section already re-numbered to 7.4 by resolution of issue 15770). Removed text: Timers are used as a means to manipulate and control test behavior, or to assure that a test case terminates properly. Timezones are used to group and synchronize test components within a distributed test system. Remove Text Remove introductory section Timer and Timeout from Section 6.3.4 (section already re-numbered to 7.4 by resolution of issue 15770) to avoid redundancy Update Text Change the Description section of stereotype section Timer from A predefined interface specifying features needed to specify a timer. A timer is owned by an active class and is started with a predefined time of expiration. A timeout is generated automatically when a timer expires and is sent to the timer owner. A timer can either be private or public. If private, the timer can only be accessed by its owned active class. If public, anyone with sufficient visibility may access and manipulate the timer. To A predefined interface specifying features needed to specify a timer. A timeout is generated automatically when a timer expires and is sent to the timer owner. Update Text Change the Semantics section of stereotype section Timer from Timers can be started, stopped, and checked by StartTimerAction, StopTimerAction, TimerRunningAction, and ReadTimerAction. A timeout is generated when the timer expires. A public timer is allowed to be started or stopped by any other active class. Start an active timer means a restart of the timer. To A timer is owned by an active class, commonly participating in test cases, and is started with a predefined time of expiration. A timer can either be private or public. If private, the time can only be accessed by its owning active class. If public, anyone with sufficient visibility may access and manipulate the timer. When a timer expires after its predefined time, a timeout is generated automatically. It is sent immediately to the active class that owns the timer. What timeout representation is used for the timeout depends on the behavioral description in that the timeout is supposed to occur. Timers can be started, stopped, and checked by a start timer action (calling start()), a stop timer action (calling stop()), a timer running action (reading property isRunning), and a read timer action (calling read()). By means of the start() operation, a timer may be started with a certain time value. The predefined time value of a timer is always positive. For example, �start Timer1(now+2.0)� means to start a timer and to stop it at latest in 2 time units, otherwise it expires. With the stop() operation, an active timer can be stopped. The expiration time of an active timer can be retrieved by the read() operation. The timer attribute isRunning is a boolean value and indicates whether the timer is still active or not. Remove Text Remove introductory section Timezone from Section 6.3.4 (section already re-numbered to 7.4 by resolution of issue 15770) to avoid redundancy Update Text Append the following text to the subsection Semantics of primitive type section Timezone: Comparing time-critical events within the same timezone is allowed. Comparing time-critical events of different timezones is a matter of semantic variation point and should be decided by the tool vendor. By default, comparison between events in two different timezones is illegal Update Text Change text of section Description of stereotype section TimeOut from A TimeOut is generated by a timer when it expires and may trigger an associated behavior (e.g., a transition in a statemachine). To A timeout event represents the timeout mechanism for usage in StateMachines. Update Text Change text of section Description of stereotype section TimeOutMessage from A TimeOutMessage is generated by a timer when it expires. The timeout message is sent to the active class that owns the timer. To A timeout message represents the timeout mechanism for usage in Interactions. Update Text Change text of section Description of stereotype section TimeOutAction from A timeout is enabled by a timer when it expires. An activity having the TimeOutAction as input condition occurs, when the timeout is enabled (and when all further input conditions are satisfied). To A timeout action represents the timeout mechanism for usage in Activities. Update Text Shift the following part from Description section to the end of Semantics section of stereotype section TimerRunningAction: Returns a boolean value, true if the timer is running, false otherwise.
Actions taken:
October 22, 2010: received issue
October 21, 2011: closed issue

Discussion:
see figure on page 68 of ptc/2011-07-18


Issue 15773: Contents and location of chapter 4 must be clarified (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Minor
Summary:
Chapter 4 �Terms and Definitions� copes with defining a common terminology for the further specification. Its subsections reflects the logical packages of the UTP, hence it should be rather a subsection of chapter 6.       Chapter 6 �The UML Testing Profile� deals with the profiles and its elements exclusively, so adding a subsection for defining a common terminology and providing an overall overview of the subsequently discussed profile and MOF-based metamodel (which are structured by the same logical packages) fits into the intention of chapter 6. It also concentrates the domain-specific knowledge of the profile�s concepts in the core chapter, what may help reader to find and retrieve information on a particular element.    Additionally, chapter 4 must be thoroughly revised regarding its content. Currently, there is no agreement of what is included in the sections. For example, section 4.1 �Test Architecture� contains all profile element�s (and additional, logical concepts being no part of the profile) whereas subsection 4.4 �Timer Concepts� just discuss a subset of the profile element�s.

Resolution: The Terms and Definitions section will be merged into just one section, so the distinction between the logical packages of UTP will be removed. To avoid redundancy, whenever a term is represented as a dedicated concept (a stereotype) in the UTP a reference to the more elaborated descriptions and semantics of the stereotype will be inserted. The information of the definition is not lost and was partially merged by the resolution of issue 15772 and 16105.
Revised Text: Replace Text Replace the content of section 4 (including all subsection of section 4) with Arbiter See description of interface Arbiter (a predefined interface) Black box testing A test conducted without knowledge of the internal structure of the system under test. Coding Rule See description of �CodingRule� Component testing The testing of individual software components (see [ISTQB]). Coordination Concurrent (and potentially distributed) test components have to be coordinated both functionally and in time in order to assure deterministic and repeatable test executions resulting in well-defined test verdicts. Coordination is done explicitly with normal message exchange between components or implicitly with general ordering mechanisms. Data Partition See description of �DataPartition� Data Pool See description of �DataPool� Default See description of �Default� Glass box testing See White box testing Integration testing Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems (see [ISQTB]). LogAction See description of �FinishAction� Observation Test data reflecting the reactions from the SUT and used to assess the SUT reactions which are typically the result of a stimulus sent to the SUT. Scheduler See description of interface Scheduler in the Annex. Stimulus Test data sent to the SUT in order to control it and to make assessments about the SUT when receiving the SUT reactions to these stimuli. SUT See description of �SUT� System testing The process of testing an integrated system to verify that it meets specified requirements (see [ISQTB]). Test behavior Dynamic aspects of a test case or parts of the test components involved in the test case. Test case See description of �TestCase� Test Component See description of �TestComponent� Test Configuration The collection of test component objects and of connections between the test component objects and to the SUT. The test configuration defines both (1) test component objects and connections when a test case is started (the initial test configuration) and (2) the maximal number of test component objects and connections during the test execution. Test Context See description of �TestContext� Test Control A test control is a specification for the invocation of test cases within a test context. It is a technical specification of how the SUT should be tested with the given test context. Test Invocation A test case can be invoked with specific parameters and within a specific context. The test invocation leads to the execution of the test case. The test invocation is denoted in the test log. Test Log See description of �TestLog� Test Objective See description of �TestObjective� Testing The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects. [ISTQB]. Any activity which provide information on the qualities of a system under test. Timer See description of interface Timer (a predefined interface) Timezone See description of type Time (a predefined type) Unit testing See Component testing. Utility Part A part of the test system representing miscellaneous components that help test components to realize their test behavior. Examples of utility parts are miscellaneous features of the test system. Validation The process of determining whether or not the software and/or its specification meet system requirements and user needs at both functional and performance levels (see [IEEE1012]). Answers: Did we build the right product. Validation Action See description of �ValidationAction� Verification The process of determining whether the product of each step of the development process satisfies all of the �requirements� implemented from the previous step (see [IEEE1012]). Answers: Did we build the product right. White box testing Testing based on an analysis of the internal structure of the component or system. Wildcard Wildcards allow the user to explicitly specify whether the value is present or not, and/or whether it is of any value. Wildcards are special symbols to represent values or ranges of values. Wildcards are used instead of symbols within instance specifications. Three wildcards exist: a wildcard for any value, a wildcard for any value or no value at all (i.e. an omitted value), and a wildcard for an omitted value. See description of �LiteralAny� and �LiteralAnyOrNull� Update Text Change first bullet point of first paragraph of section 6.2 (notice that section 6.2 has been merged with section overview by resolution of issue 15772 and numbering was removed by resolution of issue 15770) from Test architecture defining concepts related to test structure and test configuration. To Test architecture defining concepts related to structural aspects of test specifications and test configuration.
Actions taken:
October 22, 2010: received issue
October 21, 2011: closed issue

Discussion:
  


Issue 15813: Figure 6.19 need clarification (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
In section 6.6.1 Money Example, Figure 6.19 shows a generalization relationship between IMoney and Money/MoneyBag.      The prefix "I" supposes the IMoney classifier to be an interface. If so, the generalization relationship is wrongly used. Instead, this should rather be a InterfaceRealization (dashed arrow).    But if so IMoney classifier is supposed to be a class, the prefix "I" should removed. This would require the class to be renamed, to avoid name clashes with the specialized class "Money".

Resolution: Agreed, the relationship must be an InterfaceRealization
Revised Text: Replace Figure 6.19 (Figure number has been changed to Figure B.3 by resolution of issue 15770)
Actions taken:
November 11, 2010: received issue
October 21, 2011: closed issue

Discussion:
  


Issue 15907: Errornous constraint description of TestLogApplication (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
The second constraint of TestLogApplication seems to be wrong. Currently, it says:      "[2] The supplier of a test log must be a named element with a test log stereotype applied"      This must rather be:  "[2] The supplier of a test log application must be a named element with a test log stereotype applied"                                             Rational: A dependency going from a �TestLog� to a �TestCase� or a �TestContext�.    Discussion: The direction of <<TestLogApplication>> currently points from a <<TestCase>> to a <<TestLog>>. Given the UML semantics of UML::Dependency, this would be interpreted as the test case is depending on the test log. Actually, this must be switched, since a test case specification is complete and not depending on the test log elements. Rather, a test log is depending on a test case/test context, expressing that this test log was created due to the test case specification it points to.  [1] The client of a test log application must be a named element with a test case or test context stereotype applied.  [2] The supplier of a test log application must be a named element with a test log stereotype applied    

Resolution: A test case should never be logically dependent on its logs. Flip the direction of the test log application as proposed in the summary
Revised Text: Change Constraints section of stereotype TestLogApplication from: [1] The client of a test log application must be a named element with a test case or test context stereotype applied. [2] The supplier of a test log must be a named element with a test log stereotype applied. To [1] The client of a test log application must be a NamedElement with �TestLog� applied. [2] The supplier of a test log application must be a NamedElement with �TestCase� or �TestContext� applied. Disposition: Resolved
Actions taken:
January 4, 2011: received issue
October 21, 2011: closed issue

Discussion:
  


Issue 15908: "Testing Profile" word phrases should be changed (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
The specification is ambiguous regarding the usage of its correct name within the descriptional sections. Sometimes, "UML Testing Profile" is mentioned, sometines "Testing Profile" is mentioned.    In order to increase editorial consistency and cohasion this should be consequently changed to either "UML Testing Profile" or "UTP"

Resolution: Agreed. �UML Testing Profile� shall be consequently used.
Revised Text: Change any occurrence of �Testing Profile� phrase without a leading �UML� to �UML Testing Profile� within the specification
Actions taken:
January 4, 2011: received issue
October 21, 2011: closed issue

Discussion:
  


Issue 15909: Stereotypes should be decorated with angle brackets �� (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
Within the descriptional sections, the specification often refers to stereotype names, without showing the typical stereotype brackets (��).   For example:      "A data partition stereotyped classifier..." may be changed to  "A �DataPartition� stereotyped classifier.."      or      "The notation for data partition is a classifier with stereotype data partition."  may be changed to  "The notation for data partition is a classifier with stereotype �DataPartition�."    This should be consequently done along the descriptional sections to increase redeability and consistency, also regarding other UML profile specifications.

Resolution: The sections need to be harmonized with each other. The contents of the stereotype sections vary from section to section. Sometimes stereotypes are written in upper-case letters (e.g. GetTimezoneAction), sometines in lower-case letters (e.g. default, default application, test component). The same counts for the notation sections of each stereotype. The resolution of this issue aims at aligning the stereotype's section with each other by using the following scheme: All UML metaclasses are written in camel-case style starting with upper-case letters (e.g. StructuredClassifier) All UTP concepts are written in lower-case letters (e.g. default application, get timezone action) in the description and semantics section. Whenever a dedidacted UTP concept is referenced, the stereotype style is used (e.g. see �ValidationAction� for further details). In case the concept does not represent a stereotype, the letter-case variant is used (e.g. No additional notation for arbiter defined). - UTP concepts in the examples sections are written in stereotype style (�ValidationAction�) since the examples section addresses the application of the technical concept, i.e. the stereotype. UTP concepts in the notation sections are written in stereotype style (�ValidationAction�) since the notation section addresses the visualization of the technical concept, i.e. the stereotype. When no additional notation is defined for the stereotype, the standardized paragraph �No additional notation for �StereotypeName� defined.� is used. In the constraint section, the stereotype style (�TestContext�) is used when the constraints required a particular stereotype to be applied on a UML metaclass (e.g. �a classifier with �TestContext� applied� instead of �a classifier with test context stereotype applied�).
Revised Text: Add a new unnumbered subsection with title �Comments on Notations� to section 6.3 (notice, section already re-numbered to 7 by resolution of issue 15770) and with the following text: As a native UML profile, the UML Testing Profile inherits the predefined visualization capabilities of UML (see [UML] section 18 Profiles, in particular section 18.3.8 Stereotypes). For some concepts additional notations are defined, which are explicitly denoted and described in the Notation section of each UTP stereotype. In case where no additional notation is defined, the phrase �No additional notation for �StereotypeName� defined� is used. Update Text Replace the beginning of Description section of stereotype section SUT The SUT stereotype is applied to with �SUT� is applied to Update Text Replace Notation section of stereotype section SUT No additional notation for �SUT� defined. Update Text Replace the beginning of Examples section of stereotype section SUT Examples of SUTs can be found in with Examples of �SUT� can be found in Update Text Replace paragraph of Semantics section of stereotype section TestComponent The zone attribute is available at run-time, and GetTimezoneAction and SetTimezoneAction are used to get and set the timezone in run-time. with The zone attribute is available at run-time, and get timezone action and set timezone action are used to get and set the timezone in run-time. Update Text Replace Notation section of stereotype section TestComponent No additional notation for �TestComponent� defined. Update Text Replace the beginning of Examples section of stereotype section TestComponent Examples of test components can be found in with Examples of �TestComponent� can be found in Update Text Replace Notation section of stereotype section TestContext with: No additional notation for �TestContext� defined. Update Text Replace the beginning of Examples section of stereotype section TestContext Examples of test contexts can be found in with Examples of �TestContext� can be found in Update Text Replace Notation section of stereotype section Default with: No additional notation for �Default� defined. Update Text Replace the beginning of Examples section of stereotype section Default Examples of defaults can be found in with Examples of �Default� can be found in Update Text Change first paragraph of Notation section of stereotype section DefaultApplication from: The notation for a default is identical to a Comment (i.e., a rectangle with a bent corner). The text in the comment symbol has the following syntax: To The notation for a �DefaultApplication� is identical to a Comment (i.e., a rectangle with a bent corner). The text in the comment symbol has the following syntax: Update Text Replace the beginning of Examples section of stereotype section DefaultApplication Examples of DefaultApplication can be found in with Examples of �DefaultApplication� can be found in Update Text Replace the beginning of Examples section of stereotype section DetermAlt An example determAlt operator with An example of �DetermAlt� can be found in Update Text Change the Notation section of stereotype section FinishAction from: In Interaction diagrams, the FinishAction is shown as a black rectangle on the lifeline. In StateMachine diagrams, the FinishAction is shown as a flow branch ending in a black quadrat. In Activity diagrams, the FinishAction is shown as a black quadrat. To An example of �DetermAlt� can be found in In Interaction diagrams, the �FinishAction� is shown as a black rectangle on the lifeline. In StateMachine diagrams, the �FinishAction� is shown as a flow branch ending in a black quadrat. In Activity diagrams, the �FinishAction� is shown as a black quadrat. Update Text Replace the beginning of Examples section of stereotype section FinishAction An example of finish action� with An example of �FinishAction� � Update Text Change the Constraint section of stereotype section TestCase from: [2] A test case stereotype cannot be applied both to a behavior and its specification. [3] If a test case stereotype is applied to an operation, the featuring classifier must have test context stereotype applied. [4] If a test case stereotype is applied to a behavior, the context of the behavior must have the test context stereotype applied. To [2] �TestCase� cannot be applied both to a behavior and its specification. [3] If �TestCase� is applied to an operation, the featuring classifier must have �TestContext� applied. [4] If �TestCase� is applied to a behavior, the context of the behavior must have �TestContext� applied. Update Text Replace Notation section of stereotype section TestCase with: No additional notation for �TestCase� defined. Update Text Replace the beginning of Examples section of stereotype section TestCase Examples of test cases� with Example of �TestCase� � Update Text Change the Notation section of stereotype section TestLogApplication from: The notation for a test log is identical to a comment (i.e., a rectangle with a bent corner) with the keyword testlog. To The notation for a �TestLogApplication� is identical to a comment (i.e., a rectangle with a bent corner) with the keyword testlog. Update Text Change the Constraints section of stereotype section TestObjective from: [1] The client of a test objective must be a named element with a test case or test context stereotype applied To [1] The client of a test objective must be a named element with �TestCase� or �TestContext� applied Update Text Replace the beginning of Examples section of stereotype section TestObjective A test objective is shown� with A �TestObjective� � Update Text Change the Semantics section of stereotype section ValidationAction from: A ValidationAction calls the setVerdict operation on the arbiter of the test context. To A validation action calls the setVerdict operation on the arbiter of the test context. Update Text Change the Constraints section of stereotype section ValidationAction from: [4] Validation actions can only be used in test cases (i.e., a behavior where the test case stereotype is applied to the behavior or its specification). To [4] Validation actions can only be used in test cases (i.e., a behavior where �TestCase� is applied to the behavior or its specification). Update Text Replace the first paragraph of Notation section of stereotype section ValidationAction The notation for a validation action is an ordinary action with the validation action stereotype applied. with No additional notation for �ValidationAction� defined. Update Text Replace the beginning of Examples section of stereotype section ValidationAction from (notice, figure numbering was already changed to Figure 7.9 by the resolution of issue 15770) In Figure 6.9 two validation actions are shown. with In Figure 6.9 two examples of �ValidationAction� are shown. Update Text Change the second paragraph of introductory section Wildcards of section 6.3.3 (notice, section already re-numbered to 7.3 by resolution of issue 15770) from UML 2.0 provides LiteralNull, which is used by the UML Testing Profile for the representation of omitted values. Wildcards for any value (LiteralAny) and any value or omit (LiteralAnyOrNull) are extensions to UML 2.0. To UML 2.3 provides LiteralNull, which is used by the UML Testing Profile for the representation of omitted values. Wildcards for any value (�LiteralAny�) and any value or omit (�LiteralAnyOrNull�) are extensions to UML 2.3. Update Text Replace the beginning of Notation section of stereotype section CodingRule The notation for a coding rule is identical� with The notation for a �CodingRule� is identical... Update Text Replace the beginning of Examples section of stereotype section CodingRule A coding rule example� with A �CodingRule� example... Update Text Replace the beginning of Description section of stereotype section DataPool The data pool stereotype extends a classifier or property to specify a container for explicit values or data partitions that are used by test contexts or test cases. with A data pool specifies a container for explicit values or data partitions that are used by test contexts or test cases. Update Text Change Constraints section of stereotype section DataPool from: [1]A data pool stereotyped classifier can only be referenced by a test context or test component. [2]A data pool stereotyped property can only be applied to a property associated connected with a test component within the context of a �TestContext� stereotyped classifier. [3]A data pool stereotyped classifier cannot be associated with both a test context and a test component. To [1]A classifier with �DataPool� applied can only be referenced by a test context or test component. [2]A property with �DataPool� applied can only be applied to a property associated connected with a test component within the context of a classifier with �TestContext� applied. [3]A classifier with �DataPool� applied cannot be associated with both a test context and a test component. Update Text Replace Notation section of stereotype section DataPool with: No additional notation for �DataPool� defined. Update Text Replace the beginning of Examples section of stereotype section DataPool A data pool example is given in� with A �DataPool� example is given in� Update Text Replace the beginning of Description section of stereotype section DataPartition The data partition stereotype extends a classifier to specify a container for a set of values. with A data partition specifies a container for a set of values. Update Text Change Constraints section of stereotype section DataPartition from: A data partition stereotyped classifier can only be associated with a data pool or another data partition. To [1] A classifier with �DataPartition� applied can only be associated with a data pool or another data partition. Update Text Replace Notation section of stereotype section DataPartition with: No additional notation for �DataPartition� defined. Update Text Replace the beginning of Examples section of stereotype section DataPool A data pool example is given in� with A �DataPool� example is given in� Update Text Replace the beginning of Description section of stereotype section DataSelector The data selector stereotype extends an operation to allow the implementation of different data selection strategies with A data selector allows the implementation of different data selection strategies Update Text Change Constraints section of stereotype section DataSelector from: [1] If �DataSelector� is applied to an operation, the featuring classifier must have either �DataPool� or �DataPartition� applied. To [1] A classifier with �DataPartition� applied can only be associated with a data pool or another data partition. Update Text Replace Notation section of stereotype section DataSelector with: No additional notation for �DataSelector� defined. Update Text Replace the beginning of Examples section of stereotype section DataSelector A data selector example is given in� with A �DataSelector� example is given in� Update Text Change Description section of stereotype section LiteralAny from: LiteralAny is a wildcard specification representing any value out of a set of possible values To Literal any is a wildcard specification representing any value out of a set of possible values Update Text Change Semantics section of stereotype section LiteralAny from: If a LiteralAny is used as a literal specification, it denotes any possible value out of a set of possible values. If it is used (e.g., for the reception of a message in an interaction), it specifies that the specified message with any value at the place of the LiteralAny is to be received. If it is used (e.g., for the sending of a message in an interaction), it specifies that this message with a selected value at the place of the LiteralAny is to be sent. The selection of this value can be done along different selection schemes such as default values or random values. To If a literal any is used as a literal specification, it denotes any possible value out of a set of possible values. If it is used (e.g., for the reception of a message in an interaction), it specifies that the specified message with any value at the place of the literal any is to be received. If it is used (e.g., for the sending of a message in an interaction), it specifies that this message with a selected value at the place of the literal any is to be sent. The selection of this value can be done along different selection schemes such as default values or random values. Update Text Change Notation section of stereotype section LiteralAny from The notation for LiteralAny is the question mark character, �?� To The notation for �LiteralAny� is the question mark character, �?� Update Text Change Description section of stereotype section LiteralAnyOrNull from: LiteralAnyOrNull is a wildcard specification representing any value out of a set of possible values, or the lack of a value. To Literal any or null is a wildcard specification representing any value out of a set of possible values Update Text Change Semantics section of stereotype section LiteralAnyOrNull from: If a LiteralAnyOrNull is used as a literal specification, it denotes any possible value out of a set of possible values or the lack of the value. If it is used (e.g., for the reception of a message in an interaction), it specifies that the specified message with any value at the place of the LiteralAnyOrNull or without that value is to be received. If it is used (e.g., for the sending of a message in an interaction), it specifies that this message with a selected value or without a value at the place of the LiteralAnyOrNull is to be sent. The selection of this value or the selection of the absence can be done along different selection schemes such as default values or random values. To If a Literal any or null is used as a literal specification, it denotes any possible value out of a set of possible values or the lack of the value. If it is used (e.g., for the reception of a message in an interaction), it specifies that the specified message with any value at the place of the Literal any or null or without that value is to be received. If it is used (e.g., for the sending of a message in an interaction), it specifies that this message with a selected value or without a value at the place of the Literal any or null is to be sent. The selection of this value or the selection of the absence can be done along different selection schemes such as default values or random values. Update Text Change Notation section of stereotype section LiteralAnyOrNull from The notation for LiteralAnyOrNull is the star character, �*� To The notation for �LiteralAnyOrNull� is the star character, �*� Update Text Change Semantics section of stereotype section GetTimezoneAction from The GetTimezoneAction can be invoked at run-time by a test component to retrieve its current time zone. The result is a Timezone value. To The get timezone action� can be invoked at run-time by a test component to retrieve its current time zone. The result is a Timezone value. Update Text Replace Notation section of stereotype section GetTimezoneAction with: No additional notation for �GetTimezoneAction� defined. Update Text Change Semantics section of stereotype section SetTimezoneAction from The SetTimezoneAction can be invoked at run-time by a test component to set its current time zone. The value of a SetTimezoneAction refers to a Timezone value. To The set timezone action can be invoked at run-time by a test component to set its current time zone. The value of a set timezone action refers to a Timezone value. Update Text Replace Notation section of stereotype section SetTimezoneAction with: No additional notation for �SetTimezoneAction� defined. Update Text Change Semantics section of stereotype section ReadTimerAction from The ReadTimerAction reads the expiration time of a timer. The ReadTimerAction returns null for timers that are not running. To The read timer action reads the expiration time of a timer. The read timer action returns null for timers that are not running Update Text Replace Notation section of stereotype section ReadTimerAction with: No additional notation for �ReadTimerAction� defined. Update Text Change Semantics section of stereotype section StartTimerAction from The StartTimerAction starts a timer. The StartTimerAction on a running timer restarts the timer. To The start timer action starts a timer. The start timer action on a running timer restarts the timer. Update Text Change the first sentence of Notation section of stereotype section StartTimerAction from: The notation for a StartTimerAction is an empty hourglass To The notation for a �StartTimerAction� is an empty hourglass Update Text Replace the beginning of Examples section of stereotype section StartTimerAction: A start timer action example� with A �StartTimerAction� example� Update Text Change Semantics section of stereotype section StopTimerAction from The StopTimerAction stops a running timer. The StopTimerAction on a timer that is not running has no effect. To The stop timer action stops a running timer. The stop timer action on a timer that is not running has no effect. Update Text Change the first sentence of Notation section of stereotype section StopTimerAction from: The notation for a StopTimerAction is a cross To The notation for a �StopTimerAction� is a cross. Update Text Replace the beginning of Examples section of stereotype section StopTimerAction: A stop timer action example� with A �StopTimerAction� example� Update Text Change Semantics section of stereotype section TimeOut from A TimeOut is generated by a timer when it expires and may trigger an associated behavior. The TimeOut is placed in the input pool of the object owning the timer. To A timeout is generated by a timer when it expires and may trigger an associated behavior. The timeout event is placed in the input pool of the object owning the timer. Update Text Change Semantics section of stereotype section TimeOutMessage from A TimeOutMessage is generated by a timer when it expires. The timeout message is sent to the active class that owns the timer. To A timeout message is generated by a timer when it expires. The timeout message is sent to the active class that owns the timer. Update Text Change the first sentence of Notation section of stereotype section TimeOutMessage from: The notation for the TimeOutMessage is an empty hourglass. To The notation for the �TimeOutMessage� is an empty hourglass. Update Text Change the beginning of the Examples section of stereotype section TimeOutMessage from: A TimeOutMessage example can be found To A �TimeOutMessage� example can be found Update Text Change Semantics section of stereotype section TimeOutAction from A timeout is enabled when the timer expires. It may trigger an associated activity. The TimeOutAction occurs, when all input conditions for that activity are satisfied (including the TimeOutAction). To A timeout is enabled when the timer expires. It may trigger an associated activity. The timeout action occurs, when all input conditions for that activity are satisfied (including the timeout action). Update Text Change the beginning of the Notation section of stereotype section TimeOutAction from: The notation for the TimeOutAction is an empty hourglass� To The notation for the �TimeOutAction� is an empty hourglass� Update Text Change the last sentence of the Notation section of interface section Timer from: For details, look in the sections for StartTimerAction, StopTimerAction, and ReadTimerAction. To For details, look in the sections for �StartTimerAction�, �StopTimerAction�, and �ReadTimerAction�. Update Text Change Semantics section of stereotype section TimerRunningAction from The TimerRunningAction checks the running status of a timer. Returns a boolean value, true if the timer is running, false otherwise. To The timer running action checks the running status of a timer. Returns a boolean value, true if the timer is running, false otherwise. Update Text Change the first sentence of Notation section of stereotype section TimerRunningAction from: The notation for a timer running action is an ordinary action with the timer running action stereotype applied. To No additional notation for �TimerRunningAction� defined.
Actions taken:
January 4, 2011: received issue
October 21, 2011: closed issue

Discussion:
  


Issue 15910: Test Context must be a UML::BehavioredClassifier, too (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
Rational:  UTP spec, 1.0, section 6.3.1 TestArchitecture, subsection TestContext, subsubsection Description mentiones the following:   "A structured classifier acting as a grouping mechanism for a set of test cases. The composite structure of a test context is   referred to as test configuration. The classifier behavior of a test context is used for test control."      Issue:  Since a test context extends UML::StructuredClassifier solely, a test context will never have a classifier behavior or operations, representing the test cases of that test context. StructuredClassifiers do not care about behavior but about structure. In order to be able to add a classifier behavior to a test context, it is required, that test context stereotypes only those classifiers that are subclasses of UML::StructuredClassifier AND UML::BehavioredClassifier (context TestContext inv: self.base_StructuredClassifier.oclIsKindOf(StructuredClassifier) and self.base_StructuredClassifier.oclIsKindOf(BehavioredClassifier).    Even if in the current UML specification (haven't checked this thoroughly) all concrete subclasses of StructuredClassifier are subclasses of BehavioredClassifers, too, UTP should formally define this constraint since it is a crucial aspect of test context semantics

Resolution:
Revised Text:
Actions taken:
January 4, 2011: received issue
October 21, 2011: closed issue

Discussion:
Resolution is to include the metaclass BehavioredClassifier as well into the normative description and semantics of TestContext.  Disposition:	See issue 16163 for disposition  


Issue 15913: Test management should be supported (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: sepp.med (Dr. Armin Metzger, armin.metzger(at)seppmed.de)
Nature: Enhancement
Severity: Significant
Summary:
There is missing support of test management issues within the current version of UTP in contradiction to the fact, that test frameworks usually are supported by a tool based or manual test management process.  One of the major tasks of test management is to decide, which test cases must be executed. In safety-critical environments, good rationale shall be given if test cases are ommited. To establish corresponding process interfaces from model based test design to test management, the test models have to be enriched with test management features.  Currently, UTP test cases are supposed to be independent of the specific configuration of the SUT. If product variants are tested, specific test cases may be required that only apply to one or several variants (but not all).   This is very important to fulfill basic regulatory affairs, e.g. IEEE 826 defining the content of test plan and test design.  Example 1: A test case attribute "priority" in the model can be used, to include the design of prioritized test sets within the model used for stakeholder review and later for test suite management in the test management tool used.  Example 2: Explicite tags for requirements as model attributes to test cases enable a traceable and efficient requirements based test design with UTP models and can be used as a basis for tool interfaces / synchronization tools between requirements engineering and test design.

Resolution: Test management aspects become more and more important. UTP should target those aspects as well. Since test management is not in scope of the initial RFP of the UTP, the RTF decided to define a basic set of test management attributes in an additional non-normative annex. The RTF defined a common set of important attributes which are reusable for a lot of test management aspects (like version, description�). Those information are grouped in a newly created stereotype called ManagedElement. As part of the resolution, an issue will be submitted to the UML, since most of those information are general purpose information and should be included in UML as well. Additionally, some more test-specific attributes are added directly into already existing concepts to enable them for test management purposes.
Revised Text: Add new Annex Add a new non-normative Annex to the end of the UML Testing Profile with content Annex F - Test Management Concepts (non-normative) F.1 General This annex provides optional extensions to the UML Testing Profile to cope with test management requirements. The extensions for the stereotypes of the normative profile are optional. Only the concepts additional to the already defined concepts (in section 7) are listed. F.2 Abstract Syntax Figure F.1 � Additional test management attributes F.3 Stereotype descriptions F.3.1 ManagedElement Description A managed element provides additional project-, process- or any other meta-information to the element it is applied to. Extensions � Element (from UML::Kernel) Generalizations None. Attributes � Owner : String [0..1] Identifies the owner which is responsible for this managed element. � description : String [0..1] Provides the capability to describe the managed element in a greater detail. � version : String [0..1] Information on the version of a managed element. � criticality : String [0..1] Information of the criticality of a managed element. Semantics Managed elements are often used in combination with other stereotypes, especially of the UML Testing Profile, to indicate the version or the owner of a particular test context, for example. Constraints None. Notation No additional notation for �ManagedElement� defined. Examples None. F.3.2 TestComponent Additional Attributes � compatibeSUTVersion : String [0..*] Information on which SUT versions the test component applies to / is compatible with. � compatibeSUTVariant : String [0..*] Information on which SUT variants the test component applies to / is compatible with. Used for test management regarding product variants. F.3.3TestContext Additional Attributes � testLevel : String [0..1] Information on what part of a system a test context is aiming at. � compatibeSUTVersion : String [0..*] Information on which SUT versions the test context applies to / is compatible with. � compatibeSUTVariant : String [0..*] Information on which SUT variants the test context applies to / is compatible with. Used for test management regarding product variants. F.3.4 TestCase Additional Attributes � priority : String [0..1] Comparable value, prioritizing the test case within the model used for test management regarding review, test design and test execution. � compatibeSUTVersion : String [0..*] Information on which SUT versions the test case applies to / is compatible with. � compatibeSUTVariant : String [0..*] Information on which SUT variants the test case applies to / is compatible with. Used for test management regarding product variants. F.3.5 TestLog Additional Attributes � tester : String [0..*] Identifies which persons have been involved in producing the test log � executedAt : String [0..1] Provides information when the execution of the test case that produced this test log took place � duration : String [0..1] Provides information how long the execution of the test case that produced this test log took place � verdict : Verdict [1] The verdict created by the arbiter for the execution of a test cases that produced this test log � verdictReason : String [0..1] The reason why a particular verdict was produced. � sutVersion : String [0..1] Information against what version of the SUT the test case that produced this test log was executed at. F.3.6 TestObjective Additional Attributes � priority : String [0..1] Comparable value, prioritizing the test objective within the model used for test management regarding review, test design and test execution.
Actions taken:
January 5, 2011: received issue
October 21, 2011: closed issue

Discussion:
see figure on page 105 of ptc/2011-07-18


Issue 15915: Test log should contain additional information (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: sepp.med (Dr. Armin Metzger, armin.metzger(at)seppmed.de)
Nature: Enhancement
Severity: Significant
Summary:
Especially for manual tests and in regulatory domains like Medical IT or Automotive additional test execution information has to be logged (e.g. tester's identification).   A standard is necessary for potential process support coming out of an UTP test model.

Resolution:
Revised Text:
Actions taken:
January 5, 2011: received issue
October 21, 2011: closed issue

Discussion:
This issue is a subset of issue 15913 and will be merged with it.  Disposition:	See issue 15913 for disposition  


Issue 15916: Reviews and audits should be supported by UTP (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: sepp.med (Dr. Armin Metzger, armin.metzger(at)seppmed.de)
Nature: Enhancement
Severity: Significant
Summary:
A standard for attributes supporting review processes out of / with UTP based test design (e.g. author, change history for the TestCase element) is missing in the current version of UTP.

Resolution:
Revised Text:
Actions taken:
January 5, 2011: received issue
October 21, 2011: closed issue

Discussion:
Will be closed with no change. Adding information for reviews and audits is usefull, but not a dedicated test-specific concept.   An issue will be raised at the UML that helpful informtations for audits and reviews should taken into account, since this is a general purpose requirement.  Disposition:	Closed  


Issue 15921: Spell out all acronyms at first use with the document, e.g. see first page, UML, MOF, and XMI (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Grand Software Testing (Mr. Jon Hagar, embedded(at)ecentral.com)
Nature: Uncategorized Issue
Severity: Significant
Summary:
Spell out all acronyms at first use with the document, e.g. see first page, UML, MOF, and XMI    

Resolution: Resolution of issue 15770 already introduced a new section 5 Symbols and Acronyms with empty content. This resolution fills the section with content. The RTF agreed to include only technical symbols.
Revised Text: Update Text Insert the following acronyms to section 5 Symbols and Acronyms. (notice that an empty section Symbols and Acronyms was already introduced by resolution of issue 15770) MOF - Meta-Object Facility OCL - Object Constraint Language OMG - Object Management Group SUT - System Under Test SysML - Systems Modeling Language TTCN-3 - Test and Test Control Notation, version 3 UML - Unified Modeling Language CORBA � Common Object Request Broker Architecture CWM � Common Warehouse Metamodel MDA � Model-Driven Architecture XMI � XML Metadata Interchange GIOP � General Inter-ORB Protocol IIOP � Internet Inter-ORB Protocol ASN.1 � Abstract Syntax Notation PER � Packed Encoded Rules IDL � Interface Description Language XML � eXtensible Markup Language MSC - Message Sequence Charts GFT - Graphical Presentation Format
Actions taken:
January 10, 2011: received issue
October 21, 2011: closed issue

Issue 15926: input - SUT issue (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Grand Software Testing (Mr. Jon Hagar, embedded(at)ecentral.com)
Nature: Uncategorized Issue
Severity: Significant
Summary:
Change �SUT�   The word system is too overloaded and causes us to think of an entire system. Much of the testing is not done on the entire system but on parts of the system as subsystems, components or units before they are integrated. In fact, there can be multiple �SUT� items defined in a single test context.       Resolution:     Suggest changing it to �IUT� �Item Under Test�.    

Resolution:
Revised Text:
Actions taken:
January 11, 2011: received issue
October 21, 2011: closed issue

Discussion:
The resolution of this issue is clear subset of the resolution of issue 16105 and therefore, will be merged with it.  Disposition:	See issue 16105 for disposition  


Issue 15928: Verify Relationship not in UTP (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Grand Software Testing (Mr. Jon Hagar, embedded(at)ecentral.com)
Nature: Uncategorized Issue
Severity:
Summary:
Source: Lockheed Martin, Jon Hagar    Specification:   UML Testing Profile  Section:         tbd section    Nature: Issue  Severity: med  Summary:     Verify Relationship  The verify relationship, a �verify� stereotype dependency, is defined in SysML (section 16.3.2.7) and is used from a test case to a requirement. It can also be used between a test context and a requirement.  There is nothing specified in the Testing Profile.       Resolution:          The UTP should state that it uses the �verify� relationship from the SysML specification, and have sections/diagram created to show this.    

Resolution: The UTP should state that it uses the �verify� relationship from the SysML specification, and have sections/diagram created to show this. Discussion: The RTF decided not to create a hard-copy of the SysML verify concept. Instead, an example will be shown how UTP could be combined with SysML in orde to reuse the verify dependency. These concepts have been introduced into UTP by the resolution of issue #15931 Disposition: See issue 15931 for disposition
Revised Text:
Actions taken:
January 11, 2011: received issue
January 7, 2013: closed issue

Discussion:
Show an additional example of how UTP might use stereotypes from SysML to define test specifications and maintain requirements traceability


Issue 15929: testcase or TestCase (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Grand Software Testing (Mr. Jon Hagar, embedded(at)ecentral.com)
Nature: Uncategorized Issue
Severity:
Summary:
Source: Lockheed Martin, Jon Hagar    Specification:   UML Testing Profile  Section:         all    Nature: Issue  Severity: med  Summary:     testcase or TestCase  In the UML testing profile the stereotype is �TestCase� in the SysML profile it defines �testCase�. If both profiles include it, which one is should be used? In the same model, you do not want one team using one and another using the other.       Resolution:     Coordinate the profiles so there is one Test Case stereotype for both, the SysML profile and UTP, i.e., update UTP to match SysML profile.      Revised Text:   Actions taken:    

Resolution:
Revised Text:
Actions taken:
January 11, 2011: received issue
October 21, 2011: closed issue

Discussion:
There was a long discussion between UTP and SysML RTF. The outcome of this is that the UML profiling mechanism is not powerful enough. Since this is not an issue related to UTP, we will deal the following way with the issue.  Close the issue for UTP  Submit an issue to UML regarding deficiencies of the profiling mechanism   Submit an issue to SysML to synchronize the UTP related concepts with the latest UTP specification  Disposition:	Closed  


Issue 15931: Test Objective issue (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Grand Software Testing (Mr. Jon Hagar, embedded(at)ecentral.com)
Nature: Uncategorized Issue
Severity:
Summary:
Test Objective  1.       In the OMG Testing Profile (OTP) specification a Test Objective is defined both as a stereotype on a dependency, �TestObjective�, and as an artifact elsewhere.  The �TestObjective� stereotype does not apply to this artifact, just to the dependency.     2.       The Test Objective dependency relationship is intended to show the dependency from a Test Context or a Test Case to a model element that contains the textual string stating the objective of the test, the test objective artifact.          Resolution:     Test Objective as a dependency:     a.       Change Suggestion 1 - No longer use the stereotype �TestObjective� for this dependency relationship. A dependency relationship stereotype name is typically a verb, like verify, satisfy, refine, and copy. Using a noun phrase like �TestObjectiveon� to name a dependency does not provide the declaration that is needed, i.e. subject verb object, e.g. �BlockA satisfies requirement 1�,  or �Use Case A refines requirement 1�.    b.      Change Suggestion 2 � Use the verb �Validate� as the name of the stereotype that is associated with a dependency.  This stereotyped dependency can be used from a Test Case or Test Context to a Test Objective but, can also be used between a test case and model elements that state objectives/goals/capabilities of the item being validated.     c.       Why use validate?  � Others were considered such as satisfy, realize and implement.                                                                    i.      The validation definition used by test is �Validation is the set of activities ensuring and gaining confidence that a system is able to accomplish its intended use, goals and objectives (i.e. meet stakeholder requirements) in the intended operational environment� , or �Did we build the right thing?�  These system uses, goals and objectives are represented in the model in the form of use cases, MOEs, TPMs, etc.                                                                   ii.      There is a clear distinction between verification and validation. Based on this, there will be unique Test Contexts for verification and validation.                                                                 iii.      Just as we need to show what test cases will be verifying what requirements we will also need to show what test cases will be validating objectives and goals of the system (or the thing being validated). Therefore, this relationship will ultimately be needed just as verify is used today to verify requirements.                                                                iv.      This relationship can also be used to show what test cases are validating the objectives stated for a Test Context. It is the same relationship pattern.           Test Objective part 2  1.       A Test Objective artifact is a textual statement stating a goal or objective of a test context. The OTP specification doesn�t define the type of model element to use for this artifact.     Resolution:          1.       Test Objective artifact suggestion �     a.       We have selected a comment stereotyped �TestObjective� to capture the Test Objective artifact for a Test Context. However, other model elements could be used, such as an attribute of the Test Context. The advantage of a comment is that it can be reused across test contexts  

Resolution: Test Objective as a dependency: a. Change Suggestion 1 - No longer use the stereotype �TestObjective� for this dependency relationship. A dependency relationship stereotype name is typically a verb, like verify, satisfy, refine, and copy. Using a noun phrase like �TestObjectiveon� to name a dependency does not provide the declaration that is needed, i.e. subject verb object, e.g. �BlockA satisfies requirement 1�, or �Use Case A refines requirement 1�. b. Change Suggestion 2 � Use the verb �Validate� as the name of the stereotype that is associated with a dependency. This stereotyped dependency can be used from a Test Case or Test Context to a Test Objective but, can also be used between a test case and model elements that state objectives/goals/capabilities of the item being validated. c. Why use validate? � Others were considered such as satisfy, realize and implement. i. The validation definition used by test is �Validation is the set of activities ensuring and gaining confidence that a system is able to accomplish its intended use, goals and objectives (i.e. meet stakeholder requirements) in the intended operational environment� , or �Did we build the right thing?� These system uses, goals and objectives are represented in the model in the form of use cases, MOEs, TPMs, etc. ii. There is a clear distinction between verification and validation. Based on this, there will be unique Test Contexts for verification and validation. iii. Just as we need to show what test cases will be verifying what requirements we will also need to show what test cases will be validating objectives and goals of the system (or the thing being validated). Therefore, this relationship will ultimately be needed just as verify is used today to verify requirements. iv. This relationship can also be used to show what test cases are validating the objectives stated for a Test Context. It is the same relationship pattern. Test Objective part 2 1. A Test Objective artifact is a textual statement stating a goal or objective of a test context. The OTP specification doesn�t define the type of model element to use for this artifact. Resolution: 1. Test Objective artifact suggestion � a. We have selected a comment stereotyped �TestObjective� to capture the Test Objective artifact for a Test Context. However, other model elements could be used, such as an attribute of the Test Context. The advantage of a comment is that it can be reused across test contexts Resolution: The RTF discussed a lot on the test objective issue and we agreed entirely that a dependency as test objective is quite unintuitive, confusing and misleading. We had a long way to go until the RTF agreed on a resolution that suits all and is most accepted in the testing area in the industry. Finally, we decided to change the metaclass of the current �TestObjective� from Dependency to Class and to put tag definitions into the stereotype that are pertinent to test management, test planning and test schedule. The new �TestObjective� is conceptually compatible with the concept Objective from the Business Motivation Metamodel (BMM), although BMM does not provide a UML profile yet and is therefore not a normative reference for the UML Testing Profile.
Revised Text:
Actions taken:
January 13, 2011: received issue
January 7, 2013: closed issue

Discussion:
  Deferred due to time restrictions


Issue 15932: General definitions question (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Grand Software Testing (Mr. Jon Hagar, embedded(at)ecentral.com)
Nature: Uncategorized Issue
Severity:
Summary:
Source: Lockheed Martin, Jon Hagar  Specification:   UML Testing Profile  Section:         sec 4  Nature: Issue  Severity: med  Summary:     Section 4 defines a series of definition and terms unique to the UTP, but the UTP uses other testing terms within the document, e.g. test, verification, validation, test plan, and other.  These do not always have comment usage in industry.     Resolution:          We  suggest a common list of test terms be provided either directly or by reference to an ISO or IEEE type of standard  

Resolution:
Revised Text:
Actions taken:
January 13, 2011: received issue
October 21, 2011: closed issue

Discussion:
The merge of contents, addressed by issue 15773, will solve this issue.  Disposition:	See issue 15773 for disposition  


Issue 15939: UTP & SysML (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: KnowGravity Inc. (Mr. Markus Schacher, markus.schacher(at)knowgravity.com)
Nature: Clarification
Severity: Minor
Summary:
SysML also defines a stereotype �TestCase� on "Operation" and "Behavior" as well as a stereotype �Verify� between requirements and test cases. This should be reflected in the UTP specification as well.

Resolution: The RTF decided not to create a hard-copy of the SysML verify concept. Instead, an example will be shown how UTP could be combined with SysML in orde to reuse the verify dependency. These concepts have been introduced into UTP by the resolution of issue #15931 Disposition: See issue 15931 for disposition
Revised Text:
Actions taken:
January 12, 2011: received issue
January 7, 2013: closed issue

Discussion:
This issue will be merged with issue 15928 for resolution


Issue 15941: Complex Data (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: KnowGravity Inc. (Mr. Markus Schacher, markus.schacher(at)knowgravity.com)
Nature: Revision
Severity: Significant
Summary:
UTP 1.0 provides little support specification of large datasets that are of complex structure. Such data set are typical in test cases for information systems that process complex business objects (e.g. contracts). Furthermore the concepts "DataPool", "DataPartition", and "DataSelector" are based on a programmer's procedural paradigm and are currently not specified proper stereotypes.

Resolution: The current data package must doubtlessly be thoroughly revised. However, data partitions are quite useful to express equivalence classes for a given base type (currently done with generalizations, but this does not scale). The issue rather points to the inflexible extension or specification capabilities of instance specifications in the UML. Currently, instance specifications cannot participate in a generalization dependency, preventing reusage of partially defines instance specification in order to avoid redundancy. This seems to be an issue for UML, however, since instance specification are more vital for testing pruposes than for architecture design purposes, UTP should address a refinement mechanism for instance specification in the next minor revisions. Necessary concepts: Extension of already defined instance specification Refinement of slots Overriding of slots These concepts have been introduced into UTP by the resolution of issue #16878 Disposition: See issue 16878 for disposition
Revised Text:
Actions taken:
January 12, 2011: received issue
January 7, 2013: closed issue

Discussion:
The current data package must doubtlessly be thoroughly revised. However, data partitions are quite useful to express equivalence classes for a given base type (currently done with generalizations, but this does not scale). The issue rather points to the inflexible extension or specification capabilities of instance specifications in the UML. Currently, instance specifications cannot participate in a generalization dependency, preventing reusage of partially defines instance specification in order to avoid redundancy. This seems to be an issue for UML, however, since instance specification are more vital for testing pruposes than for architecture design purposes, UTP should address a refinement mechanism for instance specification in the next minor revisions.  Necessary concepts:  Extension of already defined instance specification  Refinement of slots  Overriding of slots  Disposition:	Deferred  


Issue 15942: Who is "self"? (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: KnowGravity Inc. (Mr. Markus Schacher, markus.schacher(at)knowgravity.com)
Nature: Clarification
Severity: Minor
Summary:
What is the type/class of the instance specification called "self" in figure 6.25?

Resolution: As UML says, self always refers to the context classifier of an interaction. Being applied to hwe lifeline (6.29), this implies HWEComponent being the context classifier. However, this issue leads to another one when using �self� notation: The �DefaultApplication� may point from �Defaults� among others to Package. As long as the supplier (�Default�) is one of Classifier, Behavior, InteractionFragment, State, Region, Activity, there is no problem. By attaching it to Package, the general idea is that such a �Default� will be applied to any test component (what represents a generic declaration and powerful application of �Default�) being indirectly contained in that package. When using the �self� notation the type of such lifeline is ambiguous, because a Package never has a context classifier. Implicitly, it is seen as a generic type declaration, representing any test component/test context.
Revised Text: Insert the following paragraph to subsection Semantics of section Default: In case a �Default� is applied to a package, the behavior of the default is applied to every test component being contained either directly or indirectly (as a descendant) in that package.
Actions taken:
January 12, 2011: received issue
October 21, 2011: closed issue

Discussion:
  


Issue 16000: TestRequirements shall be defined (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Enhancement
Severity: Minor
Summary:
The UTP contains a stereotype <<TestObjective>>, connects either a test context of test case to any model element, expressing the purpose/objective of the test case or the test context. However, most standards related to testing define standalone specifications of such a test case's target in forms of test purposes (ETSI) or test requirements (IEEE/ISQTB).      It would be good to have a dedicated stereotype <<TestRequirement>> to express the test case descriptions, similar to system requirements (for example stereotype <<Requirement>> in SysML).     It should have atleast an ID, a name, a description and a priority

Resolution: Merged with issue #15931 Disposition: see resolution of issue #15931 for disposition
Revised Text:
Actions taken:
January 31, 2011: received issue
January 7, 2013: closed issue

Discussion:
Deferred due to time restrictions


Issue 16105: Missing semantics section (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Significant
Summary:
The following profile elements do not provide a semantics section:      - SUT  - TestContext  - TestLog  - TestLogApplication  - TestObjective    For a precise and unambiguous interpretation, a description of the semantics is important and should be supplemented.

Resolution: Due to the new structure of the specification, we figured out that some semantics sections were not defined. The following semantics descriptions will be incorporated to complete the profile. The semantics section of test context was already changed by resolution of issue 15910.
Revised Text: Update Text Add the following semantics description for stereotype SUT(taken from section 4 �Terms and definitions� and slightly changed). Semantics section was already introduced by resolution of issue 15770: The system under test (SUT) is a part of a test context. It refers to a system, subsystem, or component which is being tested. An SUT can consist of several objects. The SUT is stimulated via its public interface operations and signals by the test components. No internals of a SUT are known or accessible during test case execution, due to its black-box nature. Update Text Add the following semantics description for stereotype TestLog (taken from section 4 �Terms and definitions� and slightly changed). Semantics section was already introduced by resolution of issue 15770: A test log is a fixed (immutable) behavioral description resulting from the execution of a test case. It represents the any event of interest being executed during the test case execution. A test log is associated with a verdict representing the adherence of the SUT to the test objective of the associated test case. Each test log is either related to a test case or a test context (via test log application) representing the logged information of the execution of these elements. It is neither defined what information will be logged, nor the granularity of logged events. An execution tool vendor may decide to just log validation actions and log actions, while another execution tool also incorporate the creation and/or termination of test components into the log. The granularity of the information what shall be logged is not predefined. Update Text Add the following semantics description for stereotype TestLogApplication (taken from section 4 �Terms and definitions� and slightly changed). Semantics section was already introduced by resolution of issue 15770: A test log application binds a concrete test log to the element, whose execution is described by the bounded test log. The number of targets for a test log is restricted to one, meaning a test log refers at any point in time to either a test case or test context. The multiplicity of the client and supplier properties of the underlying Dependency is restricted to 1. Update Text Add the following semantics description for stereotype TestObjective (taken from section 4 �Terms and definitions� and slightly changed). Semantics section was already introduced by resolution of issue 15770: A test objective is a reason or purpose for designing and execution a test case [ISTQB]. The underlying Dependency points from a test case or test context to anything that may represent such a reason or purpose. This includes (but is not restricted to) use cases, comments, or even elements from different profiles, like requirements from [SysML].
Actions taken:
April 4, 2011: received issue
October 21, 2011: closed issue

Issue 16163: Rework of TestArchitecture section (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Significant
Summary:
A master issue for the rework of test architecture package. Several issues will be merged into this issue to improve readability and understandability of the resolutions

Resolution: Incorporate the issues 15644, 15648 and 15910. The first two issues targets the fact the Scheduler is never part of the test model by definition. Therefore, it represents a pure tooling concept which has nothing in common with a domain-specific profile. The resolution for this is to remove the Scheduler from the profile section and to put it into the annex. The last issue deals with a semantically necessary precision of a TestContext. Currently, a TestContext is only required to be an instance of uml::StructuredClassifier. Since a TestContext must have the ability to contain operations and classifier behavior, the UTP has to ensure that each instance of a TestContext is both a StructuredClassifier and BehavioredClassifier (e.g. Class, Component�).
Revised Text: Remove Section Remove subsection Scheduler from the stereotype description section 6.3.1 (notice, section 6.3.1 already renumbered to section 7.1 by resolution of issue 15770) Rename Section Rename Annex C Arbiter and Scheduler Protocols to Scheduling (notice Annex C has been altered to Annex D due to resolution of issue 15770) Add Section Add new numbered subsection Interface Definition to the Annex C (notice Annex C has been altered to Annex D due to resolution of issue 15770) and add new section Scheduler into this subsection Scheduler Description Scheduler is a predefined interface defining operations used for controlling the tests and the test components. None of the operations of the Scheduler are available to the UML specifier. Generalizations None. Attributes None. Operations � Scheduler() The constructor of Scheduler. It will start the SUT and the Arbiter. � startTestCase() The scheduler will start the test case by notifying all involved test � components. � finishTestCase(t:TestComponent Records that the test component t has finished its execution of this test case. When all test components involved in the current test case have finished, the arbiter will be notified. createTestComponent(t:TestComponent) Records that the test component t has been created by some other test component. Semantics The implementation of the predefined interface will determine the detailed semantics. The implementation must make sure that the scheduler has enough information to keep track of the existence and participation of the test components in every test case. The test context itself will ensure the creation of a scheduler. Constraints None. Notation No additional notation for Scheduler is defined. Examples Example protocols for how the scheduler could work is found in Annex C. Add Section Add new numbered subsection Scheduler and Arbiter Protocol to the Annex C (notice that Annex C was already renumbered to Annex D due to resolution of issue 15770) that contains the old content of the Annex C Update Text Change the first paragraph of the newly created Scheduler and Arbiter Protocol section from This annex shows how the Scheduler and the Arbiter should work together with the test components and the SUT such that the execution of the test cases are performed properly and the verdict delivered at the right time. It is not necessary that a valid implementation conforms in detail to these sequence diagrams, but the net effect should be the same. To This section shows how the Scheduler and the Arbiter should work together with the test components and the SUT such that the execution of the test cases are performed properly and the verdict delivered at the right time. It is not necessary that a valid implementation conforms in detail to these sequence diagrams, but the net effect should be the same. Remove Attribute Remove the scheduler:Scheduler property in from stereotype TestContext Update Text Remove the entry and definition of Scheduler from tables 6.1 and 6.2 (notice, table numbering has already been changed to A.1 and A.2 due to resolution of issue 15770) Update Text Update description section of stereotype section TestContext from A StructuredClassifier acting as a grouping mechanism for a set of test cases. The composite structure of a test context is referred to as test configuration. The classifier behavior of a test context is used for test control. To A test context acts as a grouping mechanism for a set of test cases. The composite structure of a test context is referred to as test configuration. The classifier behavior of a test context may be used for test control. Add Extension Add new metaclass in extension section (introduced by resolution of issue 15770) of TestContext BehavioredClassifier (from UML::CommonBehaviors::BasicBehaviors, Communications) Update Text Add content to the empty semantics section (introduced by resolution of issue 15770) of stereotype TestContext A test context is a both a StructuredClassifier and BehavioredClassifier providing the foundation for a test configuration, a collection of test cases (operating on those test cases) and an optional test control, scheduling the execution order of its test cases. The test configuration is a collection of test component objects and of connections between the test component objects and to the SUT. It test configuration defines both (1) test component objects and connections when a test case is started (the initial test configuration) and (2) the maximal number of test component objects and connections during the test execution. It is established by using the composite structure concepts for StructuredClassifiers. Test cases are either realized as operations or as owned behavior (both stereotyped with �TestCase�) of a test context. If required, test control can be added to a test context by defining a classifier behavior for the test context, describing the order and under what conditions test cases are supposed to be executed. Remove Constraints Remove both constraints from the constraint section of stereotype TestContext. Constraint 1 is given by the fact that the tagged value arbiter has a multiplicity of 1. Same counts for Constraint 2, additionally, the Scheduler was never part of the model as described by the resolution. Add Constraint Add a new constrain in the constraint section of stereotype TestContext, that a TestContext can only be applied to a classifier being both an instance of StructuredClassifier and BehavioredClassifier [1] The classifier with �TestContext� applied must be both an instance of StructuredClassifier and BehavioredClassifier. Replace Figure Replace Figure 6.1 (renumbered to Figure 7.1 by resolution of issue15770) with Disposition: Resolved
Actions taken:
May 4, 2011: received issue
October 21, 2011: closed issue

Discussion:
see figure on page 75 of ptc/2011-07-18


Issue 16346: UTP profile (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: NASA (Dr. Nicolas F. Rouquette, nicolas.f.rouquette(at)jpl.nasa.gov)
Nature: Uncategorized Issue
Severity:
Summary:
IN both changebarred / no-changebar documents for UTP (i.e., 11-06-10 and 11-06-09) do the following:      Keep:      � [OCL] Object Constraint Language (OCL), version 2.2, formal/2010-02-01, 2010       Replace:      [UMLi] Unified Modeling Language (UML) Specification: Infrastructure, version 2.3, formal/2010-05-03, 2010   � [UMLs] Unified Modeling Language (UML) Specification: Superstructure, version 2.3, formal/2010-05-05, 2010   � [MOF] Meta Object Facility (MOF) Core Specification, version 2.0, formal/2006-01-01, 2010       with corresponding names for:      https://www.omg.org/spec/UML/2.4.1  https://www.omg.org/spec/MOF/2.4.1  https://www.omg.org/spec/XMI/2.4.1        I have to produce the SysML1.3 normative / SMSC-kosher files in XMI anyway, I'll do the same for your profile.  I'll send you XMI2.4.1 profiles for UTP normative & informative files that extend UML2.4.1.      Change the inventory such that the following files are: informative machine-readable artifacts:      https://www.omg.org/cgi-bin/doc?ptc/11-05-15  https://www.omg.org/cgi-bin/doc?ptc/11-05-14      In the inventory, add:      https://www.omg.org/cgi-bin/doc?ptc/xx-yy-zz (the XMI2.4.1 / UML2.4.1 version of 11-05-14 -- normative -- without test case management  https://www.omg.org/cgi-bin/doc?ptc/xx-yy-zz+1 (the XMI2.4.1 / UML2.4.1 version of 11-05-15 -- informative -- with test case management      Get the numbers from Juergen. I don't know if you want new numbers for the whole series of UTP or if Juergen can get you 11-05-XX/XX+1 numbers for the two additional artifacts & the new versions of the UTP documents  that say UTP1.1 extends the 2.4.1 series of UML/XMI/MOF.      Finally, add another resolution to explain the changes in your updated report (i.e., 11-06-08)    

Resolution: Discussion: Not relevant for UTP 1.2 anymore. Disposition: Closed
Revised Text:
Actions taken:
June 23, 2011: received issue
January 7, 2013: closed issue

Issue 16878: Integration of TTCN-3 template modification (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Enhancement
Severity: Minor
Summary:
This issue is probably coupled with (at least related with issue #15941 https://www.omg.org/issues/uml-testing-profile-rtf.open.html#Issue15941) and targets a more convenient handling of UML instance specifications for test modeling to avoid redundancy.      TTCN-3 offer quite efficient and proven concepts to exploit already defined/created instance specifications (called template in TTCN-3). The concept is called "modifies" and allows the derivation of new templates by reusing existing templates.    See Clause 15.5 of TTCN-3 core specification (ETSI ES 201 873-1 V4.2.1) for further information.

Resolution: UML is very inflexible with regard to the reuse of already modeled InstanceSpecifications. This may be caused by the fact that concrete data and InstanceSpecifications are rather pertinent and more used in testing than in other system development. However, the RTF agreed on having a dedicated concept in UTP that allows tester to exploit already existing InstanceSpecifications in order to defined large sets of complex data by avoiding redundancy. Therefore, UTP will get a new and very important, yet useful concept called Modification that resembles the modifies concept of TTCN-3.
Revised Text:
Actions taken:
December 9, 2011: received issue
January 7, 2013: closed issue

Issue 16898: Tag definitions of test management concepts should be of type ValueSpecification (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Minor
Summary:
In most situation in the UML superstructure, the abstract metaclass ValueSpecification is used when flexibility should be granted to the user in how to model concrete values for an attribute/tag definition.      Using ValueSpecification allows a clear way for tools to deal with different ways of how user model values.      In the test management extension chapter, the tag definitions are typed as semantic-free string types, which makes it hard to calculate them automatically and to interchange the models.      Going from String to ValueSpecification would allow user to define their UML_compliant way of value modeling and still not restrict the user to a certain modeling method.      Example:       TestCase{  priority : ValueSpecification [0..1]  }      A user could therefore provide an enumeration for priorities he uses in his test process like      MyPriorityKind{  low  medium  high  }      This allows the user to fill the priority tag definition of test case with a user-specific value of priority.      instance:TestCase{     slot{        definingFeature = priority        value=InstanceValue{           type = MyPriorityKInd           instance = low        }     }  }      Possible solution:   Change tag definition types in the test management extension chapter from String to ValueSpecifcation

Resolution: The necessity to have additional and normative test management concepts available for several main artifacts in UTP is high. In UTP 1.1 we already introduced a set of optional concepts, mainly tag definitions that cope with some standard test management concepts. In this resolution we decided to move some of those non-normative tag definitions into the normative part, but keep the backward compatibility by declaring all tag definitions as optional, i.e. a lower multiplicity of 0. The main target was to harmonize UTP with industry-relevant testing standards, in particular with ISO 29119, IEEE:829-2008, ETSI and ISTQB. The RTF found that UTP should cope with the required information of this standards, since they represent a common knowledge of wat is deemed necessary to plan and document/report testing process, without being methodology-dependent. The RTF paid high attention to kep UTP as open ended as possible, but precise as necessary. For TestLog the following tag definitions will be moved from the non-normative part to the normative part (in parenthesis a justification by stating what standards require the information): Tester (required by IEEE829, ETSI) � executedAt (required by IEEE829, ETSI, ISO 29119, ISTQB) � duration (required by IEEE829, ETSI, ISO 29119, ISTQB) � verdict (required by IEEE829, ETSI, ISO 29119, ISTQB) � verdictReason (required by IEEE829, ETSI, ISO 29119, ISTQB) For TestContext, the RTF decided to move the following concept to the normative part: � testLevel (required by ISO 29119, IEE829) For TestCase, the RTF decided to move the following concept to the normative part: � priority (required by ISO29119, ISTQB, ETSI) � testType (required by ISO29119, ISTQB) A precise definition of the changes is given below. All time-related tag definitions reuse the UTP�s predefined primitive types Timepoint or Duration. All other tag definitions are typed as ValueSpecification, since this provides the highest degree of flexibility to the user. Instead of predefining a certain schema for test levels, priorities or test types, UTP rather allows to be tailored for any process or methodology. The RTF found that this information cannot be predefined by UTP at all, since they are varying from company to company, even from project to project. The resolution will, however, show examples how the new tag definitions can be leveraged. Furthermore, a new issue will be submitted to consider an additional library with some well-known values and concepts for test level (e.g. an enumeration of component, integration, system, acceptance etc.) or a quality schema for test type (e.g. ISO 9126, FURPS etc.). This will most probably solved and elaborated in in the upcoming UTP 1.3 RTF.
Revised Text:
Actions taken:
December 14, 2011: received issue
January 7, 2013: closed issue

Issue 16900: Correction for issue #15652 (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Significant
Summary:
This is a correction for issue #15652:      In the resolution for issue #15652 we restricted the number of <<TestComponent>> lifelines that are covered by a <<DetermAlt>> to one.      This is too restrictive. There can be of course several test component lifelines being covered by the very same <<DetermAlt>>.      Possible resolution:  Remove the first paragraph in the semantics section      Change the first sentence of the current second paragraph from      If a deterministic alternative is reached during the execution of an interaction, the involved test component waits until it receives an input      to      If a deterministic alternative is reached during the execution of an interaction, the involved test component lifeline waits until it receives an input    - Remove constraint [2]

Resolution: The way UTP 1.1 has refined or clarified the �determAlt� ended up in a description identical to TTCN-3, the language where the �determAlt� concept was taken over from. The fact that the equivalent altsteps (in TTCN-3) are applied to each test component separately should not influence the way how this concept has to be applied in UTP. UTP should rather abstract from a concrete technical implementation and describe the concept according to the possibilities or semantics of UML Interactions. In short, the resolution partially takes over what the issue submitter said, i.e. that more than one test component can be covered by a CombinedFragment with �determAlt� applied. Furthermore, some typos and misspellings will be corrected.
Revised Text:
Actions taken:
December 14, 2011: received issue
January 7, 2013: closed issue

Issue 16902: TestLog should have detailed information as TestLogEntry (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Minor
Summary:
TestLog describe the actual execution of a test case against the SUT it was stimulating. A TestLog is described as concrete subclass of Behavior.      For particular behavioral descriptions (Activity, Interaction) the tets log allows the integration of more details for the exeuction of a single test step, e.g. a timestamp when this test step (sending of a message, performing a validation action, ...) has been carried out by the test execution environment.      Therefore, there should be at least for test log's represented as Interaction and Activity a concept like the following:      TestLogEntry extends OccurrenceSpecification/Action{      timestamp : UML::TimeExpression [0..1]  ...  }

Resolution: The RTF agreed on introducing a new concept called TestLogEntry. A TestLogEntry can be combined with the ordinary Behavior concepts, but must be included in a Behavior stereotyped as TestLog. As in the summary suggested, a TestLogEntry will have an only one tag definition solely, namely timestamp. The timestamp represents the point in time when a corresponding test step during a test case execution has actually been executed. Such a timestamp is part of almost every test execution tool and test case log. It helps in analyzing the log and to reveal time-dependent issues. The RTF decided to base TestLogEntry solely on OccurrenceSpecification of Interactions. The RTF is not aware of any tooling or method that logs test case execution as Activity or StateMachine, because a test case always represents an interaction between the test environment and system under test. This is represented in almost all tools as Sequence Diagram.
Revised Text:
Actions taken:
December 14, 2011: received issue
January 7, 2013: closed issue

Issue 16906: Base class of TestComponents must be instances of BehavioredClassifier, too (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Significant
Summary:
Since TestComponents can define test-relevant behavior, it must be ensured by definition that each base class of a TestComponent is also a BehavioredClassifier.    Behaviors for test cases can be expressed as operations in the test component, for example. To make this formally and by definition possible (and if we do not change the base class of TestComponent to Property - see previously submitted issue by me), we should also extend BehavioredClassifier and make clear that a base class, to which <<TestComponent>> is applied must be both a StructuredClassifier and BehavioredClassifier.

Resolution: RTF agreed on narrowing the possible metaclasses the stereotype <<TestComponent>> down to uml::Class. Furthermore, uml::Behavior and uml::AssociationClass is excluded from the list of extendable metaclasses by a constraint, because they just do not make sense to be treated as a test component. This results in three concrete metaclasses where <<TestComponent>> can be applied to, which are: Class, Component and Node.
Revised Text: Replace Figure 7.1 Test Architecture with Update Text Alter text of subsection �Description� of section 7.2.2.3 from A test component is commonly an active class with a set of ports and interfaces. Test components are used to specify test cases as interactions between a number of test components. To Test components are part of the test environment and are used to communication with the system under test (SUT) and other test components. The main function of test components is to drive a test case by stimulating the system under test through its provided interfaces and to evaluate whether the actual responses of the system under test comply with the expected ones. Update Text Alter subsection �Extension� of section 7.2.2.3 from � StructuredClassifier (from UML::CompositeStructures::InternalStructures) To � Class (from UML::Kernel) Replace Text Replace current test of subsection �Semantics� of section 7.2.2.3 to A test component is commonly an active class that provides or requires interfaces in order to communicate with the system under test (SUT) or other test components. Test components usually establish connectors between their dedicated (i.e. owned) ports and ports of other participants in a test case, e.g. either the system under test or other test components. Connectors are used as communication channels over which exchange of test data is actually carried out. Test components participate in test cases mainly for stimulating the system under test (SUT) with test data and for evaluating whether the responses of the system under test adhere with the expected ones afterwards. In addition, test components can be used to provide auxiliary, user-defined functionality during the execution of a test case. �TestComponent� can either be applied to a Class, a Component or a Node. A test component as a Class or Component represents a part of the architectural design of the test environment. A test component as a Node is normally used as part of a deployment specification of the test environment. In case the test system is distributed over different timezones (e.g. a test system that is deployed in the cloud) the involved test components may need to be kept in synch with regard to their actual timezones. This can be achieved by using the optional zone attribute, if required. The corresponding timezone actions (see SetTimezoneAction and GetTimezoneAction) are intended to set and retrieve the timezone of a test component. Update Text Alter subsection �Constraints� of section 7.2.2.3 from None. To [1] �TestComponent� can only be applied to a Class or the following subclasses of Class: Component and Node. context TestComponent inv: self.base_Class.oclIsKindOf(Class) or self.base_Class.oclIsKindOf(Component) or self.base_Class.oclIsKindOf(Node)
Actions taken:
December 14, 2011: received issue
January 7, 2013: closed issue

Issue 17222: LogAction should be FinishAction (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Minor
Summary:
The term 'LogAction' actually refers to the element FinishAction. So it should be renamed to 'FinishAction' and a new term for 'LogAction' should be included

Resolution: This issue addresses a flaw in the terms and definitions section and was most probably a result of the refactoring of UTP 1.1 revision.
Revised Text: Update term �LogAction� in section 4 �Terms and Definitions� from �LogAction� To �FinishAction�
Actions taken:
March 12, 2012: received issue
January 7, 2013: closed issue

Issue 17223: Modernization of introductory chapters (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
UTP is a specification for the creation of model-based test specififcation, thus, it has an important and meaningful role in the realm of model-based testing.      Unfortunately, the introductory chapters do not mentione, nor define, model-based testing, test model or any relevant concept related to MBT techniques. As the first and the most sophisticated standardization approach of MBT concepts, the UTP specification should be much clearer on its purpose and relationship to MBT.    In fact, being incepted and mostly written almost 10 years ago, UTP needs a modernization polishing.

Resolution: The RTF addressed this issues with the restructuring of the specification itself. Disposition: See issue 17224 for disposition
Revised Text:
Actions taken:
March 12, 2012: received issue
January 7, 2013: closed issue

Issue 17224: UTP should constitute a new conceptual package structure (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Minor
Summary:
Currently, UTP consists of four conceptual (not technical) packages: test architecture, test behavior, test data and timer concepts.      The concepts which are described within those packages (which are represented as different subsections in the normative section of the specification) can be further separated.      For example, timing (all concepts of timer concepts package) is mainly associated with test behavior. A timer can only be started if a behavior is executed. It might be more consistent to move the concepts from timer concepts into test behavoir as well, since it is clearly dedicated to test behavior.      Another example are some concepts which clearly belong to the test management area like TestObjective and/or TestLog. Those test management concepts are part of UTP since its adoption by OMG, so it would just be consequent to establish a new package exclusively for test management concepts.      A more consistent conceptual package structure could look like this:      1. Test Architecture  2. Test Behavior  2.1 Test Case and Defaults  2.2 Test Actions  2.3 Test Timer  3 Test Data  3.1 Wildcards  3.2 Test Data Structure  4. Test Management

Resolution: The RTF agreed that having a modernized and polished specification document is highly beneficial. Therefore, a new outline and new introductory chapters have been written. Except from changes in the outline and introductory sections, this resolution does not change the semantics of a stereotype. NOTE: For the sake of clarity, this resolution is split into two parts. The first part incorporates only changes from section 1 (Scope) to 6 (Additional Information). These changes are marked with the issue tag (Issue 17224 (part one)) and are incorporated into the intermediate convenience document with change bars. The second part incorporates changes from newly created section 7 until the end of the document. These changes are marked with the issue tag (Issue 17224 (part two)) and are incorporated into the final convenience document with change bars. The second part is responsible for several new sections, section and figure renumbering. The issue marker in the change-bared convenience document provide information whether this section has been newly incorporated or changed. This ensures a direct traceability from the old document structure to the new one.
Revised Text:
Actions taken:
March 12, 2012: received issue
January 7, 2013: closed issue

Issue 17229: Typos, style glitches and figures (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
During UTP 1.1 revision, the entire document structure has been modernized, cleaned-up and restructured. However, there are several typos and style glitches in the current specification, which mostly originated from copy and paste errors.    In addition, some of the figures need polishing as well (e.g. Figure 7.8, Figure B.14, Figure B.23, Figure B.26, Figure B.28)

Resolution: Some obvious copy and paste errors as well as typos are addressed by this issue. However, part of the resolution is the submission of new issues requesting the correction of several figures (in particular in the examples section) and the harmonization of the style of the specification with other profiles. In case the task force decides to have a proprietary style guide, it must be assured that the style guide will be applied consistently throughout the specification.
Revised Text:
Actions taken:
March 13, 2012: received issue
January 7, 2013: closed issue

Issue 17231: ValidationAction should extends CallOperationAction (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Revision
Severity: Minor
Summary:
There was an error introduced into the textual definition of ValidationAction during the sophisticated restructuring of UTP 1.0 to UTP 1.1.    So actually, ValidationAction should extend CallOperationAction instead of Dependency (as it is correctly depicted in the abstract syntax)

Resolution: This is indeed a copy and paste error. The abstract syntax and the machine readable files are correct, but the wrong base class is mentioned in the specification document. This will be changed accordingly.
Revised Text: Update subsection �Extensions� of section 7.2.2.10 �ValidationAction� from � Dependency (from UML::Actions::BasicActions) To � CallOperationAction (from UML::Actions::BasicActions)
Actions taken:
March 13, 2012: received issue
January 7, 2013: closed issue

Issue 17292: Rename predefined type Time to Timepoint (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
In UTP 1.1 there are two predefined time-related types: Time and Duration. Time is used for starting a timer (Timer::start(expre:Time)), so it represent rather a Duration. In addition, time is ambiguous, because it is not clear what time actually represents, a particular point in time or a duration of time units.      Since UTO already defines a Duration type to express a duration of time unit, Time should be renamed to Timepoint to cope with particular points in time. Concrete timepoint formats are not given by UTP.     Furthermore, Timer should offer a second start() method with the signature Timer::start(duration:Duration). The user would be able to decide whether a time should timeout at a certain point in time or after a given duration.

Resolution: The RTF agreed that the UML Testing Profile should allow to set both a duration and a timepoint for a timer to expire. This is consistent with the UML simple time concepts, where a user can express TimeEvents in terms of Duration or TimeExpression. However, it is not the intention of UTP to predefine or determine the concrete format of a Timepoint or Duration. There is ongoing work within the OMG to standardize those things. Additionally, the RTF agreed on setting a constraint how values/instances of these two primitive types have to be expressed. In order to align the imperative timer concept of UTP with the declarative one of UML simple time, instances/values for utp::Timepoint shall be expressed as utp::TimeExpression with type set to utp::Timepoint. Consequently, instances/values of utp::Duration have to be expressed as uml::Duration with type set to utp::Duration. Again, the concrete format of such a ValueExpression is not predefined and is left open to the user. Finally, the predefined Timer interface of UTP should offer operations to start a Timer with either a Duration or Timepoint for expiration.
Revised Text: Replace Figure 7.28 (was initially 7.11 in UTP 1.1) Timer Concepts with Update Text Alter section title of section 7.5.2.7 from Time (a predefined type) To Timepoint Update Text Change text of subsection Description of section 7.5.2.7 from Time is a predefined primitive type used to specify concrete time values. Time values are used to express time constraints and to set timers. A predefined keyword �now� may be used to represent the current time in a system. How this value is obtained is not specified. The difference between two Time values is a Duration. To Timepoint is a predefined primitive type used to specify concrete points in time. Add Section Add a new subsection �Semantics� to section 7.5.2.7 after subsection �Description� Semantics A Timepoint represents a concrete point in time. Instances for that primitive type have to be expressed as TimeExpression with its type set to Timepoint. The concrete format of such a point in time is not predefined and is left open to the user. The keyword �now� is a short cut for expressing the current point in time. Add Section Add a new subsection �Constraint� to section 7.5.2.7 after newly created subsection �Semantics� Constraints [1] Values of the primitive type Timepoint have to be expressed as TimeExpression with its type set to Timepoint. Update Text Alter section title of section 7.5.2.3 from Duration (a predefined type) To Duration Update Text Change text of subsection Description of section 7.5.2.3 from Duration is a predefined primitive type used to specify a duration. Durations are used in time constraints and together with time values. Adding or subtracting a duration to a time value results in a time value. Adding or subtracting two durations results in a duration. To Duration is a predefined primitive type used to specify a finite time range. Add Section Add a new subsection �Semantics� to section 7.5.2.3 after subsection �Description� Semantics A Duration denotes an arbitrary time range. The concrete time unit or the format of a how a Duration is expressed is not predefined and is left open to the user. Instances of Duration have to be expressed as uml::Duration with its type set to utp::Duration. The keyword �now� is a shortcut for expressing the current point in time. Add Section Add a new subsection �Constraint� to section 7.5.2.3 after newly created subsection �Semantics� Constraints [1] Values of the primitive type Duration have to be expressed as uml::Duration with its type set to utp::Duration. Update Text Alter section title of section 7.5.2.11 from Timer (a predefined interface) To Timer Update Text Add the following paragraph to the end of subsection �Description� of section 7.5.2.11 Timers provide means to observe and control test behavior. Also, a timer can be used to prevent from deadlocks, starvation and instable system behavior during test execution. Update Text Alter subsection �Operations� of section 7.5.2.11 from � start(expires : Time) Starts the timer and sets the time of expiration. � stop() Stops the timer � read() : Time Reads the expiration time of the timer. To � start(expires : Timepoint) Starts the timer and sets the timepoint of expiration. � start(expires : Duration) Starts the timer and sets the duration time of expiration. � stop() Stops the timer. � read() : Duration Reads the expiration time of the timer. Update Text Alter first constraints of subsection �Constraints� of section 7.5.2.11 from [1] Only active classes may own properties realizing the timer interface. [2] Timer may only be started with positive expiration time. To [1] Only test components and test contexts may own properties realizing the timer interface. [2] In case the timer is started with a Timepoint, the expiration time point must be a time point in the future.
Actions taken:
April 10, 2012: received issue
January 7, 2013: closed issue

Issue 17462: ValidatonAction should provide a reason why the verdict has been assigned (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
Most test execution systems allow the definition of a reason why a particular test cases has failed or passed.      In TTCN-3, for example, the user can attach a string message to the setverdict() operation indicating the reason that describes verdict from a logical and human-readable perspective.      In JUnit the same can be done within the Assert.XXX methods.       Such a human-readable message guides the analysis commonly performed by testers and developers, by providing a logical explanation (logical in the sense of what does the verdict state with regard to the intention of the test case) to the technical verdict.      A message "The system was expected to respond y and when X was submitted" is more obvious and can be understood even by people outside of the testing/development process than a simple FAIL, where the logical reason behind that fail has to be derived from the stimuli and corresponding reponse within the test case execution trace.      To support this, ValidationAction should have an additional attribute 'reason : String [0..1]'    This would just be consequent, since a TestLog in (the extended version) UTP is able to expose the reason why the final verdict has beedn assigned to the test log.

Resolution: The RTF decided to extend the ValidationAction with a new tag definition reason. That tag definition allows a user to directly log arbitrary information directly while setting a verdict. This is required by relevant industry standards like ISO 29119, but is part of almost any test execution tool. UTP should cope with that concepts, whereas the RTF decided to not predefine how such a reason has to be specified, nor how many reasons might be logged for a ValidationAction, nor what reasons are actually logged as the final verdictReason in TestLog. Having this premise, the RTF agreed on having an optional tag definition in ValidationAction with an unbound upper multiplicity. The type of reason is ValueSpecification, since this allows the highest flexibility to the user. A user can then decide to either log plain messages (LiteralString) or even complex InstanceSpecifications (InstanceValue).
Revised Text:
Actions taken:
June 29, 2012: received issue
January 7, 2013: closed issue

Issue 17539: Semantics of DefaultApplication::repetition not clear (uml-testing-profile-rtf)

Click
here for this issue's archive.
Source: Fraunhofer FOKUS (Mr. Marc-Florian Wendland, marc-florian.wendland(at)fokus.fraunhofer.de)
Nature: Clarification
Severity: Minor
Summary:
The repetition attribute has not a clear semantics with respect to the statements given in the Default section. Repetition actually represents how often the control flow will jump back to the unit of testing that actually applies the default.

Resolution: The RTF agreed that this is indeed a not clear description of the semantics. In addition, the default value for the repetition shall be changed to 0, since the default behavior of the control flow should be to continue when an alternative in a default behavior become activated.
Revised Text:
Actions taken:
August 6, 2012: received issue
January 7, 2013: closed issue