Generating Correct, Compact, and Efficient PLC Code from Scenario-based Assume-Guarantee Specifications

authored by
Daniel Gritzner, Joel Greenyer
Abstract

Cyber-physical systems can be found in many areas, e.g., manufacturing, health care or smart cities. They consist of many distributed components cooperating to provide increasingly complex functionality. The design and development of such a system is difficult and error-prone. To help engineers overcome these challenges we created a formal, scenario-based specification language. Short scenarios, i.e., event sequences, specify requirements and the desired behaviors by describing how components may, must, or must not behave. Scenarios provide an intuitive way for creating formal assume-guarantee (GR(1)) specifications, giving engineers easy access to simulation, for validating the specified behavior, and controller synthesis, for creating controller software which is correct by construction. In this paper we present an approach for generating Programmable Logic Controller (PLC) code from a scenario-based specification. Previous code generation efforts, including our own, created large, verbose source files causing some tools, e.g., compilers or editors, to perform slowly or even become unresponsive. Our new approach creates compact files, shifting significant amounts of code from executable instructions to data, to reduce the burden on the compiler and other tools. The generated code is efficient and introduces minimal to no latency between the occurrence of an event and the system's reaction to it.

Organisation(s)
Software Engineering Section
Type
Conference article
Journal
Procedia Manufacturing
Volume
24
Pages
153-158
No. of pages
6
ISSN
2351-9789
Publication date
2018
Publication status
Published
Peer reviewed
Yes
ASJC Scopus subject areas
Industrial and Manufacturing Engineering, Artificial Intelligence
Sustainable Development Goals
SDG 11 - Sustainable Cities and Communities
Electronic version(s)
https://doi.org/10.1016/j.promfg.2018.06.046 (Access: Open)
https://doi.org/10.15488/3816 (Access: Open)