Model-driven Engineering in Support of Development, Test and Maintenance of Communication Middleware - A Preliminary Industrial Case-Study

Deniz Akdur, Vahid Garousi

2015

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.

References

  1. ASELSAN. (2014). ASELSAN. URL: www.aselsan.com.tr [14/05/2014].
  2. Barry, P. & Crowley, P. (2012). Embedded Platform Architecture. In: Barry, P. & Crowley, P. (eds.) Modern Embedded Computing. Boston: Morgan Kaufmann.
  3. Basili, V. C., G.; Rombach, D.H. (1994). The Goal Question Metric Approach. Encyclopedia of Software Engineering. Wiley.
  4. Biffl, S., Aurum, A., Boehm, B., Erdogmus, H. & Grünbacher, P. (2005). Value-Based Software Engineering. Springer-Verlag New York, Inc.
  5. Bittner, R. (2012). Speedy bus mastering PCI express. In: 22nd International Conference on Field Programmable Logic and Applications (FPL), 523-526.
  6. Broy, M. (2006). Challenges in automotive software engineering. Proceedings of the 28th international conference on Software engineering, China: ACM.
  7. Davies, J., Gibbons, J., Welch, J. & Crichton, E. (2014). Model-driven engineering of information systems: 10 years and 1000 versions. Science of Computer Programming, 89, Part B, 88-104.
  8. Douglass, B. P. (2000). Real-time UML: Developing Efficient Objects for Embedded Systems. AddisonWesley.
  9. Douglass, B. P. (2004). Real Time UML: Advances in the UML for Real-time Systems. Addison-Wesley.
  10. Ebert, C. J., Capers (2009). Embedded Software: Facts, Figures, and Future. IEEE Computer Society, 42, 42-52.
  11. Frankel, D. (2002). Model Driven Architecture: Applying MDA to Enterprise Computing. John Wiley & Sons.
  12. Ganssle, J. (2008). A trillion lines of code? URL: http://www.ganssle.com/rants/atrillionlinesofcode.htm [13/06/2014].
  13. Gokhale, A., Balasubramanian, K., Krishna, A. S., Balasubramanian, J., Edwards, G., Deng, G., Turkay, E., Parsons, J. & Schmidt, D. C. (2008). Model driven middleware: A new paradigm for developing distributed real-time and embedded systems. Science of Computer Programming, 73, 39-58.
  14. Gorschek, T., Wohlin, C., Carre, P. & Larsson, S. (2006). A Model for Technology Transfer in Practice. Software, IEEE, 23, 88-95.
  15. Graaf, B., Lormans, M. & Toetenel, H. (2003). Embedded software engineering: the state of the practice. Software, IEEE, 20, 61-69.
  16. Hutchinson, J., Whittle, J. & Rouncefield, M. (2014). Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure. Science of Computer Programming, 89, Part B, 144-161.
  17. Iyenghar, P., Pulvermueller, E. & Westerkamp, C. (2011). Towards Model-Based Test automation for embedded systems using UML and UTP. In: Emerging Technologies & Factory Automation (ETFA), 1-9.
  18. Kaner, C., Bach, J. & Pettichord, B. (2001). Lessons Learned in Software Testing: A Context Driven Approach. New York: John Wiley & Sons Inc.
  19. Krafzig, D., Banke, K. & Slama, D. (2004). Enterprise SOA: Service-Oriented Architecture Best Practices (The Coad Series). Prentice Hall PTR.
  20. Kramer, J. (2007). Is abstraction the key to computing? Commun. ACM, 50, 36-42.
  21. Liggesmeyer, P. & Trapp, M. (2009). Trends in Embedded Software Engineering. Software, IEEE, 26, 19-25.
  22. Lindvall, M. K.-S., S.; Costa, P.; Seaman, C. (2003). Embedded Software Maintenance. Data and Analysis Center for Software.
  23. McCluskey, G. (1998). Using Java Reflection. URL: http://www.oracle.com/technetwork/articles/java/javar eflection-1536171.html.
  24. Moore, B., Dean, D., Gerber, A., Wagenknecht, G. & Vanderheyden, P. (2004). Eclipse development using the graphical editing framework and the eclipse modeling framework. IBM Corp.
  25. Myers, G. J., Sandler, C. & Badgett, T. (2012). The art of software testing. 3rd ed. Hoboken, N.J.: John Wiley & Sons.
  26. Nicolescu, G. M., P. J. (2009). Model-Based Design for Embedded Systems CRC Press.
  27. Pao-Ann, H., Win-Bin, S., Trong-Yen, L., Jin-Ming, F. & Sao-Jie, C. (2001). Formal verification of embedded real-time software in component-based application frameworks. In: Asia-Pacific Software Engineering Conference, 71-78.
  28. Parnas, D. (2011). Precise Documentation: The Key to Better Software. In: Nanz, S. (ed.) The Future of Software Engineering. Springer Berlin Heidelberg.
  29. Paulin, P. G., Liem, C., Cornero, M., Nacabal, F. & Goossens, G. (1997). Embedded software in real-time signal processing systems: application and architecture trends. Proceedings of the IEEE, 85, 419-435.
  30. Rushby, J. (2011). New challenges in certification for aircraft software. In: Embedded Software, 211-218.
  31. Santos, P. S. M. d. & Travassos, G. H. (2009). Action research use in software engineering: An initial survey. Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement. IEEE Computer Society.
  32. Schantz, R. & Schmidt, D. C. (2008). Middleware for Distributed Systems. In: Wah, B. (ed.) Encyclopedia of Computer Science and Engineering.
  33. Schäuffele, J. & Zurawka, T. (2005). Automotive Software Engineering: Principles, Processes, Methods, and Tools. SAE International.
  34. Skolnik, M. I. (2001). Introduction to radar systems. 3rd ed. Boston: McGraw Hill.
  35. Stefan, G. & Bruce, W. (2011). Model-Based Passive Testing of Safety-Critical Components. Model-Based Testing for Embedded Systems. CRC Press.
  36. Stimson, G. W. (1998). Introduction to airborne radar. 2nd ed. Mendham, N.J.: SciTech Pub.
  37. Zander, J., Schieferdecker, I. & Mosterman, P. J. (2011). Model-Based Testing for Embedded Systems. CRC Press.
Download


Paper Citation


in Harvard Style

Akdur D. and Garousi V. (2015). Model-driven Engineering in Support of Development, Test and Maintenance of Communication Middleware - A Preliminary Industrial Case-Study . In Doctoral Consortium - DCMODELSWARD, (MODELSWARD 2015) ISBN , pages 11-19


in Bibtex Style

@conference{dcmodelsward15,
author={Deniz Akdur and Vahid Garousi},
title={Model-driven Engineering in Support of Development, Test and Maintenance of Communication Middleware - A Preliminary Industrial Case-Study},
booktitle={Doctoral Consortium - DCMODELSWARD, (MODELSWARD 2015)},
year={2015},
pages={11-19},
publisher={SciTePress},
organization={INSTICC},
doi={},
isbn={},
}


in EndNote Style

TY - CONF
JO - Doctoral Consortium - DCMODELSWARD, (MODELSWARD 2015)
TI - Model-driven Engineering in Support of Development, Test and Maintenance of Communication Middleware - A Preliminary Industrial Case-Study
SN -
AU - Akdur D.
AU - Garousi V.
PY - 2015
SP - 11
EP - 19
DO -