Embedded Systems Specific Requirements for Choreography Modelling Language Design

Embedded Systems Specific Requirements for Choreography Modelling Language Design

Nebojša Taušan (M3S - Software Engineering Research Group, University of Oulu, Oulu, Finland), Jouni Markkula (M3S - Software Engineering Research Group, University of Oulu, Oulu, Finland), Pasi Kuvaja (M3S - Software Engineering Research Group, University of Oulu, Oulu, Finland) and Markku Oivo (M3S - Software Engineering Research Group, University of Oulu, Oulu, Finland)
Copyright: © 2016 |Pages: 22
DOI: 10.4018/IJISMD.2016070106

Abstract

Software companies that develop embedded systems following the principles of service-oriented architecture can anticipate various benefits from choreography modelling. Current choreography modelling languages, however, have a limited applicability in embedded systems development since they are not expressive enough to capture all the choreography-relevant aspects that are typical in this domain. This problem is addressed in this study with the analysis of the needs in embedded systems domain for choreography modelling language. The analysis was guided by design science and relied on expert interviews, company-specific documents, relevant scientific literature and the experts' evaluation of the redesigned choreography modelling language. The main results of the analysis presented in this paper are a) design requirements addressing the limitations of choreography modelling languages for embedded systems development and b) proposals for modelling language implementation technologies. The derived design requirements indicate on choreography-relevant embedded systems development aspects such as the constraint-based access and real-time execution. Modelling language implementation technology proposals include Eclipse modelling framework and Sirius. The feasibility of these results is evaluated by redesigning an existing choreography modelling language based on the derived design requirements, implementing a prototype editor for the redesigned language and by evaluating the redesigned language with experts.
Article Preview

1. 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:

  • RQ: How can the expressiveness of a CML be increased to enable its applicability in the embedded systems domain?

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 10: 4 Issues (2019): Forthcoming, Available for Pre-Order
Volume 9: 4 Issues (2018): 1 Released, 3 Forthcoming
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing