1. OMG Mailing List
  2. Situational Data Model and Notation (SDMN) Finalization Task Force

Open Issues

  • Issues not resolved
  • Name: sdmn-ftf
  • Issues Count: 15

Issues Descriptions

Terms should not be defined in terms of CMMN, BPMN artefacts, but as self-standing concepts

  • Key: SCE-19
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    Terms like Case, DataItem, DataState etc are all defined as elements of CMMN, SDMN etc. E.g. 'Case' = 'A CMMN element....'.

    Proposed change:
    Terms like 'Case' etc should have standard definitions that do not need to refer to some model like CMMN. I think every term in the glossary could be improved by removing these model / standard references.

    Even better, a common glossary could be created for all of BPM+, and either published as a separate doc, or included by reference in each BPM+ doc.

    John Butler response: Agreed. Yes, I’m thinking that perhaps a companion, non-normative document could be created to discuss the genesis of the language. A reference to that document wouldn’t be fragile and the contents could be updated without requiring update to this spec.

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 21:15 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

Consider removing references to BKPMN etc

  • Key: SCE-20
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    It is not clear why there are references specifically to e.g. BKPMN, SDMN, or even BPM+.

    Proposed change:
    Why not just say 'classes outside this model' in places where BKPMN etc classes are mentioned.

    John Butler response (09-04-2022): Same reason as above generally but I agree that this should be removed.

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 21:19 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

Reconsider dependency of SCE on other BPM+ specs

  • Key: SCE-18
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    The scope of SCE is documented as follows:

    The primary goal of SCE is to provide a set of structural elements that are common to other OMG specifications. The proposed specifications, BKPMN, PPMN, and SDMN, are structured to be dependent on the elements defined in SCE.

    It's unusual that a more foundational spec mentions the dependencies other specs have on it, even if it was originally derived / extracted from such specs. These are likely to be fragile references in the long term, and don't (as far as I can see) add anything useful to the spec. The BKPMN etc specs of course have to mention SCE in their dependencies.

    Whether BPM+ even needs to be mentioned as a dependency is a question in my mind - if SCE provides general capabilities, it is surely useable for all kinds of things, e.g. MDMI.

    Additionally, I might have expected that the SCE model wasn't just defined as 'common things to BKPMN, SDMN and PPMN', but in terms of some coherent capabilities, e.g. 'a simple meta-modelling language' or so. IN section 8.1.5 it is stated that SCE is likely to be used as a basis for building models in languages utilising SCE.

    John Butler response (09-04-2022): Agree with all that. Though I will say that others might ask why we didn’t just use one of the other OMG languages already out there. The fact that the BPM+ languages including BPMN, CMMN and DMN have similar elements is what kind of drove us to this.

    Proposed change:
    consider a more definitional description of what SCE is about, rather than just a collection of elements common to BKPMN etc. Reduce / remove direct conceptual dependency of SCE on those specs such that SCE may serve a more generic purpose within OMG specfications.

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 21:13 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

Blank cardinality safe to use?

  • Key: SCE-10
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    Under Conventions (and therefore likely apply to many OMG docs), it says:

    The cardinality of any content part is specified using the following operators:
    o <none> — exactly once
    o etc

    This is probably an OMG standard practice, but a blank cardinality standing for [1] is problematic, because you can't tell on a model which relationships have been fully analysed to be cardinality = [1], and which ones have not been analysed, or are in contention in a draft - and due to this, some unanalysed relationships may end up in final standards. (This probably applies to every BPM+ standard).

    John Butler comment (09-04-2022): I thought there was a UML standard for that and I used to think it was “” (0..). But I was told differently recently so I decided to go look it up and in version 2.5.1 it states “If no multiplicity is shown on the diagram, no conclusion may be drawn about the multiplicity in the model.” So I guess I’ll have to agree with you on that.

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 21:17 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

RootElement.name needs clarification

  • Key: SCE-13
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    Description of SCERootElement.name : String [0..1] is:

    The name attribute is a text description or label of the element. In general, the name is optional, but many elements will require a name. The definition of each specialization of SCERootElement may identify this requirement.

    The second sentence seems subjective. The final sentence one is not clear.

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 21:59 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

Unresolved ref in text

  • Key: SCE-11
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    This section contains an unresolved xref.

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 21:20 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

SCEModel.category needed?

  • Key: SCE-21
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    SCEModel has an attribute category, and also inherits categoryRef from SCEElement; both of type Category. Is this intended?

    John Butler response (09-04-2022): I suspect not. Probably an oversight.

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 22:01 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

Association - TYPO

  • Key: SCE-16
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    Typo (para 1, sentence 3): 'A modeler can set the direct of the'

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 22:09 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

Semantic Reference mixes too many use cases


Category class - various

  • Key: SCE-9
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    Section 8.2.3 first para,
    TYPO: "A Category, which have user-defined semantics" have -> has

    Figure 12 caption
    TYPO: ".. a Groups referencing Categories ..."

    General comment: Categories, as described and illustrated in the examples seems like a terminological device, very similar to vocabularies. If vocabularies were not flat, i.e. items could relate to other items via the IS-A (subsumption) relation, then the effect of Categories could be achieved just by allowing SCEElements to have SemanticReferences as their categories / classifiers. Any vocabulary that is extensible, e.g. RelationshipKind is in reality likely to be extended with both new top-level terms and specialised forms of some of the existing terms.

    John Butler (09-04-2022): Good point. Could just use SemanticReference as the type of the property “category” on SCEElement and then it could be as rich as one would want.

    Property RelationshipDirection:
    ERROR: the backward and none enumeration literals have the same definition.

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 22:06 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

SCERootElement.id definition mandatory but optional

  • Key: SCE-12
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    The definition of id: String [1] is:
    This attribute is used to uniquely identify a SCERootElement. The id is REQUIRED if this element is referenced or intended to be referenced by something else. If the element is not currently referenced and is never intended to be referenced, the id MAY be omitted.

    This seems a problematic definition for a mandatory attribute...

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 21:58 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

Wrong Xrefs in text

  • Key: SCE-14
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    Section text:
    Clause 10.4 describes in detail the meta-model used to keep the layout and the look of SCE-dependent Diagrams.
    Clause 10.5 presents in tables a library of the SCE element depictions and an unambiguous resolution between a
    referenced SCE model element and its depiction.

    There is no section 10.4 or 10.5; probably the intent was to refer to 11.3 and 11.4. Proper Word Xrefs are needed...

  • Reported: SDMN 1.0b1 — Tue, 26 Apr 2022 14:48 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

Consider better Vocabulary extension / re-use model, plus specialised terms (IS-A)

  • Key: SCE-15
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    Currently, extension of a Vocabulary has to be done by creating a new instance of SCEVocabulary or a descendent, e.g. BKPMNVocabulary, that individually recreates the membership of the 'term' property of the vocabulary, including all the terms of the original vocabulary (say SCE RelationshipKinds) along with the required extension terms.

    With small vocabularies, this works, but creates a static definition that will go out of date if the top-level standard (SCE) is re-issued with new terms in say SCE RelationshipKinds. Any extension of this done by exhaustive listing of the original terms will only capture those from the older version. Normally, the intention of extension is to obtain a resulting vocabulary consisting of your extension terms plus whatever is considered to be the 'core' (original) vocabulary today - which is usually different from its first publication.

    With larger vocabularies, e.g. in the 100+ terms range, the approach is likely to be unwieldy and error-prone, as well as having the above problem.

    I suggest that the requirements we have are:

    • how to easily re-use an entire vocabulary, and extend it - recursively
    • how to do so, such that if the re-used original is updated, the downstream extended versions automatically pick this up (via tooling updates etc)
    • potentially, enable vocabulary extension with exclusion, e.g. include a vocabulary (50 terms), exclude two that don't make sense, and add 18 more.
    • document not just Vocabulary but the method of extension, in the SCE spec.

    Further requirements that could be considered:

    • enable the IS-A relationship to be asserted in vocabularies. This allows specialised forms of existing terms to be defined within a vocabulary or an extension, not just now sibling terms. For example, one could imagine the term SCE RelationshipKinds::miscellaneous being specialised into various terms specific to some domain. Or Correlation being specialised into CausalCorrelation and SpuriousCorrelation.
    • specialisation would allow the SCE 'Category' concept to be solved using just Vocabulary as well. See https://issues.omg.org/issues/lists/sdmn-ftf#issue-49088
    • whether this Vocabulary modelling approach is intended to become an OMG pattern / guidance / standard...

    A change proposal for all this would include:

    • a way of defining a vocabulary that allows re-use of an entire Vocabulary without having to exhaustively identify all the original terms, plus add one or more? extensions, plus add exclusions.
    • a way of asserting the IS-A relationship, i.e. TermA1 IS-A TermA. This should be possible within a single Vocabulary, and also from terms in an extension to those in an included Vocabulary.

    Both of these are not too hard to do, but will create breaking changes in SCE, SDMN, BKPMN, and PPMN at least.

    Finally, there is an alternative modelling pattern that John Butler has used in PPMN that specialises Vocabulary classes before defining instances. The effect of this is that a given Vocabulary can only contain (at runtime) exactly those terms defined for it, whereas the more generic pattern defined in SCE doesn't prevent wrong terms being included in a Vocabulary at runtime, because there is no static typing that prevents it. Both ways work, so a decision should be made on which pattern is preferred (or even that both could be used, with criteria given for why / when).

  • Reported: SDMN 1.0b1 — Tue, 3 May 2022 11:46 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

Internal Relationships - various

  • Key: SCE-87
  • Status: open  
  • Source: Cognitive Medical Systems ( Thomas Beale)
  • Summary:

    Error: para 2 refers to SDMNVocabulary, but it probably should be SCEVocabulary (or else the UML is wrong).

    8.4.3 RelationshipKind

    The description here & UML are repeated in 9.1 under SCE Library - is this intended - a cross-reference might be better, especially since the RelationshipKind Instances table is repeated.

  • Reported: SDMN 1.0b1 — Thu, 21 Apr 2022 22:08 GMT
  • Updated: Fri, 21 Jun 2024 18:00 GMT

The file filed as the SCE metamodel is in fact SDMN