Comments (7)
An easy fix is using the SHOULD
per RFC jargon and I believe is the most pragmatic suggestion we can ask the RTF to fix.
from tck.
Hi @tarilabs - Thanks. I didn't mean that actually. I was thinking from the TCK perspective. I don't think the spec needs fixing. A requirement is after all, a requirement. Changing it to 'should" would mean mean it becomes optional ... and an "optional requirement" doesn't make too much sense.
Those requirements are part of the documentation that the model represents and (IMO) need to represent the truth. Having them optional seems to undermine that. I quite like they are mandatory.
Actually, I was more meaning we should take it into account into the TCK - and as we're not testing for (and can't test for) model validity, we should consider amending or removing the tests that violate it - and maybe getting an extra validation in or something. More like that.
And .. as I am the criminal that put in the tests that violate it, I am also happy to unwind them!
from tck.
I really believe is a bug in the spec, it should read SHOULD
wrt to requirements being used in the DRGElement's expression. Otherwise, people using Conformance Level 1 without FEEL could never have a compliant DMN model since they don't specify the decision logic of Decisions/BKMs.
Thank you for bringing this up, we will refer it to the OMG RTF when opening 1.5.
from tck.
hey @tarilabs - good point about level 1 - it is a shame though. As a mandatory thing it keeps the models 'pure' and kind of enforces them, as documentation, to have only valid requirements. I kind of like that.
As a thought, if the spec is to change, maybe it should keep those SHALLs and musts but restrict them to level 3 compliance.
from tck.
Well spotted @StrayAlien !
I think the spec should be changed to use SHOULD
instead of MUST
. No other known PL or DSL does that, is a proven good language design pattern. There is no point to try and innovate
when there is no gain. If the requirements are not used the model is still functionally correct.
from tck.
Indeed as Octavian reiterates.
Moreover, Editors and Authoring tools can always adopt "tools smarts" to suggest unused requirements, similarly to common IDE suggesting unused variables (say in Java with VSCode underlined with squiggly line)
I've marked this with for DMNv1.5
label so as soon as new RTF is opened I will raise an OMG JIRA issue, following suggestion in this phase by RTF chairs.
from tck.
Reported as https://issues.omg.org/issues/DMN15-88
from tck.
Related Issues (20)
- Clarify mixed type workings of `+` operator HOT 3
- Clarify `null` handling in `FunctionInvocation` HOT 6
- Cover comparisons
- Create transitive import test cases based on snippets in DMN15-58 HOT 2
- Doubtful typing on overloaded built-in function in test HOT 2
- Report does not work under windows
- The test cases table breaks up around Compliance-Level-3
- New PRs ... but deleting them. The PRs have dragged in CL/LF differences HOT 2
- Patches to test cases HOT 4
- Confused about decision service encapsulatedDecisions - ambiguous - is ch11 example correct? HOT 5
- Task list for DMN 1.6
- Optional fn params vs null values HOT 4
- Question to test case `decision_015` in `0084-feel-for-loops.dmn` HOT 1
- Quesion to test case `nested009` in `1146-feel-context-put-function.dmn` HOT 2
- 0014-loan-comparison assumes that sorting keeps the original order HOT 2
- breaking change?: what do do with range equality? What is 'undefined'? HOT 2
- Is `[100] = 100` false or null?
- Does @"P0D" = "P0Y" give `true` or `null` (or false?) ?
- The new text for type conversions in "10.3.2.9.4 Type conversions" misses some use cases
- Spec permits ranges to use new `=` and `!=` comparison operators - but it doesn't make much sense (to me) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tck.