Skip to main navigation Skip to search Skip to main content

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

  • Daniel Gritzner*
  • , Joel Greenyer
  • *Corresponding author for this work

Research output: Contribution to journalConference articleResearchpeer review

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.

Original languageEnglish
Pages (from-to)153-158
Number of pages6
JournalProcedia Manufacturing
Volume24
E-pub ahead of print6 Jul 2018
DOIs
Publication statusPublished - 2018
Event4th International Conference on System-Integrated Intelligence: Intelligent, Flexible and Connected Systems in Products and Production, 2018 - Hannover, Germany
Duration: 19 Jun 201820 Jun 2018

UN Sustainable Development Goals (SDGs)

This output contributes to the following UN Sustainable Development Goals (SDGs)

  1. SDG 11 - Sustainable Cities and Communities
    SDG 11 Sustainable Cities and Communities

Keywords

  • assume-guarantee specification
  • code generation
  • controller synthesis
  • programmable logic controller
  • scenarios

ASJC Scopus subject areas

  • Industrial and Manufacturing Engineering
  • Artificial Intelligence

Cite this