Change search
ReferencesLink to record
Permanent link

Direct link
Introducing Mode Switch in Component-Based Software Development
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. (Real-time systems design)ORCID iD: 0000-0003-1067-583X
2015 (English)Doctoral thesis, monograph (Other academic)
Abstract [en]

Self-adaptivity, characterized by the ability to dynamically adjust behavior at runtime, is a growing trend in the evolution of modern embedded systems. While self-adaptive systems tend to be flexible and autonomous, self-adaptivity may inevitably complicate software design, test and analysis. A strategy for taming the growing software complexity of self-adaptive systems 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 runtime under certain circumstances. Multi-mode systems can benefit from a complementary approach to the software development of complex systems: Component-Based Software Engineering (CBSE), which fosters reuse of independently developed software components. However, the state-of-the-art component-based development of multi-mode systems does not take full advantage of CBSE, as reuse of modes at component level is barely addressed. Modes are often treated as system properties, while mode switches are handled by a global mode manager. This centralized mode management entails global information of all components, whereas the global information may be inaccessible in component-based systems. Another potential problem is that a single mode manager does not scale well, particularly at design time,  for a large number of components and modes.


In this thesis we propose a distributed solution to the component-based development of multi-mode systems, aiming for a more efficient and scalable mode management. Our goal is to fully incorporate modes in software component reuse, supporting reuse of multi-mode components, i.e., components able to run in multiple modes. We have developed a generic framework, the Mode-Switch Logic (MSL), which not only supports reuse of multi-mode components but also provides runtime mechanisms for handling mode switch. MSL includes three fundamental elements: (1) a mode-aware component model with the formal specification of reusable multi-mode software components; (2) a mode mapping mechanism for the seamless composition of multi-mode components; and (3) a mode-switch runtime mechanism which is executed by each component in isolation from its functional execution and coordinates the mode switches of different components without the need of global mode information. The mode-switch runtime mechanism has been verified by model checking in conjunction with mathematical proofs. We also provide a mode-switch timing analysis for the runtime mechanism to respect real-time requirements.


MSL is dedicated to the mode aspect of a system irrespective of component execution semantics, thus independent of the choice of component models. We have integrated MSL in the ProCom component model with the extension of support for reuse of multi-mode components and distributed mode-switch handling. Although the distributed mode-switch handling of MSL is more flexible and scalable than the conventional centralized approach, when components are deployed on a single hardware platform and global mode information is available, centralized mode-switch handling is more efficient in terms of runtime overhead and mode-switch time. Hence, MSL is supplemented with a mode transformation technique to enhance runtime mode-switch efficiency by converting the distributed mechanism to a centralized mechanism. MSL together with the mode transformation technique has been implemented in a prototype tool where one can build multi-mode systems by reusing multi-mode components. The applicability of MSL is demonstrated in two proof-of-concept case studies.

Place, publisher, year, edition, pages
Västerås: Mälardalen University , 2015.
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 188
Keyword [en]
mode switch, multi-mode, component-based
National Category
Software Engineering
Research subject
Computer Science
URN: urn:nbn:se:mdh:diva-28755ISBN: 978-91-7485-229-5OAI: diva2:848116
Public defence
2015-10-29, Beta, Mälardalens högskola, Västerås, 14:15 (English)
ARROWS - Design Techniques for Adaptive Embedded Systems
Swedish Research Council
Available from: 2015-09-08 Created: 2015-08-24 Last updated: 2016-02-25Bibliographically approved

Open Access in DiVA

fulltext(8525 kB)146 downloads
File information
File name FULLTEXT01.pdfFile size 8525 kBChecksum SHA-512
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Yin, Hang
By organisation
Embedded Systems
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 146 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 864 hits
ReferencesLink to record
Permanent link

Direct link