I need to express
- A passing grade in a pre-requite class, in order to access the next one.
- An exemption policy to the above, where the professor can override the requirement.
- A student can only have one such exemption in a given span of time (year)
- Students must be older than 21
- Students can only be enrolled in 3 eligible majors
Or similarly, the NY DMV has a complex set of documents and prerequisites in order to obtain a driver's license.
Question
- What abstract syntax will allow me to describe the rules listed above, in a platform neutral way?
Use case
I'm developing an app where people define eligibility rules to access certain data. Those rules may have prerequisites, or key/value ranges to access it.
I am thinking XML, but that might become cumbersome. Just as swagger has become the "easier way" to handle web services, I'm looking for a similar "easy" syntax to handle these rules.