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

Aus SDQ-Institutsseminar
(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…“)
 
Keine Bearbeitungszusammenfassung
 
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, 10:22 Uhr

Vortragende(r) Dominik Klooz
Vortragstyp Bachelorarbeit
Betreuer(in) Heiko Klare
Termin Fr 6. Juli 2018
Vortragsmodus
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.