Semi-automatic Consistency Preservation of Models: Unterschied zwischen den Versionen

Aus IPD-Institutsseminar
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „{{Vortrag |vortragender=Dominik Klooz |email=uwdlg@student.kit.edu |vortragstyp=Bachelorarbeit |betreuer=Heiko Klare |termin=Institutsseminar/2018-07-06 |kurzf…“)
 
 
Zeile 5: Zeile 5:
 
|betreuer=Heiko Klare
 
|betreuer=Heiko Klare
 
|termin=Institutsseminar/2018-07-06
 
|termin=Institutsseminar/2018-07-06
|kurzfassung=In order to manage the high complexity of developing software systems, oftentimes several
+
|kurzfassung=In order to manage the high complexity of developing software systems, oftentimes several models are employed describing different aspects of the system under development. Models often contain redundant or dependent information, meaning changes to one model without adjustments to others representing the same concepts lead to inconsistencies, which need to be repaired automatically. Otherwise, developers would have to know all dependencies to preserve consistency by hand.
models are employed describing different aspects of the system under development. Models
+
 
often contain redundant or dependent information, meaning changes to one model without
+
For automated consistency preservation, model transformations can be used to specify how elements from one model correspond to those of another and define consistency preservation operations to fix inconsistencies. In this specification, it is not always possible to determine one generally correct way of preserving consistency without insight into the intentions of the developer  
adjustments to others representing the same concepts lead to inconsistencies, which need
+
responsible for making the changes. To be able to factor in underlying intentions, user interactions used to clarify the course of consistency preservation in ambiguous cases are needed. Existing approaches either do not consider user interactions during consistency preservation or provide an unstructured set of interaction options. In this thesis, we therefore identify a structured classification of user interaction types to employ during consistency preservation. By applying those types in preexisting case studies for consistency preservation between models in different application domains, we were able to show the applicability of these types in terms of completeness and appropriateness.
to be repaired automatically. Otherwise, developers would have to know all dependencies
+
 
to preserve consistency by hand.
+
Furthermore, software projects are rarely developed by a single person, meaning that multiple developers may work on the same models in different development branches and combine their work at some point using a merge operation. One reasonable option to merge different development branches of models is to track model changes and merge the change sequences by applying one after another. Since the model state changed due to changes made in the one branch, the changes in the other branch can potentially lead to different user decisions being necessary for consistency preservation. Nevertheless, most necessary decisions will be the same, which is why it would be useful to reuse the previously applied choices if possible. To achieve this, we provide a concept for storing and reapplying decisions during consistency preservation in this thesis. Thus, we establish which information is necessary and reasonable to represent a user interaction and allow for its correct reuse. By applying the reuse mechanism to a change scenario with several user interactions in one of the case studies mentioned above, we were able to show the feasibility of our overall concept for correctly reusing changes.
For automated consistency preservation, model transformations can be used to specify
 
how elements from one model correspond to those of another and define consistency
 
preservation operations to fix inconsistencies. In this specification, it is not always possible
 
to determine one generally correct way of preserving consistency without insight into the
 
intentions of the developer responsible for making the changes. To be able to factor in
 
underlying intentions, user interactions used to clarify the course of consistency preservation
 
in ambiguous cases are needed. Existing approaches either do not consider user
 
interactions during consistency preservation or provide an unstructured set of interaction
 
options. In this thesis, we therefore identify a structured classification of user interaction
 
types to employ during consistency preservation. By applying those types in preexisting
 
case studies for consistency preservation between models in different application
 
domains, we were able to show the applicability of these types in terms of completeness
 
and appropriateness.
 
Furthermore, software projects are rarely developed by a single person, meaning that
 
multiple developers may work on the same models in different development branches
 
and combine their work at some point using a merge operation. One reasonable option
 
to merge different development branches of models is to track model changes and merge
 
the change sequences by applying one after another. Since the model
 
state changed due to changes made in the one branch, the changes in the other branch can
 
potentially lead to different user decisions being necessary for consistency preservation.
 
Nevertheless, most necessary decisions will be the same, which is why it would be useful
 
to reuse the previously applied choices if possible. To achieve this, we provide a concept
 
for storing and reapplying decisions during consistency preservation in this thesis. Thus,
 
we establish which information is necessary and reasonable to represent a user interaction
 
and allow for its correct reuse. By applying the reuse mechanism to a change scenario
 
with several user interactions in one of the case studies mentioned above, we were able to
 
show the feasibility of our overall concept for correctly reusing changes.
 
 
}}
 
}}

Aktuelle Version vom 15. Juni 2018, 09:22 Uhr

Vortragende(r) Dominik Klooz
Vortragstyp Bachelorarbeit
Betreuer(in) Heiko Klare
Termin Fr 6. Juli 2018
Kurzfassung In order to manage the high complexity of developing software systems, oftentimes several models are employed describing different aspects of the system under development. Models often contain redundant or dependent information, meaning changes to one model without adjustments to others representing the same concepts lead to inconsistencies, which need to be repaired automatically. Otherwise, developers would have to know all dependencies to preserve consistency by hand.

For automated consistency preservation, model transformations can be used to specify how elements from one model correspond to those of another and define consistency preservation operations to fix inconsistencies. In this specification, it is not always possible to determine one generally correct way of preserving consistency without insight into the intentions of the developer responsible for making the changes. To be able to factor in underlying intentions, user interactions used to clarify the course of consistency preservation in ambiguous cases are needed. Existing approaches either do not consider user interactions during consistency preservation or provide an unstructured set of interaction options. In this thesis, we therefore identify a structured classification of user interaction types to employ during consistency preservation. By applying those types in preexisting case studies for consistency preservation between models in different application domains, we were able to show the applicability of these types in terms of completeness and appropriateness.

Furthermore, software projects are rarely developed by a single person, meaning that multiple developers may work on the same models in different development branches and combine their work at some point using a merge operation. One reasonable option to merge different development branches of models is to track model changes and merge the change sequences by applying one after another. Since the model state changed due to changes made in the one branch, the changes in the other branch can potentially lead to different user decisions being necessary for consistency preservation. Nevertheless, most necessary decisions will be the same, which is why it would be useful to reuse the previously applied choices if possible. To achieve this, we provide a concept for storing and reapplying decisions during consistency preservation in this thesis. Thus, we establish which information is necessary and reasonable to represent a user interaction and allow for its correct reuse. By applying the reuse mechanism to a change scenario with several user interactions in one of the case studies mentioned above, we were able to show the feasibility of our overall concept for correctly reusing changes.