Skip to content

Describe split of rule definitions between osi and osi-validation #81

@jdsika

Description

@jdsika
  • OSI Validator checks the compliance of OSI messages with predefined rules
  • OSI defines a set of rule predicates here
  • OSI uses the rule predicates to define a rule set embedded into the .proto definition:
      // The interface version used by the sender (i.e. the simulation
      // environment).
      //
      // \rules
      // is_set
      // \endrules
      //
      optional InterfaceVersion version = 1;
    
  • subject (InterfaceVersion) predicate (is_set) object ( implicitly true)
  • OSI Validator may define a superset of rule predicates
  • The mapping of rules must result in unique rule ids as seen in the qc-trace e.g. by concatination of subject_predicate_object
  • Rule checking is implemented in osi-validation
  • The rules are currently generated from the OSI .proto files with rules2yml.py and this may be part of the solution and shall be moved to osi
  • From this the documentation may be automatically generated
  • The mapping from the unique rule ids to an implementation in osi-validation requires to use the same keys to link it to an implementation
  • Rules are generated can be customized by the user

Scope of osi-validation

The checking of rules which are centered on individual fields and individual messages which may include conditional logic regarding other fileds inside overall top level message.

Out of scope

  • complex metrics
  • calculations across time stamp (inter frame checks)
  • thresholding and statistical evaluations
  • rules that require additional parameter

Related issues:

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature requestProposals which enhance the interface or add additional features.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions