#255 Add 'id' to things that lack it.

Rejected-No_action
closed
nobody
5
2014-05-29
2013-09-16
No

As discussed at previous SBML Editor's meetings: instead of adding an optional 'id' to SBase, add it instead to all non-ListOfs that lack it. This includes:

InitialAssignment
Rule
Trigger
Priority
Delay
EventAssignment
Constraint

Note also that we would declare this to be a standard for elements of other L3 packages.

Discussion

  • Michael Hucka

    Michael Hucka - 2014-01-20

    I agree with the proposed change.

     
  • Dagmar Waltemath

    Just to clarify: Is the intended meaning of the above sentence:

    (1) "Instead of adding an optional 'id' to SBase, add SBase to all non-ListOfs that lack it", or:
    (2) "Instead of adding an optional 'id' to SBase, add an id to all non-ListOfs that lack it"?

     
  • Lucian Smith

    Lucian Smith - 2014-01-21

    The second: the proposal is to add an 'id' attribute of type 'SId' to the seven listed elements, and to propose that all packages add an 'id' to all of their elements that are not 'ListOf's.

     
  • Sarah Keating

    Sarah Keating - 2014-01-21

    Just so that it is on record and not conveniently forgotten when people start complaining about broken code - and yes, I know, libSBML reasons are not a reason to do or not do something but as say, for the record :-)

    Since libSBML-2 the getId function used to retrieve the 'id' attribute on objects has worked on Rules and returned the 'variable' attribute. [Normally in libSBML the getFoo function returns attribute 'foo'.] When we did the miriad of community votes/discussions about changes to libSBML-4 (and beyond) people completely rejected any notion of changing this because it is heavily used.

    Thus for libSBML returning the 'id' attribute of Rules cannot be achieved using a getId function and so this change will cause an anomaly in libSBML which may cause confusion.

     
  • Sarah Keating

    Sarah Keating - 2014-01-21

    No, I was talking about the undocumented function getId on Rules and indeed InitialAssignments.

    We don't document it because we don't want to encourage people to use it BUT it is indeed there.

     
  • Nicolas Le Novère

    I agree with the proposed change.

     
  • Brett Olivier

    Brett Olivier - 2014-03-17

    I agree with the proposed change.

     
  • Frank Bergmann

    Frank Bergmann - 2014-03-22

    I agree with the proposed change.

    (I'm still not sure, why we would want to explicitly exclude ListOf elements from this list. And would not consequently give everything an id. But this seems like a start. I for one see the issue that Sarah brought up as valid, and I think that most of the tools supporting InitialAssignments / Rules will have to change their code. But it is clear that this change will help new people coming to SBML).

     
  • Lucian Smith

    Lucian Smith - 2014-04-24

    By common consent at the 2014 HARMONY meeting, this issue was accepted by agreeing to make 'id' and 'name' optional attributes of SBase.

    Some implications:
    * Section 3.3.1 will have to be rewritten.
    * The UnitSId type will have to be revisited and possibly removed, to be replaced by a discussion similar to section 3.3.1 that talks about model-wide uniqueness of Unit "id"s.
    * SIdRef and UnitSIdRef types remain, but their descriptions will have to be modified slightly.
    * All the UML diagrams for anything with an id/name will have to be updated.lk
    * Any element where 'id' was required will need some sort of text explaining how the id was optional on SBase, but is required on the derived class.
    * A description of what to do with package elements that inherit from SBase will have to be added, probably to section 3.3.1

     
  • Lucian Smith

    Lucian Smith - 2014-04-24
    • status: open --> accepted
     
  • Lucian Smith

    Lucian Smith - 2014-04-24
    • Group: Reported-Proposed --> Accept-conformance-implications
     
  • Lucian Smith

    Lucian Smith - 2014-05-28

    Incorporated into SVN for L3v2, and will be part of the forthcoming release of that specification.

     
  • Lucian Smith

    Lucian Smith - 2014-05-28
    • status: accepted --> closed
     
  • Lucian Smith

    Lucian Smith - 2014-05-29

    Since we decided not to merely give an 'id' to particular items, but instead to go ahead an add 'id' to SBase, there is an alternative tracker item, https://sourceforge.net/p/sbml/sbml-specifications/264/ created for that decision, and this one is being marked 'rejected'.

     
  • Lucian Smith

    Lucian Smith - 2014-05-29
    • Group: Accept-conformance-implications --> Rejected-No_action
     

Log in to post a comment.