Service-oriented Computing (SOC) gained tremendous interest by the academic and industrial communities in the last decade. Nowadays, several business software systems are developed based on that paradigm. As opposed to classical software systems, process-based software systems have explicit process logic such as those developed using workflow management systems (also referred to as programming in the large [1] and two-level programming [2]). Several challenges need to be addressed when engineering service-oriented process-based software systems.
First, developing such systems is currently based on low-level technical process languages such as WS-BPEL [3], which is an XML language for web service composition. There is a need for raising the level of abstraction from such low-level technical languages to higher-level abstractions such as models. Second, there is a need for appropriate support for non-functional concerns such as quality of service in service-oriented process-based software systems. Third, there is a need for supporting the extensibility of such software systems, which is necessary to cope with the requirements of different business domains and customers. Thereby, extensibility has to be controlled and it should be supported on the different logical layers of such systems including the business process layer. This research project addresses these challenges by proposing model-driven methods and languages for engineering service-oriented process-based software systems.