Up Previous Next Title Page Index Contents

1.3 Important

Because changes made to the modeling language definitions also implicitly change the models made in those languages, changing types in a modeling language that is in use can have far-reaching and possibly undesired effects. We have done our best to ensure that no change is possible which would damage old models. However, there are changes that might be desirable in one situation and positively detrimental in another.

You should also think before making changes to the predefined modeling languages that were delivered with the MetaEdit+ Workbench package. If you change those languages, it will make it harder for you to upgrade to newer versions of the languages when we release them. A good solution is often to make subtypes of the types you want to change, apply the changes to the subtypes and use those subtypes.

Because modeling language development also affects existing system descriptions, changing the underlying metamodel on the fly, using the metamodeling tools gives you great power and flexibility. This is clearly an improvement over less mature tools, where changing the metamodel often results in all models becoming unusable. However, like all power, this is best used with understanding and responsibility – in particular where there are existing models.
Modifications to types affect all the models that have been made or will be made with all the modeling languages where the type is used.
The modifications will affect model data on the next access to it. In a multi-user situation, changes to types, like changes to instances, only affect other users after you have committed and they have started a new transaction.
So before any major modifications, remember to backup your database! This is particularly important in changes involving adding, moving or removing properties from a type, or changing the data type of a property type.

Since it is clearly not normally sensible for all users of a modeling language to be able to modify it, there is a system of metamodeling rights and permissions. If you are unable to make modifications to types, check that you are running the Workbench version of MetaEdit+, and that your MetaEdit+ system administrator has included you in the set of users allowed to metamodel. If you are running the multi-user version of MetaEdit+, your system administrator may also have set restrictions about simultaneous metamodelers and modelers, e.g. metamodeling is only allowed when nobody else is logged in (the default), or only one metamodeler (and any number of modelers) is allowed at a time.

Up Previous Next Title Page Index Contents