Model-driven variability management in choreography specification


Tezin Türü: Doktora

Tezin Yürütüldüğü Kurum: Orta Doğu Teknik Üniversitesi, Mühendislik Fakültesi, Bilgisayar Mühendisliği Bölümü, Türkiye

Tezin Onay Tarihi: 2013

Öğrenci: SELMA SÜLOĞLU

Danışman: ALİ HİKMET DOĞRU

Özet:

In this thesis, model driven variability management in choreography model is introduced, which brings variability management and choreography specification together in one single model. Service Oriented Architecture (SOA) is a means of facilitating inner and inter-organizational computing which reveals a reusable architecture comprising service consumer, producer and broker. To achieve assembling and composition of services, orchestration and choreography concepts are utilized, which are two interrelated views of the system architecture. In the architectural level, orchestration and choreography models are tailored by variability specifications in order to deal with reuse challenge. Several approaches have been introduced to support variability in orchestration and choreography languages. Unfortunately, variability specifications are not explicitly addressed in current choreography languages and are not integrated with variable orchestration specifications. Specification of consistent variability binding and configuration of interacting services accordingly have not been considered in the choreography language level. Moreover, there is a lack of support to reuse existing choreographies. A metamodel and its realization, XChor language is presented and validated with regard to service variability needs and service interactions patterns. XChorS Tool is developed to facilitate pre and post analysis of models, configuration of models regarding variability bindings in a consistent way and transformation of models to existing languages. Verification of XChor models is enabled and implemented by means of transforming to a model checking system, Featured Transition Systems. Lastly, variability management of assets and artifacts in software product lines with the help of XChor metamodel and language is explained. Case studies are provided for demonstration purposes.