Skip to content

Objective Model

lottebalcke edited this page May 31, 2023 · 19 revisions

OM1 - Objects should be mapped to classes in the Data Model.

Description: In order to ensure consistency, the objective model and the data model have to be connected. More precisely, when defining a new class for an object in the dropdown of the objective model, this class has to appear in the data model. To ensure more convenience, it is also possible to select a class for an object in the objective modeler dropdown that already was defined in the data model.

These updates also work when a class is edited or deleted. When editing the name of a class in the data model, all objects of this class in the objective model will be updated with the new name. When a class is deleted in the data model, all objects of this class in the objective model also will be removed (there will be a warning before). However, when an object of a class is deleted in the objective model, the class won't be deleted in the data model.

OM2 - Object states should be mapped to corresponding OLC's

Description: In order to ensure consistency, the objective model and the OLCs have to be connected. More precisely, when defining a new state for an object in the dropdown of the objective modeler, this state has to appear in the OLC of the referenced class. To ensure more convenience, it is also possible to select a state for an object in the objective modeler dropdown that already was defined in the OLC of the referenced class.

These updates also work when a state is edited or deleted. When editing the name of a state of a specific class in the OLC, all objects of this class in the objective model will be updated with the new name if they have the edited state. When a state is deleted in the OLC Model, the state of the affected objects in the objective model will be set to "undefined" (there will be a warning before).

OM3 (not implemented) - Associations between Goal Model Objects correspond to Multiplicities of Data Model.

Description: The designer can only connect objects that have associations in the data model. Furthermore, it should only be possible to link as many objects in the goal model as specified by the multiplicities of the data model.

Example: In this example, we have the following data model.

image

Now, in the objective model, there are some constraints. First of all, it should only be possible to connect two objects which have the classes Lift and House or House and Floor. Connecting two objects that have the classes Lift and Floor shouldn't be possible since they aren't connected in the data model. Moreover, one has to connect at least one but at most three floor objects to one house object because of the multiplicities in the data model.

OM4 (not implemented)- Objects don't change belongingness between objectives.

Description: In order to ensure consistency, the relations (connections to other objects) of objects can't be changed within two or more objectives.

Example: We assume that there are two objectives: Objective1 and Objective2 (this is also their temporal order). Now there are the following objects: Floor1, Floor2 and Flat1. Now, in Objective1, Flat1 belongs (is linked) to Floor1 and Floor2 has no flat. Therefore, in Objective2, this scenario has to be the same as in Objective1 and Flat1 can't change its belongingness and thus can't belong to Floor2.