Logo etsi

ETSI's Bug Tracker

Notice: information submitted on the ETSI issue Tracker may be incorporated in ETSI publication(s) and therefore subject to the ETSI IPR policy.

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0006876Part-1 Metamodel[TDL] Technicalpublic10-02-2015 13:0416-07-2015 15:59
ReporterAndreas Ulrich 
Assigned ToAndreas Ulrich 
PrioritynormalSeveritymajorReproducibilityhave not tried
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version[TDL] Part-1 V1.2.1 
Target Version[TDL] Part-1 V1.2.1Fixed in Version[TDL] Part-1 V1.2.1 
Summary0006876: Unsound definition of OmitValue
DescriptionThe text in clause 6.3.8, semantics and constraints is flawed and needs to be fixed.

This definition has the following problems that render it unacceptable:
1) The semantics definition is context-dependent on assignments to optional members and therefore only partially defined.
2) The given constraint restricts the syntactical use of OmitValue only and does not carry over to runtime semantics.
3) The given constraint cannot be checked by a tool at that location when the abstract syntax tree of a TDL spec is built.

On 3) The constraint requires the context of assignments to members in order to be checked. The correct context needs to be in a DataUse. There a constraint is already put in place.
The issue will become obvious when the constraints will be formalized as OCL expressions, which is planned in TDL3.

On 2) We cannot extend a static semantics rule to mean also execution semantics. See the introductory text of this section. That is, the semantics needs to be completely defined within the semantics section alone.

On 1) The definition of OmitValue in the semantics section is conditionally dependent on the existence of an optional member. However OmitValue occurs in a syntactically correct spec also outside of this context.
In the Ericsson example: if (x.field == omit) then doSomething();
The omit occurs as an argument to a function. That is, it appears independently from an optional member. Other cases could be constructed like:

1. Msg = messageBuildingFunction(data, omit);
2. X = omitReturningFunction(msg);
3. Y = anotherFunction(msg, omitReturningFunction(msg));
4. Call testDescription(1, 2, omit);

That is, the semantics of omit in the examples above is NOT defined. This shortcoming needs to be fixed.

When defining the semantics of syntactical elements one should apply common sense. Common sense tells us that the meaning of an object does not change depending on the context it occurs. Plain example: A laptop is a computer regardless whether it is used in office (the context) or at home.

As a consequence, the semantics of an element shall be defined using its properties.


------------------------------------------
Proposed changes:

* Delete the constraint.

* State semantics to be independent from context: An 'OmitValue' denotes a symbolic value that represents no value at all. OR An 'OmitValue' denotes a symbolic value indicating a deliberately omitted value. OR similar statements.
Additional InformationNote: The statement given in 6.3.8 is flawed on its own:

"An 'OmitValue' denotes a symbolic value that represents an optional 'Member' is omitted (that is not present)."

A Member cannot be omitted because it is part of a static data type system. Only a value of this member can be omitted.
TagsNo tags attached.
Attached Filesdocx file icon MTS(15)000019r1_Siemens_contribution_on_omit_and_undefined.docx [^] (20,042 bytes) 10-02-2015 13:04

- Relationships

-  Notes
(0012981)
Andreas Ulrich (manager)
15-06-2015 13:12

Solved in TDL MM v1.2.1.

- Issue History
Date Modified Username Field Change
10-02-2015 13:04 Andreas Ulrich New Issue
10-02-2015 13:04 Andreas Ulrich Status new => assigned
10-02-2015 13:04 Andreas Ulrich Assigned To => Stephan Schulz
10-02-2015 13:04 Andreas Ulrich File Added: MTS(15)000019r1_Siemens_contribution_on_omit_and_undefined.docx
15-06-2015 13:12 Andreas Ulrich Note Added: 0012981
15-06-2015 13:12 Andreas Ulrich Assigned To Stephan Schulz => Andreas Ulrich
15-06-2015 13:12 Andreas Ulrich Status assigned => resolved
15-06-2015 13:12 Andreas Ulrich Resolution open => fixed
16-07-2015 15:59 Philip Makedonski Product Version Part-1 Meta-model and Semantics V1.2.1 => [TDL] Part-1 V1.2.1
16-07-2015 15:59 Philip Makedonski Fixed in Version => [TDL] Part-1 V1.2.1
16-07-2015 15:59 Philip Makedonski Target Version => [TDL] Part-1 V1.2.1


MantisBT 1.2.14 [^]
Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker