The BNF of OSN follows.
< instances> ::= < tuple> {< tuple> } < expression> ::= < integer> | < float> | < testString> | < enumTag> | true | false | nil | < tuple> | < multiset> | < list> | < set> | < isolist> | < isoset> | < relation> | < identifier> < attribute> ::= < lowerName> < setTo> < expression> < attributeList> ::= < attribute> {< attribute> } < expressionList> ::= < expression> {< expression> } < tupleList> ::= < tuple> {< tuple> } < openTuple> ::= < openParen> < closeTuple> ::= < closeParen> < openMultiset> ::= Multiset < openBrace> < closeMultiset> ::= < closeBrace> < openList> ::= List < openBrace> < closeList> ::= < closeBrace> < openSet ::= Set < openBrace> < closeSet> ::= < closeBrace> < openIsoList> ::= IsoList < openBrace> < closeIsoList> ::= < closeBrace> < openIsoSet> ::= IsoSet < openBrace> < closeIsoSet> ::= < closeBrace> < openRelation> ::= Relation < openBrace> < closeReation> ::= < closeBrace> < tuple> ::= < upperName> < openTuple> < attributeList> < closeTuple> < multiset> ::= < openMultiset> < expressionList> < closeMultiset> < list> ::= < openList> < expressionList> < closeList> < set> ::= < openSet> < expressionList> < closeSet> < isolist> ::= < openIsoList> < expressionList> < closeIsoList> < isoSet> ::= < openIsoSet> < expressionList> < closeIsoSet> < relation> ::= < openRelation> < tupleList> < closeRelation> < identifier> ::= * (< integer> | < textString> )