-
Notifications
You must be signed in to change notification settings - Fork 5
Refactoring: CUDS class #421
Description
After having spent some time reviewing the code and the existing example applications, I think some changes must be made to the object model .
The CUDS class defined in simphony.cuds.cuds which inherits from api.CUDS should be renamed.
Having two classes with the same name but a different behaviour makes it highly confusing for users. If you're not convinced by that, take a minute to try to explain the object model to somebody new to the project.
In terms of definitions: on the object side, The CUDS class is defined in the Simulation inputs as the "Model information". On the metadata side (see simphony_metadata.yaml), the CUDS is defined as "CUDS Container, a knowledge-based container of semantic concepts used to agglomerate relevant data and information."
Suggestion:
- rename the
CUDSclass asModelInformation,Modelor `Experiment, .... This class allows the end user to describe his model with a list of datasets, boundary conditions, etc. - remove the
api.CUDSbase class because at the moment, it is not providing anything that is used. - remove the
CUDSdefinition insimphony_metadata.ymlas it is unused.
Recommandation: keep the CUDS naming as qualifier for the expression the domain model fo the RoMM