Skip to content

Objective Model

Simon Nowack edited this page Apr 17, 2023 · 19 revisions

In order to offer detailed planning support for construction processes, we need to model goals, which happens in the Dependency Model. Per definition, a goal is a temporally ordered sequence of objectives. These objectives also have to be modeled which happens in the Objective Model. With the Objective Modeler, it is possible to model many objectives which then can be ordered to one goal in the Dependency Model. As a way of representing objectives, we decided to use UML Object Diagrams since objectives consist of related objects. In the Objective Model, objects (which have to belong to one of the classes in the Data Model) can be given names and a state in order to be more precise.

OM1 (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. On top of that, you have to connect at least one but at most three floor objects to one house object because of the multiplicities in the Data Model.

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

Description: In order to ensure consistency, the position (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.

OM3 - Objects should be mapped to classes in the Data Model

Description: In order to ensure consistency, the Object 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 Model 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 the name of a class is edited in the Objective Model, all other affected objects will adapt the new name as well as the corresponding class in the Data Model. 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. This only happens when the class is deleted in the Objective Model.

OM4 - Object states should be mapped to corresponding OLC´s

Description: In order to ensure consistency, the Object Model and the OLC Model have to be connected. More precisely, when defining a new state for an object in the dropdown of the Objective Model, this state has to appear in the OLC Model of the selected object class. To ensure more convenience, it is also possible to select a state for an object in the Objective Model dropdown that already was defined in the OLC Model of the selected object 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 Model, all objects of this class in the Objective Model will be updated with the new name if they have the edited state. When the name of a state of a specific class is edited in the Objective Model, all other affected objects will adapt the new name as well as the corresponding OLC in the Data Model. 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). In the case of a state deletion in the Objective Model, the state will also be deleted in the corresponding OLC Model.