Model driven Engineering in Support of Development, Test and Maintenance of Communication Middleware A Preliminary Industrial Case Study
Embedded real time software and systems (ERTS2) are widespread and can be found in many devices in our everyday life (Ebert, 2009) e.g. in cars (Schauffele and Zurawka, 2005) TVs (Paulin et al. 1997) aviation (Rushby, 2011) etc. Development and testing of embedded software is usually more challenging (Graaf et al. 2003; Broy, 2006) compared to regular software systems. Many ERTS2 are also distributed systems in which collections of independent computers interoperate. It is crucial to systematically design, develop and test such distributed real time and embedded (DRE) systems. The scale and complexity of DRE systems makes it infeasible to deploy them in disconnected, standalone configurations (Gokhale et al. 2008) Therefore, communication is the heart of all distributed systems. The latest modern DRE systems have numerous components in which interfaces and middleware communication layer play crucial roles. A communication middleware provides an environment that enables two applications to set up a conversation and exchange data (Krafzig et al. 2004) Defects in those components could lead to minor issues or even life threatening system failures. For example, message communication related faults such as wrong message sizes exchanged between the interfaces might be left uncovered during testing activities. Delays in integration can create huge costs and extra effort might be needed to verify all internal business logic and interfaces. Furthermore, late defect correction in live systems after deployment for these types of software systems costs much more compared to regular software systems due to the close hardware interactions. Thus, it is very crucial to verify communication interfaces between different hardware and software modules earlier to ensure proper interoperability. Moreover, it has been observed in several industrial contexts that when hardware, software modules and related communication interfaces evolve in those systems, synchronization of source code with other artifacts (e.g. documentation) becomes a major challenge. In a specific industrial context, ASELSAN Inc. one of Turkey's leading defense companies (ASELSAN, 2014) all the above challenges were regularly faced and thus, to address them, we design, implement and evaluate a toolset in the context of Radar Electronic Warfare Systems (REWS) division. In this paper, we report our progress in this ongoing R&D project. The solution approach is based on the Model Driven Engineering (MDE) which is in support of development, test and maintenance of communication middleware. The toolset has been developed using the Eclipse Modeling Framework (EMF) and is titled: ModelComM, standing for Model driven Communication Middleware, which automatically generates code, document and test driver for communication interfaces of each component depending on the type of protocol and the architecture of the system. This tool is currently in use by many teams in the company, as we report in this paper. The approach and the case study reported in this paper is only one component of the PhD dissertation of the first author. The thesis' overall plan is to focus on a comprehensive investigation of industrial and empirical evidence of using MDE, which has a multidisciplinary research methodology. Firstly, the thesis plans to investigate recent modeling usage and its adoption with describing and understanding the industrial experience, which is based on survey and exploratory improving case study strategies with interviews. Secondly, to show the positive impact of MDE by addressing the lack of empirical results in the industry (Frankel, 2002; Hutchinson et al. 2014) this study uses an industrial evidence to ensure the cost effectiveness and benefit of MDE by