Integration of Reactions and Mappings in Vitruvius: Unterschied zwischen den Versionen

Aus SDQ-Institutsseminar
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 5: Zeile 5:
|betreuer=Heiko Klare
|betreuer=Heiko Klare
|termin=Institutsseminar/2019-10-18
|termin=Institutsseminar/2019-10-18
|kurzfassung=Realizing complex software projects is often done by utilizing multiple programming or modelling languages. Separate parts of the software are relevant to certain development  
|kurzfassung=Realizing complex software projects is often done by utilizing multiple programming or modelling languages. Separate parts of the software are relevant to certain development tasks or roles and differ in their representation. These separate representations are related and contain redundant information. Such redundancies exist for example with an implementation class for a component description, which has to implement methods with signatures as specified by the component. Whenever redundant information is affected in a development update, other representations that contain redundant information have to be updated as well. This additional development effort is required to keep the redundant information consistent and can be costly.
tasks or roles and differ in their representation. These separate representations are related
 
and contain redundant information. Such redundancies exist for example with an
Consistency preservation languages can be used to describe how consistency of representations can be preserved, so that in use with further development tools the process of updating redundant information is automated. However, such languages vary in their abstraction level and expressiveness. Consistency preservation languages with higher abstraction specify what elements of representations are considered consistent in a declarative manner. A language with less abstraction concerns how consistency is preserved after an update using imperative instructions. A common trade-off in the decision for selecting a fitting language is between expressiveness and abstraction. Higher abstraction on the one hand implies less specification effort, on the other hand it is restricted in expressiveness compared to a more specific language.
implementation class for a component description, which has to implement methods with
 
signatures as specified by the component. Whenever redundant information is affected in
In this thesis we present a concept for combining two consistency specification languages of different abstraction levels. Imperative constructs of a less abstract language are derived from declarative consistency expressions of a language of higher abstraction and combined with additional imperative constructs integrated into the combined language. The combined language grants the benefits of the more abstract language and enables realizing parts of the specification without being restricted in expressiveness. As a consequence a developer profits from the advantages of both languages, as previously a specification that can not be completely expressed with the more abstract language has to be realized entirely with the less abstract language.
a development update, other representations that contain redundant information have to
 
be updated as well. This additional development effort is required to keep the redundant
We realize the concepts by combining the Reactions and Mappings language of the VITRUVIUS project. The imperative Reactions language enables developers to specify
information consistent and can be costly.
triggers for certain model changes and repair logic. As a more abstract language, Mappings specify consistency with a declarative description between elements of two representations and what conditions for the specific elements have to apply. We research the limits of expressiveness of the declarative description and depict, how scenarios are supported that require complex consistency specifications. An evaluation with a case study shows the applicability of the approach, because an existing project, prior using the Reactions language, can be realized with the combination concept. Furthermore, the compactness of the preservation specification is increased.
Consistency preservation languages can be used to describe how consistency of representations
can be preserved, so that in use with further development tools the process
of updating redundant information is automated. However, such languages vary in their
abstraction level and expressiveness. Consistency preservation languages with higher
abstraction specify what elements of representations are considered consistent in a declarative
manner. A language with less abstraction concerns how consistency is preserved after
an update using imperative instructions. A common trade-off in the decision for selecting a
fitting language is between expressiveness and abstraction. Higher abstraction on the one
hand implies less specification effort, on the other hand it is restricted in expressiveness
compared to a more specific language.
In this thesis we present a concept for combining two consistency specification languages
of different abstraction levels. Imperative constructs of a less abstract language
are derived from declarative consistency expressions of a language of higher abstraction
and combined with additional imperative constructs integrated into the combined language.
The combined language grants the benefits of the more abstract language and
enables realizing parts of the specification without being restricted in expressiveness. As a
consequence a developer profits from the advantages of both languages, as previously a
specification that can not be completely expressed with the more abstract language has to
be realized entirely with the less abstract language.
We realize the concepts by combining the Reactions and Mappings language of the
VITRUVIUS project. The imperative Reactions language enables developers to specify
triggers for certain model changes and repair logic. As a more abstract language, Mappings
specify consistency with a declarative description between elements of two representations
and what conditions for the specific elements have to apply. We research the limits of
expressiveness of the declarative description and depict, how scenarios are supported
that require complex consistency specifications. An evaluation with a case study shows
the applicability of the approach, because an existing project, prior using the Reactions
language, can be realized with the combination concept. Furthermore, the compactness of
the preservation specification is increased.
}}
}}

Aktuelle Version vom 14. Oktober 2019, 08:03 Uhr

Vortragende(r) Roland Osterrieter
Vortragstyp Masterarbeit
Betreuer(in) Heiko Klare
Termin Fr 18. Oktober 2019
Vortragsmodus
Kurzfassung Realizing complex software projects is often done by utilizing multiple programming or modelling languages. Separate parts of the software are relevant to certain development tasks or roles and differ in their representation. These separate representations are related and contain redundant information. Such redundancies exist for example with an implementation class for a component description, which has to implement methods with signatures as specified by the component. Whenever redundant information is affected in a development update, other representations that contain redundant information have to be updated as well. This additional development effort is required to keep the redundant information consistent and can be costly.

Consistency preservation languages can be used to describe how consistency of representations can be preserved, so that in use with further development tools the process of updating redundant information is automated. However, such languages vary in their abstraction level and expressiveness. Consistency preservation languages with higher abstraction specify what elements of representations are considered consistent in a declarative manner. A language with less abstraction concerns how consistency is preserved after an update using imperative instructions. A common trade-off in the decision for selecting a fitting language is between expressiveness and abstraction. Higher abstraction on the one hand implies less specification effort, on the other hand it is restricted in expressiveness compared to a more specific language.

In this thesis we present a concept for combining two consistency specification languages of different abstraction levels. Imperative constructs of a less abstract language are derived from declarative consistency expressions of a language of higher abstraction and combined with additional imperative constructs integrated into the combined language. The combined language grants the benefits of the more abstract language and enables realizing parts of the specification without being restricted in expressiveness. As a consequence a developer profits from the advantages of both languages, as previously a specification that can not be completely expressed with the more abstract language has to be realized entirely with the less abstract language.

We realize the concepts by combining the Reactions and Mappings language of the VITRUVIUS project. The imperative Reactions language enables developers to specify triggers for certain model changes and repair logic. As a more abstract language, Mappings specify consistency with a declarative description between elements of two representations and what conditions for the specific elements have to apply. We research the limits of expressiveness of the declarative description and depict, how scenarios are supported that require complex consistency specifications. An evaluation with a case study shows the applicability of the approach, because an existing project, prior using the Reactions language, can be realized with the combination concept. Furthermore, the compactness of the preservation specification is increased.