skip to main content
10.1145/1774088.1774614acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Programming assistance based on contracts and modular verification in the automation domain

Published: 22 March 2010 Publication History

Abstract

In industrial automation, control software often has to get changed and adapted by domain experts and end users who have no or only limited software development expertise. This results in high demands on programming environments with respect to supporting, guiding, and supervising the programming tasks. In this paper we present an approach based on model checking and artificial intelligence techniques to guide domain experts in building control software which is guaranteed to obey specified contracts and constraints. The work is based on Monaco which is a domain-specific language for programming automation solutions. As Monaco employs a hierarchical component approach, the verification is done hierarchically where an upper component is verified against the contracts of its subcomponents. The verification approach is leveraged in different programming support systems which give immediate feedback about valid and invalid programs in an integrated development environment.

References

[1]
A. Benveniste. The synchronous languages 12 years later. Proceedings of the IEEE, 91(1):64--83, 2003.
[2]
A. Biere. Lecture notes: Model checking, Johannes Kepler University Linz, 2008.
[3]
M. Broy, B. Jonsson, J.-P. Katoen, M. Leucker, and A. Pretschner. Model-Based Testing of Reactive Systems: Advanced Lectures. Springer-Verlag, 2005.
[4]
E. Clarke, O. Grumberg, and D. Peled. Model Checking. The MIT Press, 1999.
[5]
L. de Alfaro and T. Henzinger. Interface automata. In 9th Annual Symposium on Foundations of Software Engineering, pages 109--120. ACM Press, 2001.
[6]
B. Dutertre and L. de Moura. A fast linear-arithmetic solver for DPLL(t). pages 81--94. 2006.
[7]
D. Harel. Statecharts: A visual formalism for complex systems. Sci. Comput. Program., 8(3):231--274, 1987.
[8]
A. Herzig and O. Rifi. Propositional belief base update and minimal change. Artificial Intelligence, 115:107--138, 1999.
[9]
G. Holzmann. Spin model checker: primer and reference manual. Addison-Wesley Professional, 2003.
[10]
IEC. IEC-61131-3 - programmable controllers - part 3: Programming languages, January 2003.
[11]
P. Jezek, J. Kofron, and F. Plasil. Model checking of component behavior specification: A real life experience. ENTCS, 160:197--210, 2006.
[12]
H. Katsuno and A. O. Mendelzon. On the difference between updating a knowledge base and revising it. In 2nd International Conference on the Principles of Knowledge Representation and Reasoning, pages 387--394, 1991.
[13]
B. Meyer. Design by contract. IEEE Computer, 25:40--51, 1992.
[14]
R. Milner. Communication and concurrency. Prentice-Hall, Inc., NJ, USA, 1989.
[15]
K. M. Olender and L. J. Osterweil. Cecil: A sequencing constraint language for automatic static analysis generation. IEEE Trans. Softw. Eng., 16(3):268--280, 1990.
[16]
K. M. Olender and L. J. Osterweil. Interprocedural static analysis of sequencing constraints. ACM Trans. Softw. Eng. Methodol., 1(1):21--52, 1992.
[17]
F. Plasil and S. Visnovsky. Behavior protocols for software components. IEEE Trans. Softw. Eng., 28(11):1056--1076, 2002.
[18]
H. Prähofer, D. Hurnaus, R. Schatz, C. Wirth, and H. Mössenböck. A DSL approach for programming automation systems. In Proc. of SE2008 -- Conference on Software Engineering 2008, pages 242--256, 2008.
[19]
R. Reiter. Knowledge in action: logical foundations for specifying and implementing dynamical systems. MIT Press, Cambridge, Mass., 2001.

Cited By

View all
  • (2013)Towards a theory of interface-based design of hierarchical reactive systemsProceedings of the Symposium on Theory of Modeling & Simulation - DEVS Integrative M&S Symposium10.5555/2499634.2499642(1-8)Online publication date: 7-Apr-2013
  • (2013)Guidelines and Patterns for Building Hierarchical Automation Solutions in the IEC 61499 Modeling LanguageIEEE Transactions on Industrial Informatics10.1109/TII.2012.22354499:4(2387-2396)Online publication date: Nov-2013
  • (2013)Verification of hierarchical IEC 61499 component systems with behavioral event contracts2013 11th IEEE International Conference on Industrial Informatics (INDIN)10.1109/INDIN.2013.6622948(578-585)Online publication date: Jul-2013
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '10: Proceedings of the 2010 ACM Symposium on Applied Computing
March 2010
2712 pages
ISBN:9781605586397
DOI:10.1145/1774088
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 March 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. automation software
  2. component-based systems
  3. domain-specific language
  4. end-user programming

Qualifiers

  • Research-article

Conference

SAC'10
Sponsor:
SAC'10: The 2010 ACM Symposium on Applied Computing
March 22 - 26, 2010
Sierre, Switzerland

Acceptance Rates

SAC '10 Paper Acceptance Rate 364 of 1,353 submissions, 27%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)2
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2013)Towards a theory of interface-based design of hierarchical reactive systemsProceedings of the Symposium on Theory of Modeling & Simulation - DEVS Integrative M&S Symposium10.5555/2499634.2499642(1-8)Online publication date: 7-Apr-2013
  • (2013)Guidelines and Patterns for Building Hierarchical Automation Solutions in the IEC 61499 Modeling LanguageIEEE Transactions on Industrial Informatics10.1109/TII.2012.22354499:4(2387-2396)Online publication date: Nov-2013
  • (2013)Verification of hierarchical IEC 61499 component systems with behavioral event contracts2013 11th IEEE International Conference on Industrial Informatics (INDIN)10.1109/INDIN.2013.6622948(578-585)Online publication date: Jul-2013
  • (2013)Monaco-A domain-specific language solution for reactive process control programming with hierarchical componentsComputer Languages, Systems and Structures10.1016/j.cl.2013.02.00139:3(67-94)Online publication date: 1-Oct-2013
  • (2011)Building hierarchical automation solutions in the IEC 61499 modeling language2011 9th IEEE International Conference on Industrial Informatics10.1109/INDIN.2011.6034940(557-564)Online publication date: Jul-2011
  • (2010)MONACO — A domain-specific language supporting hierarchical abstraction and verification of reactive control programs2010 8th IEEE International Conference on Industrial Informatics10.1109/INDIN.2010.5549622(908-914)Online publication date: Jul-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media