Next Article in Journal / Special Issue
How to Deal with the Complexity of Future Cyber-Physical Systems?
Previous Article in Journal
Influencing Parameters on Tire–Pavement Interaction Noise: Review, Experiments, and Design Considerations
Article Menu
Issue 4 (December) cover image

Export Article

Open AccessArticle
Designs 2018, 2(4), 39;

Fighting CPS Complexity by Component-Based Software Development of Multi-Mode Systems

Zenuity, Lindholmspiren 2, 417 56 Gothenburg, Sweden
School of Innovation, Design and Engineering, Mälardalen University, Högskoleplan 1, 722 20 Västerås, Sweden
Author to whom correspondence should be addressed.
Current address: Lindholmspiren 2, 417 56 Gothenburg, Sweden.
Received: 7 October 2018 / Revised: 14 October 2018 / Accepted: 18 October 2018 / Published: 22 October 2018
Full-Text   |   PDF [2082 KB, uploaded 23 October 2018]   |  


Growing software complexity is an increasing challenge for the software development of modern cyber-physical systems. A classical strategy for taming this complexity is to partition system behaviors into different operational modes specified at design time. Such a multi-mode system can change behavior by switching between modes at run-time. A complementary approach for reducing software complexity is provided by component-based software engineering (CBSE), which reduces complexity by building systems from composable, reusable and independently developed software components. CBSE and the multi-mode approach are fundamentally conflicting in that component-based development conceptually is a bottom-up approach, whereas partitioning systems into operational modes is a top-down approach with its starting point from a system-wide perspective. In this article, we show that it is possible to combine and integrate these two fundamentally conflicting approaches. The key to simultaneously benefiting from the advantages of both approaches lies in the introduction of a hierarchical mode concept that provides a conceptual linkage between the bottom-up component-based approach and system level modes. As a result, systems including modes can be developed from reusable mode-aware components. The conceptual drawback of the approach—the need for extensive message exchange between components to coordinate mode-switches—is eliminated by an algorithm that collapses the component hierarchy and thereby eliminates the need for inter-component coordination. As this algorithm is used from the design to implementation level (“compilation”), the CBSE design flexibility can be combined with efficiently implemented mode handling, thereby providing the complexity reduction of both approaches, without inducing any additional design or run-time costs. At the more specific level, this article presents (1) a mode mapping mechanism that formally specifies the mode relation between composable multi-mode components and (2) a mode transformation technique that transforms component modes to system-wide modes to achieve efficient implementation. View Full-Text
Keywords: component-based software engineering; mode; mode-switch component-based software engineering; mode; mode-switch

Figure 1

This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited (CC BY 4.0).

Share & Cite This Article

MDPI and ACS Style

Yin, H.; Hansson, H. Fighting CPS Complexity by Component-Based Software Development of Multi-Mode Systems. Designs 2018, 2, 39.

Show more citation formats Show less citations formats

Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Article Metrics

Article Access Statistics



[Return to top]
Designs EISSN 2411-9660 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert
Back to Top