ETSI's Bug Tracker - Part 01: TTCN-3 Core Language
View Issue Details
0005923Part 01: TTCN-3 Core LanguageEditorialpublic22-08-2011 15:2329-11-2011 15:52
Andrus Lehtmets 
Ina Schieferdecker 
normalmajorhave not tried
closedfixed 
 
v4.4.1 (published 2012-04)v4.4.1 (published 2012-04) 
TTCN-3 Edition 4.3.1: Core language
Elvior
0005923: BNF (rules 50 and 58) in appendix A and port type definition chapter 6.2.9 do not match
BNF (rules 50 and 58) in appendix A and port type definition chapter 6.2.9 do not match

Chapter 6.2.9

type port PortTypeIdentifier message "{"
  [ address Type “;” ]
  [ map param "(" { FormalValuePar [","] }+ ")" ]
  [ unmap param "(" { FormalValuePar [","] }+ ")" ]
  { ( in | out | inout ) { MessageType [ "," ] }+ ";" }
"}"

Procedure-based port:
type port PortTypeIdentifier procedure "{"
  [ address Type “;” ]
  [ map param "(" { FormalValuePar [","] }+ ")" ]
  [ unmap param "(" { FormalValuePar [","] }+ ")" ]
  { ( in | out | inout ) { Signature [ "," ] }+ ";" }
"}"

50.MessageAttribs ::= MessageKeyword "{" [AddressDecl] {MessageList [SemiColon]}+
                       "}" [MapKeyword ParamKeyword "(" FormalValuePar
                            {"," FormalValuePar} ")"] [UnmapKeyword ParamKeyword
                                                      "(" FormalValuePar
                                                      {"," FormalValuePar}
                                                      ")"]


58.ProcedureAttribs ::= ProcedureKeyword "{" [AddressDecl] {ProcedureList
                                                             [SemiColon]}+
                         "}" [MapKeyword ParamKeyword "(" FormalValuePar
                              {"," FormalValuePar} ")"] [UnmapKeyword ParamKeyword
                                                        "(" FormalValuePar
                                                        {"," FormalValuePar}
                                                        ")"]
Ina: The syntactical structure in the main text only explains the principles of the syntactic elements – it does not define the syntax itself – it is only used to give the reader an indication how the syntax looks like. Wrt. to the usage of parameters in map/unmap and the described cases, please also create CRs.

Tomáš Urban: but it should be corrected anyway, because it gives the reader totally wrong impression where to put the map and unpam parameter declaration. The BNF expects that the map and unmap param declarations follow the message/procedure list, but the rules in the textual part state that they precede the list. Interesting thing is that the code examples are written according to BNF.
No tags attached.
related to 0005417closed Ina Schieferdecker Support of parametrized map/unmap operation for full dynamic mapping 
related to 0002105closed Ina Schieferdecker address should also be bind to port type 
related to 0005924closed Ina Schieferdecker What should happen when parameter list is present in port type, but not used in map operation 
related to 0005925closed Ina Schieferdecker in case of global unmap - is param list allowed or not? 
docx CR5923.docx (19,822) 29-09-2011 11:53
http://oldforge.etsi.org/mantis/file_download.php?file_id=2571&type=bug
docx CR5923-v2.docx (8,267) 29-09-2011 12:33
http://oldforge.etsi.org/mantis/file_download.php?file_id=2572&type=bug
Issue History
22-08-2011 15:23Andrus LehtmetsNew Issue
22-08-2011 15:23Andrus LehtmetsClause Reference(s) => TTCN-3 Edition 4.3.1: Core language
22-08-2011 15:23Andrus LehtmetsSource (company - Author) => Elvior
27-09-2011 12:04Gyorgy RethyProjectTTCN-3 Change Requests => Part 01: TTCN-3 Core Language
27-09-2011 12:08Gyorgy RethyAssigned To => Ina Schieferdecker
27-09-2011 12:08Gyorgy RethyStatusnew => assigned
27-09-2011 12:08Gyorgy RethyTarget Version => Edition 4.4.1
28-09-2011 12:37Ina SchieferdeckerNote Added: 0010270
28-09-2011 12:37Ina SchieferdeckerNote Added: 0010271
28-09-2011 12:37Ina SchieferdeckerAssigned ToIna Schieferdecker => Jacob Wieland - Spirent
28-09-2011 12:54Jacob Wieland - SpirentNote Added: 0010273
28-09-2011 12:57Jacob Wieland - SpirentAssigned ToJacob Wieland - Spirent => Ina Schieferdecker
29-09-2011 09:45Ina SchieferdeckerRelationship addedrelated to 0005417
29-09-2011 09:47Ina SchieferdeckerRelationship addedrelated to 0002105
29-09-2011 09:50Ina SchieferdeckerNote Added: 0010289
29-09-2011 11:31Ina SchieferdeckerNote Edited: 0010289
29-09-2011 11:38Jacob Wieland - SpirentNote Added: 0010294
29-09-2011 11:53Ina SchieferdeckerNote Edited: 0010294
29-09-2011 11:53Ina SchieferdeckerFile Added: CR5923.docx
29-09-2011 11:53Ina SchieferdeckerNote Added: 0010295
29-09-2011 11:54Ina SchieferdeckerAssigned ToIna Schieferdecker => Jacob Wieland - Spirent
29-09-2011 12:33Jacob Wieland - SpirentFile Added: CR5923-v2.docx
29-09-2011 12:34Jacob Wieland - SpirentNote Added: 0010297
29-09-2011 12:34Jacob Wieland - SpirentAssigned ToJacob Wieland - Spirent => Ina Schieferdecker
29-09-2011 15:32Jacob Wieland - SpirentRelationship addedrelated to 0005937
29-11-2011 12:54Ina SchieferdeckerNote Added: 0010390
29-11-2011 13:05Ina SchieferdeckerStatusassigned => resolved
29-11-2011 13:05Ina SchieferdeckerResolutionopen => fixed
29-11-2011 13:05Ina SchieferdeckerFixed in Version => Edition 4.4.1
29-11-2011 13:05Ina SchieferdeckerStatusresolved => closed
29-11-2011 15:51Ina SchieferdeckerRelationship addedrelated to 0005966
29-11-2011 15:51Ina SchieferdeckerRelationship deletedrelated to 0005966
29-11-2011 15:52Ina SchieferdeckerRelationship deletedrelated to 0005937
29-11-2011 15:53Ina SchieferdeckerRelationship addedrelated to 0005924
29-11-2011 15:54Ina SchieferdeckerRelationship addedrelated to 0005925

Notes
(0010270)
Ina Schieferdecker   
28-09-2011 12:37   
Proposal to change to

type port PortTypeIdentifier message "{"
  [ address Type “;” ]
  { ( in | out | inout ) { MessageType [ "," ] }+ ";" }
  [ map param "(" { FormalValuePar [","] }+ ")" ]
  [ unmap param "(" { FormalValuePar [","] }+ ")" ]
"}"

Procedure-based port:
type port PortTypeIdentifier procedure "{"
  [ address Type “;” ]
  { ( in | out | inout ) { Signature [ "," ] }+ ";" }
  [ map param "(" { FormalValuePar [","] }+ ")" ]
  [ unmap param "(" { FormalValuePar [","] }+ ")" ]
"}"
(0010271)
Ina Schieferdecker   
28-09-2011 12:37   
Please check
(0010273)
Jacob Wieland - Spirent   
28-09-2011 12:54   
This was already solved in 5417, but must be merged with solution for 2105, as well.

Basically, to allow any order, it must be:

type port PortTypeIdentifier message "{"
  { address Type “;” |
    ( in | out | inout ) { MessageType [ "," ] }+ ";" |
    map param "(" { FormalValuePar [","] }+ ")" |
    unmap param "(" { FormalValuePar [","] }+ ")" }
"}"

Procedure-based port:
type port PortTypeIdentifier procedure "{"
  { address Type “;” |
    ( in | out | inout ) { Signature [ "," ] }+ ";" |
    map param "(" { FormalValuePar [","] }+ ")" |
    unmap param "(" { FormalValuePar [","] }+ ")" }
"}"
(0010289)
Ina Schieferdecker   
29-09-2011 09:50   
(edited on: 29-09-2011 11:31)
In 5417 it was proposed the wrong way ... anyhow, it would ease matters so that any order is more convenient

(0010294)
Jacob Wieland - Spirent   
29-09-2011 11:38   
(edited on: 29-09-2011 11:53)
in the last proposal for 5417, it was proposed with the wrong order. Anyway, I just saw that the map/unmap lines miss the ";" after the ")"

(0010295)
Ina Schieferdecker   
29-09-2011 11:53   
Please check
(0010297)
Jacob Wieland - Spirent   
29-09-2011 12:34   
updated so that all declarations inside port attributes can be any order, also address
(0010390)
Ina Schieferdecker   
29-11-2011 12:54   
Added the restrictions:

"In addition to the general static rules of TTCN 3 given in clause 5, the following restrictions apply:

- At most one address type should be bound to a port type
- At most one map parameter list should be defined for a port type
- At most one unmap parameter list should be defined for a port type
"