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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions