Skip Navigation

The Computer Journal 2003 46(4):401-420; doi:10.1093/comjnl/46.4.401
© 2003 by British Computer Society
This Article
Right arrow Full Text (PDF)
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in ISI Web of Science
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Rinderknecht, C.
Right arrow Search for Related Content
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?

An Algorithm for Validating ASN.1 (X.680) Specifications using Set Constraints

Christian Rinderknecht1

1 Network Architecture Laboratory, Information and Communications University, 58-4 Hwaam-dong, Yuseong-gu, Daejeon 305-732, South Korea Email: Christian.Rinderknecht@devinci.fr

Abstract Syntax Notation One (ASN.1) is a standard language for defining data types whose values may be exchanged across a network between two communicating applications, independently of the possible heterogeneity of the peers. ASN.1 has been adopted by a wide range of applications, such as network management, secure email, mobile telephony, voice over IP etc. It offers a very involved subtyping paradigm consisting of constraints upon recursive types, which restrict their sets of values in a set-theoretic manner or in a structural way. Because of this great expressiveness, most ASN.1 compilers are not likely to fully check arbitrary combinations of subtyping constraints. We propose to fully validate the X.680 specifications, i.e. the main part of ASN.1, by means of an algorithm which relies on the set constraints theory. Set constraints are inclusions between expressions interpreted over the domain of sets of trees which may be recursively defined. We define a system of constraints which can model all the specifications, provide a complete collecting algorithm which extracts such constraints from a given specification and, finally, we give a solving procedure which relies upon an algorithm of Aiken and Wimmers. As a result, either the constraints have no solutions (and the specification must be rejected), or the value sets can be finitely represented. It is straightforward to determine whether these value sets are empty; if they are empty then the specification is rejected. This article addresses both the network tool implementors and the theorist audience.


Received 29 March, 2002. Revised 19 December, 2002.


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?




Disclaimer:
Please note that abstracts for content published before 1996 were created through digital scanning and may therefore not exactly replicate the text of the original print issues. All efforts have been made to ensure accuracy, but the Publisher will not be held responsible for any remaining inaccuracies. If you require any further clarification, please contact our Customer Services Department.