ETSI's Bug Tracker - Part 06: TTCN-3 Control Interface
View Issue Details
0004299Part 06: TTCN-3 Control InterfaceTechnicalpublic15-10-2008 17:3014-12-2008 10:53
Anthony Baire 
Ina Schieferdecker 
normalminoralways
closedfixed 
v3.4.1 (published 2008-09) 
v4.1.1 (published 2009-06)v4.1.1 (published 2009-06) 
Part 6 9.2 9.4 9.5 9.6
     
0004299: Various issues in the C mapping of the TCI
Here are various issues in the ANSI/C mapping of the TCI.

Inconsistencies between the IDL definition and C mapping in:
- tliPrCall_m
- tliPrCall_c
- tliPDisconnect
- tliPUnmap

Typos:
- TciParamaterType -> TciParameterType
- TciCharString -> TciCharStringValue
- TciObjidElem -> TciObjidElemValue
- TciUCType -> TciUCValue
- TriSignatureIdType -> TriSignatureId
- TciParameterList -> TciParameterListType
- TciParamaterListType -> TciParameterListType
- TciParameterList -> TciParameterListType
- TriStatus -> TciStatus
- TciStatus -> TriStatus

Invalid C code:
- java-like array definitions (eg: TciValueDifference[] -> TciValueDifference*)


The proposed fixes are detailed below



------------------------------------------------------------------------------------
Value Interfaces


Section 9.2 p124

   void tciSetCStringValue
    (Value inst, TciCharString value)
   void tciSetCStringValue
-> (Value inst, TciCharStringValue value)


Section 9.5 p134

   typedef struct TciValueDifferenceList
   {
    long int length;
    TciValueDifference[] diffList;
   } TciValueDifferenceList;
   typedef struct TciValueDifferenceList
   {
    long int length;
-> TciValueDifference* diffList;
   } TciValueDifferenceList;


Section 9.6 p134

      typedef struct TciObjidValue
      {
        long int length;
        TciObjidElem *elements;
      } TciObjidValue;
      typedef struct TciObjidValue
      {
        long int length;
-> TciObjidElemValue *elements;
      } TciObjidValue;


      typedef unsigned char[4] TciUCValue
-> typedef unsigned char TciUCValue[4]


      typedef struct TciUCStringValue
      {
        unsigned long int length;
        TciUCType *string;
      } TciUCStringValue;
      typedef struct TciUCStringValue
      {
        unsigned long int length;
-> TciUCValue *string;
      } TciUCStringValue;




------------------------------------------------------------------------------------
TCI-CH

Section 9.4.3.1 p127

   void tciReplyConnected
    (TriPortId sender, TriComponentId receiver, TriSignatureIdType signature,
     TciParameterListType parameterList, Value returnValue)
   void tciReplyConnected
-> (TriPortId sender, TriComponentId receiver, TriSignatureId signature,
     TciParameterListType parameterList, Value returnValue)


   void tciReplyConnectedBC
    (TriPortId sender, TriSignatureIdType signature, TciParameterListType parameterList,
     Value returnValue)
   void tciReplyConnectedBC
-> (TriPortId sender, TriSignatureId signature, TciParameterListType parameterList,
     Value returnValue)


   void tciReplyConnectedMC
    (TriPortId sender, TriComponentIdList receivers, TriSignatureIdType signature,
     TciParameterListType parameterList, Value returnValue)
   void tciReplyConnectedMC
-> (TriPortId sender, TriComponentIdList receivers, TriSignatureId signature,
     TciParameterListType parameterList, Value returnValue)


   void tciStartTestComponentReq
    (TriComponentId component, TciBehaviourIdType behavior, TciParamaterListType parameterList)
   void tciStartTestComponentReq
-> (TriComponentId component, TciBehaviourIdType behavior, TciParameterListType parameterList)


Section 9.4.3.2 p128

   void tciEnqueueRaiseConnected
    (TriPortId sender, TriComponentId receiver, TriSignatureIdType signature, Value exception)
   void tciEnqueueRaiseConnected
-> (TriPortId sender, TriComponentId receiver, TriSignatureId signature, Value exception)


   void tciStartTestComponent
    (TriComponentId component, TciBehaviourIdType behavior, TciParamaterListType parameterList)
   void tciStartTestComponent
-> (TriComponentId component, TciBehaviourIdType behavior, TciParameterListType parameterList)


------------------------------------------------------------------------------------
TCI-TL

Section 9.4.4.1 p128

   void tliTcExecute
    (String am, int ts, String src, int line, TriComponentId c, TciTestCaseIdType tcId,
     TciParameterList tciPars, TriTimerDuration dur)
   void tliTcExecute
    (String am, int ts, String src, int line, TriComponentId c, TciTestCaseIdType tcId,
-> TciParameterListType tciPars, TriTimerDuration dur)


   void tliPrCall_m
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriSignatureId signature,
     TciParameterListType tciPars, Value addrValue, TriStatus encoderFailure,
     TriParameterListType triPars, TriAddress address, TciStatus transmissionFailure)
   void tliPrCall_m
-> (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to, TriSignatureId signature,
-> TciParameterListType tciPars, Value addrValue, TciStatus encoderFailure,
-> TriParameterList triPars, TriAddress address, TriStatus transmissionFailure)


   void tliPrCall_m_BC
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to,
     TriSignatureId signature, TciParameterListType tciPars, TciStatus encoderFailure,
     TriParameterListType triPars, TriStatus transmissionFailure)
   void tliPrCall_m_BC
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to,
     TriSignatureId signature, TciParameterListType tciPars, TciStatus encoderFailure,
-> TriParameterList triPars, TriStatus transmissionFailure)


   void tliPrCall_m_MC
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to,
     TriSignatureId signature, TciParameterListType tciPars, TciValueList addrValues,
     TciStatus encoderFailure, TriParameterListType triPars, TriAddressList addresses,
     TriStatus transmissionFailure)
   void tliPrCall_m_MC
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to,
     TriSignatureId signature, TciParameterListType tciPars, TciValueList addrValues,
-> TciStatus encoderFailure, TriParameterList triPars, TriAddressList addresses,
     TriStatus transmissionFailure)


   void tliPrCall_c
    (String am, int ts, String srcint line, TriComponentId c, TriPortId at, TriSignatureId signature,
     TciParameterListType tciPars, TriStatus transmissionFailure)
   void tliPrCall_c
-> (String am, int ts, String srcint line, TriComponentId c, TriPortId at, TriPortId to, TriSignatureId signature,
     TciParameterListType tciPars, TriStatus transmissionFailure)


   void tliPrReply_m
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to,
     TriSignatureIdType signature, TciParameterListType tciPars, Value replValue,
     Value addrValue, TciStatus encoderFailure, TriParameterListType triPars,
     TriParameter repl, TriAddress address, TriStatus transmissionFailure)
   void tliPrReply_m
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to,
-> TriSignatureId signature, TciParameterListType tciPars, Value replValue,
-> Value addrValue, TciStatus encoderFailure, TriParameterList triPars,
     TriParameter repl, TriAddress address, TriStatus transmissionFailure)


   void tliPrReply_m_BC
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to,
     TriSignatureIdType signature, TciParameterListType tciPars, Value replValue,
     TciStatus encoderFailure, TriParameterListType triPars, TriParameter repl,
     TriStatus transmissionFailure)
   void tliPrReply_m_BC
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to,
-> TriSignatureId signature, TciParameterListType tciPars, Value replValue,
-> TciStatus encoderFailure, TriParameterList triPars, TriParameter repl,
     TriStatus transmissionFailure)


   void tliPrReply_m_MC
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to,
     TriSignatureIdType signature, TciParameterListType tciPars, Value replValue,
     TciValueList addrValues, TriStatus encoderFailure, TriParameterListType triPars,
     TriParameter repl, TriAddressList addresses, TciStatus transmissionFailure)
   void tliPrReply_m_MC
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId to,
-> TriSignatureId signature, TciParameterListType tciPars, TciValue replValue,
-> TciValueList addrValues, TriStatus encoderFailure, TriParameterList triPars,
     TriParameter repl, TriAddressList addresses, TciStatus transmissionFailure)


   void tliPrGetReplyDetected_m
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId from,
     TriSignatureId signature, TriParameterListType triPars, TriParameter repl, TriAddress address)
   void tliPrGetReplyDetected_m
    (String am, int ts, String src, int line, TriComponentId c, TriPortId at, TriPortId from,
-> TriSignatureId signature, TriParameterList triPars, TriParameter repl, TriAddress address)


   void tliPDisconnect
    (String am, int ts, String src, int line, TriComponentId c, TriComponentId c1, TriPortId port1,
     TriComponentId c2, TriPortId port2)
   void tliPDisconnect
-> (String am, int ts, String src, int line, TriComponentId c, TriPortId port1, TriPortId port2)


   void tliPUnmap
    (String am, int ts, String src, int line, TriComponentId c, TriComponentId c1, TriPortId port1,
     TriComponentId c2, TriPortId port2)
-> void tliPUnmap
    (String am, int ts, String src, int line, TriComponentId c, TriPortId port1, TriPortId port2)


   void tliTTimeout
    (String am, int ts, String src, int line, TriComponentId c, TriTimerIdType timer,
     TciNonValueTemplate timerTmpl)
   void tliTTimeout
-> (String am, int ts, String src, int line, TriComponentId c, TriTimerId timer,
     TciNonValueTemplate timerTmpl)


   void tliSEnter
    (String am, int ts, String src, int line, TriComponentId c,QualifiedName name,
     TciParameterList tciPars, String kind)
   void tliSEnter
    (String am, int ts, String src, int line, TriComponentId c,QualifiedName name,
-> TciParameterListType tciPars, String kind)




No tags attached.
doc CR4299_Solution.doc (357,376) 16-10-2008 13:43
http://oldforge.etsi.org/mantis/file_download.php?file_id=1705&type=bug
doc CR4299_Solution_v2.doc (360,448) 06-11-2008 17:26
http://oldforge.etsi.org/mantis/file_download.php?file_id=1736&type=bug
doc CR4299_Solution_v3.doc (360,448) 21-11-2008 15:09
http://oldforge.etsi.org/mantis/file_download.php?file_id=1755&type=bug
zip es_20187306v040000_MasterCopy.zip (1,354,246) 12-12-2008 15:31
http://oldforge.etsi.org/mantis/file_download.php?file_id=1892&type=bug
Issue History
15-10-2008 17:30Anthony BaireNew Issue
15-10-2008 17:30Anthony BaireStatusnew => assigned
15-10-2008 17:30Anthony BaireAssigned To => Ina Schieferdecker
15-10-2008 17:30Anthony BaireClause Reference(s) => Part 6 9.2 9.4 9.5 9.6
15-10-2008 17:30Anthony BaireSource (company - Author) =>
16-10-2008 13:43Ina SchieferdeckerNote Added: 0007095
16-10-2008 13:43Ina SchieferdeckerFile Added: CR4299_Solution.doc
16-10-2008 13:44Ina SchieferdeckerAssigned ToIna Schieferdecker => Thomas Deiß
16-10-2008 13:44Ina SchieferdeckerResolutionopen => fixed
16-10-2008 13:44Ina SchieferdeckerTarget Version => Edition 4.1.1 (not yet published)
06-11-2008 17:26Anthony BaireFile Added: CR4299_Solution_v2.doc
06-11-2008 17:28Anthony BaireNote Added: 0007272
21-11-2008 15:09Thomas DeißFile Added: CR4299_Solution_v3.doc
21-11-2008 15:11Thomas DeißNote Added: 0007382
21-11-2008 15:11Thomas DeißAssigned ToThomas Deiß => Ina Schieferdecker
12-12-2008 13:58Ina SchieferdeckerFile Added: es_20187306v040000_MasterCopy.zip
12-12-2008 14:03Ina SchieferdeckerFile Deleted: es_20187306v040000_MasterCopy.zip
12-12-2008 14:03Ina SchieferdeckerFile Added: es_20187306v040000_MasterCopy.zip
12-12-2008 14:07Ina SchieferdeckerNote Added: 0007686
12-12-2008 14:07Ina SchieferdeckerAssigned ToIna Schieferdecker => Thomas Deiß
12-12-2008 14:07Ina SchieferdeckerStatusassigned => resolved
12-12-2008 14:07Ina SchieferdeckerFixed in Version => Edition 4.1.1 (not yet published)
12-12-2008 15:30Ina SchieferdeckerFile Deleted: es_20187306v040000_MasterCopy.zip
12-12-2008 15:31Ina SchieferdeckerFile Added: es_20187306v040000_MasterCopy.zip
14-12-2008 10:53Ina SchieferdeckerStatusresolved => closed
14-12-2008 10:53Ina SchieferdeckerAssigned ToThomas Deiß => Ina Schieferdecker

Notes
(0007095)
Ina Schieferdecker   
16-10-2008 13:43   
See solution attached.
(0007272)
Anthony Baire   
06-11-2008 17:28   
all the changes were not merged. Please check the new document CR4299_Solution_v2.doc
(0007382)
Thomas Deiß   
21-11-2008 15:11   
corrections ok from my side. One further typo found in 9.4.3.2 -> corrected in CR4299_Solution_v3.doc.

After updating the master copy, I'll do a separate crosscheck for parameterlist(type) in whole part6.
(0007686)
Ina Schieferdecker   
12-12-2008 14:07   
added the resolution to the master copy

removed objid completely from TCI as this goes into Part 7

please check