SIST ETSI/TCR-TR 019 E1:2005
(Main)Signalling Protocols and Switching (SPS); Evaluation of Abstract Syntax Notation One (ASN.1) tools for use as syntax and semantics checkers
Signalling Protocols and Switching (SPS); Evaluation of Abstract Syntax Notation One (ASN.1) tools for use as syntax and semantics checkers
To present a list of recommended tools which can be used to ensure that an ASN.1 specification complies with the syntaxand semantics defined in CCITT X.208
Signalizacijski protokoli in komutacija (SPS) - Vrednotenje orodij zapisa abstraktne skladnje št. 1 (ASN.1) za uporabo kot sintaktično in semantično preverjanje
General Information
Standards Content (Sample)
SLOVENSKI STANDARD
SIST ETSI/TCR-TR 019 E1:2005
01-april-2005
6LJQDOL]DFLMVNLSURWRNROLLQNRPXWDFLMD6369UHGQRWHQMHRURGLM]DSLVDDEVWUDNWQH
VNODGQMHãW$61]DXSRUDERNRWVLQWDNWLþQRLQVHPDQWLþQRSUHYHUMDQMH
Signalling Protocols and Switching (SPS); Evaluation of Abstract Syntax Notation One
(ASN.1) tools for use as syntax and semantics checkers
Ta slovenski standard je istoveten z: TCRTR 019 Edition 1
ICS:
33.040.30 Komutacijski in signalizacijski Switching and signalling
sistem systems
SIST ETSI/TCR-TR 019 E1:2005 en
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.
---------------------- Page: 1 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
---------------------- Page: 2 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
ETSI TCR-TR 019
TECHNICAL COMMITTEE October 1994
REFERENCE TECHNICAL REPORT
Source: ETSI TC-SPS Reference: DTR/SPS-02025
ICS: 33.020, 33.040.40
ASN.1
Key words:
Signalling Protocols and Switching (SPS);
Evaluation of Abstract Syntax Notation One (ASN.1) tools
for use as syntax and semantics checkers
ETSI
European Telecommunications Standards Institute
ETSI Secretariat
F-06921 Sophia Antipolis CEDEX - FRANCE
Postal address:
650 Route des Lucioles - Sophia Antipolis - Valbonne - FRANCE
Office address:
c=fr, a=atlas, p=etsi, s=secretariat - secretariat@etsi.fr
X.400: Internet:
Tel.: +33 92 94 42 00 - Fax: +33 93 65 47 16
Copyright Notification: No part may be reproduced except as authorized by written permission. The copyright and the
foregoing restriction extend to reproduction in all media.
© European Telecommunications Standards Institute 1994. All rights reserved.
New presentation - see History box
---------------------- Page: 3 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 2
TCR-TR 019: October 1994
Whilst every care has been taken in the preparation and publication of this document, errors in content,
typographical or otherwise, may occur. If you have comments concerning its accuracy, please write to
"ETSI Editing and Committee Support Dept." at the address shown on the title page.
---------------------- Page: 4 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 3
TCR-TR 019: October 1994
Contents
Foreword.5
Introduction .5
1 Scope .7
2 References.7
3 Abbreviations.7
4 Requirements.7
5 Classification.8
6 Contents of the test report .8
7 Recommended tools.10
7.1 CASN.10
7.1.1 General information.10
7.1.2 Tested version .11
7.1.3 Practical aspects.11
7.1.4 Test results. 11
7.1.4.1 Unsupported ASN.1 features .11
7.1.4.2 Limitations of error checking.12
7.2 OSS ASN.1 Tools .12
7.2.1 General information.12
7.2.2 Tested version .13
7.2.3 Practical aspects.13
7.2.4 Test results. 13
7.2.4.1 Unsupported ASN.1 features .13
7.2.4.2 Limitations of error checking.14
7.3 Siemens ASN.1 Tool Set .14
7.3.1 General information.14
7.3.2 Tested version .15
7.3.3 Practical aspects.15
7.3.4 Test results. 15
7.3.4.1 Unsupported ASN.1 features .15
7.3.4.2 Limitations of error checking.16
8 Other tools .16
8.1 ASN.C.16
8.1.1 General information.16
8.1.2 Tested version .17
8.1.3 Test results. 17
8.2 AsTool/T . 17
8.2.1 General information.17
8.2.2 Tested version .18
8.2.3 Test results. 18
8.3 CHIPSY ASN.1 Tools .18
8.3.1 General information.18
8.3.2 Tested version .19
8.3.3 Test results. 19
8.4 Erlang . 19
8.4.1 General information.19
---------------------- Page: 5 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 4
TCR-TR 019: October 1994
8.4.2 Tested version .19
8.4.3 Test results.20
8.5 ISODE (PEPSY).20
8.5.1 General information .20
8.5.2 Tested version .21
8.5.3 Test results.21
8.6 OSIkit (Free Value Tool).21
8.6.1 general information.21
8.6.2 Tested version .21
8.6.3 Test Results.22
8.7 MAVROS (MAVCOD).22
8.7.1 General information .22
8.7.2 Tested version .22
8.7.3 Test results.23
8.8 PLC409.23
8.8.1 General information .23
8.8.2 Tested version .23
8.8.3 Test results.23
8.9 Retix ASN.1 Compiler .24
8.9.1 General information .24
8.9.2 Tested version .24
8.9.3 Test results.24
8.10 SNACC.25
8.10.1 General information .25
8.10.2 Tested version .25
8.10.3 Test results.25
8.11 TWICE.25
8.11.1 General information .25
8.11.2 Tested version .26
8.11.3 Test results.26
Annex A: Testing process .27
A.1 Test preparation.27
A.2 Test execution.27
A.3 First test report .27
A.4 Final test report.27
Annex B: Examples of test cases .28
Annex C: Table of test results .31
History .33
---------------------- Page: 6 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 5
TCR-TR 019: October 1994
Foreword
This Technical Committee Reference Technical Report (TCR-TR) was prepared by the Signalling Protocols
and Switching (SPS) Technical Committee of the European Telecommunications Standards Institute
(ETSI).
A TCR-TR is a deliverable for use inside ETSI which records output results of ETSI Technical Committee
(TC) or Sub-Technical Committee (STC) studies which are not appropriate for European
Telecommunication Standard (ETS), Interim European Telecommunication Standard (I-ETS) or ETSI
Technical Report (ETR) status. They can be used for guidelines, status reports, co-ordination documents,
etc. They are to be used to manage studies inside ETSI and shall be mandatorially applied amongst the
concerned TCs. They shall also be utilised by the TC with overall responsibility for a study area for co-
ordination documents (e.g. models, reference diagrams, principles, structures of standards, framework
and guideline documents) which constitute the agreed basis for several, if not all, TCs and STCs to pursue
detailed standards.
Introduction
Signalling information to be exchanged between telecommunication systems becomes more and more
complex. For this reason, it becomes necessary to change the description technique of signalling
messages from the tabular notation to the Abstract Syntax Notation One (ASN.1).
It is considered very important that the ASN.1 which is used in standards is without errors. The same
applies to ASN.1 modules which could be made available for general use.
In order to ensure that an ASN.1 specification is without errors, an automated checker could be used. A
number of tools is available that could be used for this purpose. This TCR-TR presents the results of the
testing of the capabilities to check ASN.1 modules for a number of these tools.
According to the test results the tools have been divided into two groups: recommended tools and other
tools. The classification of the tools was based on a pre-defined set of requirements (described in
clause 4), but minor discrepancies have been ignored.
The following conventions are used to refer to elements of the ASN.1 language:
- Terms which refer directly to items or productions defined by the ASN.1 specification are used
between quotation marks. The terms that are defined in CCITT Recommendation X.208 (1988), § 3
are used without quotation, with the exception that sometimes "any" type is used instead of any
type in order to prevent misunderstandings.
- Instead of value of an integer type, usually integer value is used (and similar for all other types).
- Instead of an identifier with which an integer value is associated, defined integer is used (and
similar for all other types).
- Instead of "Type", type is used.
- Instead of "DefinedType", defined type is used.
- Instead of "BuiltinType", built-in type is used.
- The terms that are used in the titles of CCITT Recommendation X.208 (1988), §§ 37.1 to 37.6
(describing subtype value sets) are used instead of references to the corresponding productions
(e.g. inner subtyping instead of "InnerSubtyping").
---------------------- Page: 7 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 6
TCR-TR 019: October 1994
Blank page
---------------------- Page: 8 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 7
TCR-TR 019: October 1994
1 Scope
The main objective of this Technical Committee Reference Technical Report (TCR-TR) is to present a list
of recommended tools which can be used to ensure that an ASN.1 specification complies with the syntax
and semantics defined in CCITT Recommendation X.208 [1].
In order to establish the list a number of tools have been evaluated. The evaluation was based on the list
of requirements given in clause 4.
The evaluation concerns the syntax and semantics checking capabilities of the tools. Other functions, such
as code generation, have not been evaluated.
It is not the objective of this TCR-TR to identify a single tool to be used by all editors and by the ETSI
secretariat.
Inclusion of a tool in the list of recommended tools does not imply any guarantee for other versions of the
tool or for the quality of support supplied by the provider of the tool.
2 References
For the purposes of this TCR-TR, the following references apply:
[1] CCITT Recommendation X.208 (1988): "Specification of abstract syntax notation
one (ASN.1)" (also published as ISO/IEC 8824:1990).
[2] CCITT Recommendation X.209 (1988): "Specification of basic encoding rules for
abstract syntax notation one (ASN.1)" (also published as ISO/IEC 8825:1990).
[3] ETR 060 (1992): "Signalling Protocols and Switching (SPS); Guidelines for using
Abstract Syntax Notation One (ASN.1) in telecommunication application
protocols".
[4] ITU-T Recommendation Q.773 (1993): "Specifications of Signalling System
No.7; Transaction Capabilities Application Part (TCAP); Transaction capabilities
formats and encoding".
[5] ISO/IEC DIS 8824-1 (1992): "Information technology - Open Systems
Interconnection - Abstract Syntax Notation One (ASN.1)".
[6] CCITT Recommendation X.219 (1988): "Remote operations: Model, notation
and service definition".
3 Abbreviations
For the purposes of this TCR-TR, the following abbreviations apply:
ASN.1 Abstract Syntax Notation One
BER Basic Encoding Rules (as defined in CCITT Recommendation X.209 [2])
ROSE Remote Operation Service Element
SNMP Simple Network Management Protocol
TCAP Transaction Capabilities Application Part
4 Requirements
The tool shall accept any valid ASN.1 specification (CCITT Recommendation X.208 [1]), apart from the
exceptions listed below. A transformation of the ASN.1 specification by the user of the tool shall not be
required (e.g. addition of semicolon between assignments, sorting of type definitions, etc.).
---------------------- Page: 9 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 8
TCR-TR 019: October 1994
The tool shall indicate if a rule defined in CCITT Recommendation X.208 [1] was violated by an ASN.1
specification.
Support of contained subtyping and inner subtyping is not required.
Support of the MACRO notation is not required, as long as the usage of the ERROR or OPERATION
macro (as specified in CCITT Recommendations X.219 [6] and Q.773 [4]) are supported.
Any of the following notations for choice values will be admitted:
1) identifier value (standard notation)
2) {identifier value} ({}-notation)
3) identifier : value (:-notation)
Any of the following notations for "any" values will be admitted:
1) type value
2) {type value}
3) {type : value}
NOTE: The first option is according to CCITT Recommendation X.208 [1]. Since this notation is
problematic for automatic parsers, the second option has been used by some tool
developers. The third option is according to the notation as specified in
ISO/IEC DIS 8824-1 [5].
5 Classification
In total 10 tools were tested. The test method is described in annex A. The resulting test reports and the
requirements were used as the basis for classification. Minor discrepancies between the requirements and
the test results have been ignored. These limitations can be found in the individual test report for the tool.
For two tools, ISODE and OSIkit, the test procedure was only partly executed. It became apparent in an
early stage that the tools would not qualify as recommended tools, and therefore no detailed test report
was written.
Two other tools were not tested. The provider of one of these, AsTool/T, considered that the tool would
not qualify, and decided not to supply an evaluation copy. The other tool, TWICE, was not tested since the
documentation made clear that it would not qualify.
The four tools that were not (fully) tested do feature in the list of tools. An indication is given of the reasons
why they do not qualify as recommended tools.
NOTE 1: Both for the definition of the requirements and for the individual decisions whether a
discrepancy could be considered of minor importance, the current practice of
specification within SPS has been taken as a basis. These decisions may not be
appropriate for different ways of specification. Notably the use of macros other than
OPERATION and ERROR may cause some of the recommended tools to be of limited
use. The test report lists all limitations that were found for each tool.
NOTE 2: Most of the tools do not have the checking of ASN.1 as their primary function. If such a
tool is not included in the list of recommended tools, this does not imply that this tool is
not suited for its primary task.
6 Contents of the test report
The test report for the recommended tools covers all items that are listed below. For the other tools, the
item "practical aspects" is omitted.
---------------------- Page: 10 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 9
TCR-TR 019: October 1994
- General information
This information was supplied by the provider of the tool. It is not a result of the evaluation.
NOTE 1: Since the ASN.1 specification is likely to change from the one given in CCITT
Recommendation X.208 [1] to the one of ISO/IEC DIS 8824-1 [5] (the "1992"
standard), it is indicated which of the features in this new standard are supported by
the tool. These features were not tested, apart from the :-notation for choice values.
Furthermore, it is indicated whether the provider plans to adapt the tool to the new
standard.
- Tested version
- Practical aspects
Some of the aspects that are of importance for the practical use of the tool are described here. This
information has no influence on the classification of the tools, but it may influence the ease with
which the tool may be used.
- Error reporting and recovery
Error messages that do not indicate the type of error or the location of the error in the
specification can pose problems with its correction. This type of error often occurs if a
syntactical construct is used that is not supported by the tool.
Good error recovery will enable the user to find several errors in a module with one pass of
the tool. This can be especially useful if the person who checks the specification is not the
same as the one who is responsible for corrections, e.g. in the case where an editor uses the
tool.
- Supported notation for choice and any values
If the tool supports another method to specify choice and any values than the one which is
used in the specification that has to be tested, this means that the specification may have to
be adapted.
- Restrictions on files
For some tool the name of the file which contains the specification has to fulfil certain
requirements. Furthermore, some tools only allow one module per file.
- Import/export
Specifications often consist of several interdependent modules. In order to check such
specifications, these modules will have to be organised according to the scheme that the used
tool supports. This may involve putting all modules in separate files with specific file names
and/or sorting the modules according to dependencies.
In case there are circular dependencies between modules, it is not possible to fulfil the
requirements that are placed on the organisation of the input by some of the tools.
- Test results
For the recommended tools, a full report is given of all errors that where found. For the other tools,
a list of the most serious limitations is given. In some cases, reference is made to examples which
are given in annex B.
If a limitation corresponds to usage of ASN.1 which is deprecated in ETR 060 [3] (and which,
therefore, should not occur), this is indicated.
NOTE 2: A concise overview of the test results for all tested tools can be found in annex C.
NOTE 3: The number of items in the list of limitations is not significant. If a tool supports a
certain feature, but there are some limitations in this support, this will cause more items
to appear in the list than the case of not supporting the feature at all.
---------------------- Page: 11 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 10
TCR-TR 019: October 1994
The test results are divided in two groups:
- Unsupported ASN.1 features
These limitations will generally make it impossible to parse a specification in which such a
feature occurs.
NOTE 4: There are some syntactical constructs that are very difficult to parse: the definition and
use of macros and the (standard) value notation for choice and any types. None of the
tools fully supports all of these items.
- Limitations of error checking
These are mostly missing error messages for semantic errors. These limitations do not
prohibit the parsing of a module. However, the usefulness of a tool decreases with the
increasing number of errors that are not detected by it.
NOTE 5: CCITT Recommendation X.208 [1] specifies some error conditions which are very
difficult to check. Examples of this are the requirement that the subtype notation shall
not be used so as to produce a subtype with no values and the requirement that it
should be possible to define values which have a finite representation for a recursive
type.
7 Recommended tools
Using the method of classification described in clause 5, the tools that are listed in this clause have been
classified as recommended tools. They are listed in alphabetical order.
7.1 CASN
7.1.1 General information
Originating company:
NOKIA Research Center
P.O. Box 45
FIN-00211 Helsinki
FINLAND
Phone: +358 0 43 761
Fax: +358 0 43 76227
Contact point:
Ari Ahtiainen
E-mail: aanen@research.nokia.com
Other relevant functions (apart from checking ASN.1 specifications):
- Generation of decoder and encoder code for the Basic Encoding Rules (BER).
++
Target languages: C. Support for C will be available in 1994.
- Generation of interactive test functions.
Platform(s) on which the tool can be executed:
UNIX, VMS, MS-DOS.
Supported 1992 features:
The new CASN 2.01 syntax-checker (beta test version available) accepts the following "1992
notation" as specified in ISO/IEC DIS 8824-1 [5]:
- extended character string types;
- information object specification;
- constraint specification;
- parametrization of ASN.1 specifications.
Schedule for the implementation of the 1992 notation:
See above.
---------------------- Page: 12 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 11
TCR-TR 019: October 1994
Support:
Correction of documented reproducible errors appearing during the first 2 months.
Maintenance contracts are offered to cover error-corrections and/or new features in the software.
Price:
with C source code of Run Time Support system:
MS-DOS: US$ 10 500,- UNIX: US$ 21 000,- VMS: US$ 27 000,-
without C source code of Run Time Support system:
MS-DOS: US$ 7 500,- UNIX: US$ 15 000,- VMS: US$ 21 500,-
only syntax analysis part:
MS-DOS: US$ 2 500,- UNIX: US$ 4 000,- VMS: US$ 8 000,-
7.1.2 Tested version
v1.54 for MS-DOS Version 5.0.
7.1.3 Practical aspects
Notation for choice and any values:
1)
The {}-notation must be used for choice values and any values .
Restrictions on files:
There are no restrictions on file names.
Not more than one module can be in a file.
Import/export:
If a module imports symbols from other modules, these modules have to be compiled first. During
compilation a file is generated which contains information concerning the symbols that are defined in
the module. This file is used for the necessary information if another module imports one of those
symbols.
Error reporting and recovery:
The tool generates a file containing an error listing. For most errors there is an appropriate
description in the context of the ASN.1 source file. However, for some syntax errors messages were
generated without indication of the line number or the type of error.
There is some error recovery from syntax errors.
7.1.4 Test results
7.1.4.1 Unsupported ASN.1 features
2)
a) Macro definition is not supported. The use of the OPERATION and ERROR macros is possible ,
with the following limitations:
- the resulting value of a choice type has to be replaced by an integer value;
- macro type notation may only appear as a type in type or value assignments, but not as
element of set or sequence type;
- built-in types cannot be used in the type notation.
b) Inner subtyping is not supported.
c) Contained subtyping is not supported.
d) The selection type is not supported.
e) The abbreviations "SET" and "SEQUENCE" for "SET OF ANY" and "SEQUENCE OF ANY" are not
supported.
f) Named values without identifiers are not supported.
NOTE: Use of such values is deprecated in ETR 060 [3].
1)
Version 2 will support the :-notation. A beta release of this version is available.
2)
According to the provider of the tool the BIND and UNBIND macros as defined in CCITT Recommendation X.219 [6] are also
supported. These were not tested.
---------------------- Page: 13 ----------------------
SIST ETSI/TCR-TR 019 E1:2005
Page 12
TCR-TR 019: October 1994
g) Importation of symbols from different modules with the same module reference is not supported
(see example 8).
h) The value "2" as base for real values is not accepted.
i) Non-printable ASCII characters cannot be used in character string types.
j) The value notation for the external type is not accepted.
k) Specification of alternatives for subtypes (using "|") is not supported except for the use within a
permitted alphabet subtype specification.
l) The value "0" cannot be used as upper endpoint of a size constraint subtype.
7.1.4.2 Limitations of error checking
a) The content of string values is not checked.
b) Subtypes can be defined in a way that no values can be specified (see example 5 and also note 5 in
clause 6).
c) Recursive type definitions for which no values ca
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.