Dear all,
Below is a set of remarks and possible solutions to improve the RIF
Positive Conditions document which were discussed in the February
13, 2007 meeting.
About the syntax of condition language (positive conditions):
- The MOF
abstract syntax is better to be in an Abstract Syntax
section(subsection of SYNTAX) in the Positive
Conditions document.
- Since the BNF is obtained by instantiating the MOF model, a
description of how classes, properties, roles and associations are
translated into BNF, is desirable. Such a description may be placed in
the beginning of a BNF Syntax section (subsection of SYNTAX).
Examples in BNF abstract syntax may come here too. Some other
consequences of this mapping (MOF2BNF):
- The (optional) typing of terms will appear in the BNF too.
- No anonymous variable will be there except if will be
defined in the MOF syntax (which is normative one).
- I guess that different roles will produce different entries
in the BNF (different terminals)
- An XML Syntax section (subsection of SYNTAX) can
be created. Two mappings from BNF syntax to the XML syntax can be then
placed here (BNF2DTD and BNF2XMLS). These mappings will define how the
DTD is created from the BNF and how XML Schema can be created too.
Examples in XML syntax can come here too. Another solution is to
create XML Schema directly from MOF which is immediate possible.
(MOF2XMLS)
- A Datatypes section is desirable. This section will
explain which datatypes are allowed and describe them.
- A specific Validation section which includes all kind of
validation issues i.e. DTD validation, XML Schema validation, MOF
validation.
As a consequence the TOC of the Positive
Conditions document may look like:
- OVERVIEW
- SYNTAX
- Abstract Syntax (containing the MOF and definitions of
artifacts there.)
- BNF Syntax (containing MOF2BNF, examples and supplementary
explanations)
- XML Syntax (containing BNF2DTD, BNF2XMLS or MOF2XMLS, examples
and supplementary explanations)
- DATATYPES (description of datatypes supported by the language)
- VALIDATION (containing all kinds of validators and more
examples)
- SEMANTICS
- ....
All the best,
Adrian