020522-1:

Write an ASN.1 specification to transfer information about a series of books. For each book, there should be a list of translations to multiple languages. For each translation, title, publication year and the names of one or more translator(s) should be indicated. For the whole book, one or more author(s) and original title and publication year should be indicated.

Answer

Answer alternative 1:

BookSeries ::= SEQUENCE OF Book

Book ::= SEQUENCE OF Versions

Version ::= SEQUENCE {
     title UniversalString,
     publication-year INTEGER,
     authors AuthorList OPTIONAL,
     translators AuthorList OPTIONAL,
     language UniversalString,
     original ENUMERATED (no(0), yes(1))
}

AuthorList SEQUENCE OF UniversalString

Answer alternative 2:

BookSeries ::= SEQUENCE OF Book

Book ::= SEQUENCE {
     original Publication,
     translations SEQUENCE OF Publication
}

Publication ::= SEQUENCE {
     title UniversalString,
     publication-year INTEGER,
     language UniversalString,
     writer SEQUENCE OF UniversalString
}

List of exam questions