Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mdt-sbvr.dev] More comments/questions on the MRV implementation

* I assume that the Role.objectTypes models the fact type "role ranges over object type". Is that correct? It would be clearer if it were named "Role.rangesOver" or some such. Also, the SBVR specification doesn't limit the number of ObjectTypes that a role can range over, but I don't think it makes sense to have a role that ranges over multiple Object Types. So I think this should be a singleton rather than an EList association. (Should we raise this as an issue against the SBVR spec?)

* I want to model a fact type "driver has name", where the role "name" ranges over an object type "Text". I think this primitive object type should be predefined in the MRV model, so that different implementors can share it. Otherwise, you will get variations among implementors as to how this is handled. Ditto for "Number" and its relatives.

* Similarly, I think the designation "has" should be predefined in the MRV model since it will be used widely.

* I see that the internal operations (e.g. in org.eclipse.sbvr.mrv.internal.operations) are generated, but I don't see what they are geneated from. I don't see any reference to them in the .ecores. Can you explain where they come from?

* FactTypeFormOperations.getPlaceholders() and .getDemonstrated() are not implemented. These are used by corresponding methods in FactTypeFormImpl.

* What is the design criteria by which you put some methods in the "*Impl" classes, and some in "internal operations" classes? And how do you decide which methods go in which "internal operations" classes. For example, it seems strange that the createRepresentation() method is in MeaningOperations, rather than in RepresentationOperations. Or in RepresentationImpl.

* How do you set the Placeholders for a FactTypeForm? There is no method defined for that at all. (Maybe the Placeholders for a FactTypeForm are supposed to be derived from the PlaceHolders that act as Designations for the Roles of the corresponding FactType??)

* There is an opportunity in RepresentationOperations.setExpressionText to optimize the number of Texts created by avoiding the creation of a new Text if there already exists one with the same value. As currently implemented, I am getting lots of duplicated Texts. For example, I see a separate Text with the value "has" for each of the many FactTypes that demonstrate the designation "has".

--------------------------------
Mark H. Linehan
STSM, Model Driven Business Transformation
IBM Research

phone: (914) 945-1038 or IBM tieline 862-1038
internet: mlinehan@xxxxxxxxxx


Back to the top