123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- Model Modification Interface
- ============================
- Model operations are grouped into a separate category of operations, as they work at the model-level instead of the root-level.
- In the MvC, these operations can only be executed after a *model_modify* operation.
- We distinguish two modes of access: read/write, and read-only.
- Read-only commands are always available (given that the model itself can be opened in the MvC layer), whereas read/write operations are only optionally visible.
- Read-only
- ---------
- The first set of operations are the read-only operations.
- list
- ^^^^
- Get a list of all elements in the model.
- Ignores hidden elements (*i.e.*, name starts with __), as these are artefacts of other operations.
- list_full
- ^^^^^^^^^
- Get a full list of all elements in the model.
- nice_list
- ^^^^^^^^^
- Get a pretty-printed list of alle elements in the model, including the value of their attributes.
- types
- ^^^^^
- Get a list of all elements that can be instantiated in the metamodel.
- Ignores hidden elements of the metamodel.
- read
- ^^^^
- Get detailed information on a specific element.
- verify
- ^^^^^^
- Check if the model conforms to its resolved metamodel.
- exit
- ^^^^
- Exit the model modification interface.
- Read/Write
- ----------
- The second set of operations are the read/write operations, which are able to alter the model.
- Note that in the Modelverse, changes are immediately visible to other users as well.
- instantiate
- ^^^^^^^^^^^
- Instantiate an element of the metamodel.
- This only creates the raw element, without any of its slots filled in or any associations.
- Used for both nodes and edges (classes and associations).
- delete
- ^^^^^^
- Delete an element of the model.
- For nodes (classes), all related associations are removed as well.
- attr_add
- ^^^^^^^^
- Instantiate a new attribute for this element.
- attr_add_code
- ^^^^^^^^^^^^^
- Instantiate a new attribute for this element, using the code constructors for the value.
- attr_del
- ^^^^^^^^
- Remove an attribute value of this element.
- attr_modify
- ^^^^^^^^^^^
- Modify an existing attribute of this element.
- retype
- ^^^^^^
- Change the type of an element.
- upload
- ^^^^^^
- Overwrite the current model with an uploaded model through the model constructors.
|