991109-2 |
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 Syntax: 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 "Supercedes". Semantics: 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 header. 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. Parameters: 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. |
|
Answer |
Solution 1 Supersedes ::= SET OF SupersedesParameter SupersedesParameter
::= CHOICE Show ::= BOOLEAN Repost ::= NULL Private ::= ANY Future ::= ANY Solution 2 Supersedes ::= SEQUENCE { show [0] BOOLEAN OPTIONAL, 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.
|