Closed VladimirAlexiev closed 1 year ago
My vote would be for removing And Or - as we will use RASE in ACCORD.
However, if we want to offer multiple approaches - we could leave this - but we should make it clear in the documentation
Closely related to https://github.com/Accord-Project/aec3po/issues/9
Most ORs are not really OR they are AND with applicabilities inside.
But in the case we need a very explicit OR it can be done with a set of Exception Boxes
@beachtom can you give some examples?
So an example would be something like:
A door must comply with one of the following: A) Red doors should be 5 m wide B) Blue doors must be 5.5m wide
This looks like an OR - but it is actually a set of And with multiple applicabilities. Certainly in the UK I found true OR things very rare. But we need to support them in any case.
Here's another OR example:
An accessible door:
Guess we can represent it like this:
But should we burden the SME to do this refactoring? And how does he decide which OR branch to put as main Requirement, and which as subsidiary Exception?
So I would RASE Tag that as: [R1] [A1]An accessible doorp[/A1] [E1]must be motorized[/E1], OR [E2]must have opening force at the edge LTE 50 Newton[/E2] [/R1]
This will translate down to R1 = !A1 || E1 || E2
RASE dictates a certain evaluation logic (R are evaled as "and", E are evaled as "not-or", etc). So why do we need AndCheck, OrCheck? https://github.com/Accord-Project/aec3po/blob/5fb6f7e2b8b9f0f208caeeab68461aa8b3c0dfcd/src/aec3po.ttl#L14