usnistgov / metaschema

Documentation for and implementations of the metaschema modeling language
https://pages.nist.gov/metaschema/
Other
36 stars 19 forks source link

Pluggable Metapath alternatives for target and other right-hand side values #505

Open aj-stein-nist opened 10 months ago

aj-stein-nist commented 10 months ago

User Story:

As a Metaschema developer, in order to support extendable constraint systems that integrate as natively as possible with Metaschema concepts, I would like the ability to plug replace Metaschema with alternative policy/configuration languages adjustable to my use case.

Goals:

It was recently discussed in supply chain use cases that there are a number of popular policy and configuration languages for different policy engines and orchestration systems. Some are a blend of the two, and are particularly popular in the cloud-native and container workload communities of the software and service delivery world, Rego and Common Expression Language.

Similar but related, @wendellpiez referenced previous conversations about allow a SQL dialect to be used with Schematron, which is a little different but very similar and relevant as a yet another alternative.

Initially, I am interested in long-term evaluation of CEL (over Rego and alternatives) given the community I am involved with and also because as a policy language it intentionally aligns its language specification and minimally required data types with that of binary format specification, Protobuf, as the specification discusses regarding dynamic values and many other refs in their spec. This seems very analogous and congruent with Metaschema, its datatypes, and Metapath.

I lay out the above areas of interests and background to identify two high-level goals that I believe are important, pending feedback from this project's maintainers.

Dependencies:

Nothing specific yet, but per discussion in the Matrix chat room this is an ambitious long-term goal that will have to come after many of the Metaschema 1.0.0 milestones are complete and we begin work on what we can describe here as a Metaschema 2.x roadmap goal.

Acceptance Criteria

{The items above are general acceptance criteria for all User Stories. Please describe anything else that must be completed for this issue to be considered resolved.}

aj-stein-nist commented 10 months ago

@david-waltermire I created a 2.x milestone as a placeholder for this and other issues for long-term planning, per conversation in Matrix.