Systems Modeling API and Services Avatar
  1. OMG Specification

Systems Modeling API and Services — All Issues

  • Acronym: SystemsModelingAPI
  • Issues Count: 57
  • Description: All Issues
Open Closed All
All Issues

Issues Summary

Key Issue Reported Fixed Disposition Status
SYSMOAS_-78 DataVersion.identity multiplicity SystemsModelingAPI 1.0b2 open
SYSMOAS_-77 How do ProjectUsages and DataVersions interact SystemsModelingAPI 1.0b2 open
SYSMOAS_-76 updateQuery needs more explanation SystemsModelingAPI 1.0b2 open
SYSMOAS_-75 Does mergeIntoBranch.resolution need to be typed by DataVersion? SystemsModelingAPI 1.0b2 open
SYSMOAS_-74 changeTypes argument not in the table SystemsModelingAPI 1.0b2 open
SYSMOAS_-73 Why do we need both project and commit as arguments in ElementNavigationService SystemsModelingAPI 1.0b2 open
SYSMOAS_-72 How to provide other properties of Project SystemsModelingAPI 1.0b2 open
SYSMOAS_-71 Constraint property and value typed by strings SystemsModelingAPI 1.0b2 open
SYSMOAS_-70 why is "select" typed by string? SystemsModelingAPI 1.0b2 open
SYSMOAS_-69 Does Project own queries SystemsModelingAPI 1.0b2 open
SYSMOAS_-68 Definition ExternalData is unclear SystemsModelingAPI 1.0b2 open
SYSMOAS_-67 why redefine owningProject for Branch SystemsModelingAPI 1.0b2 open
SYSMOAS_-66 usage doesn't exist SystemsModelingAPI 1.0b2 open
SYSMOAS_-65 identifiedData does not exist SystemsModelingAPI 1.0b2 open
SYSMOAS_-64 Why does the spec say that Data Version.id is randomly generated SystemsModelingAPI 1.0b2 open
SYSMOAS_-63 Data Identity attributes don't exist SystemsModelingAPI 1.0b2 open
SYSMOAS_-62 getId() isn't implemented for realizations of Data SystemsModelingAPI 1.0b2 open
SYSMOAS_-61 SysML and KerML OSLC API vocabulary and shapes files need updates for FTF2 SystemsModelingAPI 1.0b2 open
SYSMOAS_-49 how is /versionData calculated SystemsModelingAPI 1.0b2 open
SYSMOAS_-45 two branches can have the same head SystemsModelingAPI 1.0b2 open
SYSMOAS_-59 create and delete should not be on DataIdentity SystemsModelingAPI 1.0b2 open
SYSMOAS_-58 scope on Query SystemsModelingAPI 1.0b2 open
SYSMOAS_-57 locking SystemsModelingAPI 1.0b2 open
SYSMOAS_-56 Branches are mutable SystemsModelingAPI 1.0b2 open
SYSMOAS_-55 wrong multiplicity on DataVersion SystemsModelingAPI 1.0b2 open
SYSMOAS_-54 previousCommits must be in the same project as the Commit SystemsModelingAPI 1.0b2 open
SYSMOAS_-53 Data needs to be reworked SystemsModelingAPI 1.0b2 open
SYSMOAS_-52 need the commit for a project SystemsModelingAPI 1.0b2 open
SYSMOAS_-51 Semantics of ProjectUsage needs to be defined SystemsModelingAPI 1.0b2 open
SYSMOAS_-50 Need both an internal and external ProjectUsage SystemsModelingAPI 1.0b2 open
SYSMOAS_-48 Head on Branch should be multiplicity 0..1 SystemsModelingAPI 1.0b2 open
SYSMOAS_-47 multiplicity change between Project and DataVersion SystemsModelingAPI 1.0b2 open
SYSMOAS_-46 navigation between DataVersion to DataIdentity SystemsModelingAPI 1.0b2 open
SYSMOAS_-44 multiplictiy change on Tag Commit SystemsModelingAPI 1.0b2 open
SYSMOAS_-43 OCL Constraints SystemsModelingAPI 1.0b2 open
SYSMOAS_-42 need attribute /usedProject SystemsModelingAPI 1.0b2 open
SYSMOAS_-41 some attributes need to be {readOnly} SystemsModelingAPI 1.0b2 open
SYSMOAS_-40 there needs to be a stament in the standard concerning how things are serialized SystemsModelingAPI 1.0b2 open
SYSMOAS_-39 should have defaults consistent in the parameters SystemsModelingAPI 1.0b2 open
SYSMOAS_-38 over specification of the API SystemsModelingAPI 1.0b2 open
SYSMOAS_-37 specification and language need to be {ordered} SystemsModelingAPI 1.0b2 open
SYSMOAS_-36 specification example SystemsModelingAPI 1.0b2 open
SYSMOAS_-35 value being 1..* SystemsModelingAPI 1.0b2 open
SYSMOAS_-34 Fig. 7 orderBy should be {ordered} SystemsModelingAPI 1.0b2 open
SYSMOAS_-33 inconsistency with queries SystemsModelingAPI 1.0b2 open
SYSMOAS_-32 JoinOperator and Operator are enumerations SystemsModelingAPI 1.0b2 open
SYSMOAS_-31 visibility needs to be consistent SystemsModelingAPI 1.0b2 open
SYSMOAS_-30 created needs to be consistent SystemsModelingAPI 1.0b2 open
SYSMOAS_-29 ownership dots SystemsModelingAPI 1.0b2 open
SYSMOAS_-28 all multiplicities explicity SystemsModelingAPI 1.0b2 open
SYSMOAS_-27 many of the association ends are wrapped SystemsModelingAPI 1.0b2 open
SYSMOAS_-26 All Attributes and AssociationEnds are singular SystemsModelingAPI 1.0b2 open
SYSMOAS_-25 IRI needs defintion SystemsModelingAPI 1.0b2 open
SYSMOAS_-24 other attributes in Record not needed SystemsModelingAPI 1.0b2 open
SYSMOAS_-23 What Language is are these models in SystemsModelingAPI 1.0b2 open
SYSMOAS_-22 Not everything needs to be a UUID SystemsModelingAPI 1.0b2 open
SYSMOAS_-21 Greater Scope SystemsModelingAPI 1.0b2 open

Issues Descriptions

DataVersion.identity multiplicity

  • Status: open  
  • Source: IncQuery Labs Ltd. ( Dr. Gábor Bergmann)
  • Summary:

    From Tim Weilkiens <tim.weilkiens@oose.de>

    I got the following question from someone who does some experiments with the API:

    Here is an excerpt from the SysML v2 API specification:

    > For creating new Data, CommitRequest.change should include a DataVersion where DataVersion.payload includes the Data being created and DataVersion.identity is not specified.

    It says that DataVersion.identity must not be specified when creating new data.

    However, how can one commit new data with multiple elements that reference each other, if we cannot provide IDs to the elements that will allow each of them to be referenced from other elements via its ID?

    As a side note, it has been noticed that the Juypter notebook support for SysMLv2 in the SysML release does specify the “identity” during the creation of new data, when it publishes a model via “%publish …”. This has been verified by using an HTTP sniffer to sniff the POST command that was send

    Note: the PIM spec also says something similar

    > (1) Creating Data - Commit.change should include a DataVersion record with DataVersion.payload populated with the Data being created. DataVersion.identity is not provided, thereby indicating that a new DataIdentity needs to be created in the new commit.

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 10 May 2024 14:02 GMT
  • Updated: Tue, 14 May 2024 00:15 GMT

How do ProjectUsages and DataVersions interact

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    ProjectUsages are Data and so need to use the DataIdentity/DataVersion mechanism but none of this is mentioned in the descriptions of the functions. It also doesn't aay whether you can update a project usage to reference a different commit or

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 10:36 GMT
  • Updated: Thu, 9 May 2024 10:36 GMT

updateQuery needs more explanation

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    The argument to the function updateQuery is a query - I don't understand what this means - it also seems to be different than how updateProject works.

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 10:32 GMT
  • Updated: Thu, 9 May 2024 10:32 GMT

Does mergeIntoBranch.resolution need to be typed by DataVersion?

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    What happens if the resolution is that an identity is deleted?

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 10:29 GMT
  • Updated: Thu, 9 May 2024 10:29 GMT

changeTypes argument not in the table

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    in the description of getCommitChange and diffCommits they reference an optional argument changeTypes, which doesn't appear in figure 10

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 10:26 GMT
  • Updated: Thu, 9 May 2024 10:26 GMT

Why do we need both project and commit as arguments in ElementNavigationService

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    e.g. getElements( project : Project, commit : Commit ) : Element [0..*]

    commit references project so you don't need both.

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 10:24 GMT
  • Updated: Thu, 9 May 2024 10:24 GMT

How to provide other properties of Project

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    createProject( name : String, description : String [0..1] ) : Project

    how do we create other properties of Project inherited from Record?

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 10:20 GMT
  • Updated: Thu, 9 May 2024 10:20 GMT

Constraint property and value typed by strings

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    property is a property of Data (or its realizations)
    value is a list of primitive objects, such as String, Boolean, Integer, Double, and UUID

    so why are they both typed by string?

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 10:18 GMT
  • Updated: Thu, 9 May 2024 10:18 GMT

why is "select" typed by string?

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    The spec says that "select is a list of properties of Data (or its realizations)" so why is it typed by string and not something stronger?

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 10:16 GMT
  • Updated: Thu, 9 May 2024 10:16 GMT

Does Project own queries


Definition ExternalData is unclear

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    The spec says "and represents the relationship between a
    KerML Element [KerML] in a provider tool or repository to ExternalData in another tool or repository." This sounds very vague given that the neither the notions repository or tool have official definitions.

    The spec also says "ExternalData may be a KerML Element or a non-KerML Element." I don't see how this is significant given that access is via IRI anyway.

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 10:13 GMT
  • Updated: Thu, 9 May 2024 10:13 GMT

why redefine owningProject for Branch

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    the spec says "• owningProject is the project that owns the given branch" - this is a redefinition of owningProject on commitReference but I don't understand why it is needed.

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 10:09 GMT
  • Updated: Thu, 9 May 2024 10:09 GMT

usage doesn't exist

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    The spec says "usage is the set of Project Usage records representing all other Projects being used by the given Project (Project Usage.usedProject)" but I can't see this in the xmi

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 09:52 GMT
  • Updated: Thu, 9 May 2024 09:52 GMT

identifiedData does not exist

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    the spec for project says "identifiedData is a derived attribute that is the set of Data Identity records corresponding to the Data contained in the project" but this doesn't seem to exist in xmi.

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 09:50 GMT
  • Updated: Thu, 9 May 2024 09:50 GMT

Why does the spec say that Data Version.id is randomly generated

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    The spec says "Data Version.id is set to a new, randomly generated UUID for the specific Data Version record.". This seems a bit superfluous and probably is overspecified.

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 09:48 GMT
  • Updated: Thu, 9 May 2024 09:48 GMT

Data Identity attributes don't exist


getId() isn't implemented for realizations of Data

  • Status: open  
  • Source: The MathWorks ( Mr. Alan Moore)
  • Summary:

    The spec says "Each realization of Data must implement the getId() operation that provides a valid UUID." but this doesn't seem to be the case

  • Reported: SystemsModelingAPI 1.0b2 — Thu, 9 May 2024 09:42 GMT
  • Updated: Thu, 9 May 2024 09:42 GMT

SysML and KerML OSLC API vocabulary and shapes files need updates for FTF2

  • Status: open  
  • Source: International Business Machines ( Mr. Jim Amsden)
  • Summary:

    https://www.omg.org/spec/SystemsModelingAPI/20240801/OSLC-Domain-Model.zip, needs updated vocabulary and constraints files for KerML and SysML:

    • KerML Shapes-shapes.xml
    • KerML Vocabulary-vocab.xml
    • SysML Shapes-shapes.xml
    • SysML Vocabulary-vocab.xml

    The vocabulary terms updates include:

    • Use updated SysML.ecore and KerML.ecore source files for generating the vocab files.
    • Add the ontology element to the vocab .ttl file.
    • Generate Turtle instead of RDF/XML
    • Add Apache License Version 2.0 comment headers to the .ttl files.
    • Add OASIS copyright notice.
    • KerML and SysML v2 Element subclass oslc_am:Resource to link SysML elements to other lifecycle resources (e.g., requirements, change requests, test cases, etc.)
    • Add rdfs:isDefinedBy oalc_sysmlv2 and rdfs:label to each vocabulary terms
    • Translate the EEnum enumerations to RDF, e.g., FeatureDirectionKind
      See [Defining Enumerations](file:///Users/jamsden/Developer/OSLC/oslc-op/oslc-specs/specs/core/core-vocab.html#enumerations). An EEnum would be an rdfs:Class (with label, comment and definedBy). Its enumeration literals have rdf:type of the enumeration class, and just a label.
    • Add SysML subclasses in the SysML vocabulary terms
    • Use the SysML v2 non-versioned namespace for the vocabulary terms: @prefix oslc_sysmlv2: <http://www.omg.org/spec/sysmlv2/2.0#> .
    • Set rdfs:comment in the vocab file to be the first paragraph in the eCore description with the markup stripped out.
    • Fix ShapeChecker errors

    The resource shape constraint updates include:

    • Used updated SysML.ecore and KerML.ecore source files for generating shapes files.
    • Add the ResourceShapeConstraints element to the shapes.ttl file
    • Generate Turtle intead of RDF/XML
    • Add Apache License Version 2.0 comment headers to the .ttl files.
    • Add OASIS copyright notice.
    • Add inherited oalc_am:Resource properties to the shapes for KerML and SysML v2 Element
    • Update the versioned namespace for the resource shape constraints: @prefix : <https://www.omg.org/spec/SysML/shapes/20240801#> .
    • Set dcterms:description in the shapes files to the first paragraph in the eCore description (retaining the markup).
    • Separate the class name prefix from the attribute name with _ for the ResourceShapes
    • Add cardinality, range and valueType to shape properties.
    • Fixed ShapeChecker errors
  • Reported: SystemsModelingAPI 1.0b2 — Wed, 1 May 2024 14:30 GMT
  • Updated: Thu, 2 May 2024 17:58 GMT
  • Attachments:

how is /versionData calculated

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    the standard should specify how the commits (and previousCommit(s) ) are transverse to get all the elements

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 16:48 GMT
  • Updated: Tue, 23 Apr 2024 09:33 GMT

two branches can have the same head

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    Two Branches can have the same head (Commit) … need multiplicity change
    for example to start them off with the same set of elements

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 16:43 GMT
  • Updated: Tue, 23 Apr 2024 09:20 GMT

create and delete should not be on DataIdentity

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    since DataIdentity is in the scope of the whole project, one can have multiple Branches where this DataIdentity is created in different Commits in different branches... and deleted in different Commits in different Branches...

    so these cannot be associated with the DataIdentity... DataVersion's commit is where that information must be stored...

    one could however have an operation that takes a project and branch and DataIdentity... and computes the Creation and Deletion Times from this

  • Reported: SystemsModelingAPI 1.0b2 — Mon, 22 Apr 2024 13:43 GMT
  • Updated: Mon, 22 Apr 2024 16:09 GMT

scope on Query

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    not sure one needs scope here... how would it work?... needs documentation in the spec about its use and an example

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 17:03 GMT
  • Updated: Mon, 22 Apr 2024 16:07 GMT


Branches are mutable


wrong multiplicity on DataVersion

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    Data Version record is associated with up to one (0..1) Data Identity record, this is wrong it is multiplicity of 1

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 16:58 GMT
  • Updated: Mon, 22 Apr 2024 16:06 GMT

previousCommits must be in the same project as the Commit


Data needs to be reworked

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    Data does not need to be further refined in the standard (i.e. no need for Relationship and operations like getRelationshipsByRelatedElements)... these could be there for operations that specifically deal with KerML models...
    I would suggest if doing that there should be two sections to this standard or possibly two standards... one that deals with
    versioning... the other that is specific to the serialized model

    I have a reworked model at https://material.elparazim.com/SysMLv2API/

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 16:56 GMT
  • Updated: Mon, 22 Apr 2024 16:05 GMT

need the commit for a project

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    "usage is the set of Project Usage records representing all other Projects being used by the given Project"… this does not work, need a particular commit for this

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 16:53 GMT
  • Updated: Mon, 22 Apr 2024 16:05 GMT

Semantics of ProjectUsage needs to be defined

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    What does project usage mean?... I am presuming this comes from Cameo kind of idea about ProjectUsage... but what in this spec does it mean and what can one surmise about it

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 16:51 GMT
  • Updated: Mon, 22 Apr 2024 16:05 GMT


Head on Branch should be multiplicity 0..1


multiplicity change between Project and DataVersion


navigation between DataVersion to DataIdentity

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    There should be a navigation between DataVersion to DataIdentity... presumably DataVersion knows about DataIdentity but not vice-versa

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 16:44 GMT
  • Updated: Mon, 22 Apr 2024 16:03 GMT

multiplictiy change on Tag Commit





there needs to be a stament in the standard concerning how things are serialized

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    there needs to be a statement in the standard concerning how things are serialized...

    I have reworked the model here https://material.elparazim.com/SysMLv2API/ and used two stereotypes...
    <<NS>> and <<SID>> which stand for "No Serialization" and "Serialize Id (only)"
    I believe this leads to a full understand of what will come when one serializing something from
    the APi (also examples are given for this serialization(s))

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 15:35 GMT
  • Updated: Mon, 22 Apr 2024 16:01 GMT

should have defaults consistent in the parameters

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    the standard for functions should be, e.g.

    getExternalRelationships(projectId:UUID, branchId:UID[0..1],commitId:UID[0..1]):ExternalRelationship[0..*]

    which means if a branchId is missing use the commitId, if commitId is missing then use the head of the branchId if it is there,
    otherwise, use the default Branch and its head of the project given
    many of the API operations need to be specified this way to be consistent

    I have a reworked model at https://material.elparazim.com/SysMLv2API/

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 15:29 GMT
  • Updated: Mon, 22 Apr 2024 16:01 GMT

over specification of the API

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    Most of the API is over specified… as an example, getExternalRelationship has that you need to give it a Project… but you do not need a Project, you only need a ProjectId… so for this one example…
    getExternalRelationships(project:Project,commit:Commit):ExternalRelationship[0..*] should be
    getExternalRelationships(projectId:UID,commitId:UID):ExternalRelationship[0..*]

    this would follow the Interface Segregation Principle (“no client should be forced to depend on methods it does not use”)… most of the API is over specified in this way

    I have a reworked model at https://material.elparazim.com/SysMLv2API/

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 15:23 GMT
  • Updated: Mon, 22 Apr 2024 16:01 GMT

specification and language need to be {ordered}

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    specification and language need to be

    {ordered}

    ... this will have the same kind of semantics as
    Opaque/Expression or Behavior from UML (see fig 8.2 and its description in UML 2.5.1)

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 15:13 GMT
  • Updated: Mon, 22 Apr 2024 16:01 GMT

specification example

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    Need at least one example of a specification for an ExternalRelationship...

    also need to define what it means if the specification is null (i.e. presume this means that one is referring to the entire element, so this is the way one specifies that an element in a model is really a remote element from another model)... this needs to be specified

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 15:10 GMT
  • Updated: Mon, 22 Apr 2024 16:00 GMT

value being 1..*

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    need to explain in the standard why value is 1..* (presuming because of the "in" operator, but the semantics of that is not specified)

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 15:07 GMT
  • Updated: Mon, 22 Apr 2024 15:59 GMT


inconsistency with queries

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    Fig. 7 queries (which should be a singular, query) is an associationend… whereas in fig. 5 queries is shown as an attribute (needs to be removed in fig. 5)

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 15:04 GMT
  • Updated: Mon, 22 Apr 2024 15:59 GMT

JoinOperator and Operator are enumerations


visibility needs to be consistent

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    1. Fig 6 visibility is not shown on all the attributes, needs to be consistent
    2. Fig 7 visibility is not shown on all the attributes, needs to be consistent

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 15:01 GMT
  • Updated: Mon, 22 Apr 2024 15:58 GMT

created needs to be consistent

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    Fig 5 Project, Commit, CommitReference all have created as a attribute, But many of the examples (and some of the text have timestamp).. needs to be consistent… I like “created” as it tells one what the timestamp is for

    and deleted as the other timestamp name

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 15:00 GMT
  • Updated: Mon, 22 Apr 2024 15:58 GMT

ownership dots

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    would suggest using either MOF or UML to show diagrams and to employ ownership dots... note that KerML is specified this way

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 14:58 GMT
  • Updated: Mon, 22 Apr 2024 15:58 GMT

all multiplicities explicity

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    there are some multiplicities not shown... since there is no specification in the standard about what modeling language the diagram is in... do not know how to interpret these missing multiplicities... would suggest explicitly showing all multiplicities in the diagram

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 14:57 GMT
  • Updated: Mon, 22 Apr 2024 15:57 GMT

many of the association ends are wrapped

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    the models used in the standard have the association ends wrapped so you can't see them... suggest that they be unwrapped and
    shown on one line

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 14:55 GMT
  • Updated: Mon, 22 Apr 2024 15:57 GMT

All Attributes and AssociationEnds are singular

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    all the standard modeling languages use the same convention as well as most modeling style guides... and so does KerML...

    all attributes and association ends are singular... the fact that they can be plural is taken care of by multiplicity

    would suggest this convention be followed

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 14:53 GMT
  • Updated: Mon, 22 Apr 2024 15:57 GMT

IRI needs defintion

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    IRI standard is referenced, but that does not give a precise definition of how to use it, especially if one wants to be interoperable among implementations... would suggest...

    Standard ProjectI IRI:

    {protocol}://{serverIRI}/projects/{projectId}/commits/{commitId}/elements/{elementId}{protocol}

    ://

    {serverIRI}

    /projects/

    {projectId}

    /commits/

    {commitId}

    the first is for Elements and the second is for externally referenced projects

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 19 Apr 2024 14:51 GMT
  • Updated: Mon, 22 Apr 2024 15:56 GMT

other attributes in Record not needed

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    resourceIdentifier is not needed in the record (although would be interesting)... statements about that in another issue... but remove alias, humanidentifier... and description... for example DataVersion and DataIdentity does not need a description... would suggest creating a NamedRecord where name and description are added into that and have Project, Commit, CommitReference, Query specialize that

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 12 Apr 2024 13:27 GMT
  • Updated: Fri, 12 Apr 2024 19:31 GMT

What Language is are these models in

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    it does not specify what language these models are in... UML, SysML, KerML, SysML2, MOF?...
    it makes a difference in, e.g., interpreting the multiplicities... I would suggest doing the models in MOF and making everything explicit (e.g. multiplicities)

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 12 Apr 2024 13:23 GMT
  • Updated: Fri, 12 Apr 2024 19:30 GMT

Not everything needs to be a UUID

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    one needs Unique IDs (UID) but not UUID (Universally Unique ID) for most things in this standard,
    and would suggest that Record be changed and that it would have

    id : UID

    {readOnly, id}

    also adding

    {id}

    here... and make Project (which is the only thing I can see that needs a UUID)

    Project
    id : UUID

    {readOnly,id, redefines id}
  • Reported: SystemsModelingAPI 1.0b2 — Fri, 12 Apr 2024 13:21 GMT
  • Updated: Fri, 12 Apr 2024 19:30 GMT

Greater Scope

  • Status: open  
  • Source: Elparazim ( Mr. George Edward Roberts)
  • Summary:

    there is nothing in this standard specifically about SysML or KerML... which is good... I would suggest that the Scope be rewritten and the standard be called "Versioning" or something like that... there is greater use of this standard inside modeling (i.e. legacy modeling language can use this as well) as well as outside of modeling (i.e. anything that can serialized can use this standard to have versions of that serialization)... so would suggest the Scope be changed to say

    "The purpose of this standard is to specify the Versioning Application Programming Interface (API) and Services that provide standard services to access, navigate, and operate on serialized elements and in particular can be used for modeling languages."

  • Reported: SystemsModelingAPI 1.0b2 — Fri, 12 Apr 2024 13:11 GMT
  • Updated: Fri, 12 Apr 2024 19:29 GMT