Here is an paper published on software PLC Checker by Itris Automation Square, in the French journal "Mesures" : "La qualité des programmes vérifiée par leurs concepteurs".
Enjoy the reading!
Find us at http://www.itris-automation.com/
Contact us at commercial@itris-automation.com for more information.
PLC Checker is a software that does an automatic static analysis on a PLC program to verify its compliance with a set of coding rules.
- Improve the overall quality and maintainability of a program by respecting good practice guidelines (no backward goto, no variable overlap, etc.)
- Ensure concordance with corporate rules (naming convention, librairies, etc.)
Find us at http://www.itris-automation.com/
Contact us at commercial@itris-automation.com for more information.
[EN] Mesures article: "PLC programs quality checked by their designers"Itris Automation Square
Here is the translation of an article published on software PLC Checker by Itris Automation Square, in the French journal "Mesures" : "La qualité des programmes vérifiée par leurs concepteurs".
Enjoy the reading!
Find us at http://www.itris-automation.com/
Contact us at commercial@itris-automation.com for more information.
ArianeGroup benefits from a 184% Return of Investment when using PLC Checker thanks to quicker commissioning and easier maintenance.
Find out more about the use of PLC Checker for the quality control of PLC programs in the aerospace, defence, and security industries in our ArianeGroup success story.
Chapter 7 of the famous saga "the DO-254 for Dummies" from James BEZAMAT director of DMAP
subject : IP and verification process
More : dmap.fr
contact : contact@dmap.fr
Automated requirements based testing for ISO 26262 QA Systems
This QA System´s presentation will help you understand the ISO 26262 unit and integration level testing objectives and processes in addition to requirements-based testing. You will also learn:
- how to apply techniques for Control Flow & Data Flow verification, Equivalence Partitions, Boundary Values and Structural Code Coverage with Interface tests, Fault Injection tests and Resource Usage tests.
- what to look out for in tools supporting these activities, and see a practical example of fault injection through interface interception test performed HiL.
Learn more about Software Testing tools for ISO 26262:
https://www.qa-systems.com/solutions/iso-26262/
PLC Checker is a software that does an automatic static analysis on a PLC program to verify its compliance with a set of coding rules.
- Improve the overall quality and maintainability of a program by respecting good practice guidelines (no backward goto, no variable overlap, etc.)
- Ensure concordance with corporate rules (naming convention, librairies, etc.)
Find us at http://www.itris-automation.com/
Contact us at commercial@itris-automation.com for more information.
[EN] Mesures article: "PLC programs quality checked by their designers"Itris Automation Square
Here is the translation of an article published on software PLC Checker by Itris Automation Square, in the French journal "Mesures" : "La qualité des programmes vérifiée par leurs concepteurs".
Enjoy the reading!
Find us at http://www.itris-automation.com/
Contact us at commercial@itris-automation.com for more information.
ArianeGroup benefits from a 184% Return of Investment when using PLC Checker thanks to quicker commissioning and easier maintenance.
Find out more about the use of PLC Checker for the quality control of PLC programs in the aerospace, defence, and security industries in our ArianeGroup success story.
Chapter 7 of the famous saga "the DO-254 for Dummies" from James BEZAMAT director of DMAP
subject : IP and verification process
More : dmap.fr
contact : contact@dmap.fr
Automated requirements based testing for ISO 26262 QA Systems
This QA System´s presentation will help you understand the ISO 26262 unit and integration level testing objectives and processes in addition to requirements-based testing. You will also learn:
- how to apply techniques for Control Flow & Data Flow verification, Equivalence Partitions, Boundary Values and Structural Code Coverage with Interface tests, Fault Injection tests and Resource Usage tests.
- what to look out for in tools supporting these activities, and see a practical example of fault injection through interface interception test performed HiL.
Learn more about Software Testing tools for ISO 26262:
https://www.qa-systems.com/solutions/iso-26262/
Automated Requirements-Based Testing for Medical Device SoftwareQA Systems
This presentation shares expertise and insight on Automated Requirements-Based Testing for Medical Device Software:
• ISO 26262 SW Verification Phases
• Requirements Verification Method
• Deriving Test Cases from Requirements
• Requirements Based Testing (RBT)
• Manual Test Generation
• So…How to Automate?
• Generation from Requirements
• Generation from Code
• Why use Coverage & Traceability?
For more information, please refer to: https://www.qa-systems.com/
Automated Low Level Requirements Testing for DO-178CQA Systems
This presentation shares expertise and insight on Automated Low Level Requirements Testing for DO-178C:
• DO-178C SW Verification Process
• Software Testing Activities
• Software Testing Stages
• Test Coverage Analysis
• Software Testing Activities
• Structural Coverage Analysis
• Requirements Based Test Selection
• Manual Test Generation
• So…How to Automate?
• Generation from Requirements
• Generation from Code
• AutoTest & Trace for DO-178C
• AutoTest Generation
• AutoTest Process
• AutoTest DO-178C Use Cases
For more information, please refer to: https://www.qa-systems.com/
Automating Test Maintenance as Code and Requirements ChangeQA Systems
This presentation was shown at the ECS 2017, and it shares expertise and insight on Automating Test Maintenance as Code and Requirements Change:
• The Test Maintenance Burden
• Depth of Maintenance Dependencies
• Test Dependency Traceability
• Why use Traceability?
• Automating Test Maintenance
• Code Change Analysis
• Changes in Code Detected
• Guided Automatic Test Updates
• Requirements Change Analysis
• Managing Requirements Changes
• Updating Tests for Requirements Changes
• Automated CI & Regression Testing
• Automated Test Maintenance
For more information, please refer to: https://www.qa-systems.com/
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...QA Systems
At the ASE Kongress (virtual event). Adam Mackay the Integrations Manager of QA Systems in the UK presented the paper “The Pursuit of Perfection - An Effective Embedded Unit Test Process for Efficient Testing”.
In this session, Adam looked into the elements that come together to make a successful, fully tested, embedded application.
Important topics discussed include requirements traceability, software metrics, testing frameworks, code coverage and automation.
For more information, please refer to: https://www.qa-systems.com/
Test Automation is an accepted technique which is adapted by the industry for increasing the effectiveness of the testing phase. The recurring tasks are being automated by the tools thus simplifying the human efforts and results in increased quality of product under test. A study of test automation programmes in the industry reveals the fact that a good percentage of them fail to find the intended results.
Do you find yourself confused about the definition of mobile testing? Do you understand the challenges of mobile testing and where to start? Is this your first mobile testing project? Joe Larizza and Eran Kinsbruner describe the techniques of mobile testing and the steps necessary to help testing teams transform to face these new challenges. Learn about test automation, testing tools, new methodologies—DevOps, DevTest, Shift Left and Right—and how to build a strategic mobile test road map to increase your market awareness and avoid common pitfalls affecting mobile testing teams. Discover from Joe and Eran how successful teams decide test coverage in this fast-paced IT world. Catch up with the latest industry trends, and learn short cuts to successfully meet your future mobile testing needs. Finally, take these ideas and tailor them to fit your organization or project to lead your team into the mobile world.
“Scrumbear” framework for solving traditional scrum model problemsjournalBEEI
Software engineering is a discipline that is little understood by people. It defines how software is developed and maintained to meet the clients’ requirements. Software engineers follow certain systems and standards in their work to meet the clients’ desires. It is on this background that engineers follow specific models in coming up with the final product. One of the models highly used is scrum, which is one of the agile methodologies. However, despite being highly used, it has inherent flaws that need to be corrected. Those flaws are product owner continues changing; do not accept changes in working scrum, sprint’s release time limitation, finally wasting team time within each sprint. This paper presents a new framework, which is an updated version of the current Scrum, to overcome the scum models mentioned issues. In this study, a new framework is presented in a way that is understandable and needed by software developer’s team upon the collected qualitative and quantitative data. The implementation was by making some changes to the current scrum model leading to the “Scrumbear”, certain flaws can be corrected. One of the presented changes involve adding the control master rule to ensure controlling the requirements changing.
Automated Requirements-Based Testing for Medical Device SoftwareQA Systems
This presentation shares expertise and insight on Automated Requirements-Based Testing for Medical Device Software:
• ISO 26262 SW Verification Phases
• Requirements Verification Method
• Deriving Test Cases from Requirements
• Requirements Based Testing (RBT)
• Manual Test Generation
• So…How to Automate?
• Generation from Requirements
• Generation from Code
• Why use Coverage & Traceability?
For more information, please refer to: https://www.qa-systems.com/
Automated Low Level Requirements Testing for DO-178CQA Systems
This presentation shares expertise and insight on Automated Low Level Requirements Testing for DO-178C:
• DO-178C SW Verification Process
• Software Testing Activities
• Software Testing Stages
• Test Coverage Analysis
• Software Testing Activities
• Structural Coverage Analysis
• Requirements Based Test Selection
• Manual Test Generation
• So…How to Automate?
• Generation from Requirements
• Generation from Code
• AutoTest & Trace for DO-178C
• AutoTest Generation
• AutoTest Process
• AutoTest DO-178C Use Cases
For more information, please refer to: https://www.qa-systems.com/
Automating Test Maintenance as Code and Requirements ChangeQA Systems
This presentation was shown at the ECS 2017, and it shares expertise and insight on Automating Test Maintenance as Code and Requirements Change:
• The Test Maintenance Burden
• Depth of Maintenance Dependencies
• Test Dependency Traceability
• Why use Traceability?
• Automating Test Maintenance
• Code Change Analysis
• Changes in Code Detected
• Guided Automatic Test Updates
• Requirements Change Analysis
• Managing Requirements Changes
• Updating Tests for Requirements Changes
• Automated CI & Regression Testing
• Automated Test Maintenance
For more information, please refer to: https://www.qa-systems.com/
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...QA Systems
At the ASE Kongress (virtual event). Adam Mackay the Integrations Manager of QA Systems in the UK presented the paper “The Pursuit of Perfection - An Effective Embedded Unit Test Process for Efficient Testing”.
In this session, Adam looked into the elements that come together to make a successful, fully tested, embedded application.
Important topics discussed include requirements traceability, software metrics, testing frameworks, code coverage and automation.
For more information, please refer to: https://www.qa-systems.com/
Test Automation is an accepted technique which is adapted by the industry for increasing the effectiveness of the testing phase. The recurring tasks are being automated by the tools thus simplifying the human efforts and results in increased quality of product under test. A study of test automation programmes in the industry reveals the fact that a good percentage of them fail to find the intended results.
Do you find yourself confused about the definition of mobile testing? Do you understand the challenges of mobile testing and where to start? Is this your first mobile testing project? Joe Larizza and Eran Kinsbruner describe the techniques of mobile testing and the steps necessary to help testing teams transform to face these new challenges. Learn about test automation, testing tools, new methodologies—DevOps, DevTest, Shift Left and Right—and how to build a strategic mobile test road map to increase your market awareness and avoid common pitfalls affecting mobile testing teams. Discover from Joe and Eran how successful teams decide test coverage in this fast-paced IT world. Catch up with the latest industry trends, and learn short cuts to successfully meet your future mobile testing needs. Finally, take these ideas and tailor them to fit your organization or project to lead your team into the mobile world.
“Scrumbear” framework for solving traditional scrum model problemsjournalBEEI
Software engineering is a discipline that is little understood by people. It defines how software is developed and maintained to meet the clients’ requirements. Software engineers follow certain systems and standards in their work to meet the clients’ desires. It is on this background that engineers follow specific models in coming up with the final product. One of the models highly used is scrum, which is one of the agile methodologies. However, despite being highly used, it has inherent flaws that need to be corrected. Those flaws are product owner continues changing; do not accept changes in working scrum, sprint’s release time limitation, finally wasting team time within each sprint. This paper presents a new framework, which is an updated version of the current Scrum, to overcome the scum models mentioned issues. In this study, a new framework is presented in a way that is understandable and needed by software developer’s team upon the collected qualitative and quantitative data. The implementation was by making some changes to the current scrum model leading to the “Scrumbear”, certain flaws can be corrected. One of the presented changes involve adding the control master rule to ensure controlling the requirements changing.
A CASE Lab Report - Project File on "ATM - Banking System"joyousbharat
A CASE Lab Report - Project File on "ATM - Banking System"
The software to be designed will control a simulated automated teller machine
(ATM) having a magnetic stripe reader for reading an ATM card, a keyboard and
display for interaction with the customer, a slot for depositing envelopes, a
dispenser for cash (in multiples of $20), a printer for printing customer receipts, and
a key-operated switch to allow an operator to start or stop the machine. The ATM
will communicate with the bank's computer over an appropriate communication
link. (The software on the latter is not part of the requirements for this problem.)
An Integrated Simulation Tool Framework for Process Data ManagementCognizant
Digital simulations play an increasing role in product lifecycle management (PLM) processes and simulation data management (SDM) based on the PLM XML protocol, which is a key interface with computer-aided engineering (CAE) applications. We offer a framework for aligning SDM with the overall product development process to shorten lead times and optimize output.
Download link - https://www.kovair.com/adapters/teamcenter-integration-adapter/
Kovair Teamcenter Adapter
For global enterprises, managing a product throughout its lifecycle could be a multi-million-dollar investment. Dynamic changes during product development and after product release test the organizational effectiveness and efficiency as it involves both Software (ALM) and Hardware (PLM). In this context, it becomes highly imperative that they are integrated in a unified manner. Kovair integration adapter for Teamcenter helps in solving several integration scenarios between Teamcenter and other enterprise applications where Bill of Material (BOM) transformation and management happens across the enterprise. Also, the telling need of multi-level BOM report generation and management is enabled. The adapter supports all the key artefacts like Part, Document, Requirement, Change Notice an BOM Report apart along with their plethora of system and custom attributes and its dynamic updates.
Social development club is a leading course content provider of India with a key focus on skilling courseware development. We deliver complete package required to deliver the Skill development program effectively. We develop NCVT and SSC aligned courses of all the domains and for all the schemes.
Contact: sdccourses@gmail.com, http://www.socialdevelopment.club
IPCS Chennai Branch has long been renowned for its proficiency in industrial automation training and services. The training programmes we offer are up-to-date with regards to technical advances in order to compete in the fiercely competitive fields of PLC, SCADA, DCS, HMI, VFD, Panel Design, and Electrical Controls. Our training programmes are designed to be practically oriented and geared toward both freshmen and professionals to prepare them to fulfil industry standards. The list of programmes that are specifically designed for beginners, professionals, or industry experts.
Government, international certification, job-oriented training, and 100% placements are provided by IPCS Automation Chennai, a research-oriented training institute. PLC training, automation training, corporate training, marine automation, process control automation, machine automation, industrial automation, building management system training, SCADA training, DCS training, HMI training, VFD training, CCTV & security system training, BMS training, control panels designing training, calibration training, and embedded training are all provided by the IPCS Automation Chennai authorised training facility.
Dans l'industrie ferroviaire, les logiciels doivent être conformes avec la norme CENELEC 50128. Eiffage Energie Systèmes Ferroviaires a travaillé avec Itris Automation pour intégrer PLC Checker dans leur projet, pour assurer la conformité de leurs programmes API avec la norme et pour soutenir le processus de certification.
Découvrez dès à présent comment PLC Checker peut soutenir les besoins de conformité et le processus de certification.
Retrouvez-nous sur www.itris-automation.com
Contactez-nous sur contact@itris-automation.com pour plus d'informations.
L’industrie pharmaceutique comporte une spécificité : la mise sur le marché d’un produit est liée à des contraintes réglementaires strictes. Un grand groupe pharmaceutique français souhaitait améliorer le suivi de ses règles et standards pour les automates programmables industriels, sans passer par la revue de code manuelle.
Ce groupe a fait appel a Itris Automation : PLC Checker a été identifié comme la solution pour automatiser la revue de code.
Découvrez dès à présent le fonctionnement de la vérification de la qualité des programmes automates au sein de l'industrie pharmaceutique.
Bonne lecture !
Retrouvez-nous sur http://www.itris-automation.com/
Contactez-nous sur contact@itris-automation.com pour plus d'informations.
ArianeGroup, leader mondial dans la conception, le développement et la production des moteurs à propergol solide pour missiles et lanceurs spatiaux, n’avait pas la possibilité de vérifier la qualité logicielle imposée par ses standards. En effet, les exigences du secteur en terme de sécurité et de fiabilité nécessitent la vérification de la qualité des programmes automates industriels.
Ce leader en aérospatial a donc fait appel à Itris Automation. Depuis 2011, ArianeGroup utilise systématiquement PLC Checker, outil automatique de contrôle, sur chaque automate remplacé, ajouté ou modifié de manière significative.
Découvrez dès à présent le fonctionnement du contrôle qualité des automates au sein du secteur de l’Aérospatial, la Défense, la Sécurité.
Bonne lecture !
Retrouvez-nous sur http://www.itris-automation.com
Contactez-nous sur contact@itris-automation.com pour plus d'informations.
Ecco la versione 2015 del nostro prodotto con PLC Converter, il nostro codice automatica convertitore. Buona lettura !
Ci trovi su http://www.itris-automation.com/
Contattaci a contact-italia@itris-automation.com per avere maggiori informazioni.
Reverse-engineering tool allowing you to generate information from an existing PLC source code
Find us at http://www.itris-automation.com/
Contact us at commercial@itris-automation.com for more information.
Voici la version 2015 de notre fiche produit présentant PLC Converter, notre convertisseur automatique de code. Bonne lecture !
Retrouvez-nous sur http://www.itris-automation.fr/
Contactez-nous sur commercial@itris-automation.com pour plus d'informations.
Voici la version 2015 de notre fiche produit présentant PLC DocGen, notre générateur de documentation automatique de code. Bonne lecture !
Retrouvez-nous sur http://www.itris-automation.fr/
Contactez-nous sur commercial@itris-automation.com pour plus d'informations.
Itris Automation a signé son premier partenariat académique avec l’université de Reims Champagne-Ardenne (URCA). Itris Automation met à disposition des étudiants de l’URCA des droits d’utilisation de PLC Checker. L’initiative a été développée dans le but d’initier les étudiants de l’URCA à la vérification des programmes automates réalisés au cours de leurs travaux pratiques et de leurs projets.
Retrouvez-nous sur http://www.itris-automation.com/fr/
Contactez-nous sur commercial@itris-automation.com pour plus d'informations.
Itris Automation a signé son premier partenariat académique avec l’université de Reims Champagne-Ardenne (URCA). Itris Automation met à disposition des étudiants de l’URCA des droits d’utilisation de PLC Checker. L’initiative a été développée dans le but d’initier les étudiants de l’URCA à la vérification des programmes automates réalisés au cours de leurs travaux pratiques et de leurs projets.
Retrouvez-nous sur http://www.itris-automation.com/fr/
Contactez-nous sur commercial@itris-automation.com pour plus d'informations.
This presentation highlights Itris' technology and key products.
Find us at http://www.itris-automation.com/
Contact us at commercial@itris-automation.com for more information.
Risk management and business protection with Coding Standardization & Static ...Itris Automation Square
The following topic was presented at the CSIA 2013 Executive Conference: "Risk management and business protection with Coding Standardization & Static Analyzer".
http://csiaexecutiveconference.org/
http://www.controlsys.org/
Hier ist die 2013 Version unserer Unternehmenspräsentation. Wir wünschen Ihnen viel Vergnügen beim Lesen.
Finden Sie uns auf http://www.itris-automation.com/
Für mehrere Informationen kontaktieren Sie die Direktorin der Geschäftsentwicklung Deutschlands : Valerie FONTAINE, valerie.fontaine@itris-automation.com / +33 6 52 69 97 52
Itris Automation Square press kit allows you to know more about the company and its products.
Find us at http://www.itris-automation.com/
Contact us at commercial@itris-automation.com for more information.
Le dossier de presse d'Itris Automation Square permet de découvrir la société et ses outils.
Retrouvez-nous sur http://www.itris-automation.com/fr/
Contactez-nous sur commercial@itris-automation.com pour plus d'informations.
[EN] Club Automation presentation "Quality Model for Industrial Automation", ...Itris Automation Square
This is a presentation by Thierry Coq (Principal Consultant of DNV) and Denis Chalon (Technical Director of Itris Automation Square). It was presented during the Club Automation debates day, on November 22nd 2011 : "Quality Model for Industrial Automation - Safe design of control applications"
Find us at http://www.itris-automation.com/
Contact us at commercial@itris-automation.com for more information.
[FR] Presentation Club Automation "Modele Qualite pour l'automatisme" 22 nov....Itris Automation Square
Voici la présentation de Thierry Coq (Consultant principal pour DNV) et Denis Chalon (Directeur technique d'Itris Automation Square) lors de la journée de débats du Club Automation le 22 novembre 2011 : "Modèle Qualité pour l'automatisme - Conception sûre des applications de contrôle-commande".
Retrouvez-nous sur http://www.itris-automation.com/fr/
Contactez-nous sur commercial@itris-automation.com pour plus d'informations.
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
Final project report on grocery store management system..pdfKamal Acharya
In today’s fast-changing business environment, it’s extremely important to be able to respond to client needs in the most effective and timely manner. If your customers wish to see your business online and have instant access to your products or services.
Online Grocery Store is an e-commerce website, which retails various grocery products. This project allows viewing various products available enables registered users to purchase desired products instantly using Paytm, UPI payment processor (Instant Pay) and also can place order by using Cash on Delivery (Pay Later) option. This project provides an easy access to Administrators and Managers to view orders placed using Pay Later and Instant Pay options.
In order to develop an e-commerce website, a number of Technologies must be studied and understood. These include multi-tiered architecture, server and client-side scripting techniques, implementation technologies, programming language (such as PHP, HTML, CSS, JavaScript) and MySQL relational databases. This is a project with the objective to develop a basic website where a consumer is provided with a shopping cart website and also to know about the technologies used to develop such a website.
This document will discuss each of the underlying technologies to create and implement an e- commerce website.
Saudi Arabia stands as a titan in the global energy landscape, renowned for its abundant oil and gas resources. It's the largest exporter of petroleum and holds some of the world's most significant reserves. Let's delve into the top 10 oil and gas projects shaping Saudi Arabia's energy future in 2024.
Welcome to WIPAC Monthly the magazine brought to you by the LinkedIn Group Water Industry Process Automation & Control.
In this month's edition, along with this month's industry news to celebrate the 13 years since the group was created we have articles including
A case study of the used of Advanced Process Control at the Wastewater Treatment works at Lleida in Spain
A look back on an article on smart wastewater networks in order to see how the industry has measured up in the interim around the adoption of Digital Transformation in the Water Industry.
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
CFD analysis is incredibly effective at solving mysteries and improving the performance of complex systems!
Here's a great example: At a large natural gas-fired power plant, where they use waste heat to generate steam and energy, they were puzzled that their boiler wasn't producing as much steam as expected.
R&R and Tetra Engineering Group Inc. were asked to solve the issue with reduced steam production.
An inspection had shown that a significant amount of hot flue gas was bypassing the boiler tubes, where the heat was supposed to be transferred.
R&R Consult conducted a CFD analysis, which revealed that 6.3% of the flue gas was bypassing the boiler tubes without transferring heat. The analysis also showed that the flue gas was instead being directed along the sides of the boiler and between the modules that were supposed to capture the heat. This was the cause of the reduced performance.
Based on our results, Tetra Engineering installed covering plates to reduce the bypass flow. This improved the boiler's performance and increased electricity production.
It is always satisfying when we can help solve complex challenges like this. Do your systems also need a check-up or optimization? Give us a call!
Work done in cooperation with James Malloy and David Moelling from Tetra Engineering.
More examples of our work https://www.r-r-consult.dk/en/cases-en/
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
SPS IPC Drives 2015 - Itris Automation paper
1. Software factory for industrial automation: focus on the PLC software
quality
Denis Chalon
CTO
Wafaa Ait-Cheik-Bihi
, PhD
R&D Engineer
Itris Automation
2 square Roger Genin
38000 Grenoble – France
Tel: +33 (0)4 76 23 67 65 - Fax: +33 (0)4 76 23 43 21
E-mail: Wafaa.ait-cheik-bihi@itris-automation.com
Abstract – In recent years, considerable effort has been put into the area of Programmable Logic
Controller (PLC) in terms of performance, reliability, availability, communication, and integration of
business functions. After this focus on hardware improvements, interest is increasing around PLC
projects’ lifecycle software (e.g. simulation, deployment, and requirement traceability). For example,
the latest update of the IEC61131-3 standard includes the Object Oriented Programming (OOP) with
the possibility to use interfaces and inheritance in order to allow software components to be more
reusable.
Industry 4.0 is aiming to develop future and smart factory by merging automation and digitalization,
resulting in more efficient production methods. A major challenge of the Industry 4.0 is to
industrialize the production of software. The main purpose of this industrialization is to introduce
methods and tools to make software controllable and measurable and to reduce production cost. This
can be done for example, by integrating developer best practices (e.g. Good Automated Manufacturing
Practices in Pharmaceutical industry) or certification requirements (e.g. IEC 61 508). It enables non-
developers to better understand and evaluate the quality (e.g. testability, performance and robustness)
of PLC programs. Benefits of a more formal PLC development process include, for instance,
increasing the CMMI maturity level, specifying the required quality level depending on the
certification area (e.g. PESSRAL for controlling lift, EN 50128 for railway applications), and
continuously comparing the intrinsic quality.
In this paper, we present the architecture of a software factory for PLC programs that allows automatic
synchronization between documentation and code, non-regression tests reporting, and software
requirements traceability. We will also show how this can be used by PLC programmers and
stakeholders to connect quality, productivity and efficiency during the whole PLC projects’ lifecycle.
Keywords – Software factory, industry 4.0, PLC programming, software quality
Corresponding author
2. SPS-IPC drive 2015
2
1. Introduction
PLC applications become increasingly complex and critical. PLC programs producers, end users, and
stakeholders are majorly concerned by their quality. This quality relies heavily on the quality of the
whole development process of PLC programs, including, requirements, design, development, tests,
deployment and maintenance.
Great researches, process-oriented methodologies and techniques are widely used in computer science
for the evaluation of software development process quality and maturity. For example the Capability
Maturity Model (CMM) aims to support the assessment of the process, its improvement, and,
consequently the development and deployment of software products [FLM+98] and [fda02]. Other
examples are ISDS standard from DNV [dns12] with similar goal but focused on the Off-Shore Oil
and Gas domain and GAMP 5 [gam08] in the pharmaceutical domain.
Because a lot of tools are available, these techniques are proven in computer science domain. There is
no reason why PLC developments shouldn’t benefit from them. For this reason, there is a need to
build a software factory that integrates a set of tools covering the whole PLC development process. A
software factory is a structured collection of related software assets that aids in producing computer
software applications or software components from the input elements.
The software factory improves productivity by automating
many repetitive tasks during the project lifecycle and in
parallel continuously verifying conformance to customer
expectations.
Our domain of interest is the industry where system
architecture is using PLC and SCADA systems. Figure 1
illustrates the Purdue reference model from the ISA 95
(International Standard ANSI). The software factory
described in this paper applies to the process control level
1 of this model.
PLC application development starts with high level
customer functional specifications, test plan, and coding
guidelines as shown in Figure 2. Depending on the
development context, certification standards may be also considered as inputs of the process. At the
end of the development, deliverables are one or more PLC applications with fulfilled test plan (i.e.
functional and formal) and up-to-date documentation. Then the complete system certification may
start.
Figure 2: PLC development process inputs/outputs
Figure 1- Purdue Reference Model
5. SPS-IPC drive 2015
5
3.1. Needs and requirements for the PLC domain
As mentioned in the previous figure, human work is still required in the process. The pragmatic
approach we have is that focusing on 20% of the problem will save 80% of the effort. The figure
below presents the target in terms of automation of software development tasks.
Figure 4: Manual versus automatic processes without and with Software Factory
The software factory we are proposing is mainly based on commercially available software products.
The main requirements of such a system in terms of usability are the ability to allow integration in
existing development environment, an easy deployment, and an intuitive user interface.
PLC developers should continue to develop using their usual Integrated Development Environment so
as to minimize the learning curve and to maximize user acceptance. The only requirement for them is
to use a version control system.
3.2. Benefits of Software Factory
From craft to industry, the major added value is quality. Using a software factory is a good way to
define quality objectives and then to measure the software quality during the whole application
development cycle and check that the objectives are met.
Hereafter are some advantages of using software factories in the PLC domain.
Seamless integration through modern technology offers a transparency to PLC developers. Major
tasks are handled automatically and the errors and bugs are reported automatically. A link is
seamlessly established between code version, tests results and requirements. PLC developers keep
their development environment with the constraint to commit their changes into a version control
system. All generated information is accessible with Web technologies so it is easy to share with non-
technical stakeholders. Deployment and maintenance are easy to manage.
Faster, cheaper, and more effective: the main
goal of software factories is to shorten the
development cycle. It also allows avoiding
human errors.
The productivity and cost reduction is the
immediate benefit of such a software factory. The
Figure 5 shows the remediation cost of one bug
depending on when the bug is found. In the
example given further, the discovered bug may
cost 10 to 100 times more if not solved during the
development. However, the software factory
0%
50%
100%
Without With
Manual process Automatic process
Figure 5: Cost versus time
6. SPS-IPC drive 2015
6
helps to find bug earlier.
Adaptation to regulated contexts: for all critical developments, where standards are enforced, the
software factory helps to formalize development process, to communicate about it, to enforce its
usage. Even with a partial software factory, it is more expensive for the developer to cheat the system
than to follow it:
In the pharmaceutical domain, GAMP5 from ISPE requires to detail the Quality Management
System. In critical system development, IEC61508 requires a Software Quality Plan. Part of
those documents can describe the software factory processes.
For third party audit, having a centralized repository with all versions of all project
documents, gives confidence that the process is defined, deployed and correctly used.
The required code review processes are easier to manage because the automatic generated
content helps to get an objective and a broad view of the software status. Thus, such a
software factory is useful during the code review meeting and for summarizing notes for
archiving.
Improved (and inexpensive) traceability:
All files are identified by a version number. All versions of all project files are kept under
version control.
Each PLC program version is tested against the current version of the functional requirements.
There is no risk to run wrong test version on wrong program version.
Functional requirements and PLC application are decoupled: no need to synchronize them
explicitly, but a link between requirements and application exists when looking at the test
results (example on page 10).
Automatic regression detection is possible. Whenever a test case which used to be passed
becomes failed, an alert is sent to the developer who had performed the commit (example on
page 10)
Clear visibility of the product state and quality provides a better understanding of key metrics and
measures for all PLC application’s stakeholders. The status of software is shared among everyone at a
given stage during its life cycle. This allows projects being more collaborative. Examples of indicators
and information are:
Up to date documentation in format suitable for non-developers : data flow and control flow
documentation, listing in graphical language (SFC, Ladder, FBD)
Code with its associated score: percentage of passed tests, complexity metrics, etc.
Project completion indicators, test coverage, etc.
Trends over the different measures performed around the PLC application.
The tools of the software factory bring their own benefits:
Model checker can prove that the PLC application respects some safety properties
Advanced documentation generator helps designers performing impact analysis when
specifying PLC application evolution.
A connexion to real PLC may allow animating generated documentation with real values from
the field.
7. SPS-IPC drive 2015
7
In the next section, an example of software architecture is presented with the main components and the
required functions/features in PLC development process.
4. Software Factory architecture
In this section, we present the architecture of one possible software factory designed for PLC
applications. As shown in Figure 6, the software factory contains a version control system and a
continuous integration server. All software stakeholders use a dashboard available as a Web interface
which gives access to all persistent information. In between, tools are generating content: tests and
static analysis results and documentation. A communication to a real PLC is also an option either for
automated testing or diagnostic support on the real hardware.
Figure 6 - Software factory architecture
But before detailing those different elements, a software factory requires computable files as inputs.
The next section details the process of formalizing these inputs.
4.1 Inputs formalization
Currently, most processes are relying on humans. To exchange information between stakeholders,
office automation software is used: spreadsheet editor, document editor, PDF format, etc. All those
documents are written in natural language and from a semantical point of view, they are difficult to
understand by tools.
The input documents that should be understood by the software factory are: test plan, functional
requirements and coding guidelines.
This formalization of input documents is also useful to comply with standard requirements such as the
Supplier Good Practice #2 from GAMP5: Establish requirements
4.1.1 Functional requirement and test plan
Functional requirements and test plans are two different ways to describe the behaviour of the system.
So we decide to rely on a language called Gherkins used in some computer science developments. It is
a DSL (Domain Specific Language) that lets you describe software’s behaviour without detailing how
8. SPS-IPC drive 2015
8
that behaviour is implemented. This language can be used by domain experts without computer
science or programming knowledge.
The functional requirement is composed of scenarios, in which there are test cases. Each test case
verifies that the system is in a given state, and then when some stimuli are received, the system
evolves to a well-known new state. If during test execution, it is not the case, the test is failed.
Figure 7 - Generation of executable test from application and functional requirements
Later in the development process, the functional requirements and the given application will be
analysed to generate executable tests as shown in Figure 7. This tool is in charge of measuring
compliance of the application with requirements.
4.1.2 Coding guidelines requirements
On big PLC applications or critical
applications (smaller but subject to a
regulated context), the usage of
coding guidelines may be a
requirement. To be able to measure
the software quality along the
development, it is important to
formalize the coding rules as manual
verification can be really expensive.
This formalization really depends on
the capabilities of the tool that will be used. Verification of the compliance of an application with a set
of rules can mostly be done using static analysis techniques without having the PLC program
executed.
Although no industry wide set of guidelines currently exists, the PLC Open4
association is currently
elaborating such a document that could be applied to the whole industry.
4.2 Continuous integration
Once the tools are able to understand the customer requirements, and check a PLC program
compliance to them, it is important to define a way to identify a given software version. The version
control system is a key element of the software factory. All input documents should also be part of the
version control system, as they can change during the application development.
The version becomes the identifier of a PLC program and its corresponding input documents. This
identifier will be used through the whole software factory to tag the test results, quality results, and the
automatic generated documentation. Using this tag, traceability is much easier to manage.
4
http://www.plcopen.org
Figure 8 - Some coding guidelines
9. SPS-IPC drive 2015
9
Figure 9 - Automatic generation of test results and documentation
The heart of the software factory is then the continuous integration server. It is automatically launched
by the creation of a new software version. It triggers the complete automatic testing.
Continuous integration server connects all testing tools together. In our example, the following tools
are used:
Static analysis tool ensures compliance with coding guidelines
Automatic testing tool ensures compliance with functional requirements
Automatic documentation generator ensures consistency of the documentation
Then the development process is iterative. The
developer writes code to implement functional
requirements, and then he commits code into
the repository of version control system. The
commit triggers the execution of all tests (static
analysis and automatic testing) and the
generation of documentation. When all tests are
executed, reports are generated. Those reports
are used by the developer to organize the next
development iteration. They are also available
for other software stakeholders.
Figure 10 - PLC development process
11. SPS-IPC drive 2015
11
Scenario: lift cannot go above top final limit
Given the lift is at the top final limit
When inspector wants to go up
Then the motor and the brake are not powered
The PLC developer will write some code to implement this requirement. From a hardware point of
view, a SIL3 coder provides an input to the PLC, the brake is driven by a redundant digital output and
its associated relay, and the motor is controlled by a drive.
In the PLC application database, the developer creates some variables and tags them with information
for traceability:
IW_LiftPosition : DINT AT %IW2.4;
Attribute : “the lift is at the top final limit” IW_LiftPosition >= 35452
“the lift is in normal zone” IW_LiftPosition < 35452
OX_MotorPower : BOOL AT %QX1.1;
Attribute : “the motor is powered” OX_MotorPower = TRUE
“the motor is not powered” OX_MotorPower = FALSE
Let’s say, this code is committed in version #7. This commit triggers the execution of the tests thanks
to the continuous integration server.
The executable test cases are generated from the application and the functional requirements as
mentioned in Figure 7 page 8. There is no need to write the test case code because a link is already
established between the requirements and the application.
Let’s say that the result of this test happens to be a PASS.
Later in our story, the code is being changed in commit #12, the tests are again automatically triggered
and the result is a FAIL. It means there is a regression. Thanks to our software factory, this regression
is detected immediately. The PLC developer is informed, fixes the error, creates a version #13 and
tests are being run again.
That story can also be represented graphically as below.
Figure 12 - Traceability between requirements and application
12. SPS-IPC drive 2015
12
Without the software factory, the regression wouldn’t be detected immediately. The cost of
remediation would be much higher and the developer wouldn’t be as efficient as when modifying
freshly the code.
Moreover, when using a software factory, the PLC developer is focused on its main task: software
development. Other tasks are handled by the tools.
5. Conclusion
In this paper a software factory is presented for PLC development process. Its advantages and benefits
are mainly enhancing and improving the quality of PLC application and improving the productivity of
the developer.
Software factory is not a magic wand. It won’t replace the PLC developer. It won’t solve the required
certification process. But a development team using a software factory is more mature (CMMI). The
PLC applications have a defined level of quality that matches the quality requirements. The PLC
developer is freed from repetitive manual tasks. He can focus on code development, and on special
features like communication, regulation, motion. The certification body gets a good confidence in the
compliance with the requested process just by looking at the software factory and the associated
dashboards.
Finally it should be noted that software factory will be all the more important when taking into
account cybersecurity requirements. Cybersecurity is a question of code robustness. Ensuring code
robustness means doing a lot of tests, continuously. Without a software factory this is just
economically not possible.
We also believe that software factory should be enriched according to industry requirements. This can
include code generation and extension to take into account SCADA. These two possibilities will be
further developed in our ongoing work.
13. SPS-IPC drive 2015
13
References
[ACD07] N.Ilker Altintas, Semih Cetin, and AliH. Dogru. Industrializing software development:
The "factory automation" way. In Dirk Draheim and Gerald Weber, editors, Trends in Enterprise
Application Architecture, volume 4473 of Lecture Notes in Computer Science, pages 54–68. Springer
Berlin Heidelberg, 2007.
[B+
75] Harvey Bratman et al. The software factory. Computer, 8(5):28–37, 1975.
[BK13] Shiraz Gilani Barath Kumar. Test automation in industrial automation. Paris, October 2013.
[bra] Brad simulation tools.
[CB10] S. Bouchez-Mongardé C. Baillon. Executable requirements in a safety-critical context with
ada. In Ada User Journal, volume 31, pages 131–135. June 2010.
[dns12] Integrated software dependent systems (isds). Technical Report DNV-OS-D203, DNV & DET
NORSKE VERITAS AS, December 2012.
[Dut07]Mathias D Dutour. Software factory techniques applied to process control at cern. Technical
Report CERN-IT-Note-2007-035, CERN, Geneva, September 2007.
[fda02] General principles of software validation; final guidance for industry and fda staff. Technical
report, U.S. Department Of Health and Human Services, Food and Drug Administration, Center for
Devices and Radiological Health, Center for Biologics Evaluation and Research, 2002.
[FLM+
98] Alfonso Fuggetta, Luigi Lavazza, Sandro Morasca, Stefano Cinti, Giandomenico
Oldano, and Elena Orazi. Applying gqm in an industrial software factory. ACM Trans. Softw. Eng.
Methodol., 7(4):411–448, October 1998.
[gam08] Gamp5 a risk-based approach to compliant gxp computerized systems, 2008.
[GRKH09] J. Greenfield, M. Regio, W. Kozaczynski, and T.J. Hollander. Software factory
specification and execution model, April 16 2009. US Patent App. 11/974,723.
[GS03] Jack Greenfield and Keith Short. Software factories: Assembling applications with patterns,
models, frameworks and tools. In Companion of the 18th Annual ACM SIGPLAN Conference on
Object-oriented Programming, Systems, Languages, and Applications, OOPSLA ’03, pages 16–27,
New York, NY, USA, 2003. ACM.
[pes09] Design and development of programmable electronic systems in safety-related applications
for lifts (pessral), 2009.
[Sel03] Bran Selic. The pragmatics of model-driven development. IEEE Software, 20(5):19–25, 2003.
[WK06] J. B. Warmer and A. G. Kleppe. Building a flexible software factory using partial
domain specific models. In Sixth OOPSLA Workshop on Domain-Specific Modeling (DSM’06),
Portland, Oregon, USA, pages 15–22, Jyvaskyla, October 2006. University of Jyvaskyla.