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
An Empirical Investigation of Requirements Engineering and Testing Utilizing EARS Notation in PLC Programs
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0002-6992-9200
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0003-2416-4205
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0003-0611-2655
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0003-2870-2680
2025 (English)In: SN Computer Science, ISSN 2662-995X, Vol. 6, no 4, article id 314Article in journal (Refereed) Published
Abstract [en]

Regulatory standards for engineering safety-critical systems often demand both traceable requirements and specification-based testing, during development. Requirements are often written in natural language, yet for specification purposes, this may be supplemented by formal or semi-formal descriptions, to increase clarity. However, the choice of notation of the latter is often constrained by the designers’ training, skills, and preferences. The Easy Approach to Requirements Syntax (EARS) addresses the inherent imprecision of natural language requirements concerning potential ambiguity and lack of accuracy. This paper investigates requirements specification using EARS, and specification-based testing of embedded software written in the IEC 61131-3 language, a programming standard for developing programmable logic controllers (PLC). Further, we study, utilizing an experiment, how human participants translate natural language requirements into EARS and how they use the latter to test PLC software. We report our observations during the experiments, including the type of EARS patterns that participants use to structure natural language requirements and challenges during the specification phase, and present the results of testing based on EARS-formalized requirements in real-world industrial settings.

Place, publisher, year, edition, pages
Springer Nature , 2025. Vol. 6, no 4, article id 314
Keywords [en]
EARS, PLC, Requirement engineering, Testing
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:mdh:diva-71189DOI: 10.1007/s42979-025-03843-3Scopus ID: 2-s2.0-105000688755OAI: oai:DiVA.org:mdh-71189DiVA, id: diva2:1952734
Available from: 2025-04-16 Created: 2025-04-16 Last updated: 2026-03-17Bibliographically approved
In thesis
1. Test Automation for Industrial Programmable Logic Controller Software: From Requirements to Executable Tests
Open this publication in new window or tab >>Test Automation for Industrial Programmable Logic Controller Software: From Requirements to Executable Tests
2026 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Programmable Logic Controllers (PLCs), which are specialized computers used to control machines and processes in industrial settings, play a vital role in the automation industry. Testing these systems to identify faults during the development phase, especially for safety-critical applications such as crane control in ports or train control systems, is crucial to ensuring the system's safety in operation. Current PLC testing practices are mostly manual, and it has been a challenge for both practitioners and researchers to develop robust, applicable test automation techniques and tools that are relevant in practice. This thesis proposes test automation solutions for PLC programs, which can improve current testing practices by augmenting manual testing. We first propose a method for selecting an appropriate test automation framework for PLCs, derived from a grey literature review and a set of empirically validated evaluation criteria. To achieve practical integration of test automation solutions, we design a method and tool, PyLC+, for automated program-to-program translation from PLC to Python. Our tool automatically translates a PLC program into executable Python code, and then verifies the latter against given assertions, using an automated Python program verifier called Nagini. PyLC+ then uses metaheuristic algorithms for automated test generation. In addition, we introduce a domain-specific LLM, PyLC-M1, which serves as an interactive test-automation assistant within PyLC+. It assists the generation of verification harnesses for formal PLC analysis while operating entirely in secure, offline environments. Investigating the applicability of a well-known syntax notation pattern for semi-formal requirements specification, called Easy Approach to Requirements Syntax, for specification-based testing through a controlled experiment is another contribution of this thesis. The applicability and efficiency of the proposed testing and verification solutions in this thesis have been evaluated on real-world industrial use cases.

Abstract [sv]

Programmerbara logikstyrenheter (PLC), som är specialiserade datorer som används för att styra maskiner och processer i industriella miljöer, spelar en viktig roll inom automationsindustrin. Att testa dessa system för att identifiera fel under utvecklingsfasen, särskilt för säkerhetskritiska applikationer som kranstyrning i hamnar eller tågstyrningssystem, är avgörande för att säkerställa systemets säkerhet i drift. Nuvarande PLC-testmetoder är mestadels manuella, och det har varit en utmaning för både praktiker och forskare att utveckla robusta, tillämpliga testautomationstekniker och verktyg som är relevanta i praktiken. Denna avhandling föreslår testautomationslösningar för PLC-program, vilka kan förbättra nuvarande testmetoder genom att utöka manuell testning. Vi föreslår först en metod för att välja ett lämpligt testautomationsramverk för PLC, härlett från en grå litteraturgenomgång och en uppsättning empiriskt validerade utvärderingskriterier. För att uppnå praktisk integration av testautomationslösningar designar vi en metod och ett verktyg, PyLC+, för automatiserad program-till-program-översättning från PLC till Python. Vårt verktyg översätter automatiskt ett PLC-program till körbar Python-kod och verifierar sedan det senare mot givna påståenden med hjälp av en automatiserad Python-programverifierare som heter Nagini. PyLC+ använder sedan metaheuristiska algoritmer för automatiserad testgenerering. Dessutom introducerar vi en domänspecifik LLM, PyLC-M1, som fungerar som en interaktiv testautomationsassistent inom PyLC+. Den hjälper till att generera verifieringsverktyg för formell PLC-analys samtidigt som den arbetar helt i säkra offline-miljöer. Att undersöka tillämpligheten av ett välkänt syntaxnotationsmönster för semiformell kravspecifikation, kallat Easy Approach to Requirements Syntax, för specifikationsbaserad testning genom ett kontrollerat experiment är ytterligare ett bidrag från denna avhandling. Tillämpligheten och effektiviteten hos de föreslagna test- och verifieringslösningarna i denna avhandling har utvärderats på verkliga industriella användningsfall.

Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2026
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 456
Keywords
Test Automation, PLC, Python, PyLC+, Embedded Systems
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-74961 (URN)978-91-7485-744-3 (ISBN)
Public defence
2026-01-22, Case, Mälardalens universitet, Västerås, 13:15 (English)
Opponent
Supervisors
Available from: 2025-12-09 Created: 2025-12-09 Last updated: 2026-01-02Bibliographically approved

Open Access in DiVA

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

Other links

Publisher's full textScopus

Authority records

Salari, Mikael EbrahimiEnoiu, Eduard PaulAfzal, WasifSeceleanu, Cristina

Search in DiVA

By author/editor
Salari, Mikael EbrahimiEnoiu, Eduard PaulAfzal, WasifSeceleanu, Cristina
By organisation
Embedded Systems
Computer and Information Sciences

Search outside of DiVA

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

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 197 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