Question 991109-2: Below is a specification of a proposed addition to Internet e-mail. The specification is based on ABNF. Write a specificaction which will convey the same information using ASN.1. You need only translate the syntax (down to "Note:") not the explanatory text which comes after "Note:". Note: Your solution should only transfer the information, not the syntactical form.



Supersedes-field = "Supersedes:" " " identifier
                    *(identifier) optional-parameter-list CRLF

optional-parameter-list = *( ";" " " parameter )

parameter = parameter-name [ "=" parameter-value ]

parameter-name = "noshow" / "show" / "repost"
                 private-parameter / future-parameter

Note: There is no comma between multiple values, and that each Message-ID
value is to be surrounded by angle brackets.

Warning: Some software may not work correctly with comments in header
fields, especially comments in other places than at the beginning and
end of the field value.

Warning: This header MUST be spelled "Supersedes" and not


The Supersedes header identifies previous correspondence, which this
message supersedes. Different messaging agents such as user agents,
mailing list expanders and mailing list archives. A user agent is expected
to handle this field in much the same way as the In-Reply-To and References

Note: The Message-ID of a superseding message MUST be different from
the Message-ID of the superseded message. The Message-ID of the superseded
message is used as value in the "Supersedes:" header, not
in the Message-ID of the superseding message.


noshow In the opinion of the sender, this message makes such
a minor change to the superseded version, that a
recipient, who has already seen the previous verson,
will probably not want to see the new version, unless
the user explicitly asks for it.

show In the opinion of the sender, this message makes such
a large change to the superseded version, that a
recipient, who has already seen the previous version,
will probably want to see the new version, too.
repost This document is a document which is repeatedly, at
regular or irregular intervals, reposted, such as
FAQs or mailing list monthly information.
None of these parameters have values. The "noshow" and the
"show" parameters are mutually exclusive, but both of them
can occur together with the "repost" parameter. Reply.


Solution 1

Supersedes ::= SET OF SupersedesParameter

SupersedesParameter ::= CHOICE
                                           { [0] Show, [1] Repost, [2] Private, [3] Future }

Show ::= BOOLEAN

Repost ::= NULL

Private ::= ANY

Future ::= ANY

Solution 2

Supersedes ::= SEQUENCE {


repost [1] NULL OPTIONAL,

private [2] ANY OPTIONAL,

future [3] ANY OPTIONAL }

A more advanced alternative to ANY in Solutions 1 and 2 might be to use EXTERNAL or some own-defined variant of EXTERNAL.

A common error

A common error was solutions, which tried to convey the syntactical data, like ";" and " ". But the task was not to convey the syntactical form, only to convey the data. ASN.1 has its own syntactical coding conventions, produced by BER.

More advice on how to solve this question

This document shows how you can work and think ,when solving this exam question.


List of exam questions