Abstract: |
Embedded real-time software systems are widespread and can be found in many devices in our everyday life, e.g., in cars, TVs, aviation, etc. Development and testing of embedded software is usually more challenging compared to regular software systems.
The scale and complexity of these systems makes it infeasible to deploy them in disconnected, standalone configurations. Therefore, communication is at the heart of all distributed systems. The latest modern distributed real-time and embedded systems have numerous components in which interfaces and middleware layers play crucial roles. 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 the implemented internal business logic and message 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 before delivery to ensure proper interoperability of these modules. Furthermore, 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 becomes a major challenge.
In a specific industrial context, ASELSAN Inc., one of Turkey's leading defense companies, 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: Model-ComM, 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.
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, this study uses an industrial evidence to ensure the cost effectiveness and benefit of MDE by realizing technology transfer via Model-ComM, which is based on Action Research. |