https://www.mdu.se/

mdu.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Dependable Distributed Control System: Redundancy and Concurrency defects
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. ABB AB. (CORE)ORCID iD: 0000-0002-5333-3699
2022 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

Intelligent devices, interconnectivity, and information exchange are characteristics often associated with Industry 4.0. A peer-to-peer-oriented architecture with the network as the system center succeeds the traditional controller-centric topology used in today's distributed control systems, improving information exchange in future designs. The network-centric architecture allows IT-solution such as cloud, fog, and edge computing to enter the automation industry. IT-solution that rely on virtualization techniques such as virtual machines and containers. Virtualization technology, combined with virtual instance management, provide the famous elasticity that cloud computing offer. Container management systems like Kubernetes can scale the number of containers to match the service demand and redeploy containers affected by failures.

Distributed control systems constitute automation infrastructure core in many critical applications and domains. The criticality puts high dependability requirements upon the systems, i.e., dependability is essential. High-quality software and redundancy solutions are examples of traditional ways to increase dependability. Dependability is the common denominator for the challenges addressed in this thesis. Challenges that range from concurrency defect localization with static code analysis to utilization of failure recovery mechanisms provided by container management systems in a control system context.

We evaluate the feasibility of locating concurrency defects in embedded industrial software with static code analysis. Furthermore, we propose a deployment agnostic failure detection and role selection mechanism for controller redundancy in a network-centric context. Finally, we use the container management system Kubernetes to orchestrate a cluster of virtualized controllers. We evaluate the failure recovery properties of the container management system in combination with redundant virtualized controllers - redundant controllers using the proposed failure detection and role selection solution.

Place, publisher, year, edition, pages
Västerås: Mälardalens universitet, 2022.
Series
Mälardalen University Press Licentiate Theses, ISSN 1651-9256 ; 330
National Category
Embedded Systems
Research subject
Computer Science
Identifiers
URN: urn:nbn:se:mdh:diva-60071ISBN: 978-91-7485-567-8 (print)OAI: oai:DiVA.org:mdh-60071DiVA, id: diva2:1700984
Presentation
2022-11-08, Gamma, Mälardalens universitet, Västerås, 13:15 (English)
Opponent
Supervisors
Funder
Knowledge FoundationAvailable from: 2022-10-04 Created: 2022-10-04 Last updated: 2022-10-24Bibliographically approved
List of papers
1. Concurrency defect localization in embedded systems using static code analysis: An evaluation
Open this publication in new window or tab >>Concurrency defect localization in embedded systems using static code analysis: An evaluation
2019 (English)In: Proceedings - 2019 IEEE 30th International Symposium on Software Reliability Engineering Workshops, ISSREW 2019, Institute of Electrical and Electronics Engineers Inc. , 2019, p. 7-12Conference paper, Published paper (Refereed)
Abstract [en]

Defects with low manifestation probability, such as concurrency defects, are difficult to find during testing. When such a defect manifests into an error, the low likelihood can make it time-consuming to reproduce the error and find the root cause. Static Code Analysis (SCA) tools have been used in the industry for decades, mostly for compliance checking towards guidelines such as MISRA. Today, these tools are capable of sophisticated data and execution flow analysis. Our work, presented in this paper, evaluates the feasibility of using SCA tools for concurrency defect detection and localization. Earlier research has categorized concurrency defects. We use this categorization and develop an object-oriented C++ based test suite containing defects from each category. Secondly, we use known and real defects in existing products' source code. With these two approaches, we perform the evaluation, using tools from some of the largest commercial actors in the field. Based on our results, we provide a discussion about how to use static code analysis tools for concurrency defect detection in complex embedded real-Time systems.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers Inc., 2019
Keywords
Concurrency, Defects, Real Time, RTOS, SCA, Static Code Analysis, C++ (programming language), Codes (symbols), Compliance control, Embedded systems, Interactive computer systems, Object oriented programming, Real time systems, Software reliability, Technical presentations, Compliance checking, Defect localizations, Embedded real time systems, Static code analysis tools
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:mdh:diva-47390 (URN)10.1109/ISSREW.2019.00034 (DOI)000713551400002 ()2-s2.0-85080936338 (Scopus ID)9781728151380 (ISBN)
Conference
30th IEEE International Symposium on Software Reliability Engineering Workshops, ISSREW 2019; Berlin; Germany; 28 October 2019 through 31 October 2019; Category numberCFP1979F-ART; Code 157721
Available from: 2020-03-19 Created: 2020-03-19 Last updated: 2022-11-08Bibliographically approved
2. Heartbeat Bully: Failure Detection and Redundancy Role Selection for Network-Centric Controller
Open this publication in new window or tab >>Heartbeat Bully: Failure Detection and Redundancy Role Selection for Network-Centric Controller
2020 (English)In: IECON Proceedings (Industrial Electronics Conference), 2020, p. 2126-2133, article id 9254494Conference paper, Published paper (Refereed)
National Category
Engineering and Technology Computer Systems
Identifiers
urn:nbn:se:mdh:diva-51703 (URN)10.1109/IECON43393.2020.9254494 (DOI)000637323702022 ()2-s2.0-85097764995 (Scopus ID)
Conference
46th Annual Conference of the IEEE Industrial Electronics Society IECON 2020, 18 Oct 2020, Singapore, Singapore
Projects
ARRAY - Automation Region Research Academy
Available from: 2020-10-20 Created: 2020-10-20 Last updated: 2022-11-08Bibliographically approved
3. Kubernetes Orchestration of High Availability Distributed Control Systems
Open this publication in new window or tab >>Kubernetes Orchestration of High Availability Distributed Control Systems
(English)Manuscript (preprint) (Other academic)
Abstract [en]

Distributed control systems transform with the Industry 4.0 paradigm shift. A mesh-like, network-centric topologyreplaces the traditional controller-centered architecture, enforcing the interest of cloud-, fog-, and edge-computing, where lightweight container-based virtualization is a cornerstone. Kubernetes is a well-known container management system for container orchestration in cloud computing. It is gaining traction inedge- and fog-computing due to its elasticity and failure recovery properties. Orchestrator failure recovery can complement the manual replacement of a failed controller and, combined with controller redundancy, provide a pseudo-one-out-of-many redundancy. This paper investigates the failure recovery performance obtained from an out-of-the-box Kubernetes installation in a distributed control system scenario. We describe a Kubernetes based virtualized controller architecture and the software needed to setup a bare-metal cluster for control systems. Further, we deploy single and redundant configured containerized controllers based on an OPC UA compatible industry middleware software on the bare-metal cluster. The controllers expose variables with OPCUA PubSub. A script-based daemon introduces node failures, and a verification controller measures the downtime when using Kubernetes with an industry redundancy solution

National Category
Computer Sciences
Identifiers
urn:nbn:se:mdh:diva-60065 (URN)
Available from: 2022-10-03 Created: 2022-10-03 Last updated: 2022-10-04Bibliographically approved

Open Access in DiVA

fulltext(1002 kB)221 downloads
File information
File name FULLTEXT02.pdfFile size 1002 kBChecksum SHA-512
c0e80aa76997c41232875ec734f21eadd0fac16baf6a5d45f4c9d1a73289bdd51bde09f5e3ac4bc68f95fb6e9b65cfea2837e4875779a023403cdf67c62cbbdc
Type fulltextMimetype application/pdf

Authority records

Johansson, Bjarne

Search in DiVA

By author/editor
Johansson, Bjarne
By organisation
Embedded Systems
Embedded Systems

Search outside of DiVA

GoogleGoogle Scholar
Total: 253 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

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 369 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf