Article Preview
Top1. Introduction
The size and the complexity of today’s embedded systems (ES) have led to the growing adoption of model-driven engineering (MDE) (Liggesmeyer & Trapp, 2009) and service-oriented architecture (SOA) in their development (Cannata, Gerosa, & Taisch, 2008; Gilart-Iglesias, Macia-Perez, Marcos-Jorquera, & Mora-Gimeno, 2007). MDE, as an overall engineering approach, relies on practices such as modelling, model transformation and code generation to facilitate the software development practices (Schmidt, 2006). SOA relies on service interactions as a means of achieving system goals in a flexible manner (Scholz et al., 2009). A specification of service interactions can therefore be seen as an important development artefact which is commonly modelled form at least two viewpoints – choreography and orchestration (Dijkman & Dumas, 2004; Peltz, 2003).
Choreography and orchestration models capture different details relevant to the specifications of service interactions. The choreography captures the interactions between participants, which represent autonomous management authorities (e.g. companies, organization units or development teams) whose services are interacting to achieve a common goal (Barros, Dumas, & Oaks, 2005). The orchestration focuses on the service interactions needed to achieve the goal of a single participant (Dijkman & Dumas, 2004). These two viewpoints can therefore be seen as complementary. Several studies, however, indicate on growing interest in choreography in the ES domain.
The basis for the growing interest in choreography in ES domain is set by AESOP research project (IMC-AESOP, 2015). AESOP project results favoured choreography viewpoint for setting up the main building blocks for industry automation systems since the information it conveys can contribute to system performance (Starke, Kunkel, & Hahn, 2013). Following these results, Kothmayr, Kemper, Scholz and Heuer (2015) presented an approach for executing choreography scenarios with real-time guaranties that can result in faster execution of industrial systems. The growing interest in choreography, as a generic abstraction of collaboration among multiple services, is also present in the development of middleware products for future internet applications (Issarny et al., 2011). Additionally, the study by Kaur et al. (2013) highlights on the scalability potential of choreography in large-scale control systems domain.
The choreography viewpoint is commonly specified using Choreography Modelling Language (CML), and once specified, it can address various misalignments in the development process. Some of these misalignments include duplication of work, delays in the development and a loss of opportunity from the parallelization of work (Taušan et al., 2014). One drawback is that currently used CMLs have limited applicability in ES development since they are not expressive enough to capture various choreography-relevant development aspects that are typical in the ES domain.
This study goal was to address this drawback by producing the knowledge for the design of a comprehensive CML capable of supporting the choreography-relevant development aspects that are typical in ES development. Based on this goal, the following research question was derived: