|
@@ -1,211 +0,0 @@
|
|
|
-Modelverse Core
|
|
|
-===============
|
|
|
-
|
|
|
-The Modelverse Core (MvC) is an example (meta-)modelling interface that can be used with a plethora of tools.
|
|
|
-While the MvC itself is rather simple and its interface is kind of hard to use, wrappers can be put in front of it to make the behaviour much friendlier.
|
|
|
-For example, a simple call to instantiate a specific class requires several XML/HTTPRequest calls back and forth.
|
|
|
-A simple wrapper can abstract from this complexity, while retaining the elegance of the versatile interface.
|
|
|
-
|
|
|
-The MvC at the moment is written for a simple textual interface, but can easily be augmented with additional information to make it more computer-readable.
|
|
|
-For example, requests and replies can make use of IDs to distinguish or identify the information being passed around, or perform context switches.
|
|
|
-
|
|
|
-The MvC manages the Modelverse information visible to all users.
|
|
|
-Since all information in the Modelverse is stored as a model, this user and model management information is stored as a model as well: the Core model.
|
|
|
-The core model is a mega-model that provides links to all other models stored in the Modelverse (including itself!).
|
|
|
-For each of these models, additional meta-information is stored within the Core model.
|
|
|
-Only admin users have read and write permission to the Core model by default: this model is used for all other operations.
|
|
|
-While some operations are allowed for other users, such as modifying the permissions of your own file, this write must be done with administrator permissions.
|
|
|
-Therefore, this MvC interface provides some specialized operations which check for the necessary permissions (*e.g.*, owner of the model), and then apply the requested operation with admin permissions.
|
|
|
-
|
|
|
-An overview of the MvC interface is shown below.
|
|
|
-A complete overview of the code is shown in the :download:`MvC core algorithm <../core/core_algorithm.alc>`
|
|
|
-None of these operations manipulate the model at a finer granularity: for that we use the :download:`Mini-Modify <../core/mini_modify.alc>` code, which is sometimes called.
|
|
|
-A detailed explanation of its operations is shown later.
|
|
|
-
|
|
|
-Model operations
|
|
|
-----------------
|
|
|
-
|
|
|
-The first set of operations are basic model management operations.
|
|
|
-
|
|
|
-model_add
|
|
|
-^^^^^^^^^
|
|
|
-
|
|
|
-Adds a new model to the Modelverse.
|
|
|
-Model content is specified using model constructors, which can be generated with the model compiler.
|
|
|
-
|
|
|
-model_modify
|
|
|
-^^^^^^^^^^^^
|
|
|
-
|
|
|
-Switches the interface to model-scope operations of a specific model.
|
|
|
-
|
|
|
-model_list
|
|
|
-^^^^^^^^^^
|
|
|
-
|
|
|
-Give an overview list of all models, showing their name and type.
|
|
|
-
|
|
|
-model_list_full
|
|
|
-^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Give a detailed overview list of all models, showing their name, type, permissions, owner, and group.
|
|
|
-
|
|
|
-model_overwrite
|
|
|
-^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Overwrite an existing model. Similar to *model_add*, but keeps existing meta-information to the model intact.
|
|
|
-
|
|
|
-verify
|
|
|
-^^^^^^
|
|
|
-
|
|
|
-Verify whether a model conforms to the specified metamodels.
|
|
|
-
|
|
|
-Transformation-specific operations
|
|
|
-----------------------------------
|
|
|
-
|
|
|
-The second set of operations are specific to model transformations.
|
|
|
-
|
|
|
-transformation_add_MT_language
|
|
|
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Create a new RAMified metamodel out of several existing metamodels.
|
|
|
-The generated metamodel can be used to instantiate a model transformation.
|
|
|
-
|
|
|
-transformation_add_MT
|
|
|
-^^^^^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Add a new model transformation schedule, including the rules.
|
|
|
-
|
|
|
-transformation_add_AL
|
|
|
-^^^^^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Add a new action language model that operates on models.
|
|
|
-
|
|
|
-transformation_add_MANUAL
|
|
|
-^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Add a new manual model transformation.
|
|
|
-
|
|
|
-transformation_execute
|
|
|
-^^^^^^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Execute an existing transformation. Automatically finds out the type and executes the relevant interface.
|
|
|
-
|
|
|
-transformation_list
|
|
|
-^^^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-List known transformations and their type.
|
|
|
-
|
|
|
-transformation_list_full
|
|
|
-^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-List known transformations and their type, as well as permissions, owner, and group.
|
|
|
-
|
|
|
-transformation_detail
|
|
|
-^^^^^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Give details on a single transformation, such as the source and target formalisms.
|
|
|
-
|
|
|
-transformation_RAMify
|
|
|
-^^^^^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-RAMify an existing metamodel again.
|
|
|
-Useful if the related metamodel has changed.
|
|
|
-
|
|
|
-Process operations
|
|
|
-------------------
|
|
|
-
|
|
|
-The third set of operations is related to the execution and operation on an FTG+PM.
|
|
|
-
|
|
|
-process_execute
|
|
|
-^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Execute an existing process model.
|
|
|
-
|
|
|
-Model permission operations
|
|
|
----------------------------
|
|
|
-
|
|
|
-The fourth set of operations is related to model access control management.
|
|
|
-
|
|
|
-permission_modify
|
|
|
-^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Modifies the permission of a specified model.
|
|
|
-
|
|
|
-permission_owner
|
|
|
-^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Modifies the owner of a specified model.
|
|
|
-
|
|
|
-permission_group
|
|
|
-^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Modifies the group of a specified model.
|
|
|
-
|
|
|
-Group operations
|
|
|
-----------------
|
|
|
-
|
|
|
-The fifth set of operations is related to the management of groups.
|
|
|
-
|
|
|
-group_create
|
|
|
-^^^^^^^^^^^^
|
|
|
-
|
|
|
-Create a new group, and become its administrator.
|
|
|
-
|
|
|
-group_delete
|
|
|
-^^^^^^^^^^^^
|
|
|
-
|
|
|
-Delete a group for which you are administrator.
|
|
|
-
|
|
|
-group_owner_add
|
|
|
-^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Add a new user as administrator to a group of which you are an administrator.
|
|
|
-
|
|
|
-group_owner_delete
|
|
|
-^^^^^^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Remove a user as administrator from a group of which you are an administrator.
|
|
|
-
|
|
|
-group_join
|
|
|
-^^^^^^^^^^
|
|
|
-
|
|
|
-Add a new user to a group of which you are an administrator.
|
|
|
-
|
|
|
-group_kick
|
|
|
-^^^^^^^^^^
|
|
|
-
|
|
|
-Remove a user from a group of which you are an administrator.
|
|
|
-
|
|
|
-group_list
|
|
|
-^^^^^^^^^^
|
|
|
-
|
|
|
-List all known groups.
|
|
|
-
|
|
|
-Admin operations
|
|
|
-----------------
|
|
|
-
|
|
|
-The sixth set of operations is related to administrator operations.
|
|
|
-
|
|
|
-admin_promote
|
|
|
-^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Promote another user as administrator as well.
|
|
|
-
|
|
|
-admin_demote
|
|
|
-^^^^^^^^^^^^
|
|
|
-
|
|
|
-Demote another user from administrator status.
|
|
|
-
|
|
|
-General operations
|
|
|
-------------------
|
|
|
-
|
|
|
-The final set of operations consists of miscellaneous operations.
|
|
|
-
|
|
|
-self-destruct
|
|
|
-^^^^^^^^^^^^^
|
|
|
-
|
|
|
-Destroy the current user, revoking all permissions of owning models.
|
|
|
-
|
|
|
-exit
|
|
|
-^^^^
|
|
|
-
|
|
|
-Exit the current task, while keeping the user intact.
|