Talk:Dev:Semantic Constraints

From railML 2 Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Discussion March 2020

Initial question: what are semcons and what are no semcons?

Questions
  • Definition
    • Suggestion:
      A semantic constraint is a constraint that cannot be implemented in an XSD.
    • What is obviously a semcon?
    • What is obviously not a semcon?
      • Element semantics and attribute semantics - otherwise every element semantics and attribute semantics would be a semcon (although it may be annoying to put the dead weight under <vehicle>@nettoWeight and the load capacity under <vehicle>@tareWeight).
      • Intentions (about the function of a certain Element/Attribute)
      • Recommendations
      • Best Practices
      • Conclusions from syntactic constraints and/or element/attribute semantics
      • Explanations of semantic constraints
    • Cf. [1][2]
  • Goals
    • Interoperability?
    • Do they apply to the developer or the user?
    • Who can control/guarantee compliance?
  • Design
    • Allow/deny the recycling of discarded numbers?
Creating semantic constraints
  • Suggestion and Discussion
    • either in the railML® Forum
    • or in a railML® working group
      →in this case the working group must present their discussion result in the forum and grant a term for discussion there
  • Enter the semcon with status proposed into the wiki
  • If there are no objections, the semcon becomes accepted after a certain term (6 weeks)
  • In case of objections the working group decides
Design guidelines
  • Use the template with all mandatory arguments
    The template must be extended with an argument to link to the discussion as to grant that the proposal is preceded by a discussion
  • Implement a seperate semcon for every rule
  • Record on Dev:Semantic_Constraints/table
  • numbering according to Dev:Semantic_Constraints/table

Distinctions within element documentation / Structure and usage of an Wiki page

  • Position of XYZ in the XML-Tree:
    • Shall contain the position of the element in the XML tree
    • railML® 2: generated manual by the coordinator straightforward from the schema; no manual additions
    • railML® 3: generated automatically by GWPS; no manual additions
    • Criteria to be fulfilled for successful certification
  • Multiplicity: straightforward from the schema – relevant for certification
  • Semantics: Only the intention. No rules or explanations. Concise remarks like “not to be confused with” are allowed, if they explain the intention – not relevant for certification
  • Attributes: No rules or explanations. Concise remarks like “not to be confused with” are allowed, if they explain the intention – not relevant for certification
  • Syntactic constraints: straightforward from the schema – relevant for certification
  • Semantic constraints: compare above – relevant for certification
  • Best Practice Examples: for instance national rules and peculiarities; Code examples – not relevant for certification
  • Open Issues: open discussions and unsolved problems – not relevant for certification
  • Notes: Anything that does not fit into other paragraphs – not relevant for certification
 
Where can you comment on the semantics in wiki3?
GWPS = Gruschwitz' Wonderful Phython Script