https://www.mdu.se/

mdu.sePublications
Change search
Link to record
Permanent link

Direct link
Publications (10 of 22) Show all publications
Yin, H. & Hansson, H. (2018). Fighting CPS Complexity by Component-Based Software Development of Multi-Mode Systems. Designs, 2(4), 39-61
Open this publication in new window or tab >>Fighting CPS Complexity by Component-Based Software Development of Multi-Mode Systems
2018 (English)In: Designs, ISSN 2411-9660, Vol. 2, no 4, p. 39-61Article in journal (Refereed) Published
Abstract [en]

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

Place, publisher, year, edition, pages
Switzerland: DPI, 2018
Keywords
component-based software engineering, mode, mode-switch
National Category
Engineering and Technology Computer Systems
Identifiers
urn:nbn:se:mdh:diva-41727 (URN)10.3390/designs2040039 (DOI)2-s2.0-85095119657 (Scopus ID)
Projects
ARROWS - Design Techniques for Adaptive Embedded Systems
Available from: 2018-12-18 Created: 2018-12-18 Last updated: 2020-11-18Bibliographically approved
Yin, H., Hansson, H., Orlando, D., Miscia, F. & Di Marco, S. (2016). Component-based software development of multi-mode systems — An extended report.
Open this publication in new window or tab >>Component-based software development of multi-mode systems — An extended report
Show others...
2016 (English)Report (Other academic)
Abstract [en]

Growing software complexity is an increasing challenge for the software development of modern embedded systems. A classical strategy for taming the software 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 runtime. Component-Based Software Engineering (CBSE) is a complementary approach to the software development of complex systems that fosters reuse of 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 topdown approach. In this report we show that it is possible to combine and integrate these two fundamentally conflicting approaches. The key to simultaneously benefitting 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 in the modeling phase. 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. At the more specific level, this report presents (1) a mode mapping mechanism which formally specifies the mode relation between composable multi-mode components, (2) a mode transformation technique that transforms component modes to system-wide modes to achieve efficient implementation, and (3) a prototype tool that implements the mode mapping mechanism and mode transformation technique.

Publisher
p. 43
Series
MRTC Reports ; 312
Keywords
Component-based development, Mode-shift. Multi-mode software components
National Category
Embedded Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-40567 (URN)MDH-MRTC-312/2016-1-SE (ISRN)
Available from: 2018-09-02 Created: 2018-09-02 Last updated: 2020-12-08Bibliographically approved
Yin, H. (2015). Introducing Mode Switch in Component-Based Software Development. (Doctoral dissertation). Västerås: Mälardalen University
Open this publication in new window or tab >>Introducing Mode Switch in Component-Based Software Development
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
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 188
Keywords
mode switch, multi-mode, component-based
National Category
Software Engineering
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-28755 (URN)978-91-7485-229-5 (ISBN)
Public defence
2015-10-29, Beta, Mälardalens högskola, Västerås, 14:15 (English)
Opponent
Supervisors
Projects
ARROWS - Design Techniques for Adaptive Embedded Systems
Funder
Swedish Research Council
Available from: 2015-09-08 Created: 2015-08-24 Last updated: 2018-01-11Bibliographically approved
Yin, H. & Hansson, H. (2014). Flexible and efficient reuse of multi-mode components for building multi-mode systems. In: The 14th International Conference on Software Reuse ICSR2015: . Paper presented at The 14th International Conference on Software Reuse ICSR2015, 4-6 Jan 2015, Miami, Florida, United States (pp. 237-252). , 8919, Article ID 112329.
Open this publication in new window or tab >>Flexible and efficient reuse of multi-mode components for building multi-mode systems
2014 (English)In: The 14th International Conference on Software Reuse ICSR2015, 2014, Vol. 8919, p. 237-252, article id 112329Conference paper, Published paper (Refereed)
Abstract [en]

Component-Based Software Engineering (CBSE) is by the reuse of software components an effective approach to managing the growing software complexity of embedded systems. Another technique for reducing software complexity is to partition the system behavior into different operational modes, with each mode being associated with a unique behavior. Such a multi-mode system can change behavior by switching between modes under certain circumstances. Integrating CBSE and the multi-mode approach, we have developed the Mode Switch Logic (MSL), a framework dedicated to the development of multi-mode systems composed by reusable multi-mode components, i.e. components which can run in different modes. The mode switch handling of MSL is based on a fully distributed architecture in the sense that a system mode switch is achieved by the joint mode switches of different independently developed components. Algorithms that by inter-component communication guarantee the correctness of the mode switch have been developed. In this paper, we propose a mode transformation technique as a supplement to MSL for converting the distributed mode switch handling of MSL to a centralized mode switch handling. The goal is to enhance the run-time mode switch efficiency when components are deployed on a single hardware platform and global mode information is available. We demonstrate this technique by an example and reveal its potential industrial value.

Series
Lecture Notes in Computer Science, ISSN 0302-9743
Keywords
component-based, software reuse, mode switch, mode transformation
National Category
Engineering and Technology Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-26788 (URN)10.1007/978-3-319-14130-5_17 (DOI)2-s2.0-84919624346 (Scopus ID)
Conference
The 14th International Conference on Software Reuse ICSR2015, 4-6 Jan 2015, Miami, Florida, United States
Projects
ARROWS - Design Techniques for Adaptive Embedded Systems
Available from: 2014-12-03 Created: 2014-12-02 Last updated: 2022-10-03Bibliographically approved
Yin, H. & Hansson, H. (2014). Flexible and efficient reuse of multi-mode components for building multi-mode systems---An extended report. Västerås, Sweden: Mälardalen Real-Time Research Centre, Mälardalen University
Open this publication in new window or tab >>Flexible and efficient reuse of multi-mode components for building multi-mode systems---An extended report
2014 (English)Report (Other academic)
Abstract [en]

Component-Based Software Engineering (CBSE) is by the reuse of software components an effective approach to managing the growing software complexity of embedded systems. Another technique for reducing software complexity is to partition the system behavior into different operational modes, with each mode being associated with a unique behavior. Such a multi-mode system can change behavior by switching between modes under certain circumstances. Integrating CBSE and the multi-mode approach, we have developed the Mode Switch Logic (MSL), a framework dedicated to the development of multi-mode systems composed by reusable multi-mode components, i.e. components which can run in different modes. The mode switch handling of MSL is based on a fully distributed architecture in the sense that a system mode switch is achieved by the joint mode switches of different independently developed components. Algorithms that by inter-component communication guarantee the correctness of the mode switch have been developed. In this report, we propose a mode transformation technique as a supplement to MSL for converting the distributed mode switch handling of MSL to a centralized mode switch handling. The goal is to enhance the run-time mode switch efficiency when components are deployed on a single hardware platform and global mode information is available. We demonstrate this technique by an example and reveal its potential industrial value.

Place, publisher, year, edition, pages
Västerås, Sweden: Mälardalen Real-Time Research Centre, Mälardalen University, 2014
Series
MRTC Reports, ISSN 1404-3041
Keywords
component-based, software reuse, mode switch, mode transformation
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-26782 (URN)MDH-MRTC-288/2014-1-SE (ISRN)
Projects
ARROWS - Design Techniques for Adaptive Embedded Systems
Available from: 2014-12-04 Created: 2014-12-02 Last updated: 2014-12-04Bibliographically approved
Yin, H., Inam, R., Bril, R. J. & Sjödin, M. (2014). Formalization and verification of mode changes in hierarchical scheduling. In: : . Paper presented at 26th Nordic Workshop on Programming Theory NWPT'14, 29-31 Oct 2014, Halmstad, Sweden.
Open this publication in new window or tab >>Formalization and verification of mode changes in hierarchical scheduling
2014 (English)Conference paper, Published paper (Refereed)
Abstract [en]

Hierarchical scheduling frameworks (HSFs) are a means for composing complex real-time embedded systems from independently developed and analyzed applications. To support multiple modes in a two-level HSF, the multi-mode adaptive hierarchical scheduling framework MMAHSF has recently been presented supporting different mode-change mechanisms. Currently, we provide a formalization and verification of mode changes in MMAHSF using the UPPAAL model checker for certain mode-change mechanisms. The verification indicates that MMAHSF and the proposed mode-change mechanisms are deadlock-free and guarantee mode changes in bounded time.

National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-26786 (URN)
Conference
26th Nordic Workshop on Programming Theory NWPT'14, 29-31 Oct 2014, Halmstad, Sweden
Projects
ARROWS - Design Techniques for Adaptive Embedded SystemsPPMsched - Performance Preserving Multicore Scheduling
Available from: 2014-12-04 Created: 2014-12-02 Last updated: 2014-12-04Bibliographically approved
Yin, H., Inam, R., Bril, R. J. & Sjödin, M. (2014). Formalization and verification of mode changes in hierarchical scheduling---An extended report. Västerås, Sweden: Mälardalen Real-Time Research Centre, Mälardalen University
Open this publication in new window or tab >>Formalization and verification of mode changes in hierarchical scheduling---An extended report
2014 (English)Report (Other academic)
Abstract [en]

Hierarchical scheduling frameworks (HSFs) are a means for composing complex real-time embedded systems from independently developed and analyzed applications. To support multiple modes in a two-level HSF, the multi-mode adaptive hierarchical scheduling framework MMAHSF has recently been presented supporting different mode-change mechanisms. Currently, we provide a formalization and verification of mode changes in MMAHSF using the UPPAAL model checker for certain mode-change mechanisms. The verification indicates that MMAHSF and the proposed mode-change mechanisms are deadlock-free and guarantee correct mode changes in bounded time.

Place, publisher, year, edition, pages
Västerås, Sweden: Mälardalen Real-Time Research Centre, Mälardalen University, 2014
Series
MRTC Reports, ISSN 1404-3041
Keywords
real-time systems, hierarchical scheduling framework, mode change, formal verification, UPPAAL
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-26784 (URN)MDH-MRTC-289/2014-1-SE (ISRN)
Projects
ARROWS - Design Techniques for Adaptive Embedded Systems
Available from: 2014-12-04 Created: 2014-12-02 Last updated: 2015-02-02Bibliographically approved
Yin, H. & Hansson, H. (2014). Handling emergency mode switch for component-based systems. In: : . Paper presented at The 21st Asia-Pacific Software Engineering Conference APSEC'14, 1-4 Dec 2014, Jeju Island, South Korea (pp. Article number 7091305).
Open this publication in new window or tab >>Handling emergency mode switch for component-based systems
2014 (English)Conference paper, Published paper (Refereed)
Abstract [en]

Software reuse is deemed as an effective technique for managing the growing software complexity of large systems. Software complexity can also be reduced by partitioning the system behavior into different modes. Such a multi-mode system is able to dynamically change its behavior by switching between different modes. When a multi-mode system is developed by reusable software components, a crucial issue is how to achieve a seamless composition of multi-mode components and handle mode switch properly. This is the motivation for the Mode Switch Logic (MSL), supporting the development of component-based multi-mode systems by providing mechanisms for mode switch handling. In this paper, MSL is extended and adapted to systems with emergency triggering of mode switches that must be handled with minimal delay. We propose an Immediate Handling with Buffering (IHB) approach to enable the responsive handling of such an emergency event in the presence of other concurrent non-emergency mode switch events. We present a model checking based verification of IHB and illustrate its benefits by an example.

Keywords
component, mode switch, emergency
National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-26787 (URN)10.1109/APSEC.2014.32 (DOI)2-s2.0-84951272013 (Scopus ID)9781479974252 (ISBN)
Conference
The 21st Asia-Pacific Software Engineering Conference APSEC'14, 1-4 Dec 2014, Jeju Island, South Korea
Projects
ARROWS - Design Techniques for Adaptive Embedded Systems
Available from: 2014-12-03 Created: 2014-12-02 Last updated: 2016-05-11Bibliographically approved
Yin, H. & Hansson, H. (2014). Handling emergency mode switch for component-based systems---An extended report. Västerås, Sweden: Mälardalen Real-Time Research Centre, Mälardalen University
Open this publication in new window or tab >>Handling emergency mode switch for component-based systems---An extended report
2014 (English)Report (Other academic)
Abstract [en]

Component-Based Software Engineering has been introduced as a technique for the development of complex systems. Software complexity can also be reduced by partitioning the system behavior into different modes. Such a multi-mode system is able to change its behavior at runtime by switching between different operational modes. When a multimode system is developed by reusable software components, a crucial issue is how to achieve a seamless composition of multi-mode components and also how to handle mode switch properly. This is the motivation for the Mode Switch Logic (MSL), supporting the development of component-based multi-mode systems by providing mechanisms for mode switch handling. In this report, MSL is extended and adapted to systems with emergency triggering of mode switches that must be handled with minimal delay. We propose an approach, called Immediate Handling with Buffering (IHB), to enable the responsive handling of such an emergency event in the presence of other concurrent non-emergency mode switch events. We present a model checking based verification of the IHB approach, and illustrate its benefits by a small example.

Place, publisher, year, edition, pages
Västerås, Sweden: Mälardalen Real-Time Research Centre, Mälardalen University, 2014
Series
MRTC Reports, ISSN 1404-3041
Keywords
component, mode switch, emergency
National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-26779 (URN)MDH-MRTC-283/2014-1-SE (ISRN)
Projects
ARROWS - Design Techniques for Adaptive Embedded Systems
Available from: 2014-12-04 Created: 2014-12-02 Last updated: 2014-12-04Bibliographically approved
Yin, H. & Hansson, H. (2013). Handling multiple mode switch scenarios in component-based multi-mode systems. In: Proceedings - Asia-Pacific Software Engineering Conference, APSEC: . Paper presented at 20th Asia-Pacific Software Engineering Conference, APSEC 2013; Bangkok; Thailand; 2 December 2013 through 5 December 2013; Category numberE5158; Code 112712 (pp. 404-413).
Open this publication in new window or tab >>Handling multiple mode switch scenarios in component-based multi-mode systems
2013 (English)In: Proceedings - Asia-Pacific Software Engineering Conference, APSEC, 2013, p. 404-413Conference paper, Published paper (Refereed)
Abstract [en]

The growing complexity of embedded systems software entails new development techniques. Component-Based Software Engineering is undoubtedly suitable for the development of complex systems thanks to its inherent component reuse. Another approach to reduce software complexity is by partitioning the system behavior into different operational modes. Each mode is associated with a unique behavior and the system can change behavior by switching between modes. When such a multi-mode system is developed by reusable software components, a crucial issue is how to achieve a seamless composition of multi-mode components and also how to handle mode switch properly. As an integrated solution to the challenges of multi-mode component-based software system development we have proposed the Mode Switch Logic (MSL). The current version of MSL assumes independent handling of a single mode switch scenario, i.e. that no other mode switch is triggered until an ongoing mode switch is completed. For a wide class of systems, this is an unrealistic assumption. In this paper we lift this assumption by proposing an extension of MSL to handle multiple mode switch scenarios concurrently triggered by different components.

Keywords
component-based, mode switch, multi-mode
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-23291 (URN)10.1109/APSEC.2013.61 (DOI)000358736600050 ()2-s2.0-84936877439 (Scopus ID)978-147992143-0 (ISBN)
Conference
20th Asia-Pacific Software Engineering Conference, APSEC 2013; Bangkok; Thailand; 2 December 2013 through 5 December 2013; Category numberE5158; Code 112712
Projects
ARROWS - Design Techniques for Adaptive Embedded SystemsATAC - Advanced Test Automation for Complex Software-Intensive System (ITEA2/Vinnova)
Available from: 2013-12-14 Created: 2013-12-10 Last updated: 2015-11-16Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0003-1067-583X

Search in DiVA

Show all publications