Petri nets: an introduction
Statecharts: A visual formalism for complex systems
Science of Computer Programming
Theoretical Computer Science
Proceedings of the DIMACS/SYCON workshop on Hybrid systems III : verification and control: verification and control
UPPAAL—a tool suite for automatic verification of real-time systems
Proceedings of the DIMACS/SYCON workshop on Hybrid systems III : verification and control: verification and control
Synthesising controllers from real-time specifications
ISSS '97 Proceedings of the 10th international symposium on System synthesis
Formal Methods for Real-Time Computing
Formal Methods for Real-Time Computing
Formal Techniques in Real-Time and Fault-Tolerant Systems: Third International Symposium Organized Jointly with the Working Group Provably Correct Systems, ProCoS, Lubeck, Germany, September 19-23, 1994 Proceedings
Specifying and Verifying Requirements of Real-Time Systems
IEEE Transactions on Software Engineering
FTRTFT '96 Proceedings of the 4th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Hybrid Systems
ProCoS Proceedings of the Third International Symposium Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems
Graphical Formalization of Real-Time Requirements
FTRTFT '96 Proceedings of the 4th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Formal Analysis of a Real-Time Kernel Specification
FTRTFT '96 Proceedings of the 4th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Operational and Logical Semantics for Polling Real-Time Systems
FTRTFT '98 Proceedings of the 5th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
Graphical Specification and Reasoning: Case Study Generalised Railroad Crossing
FME '97 Proceedings of the 4th International Symposium of Formal Methods Europe on Industrial Applications and Strengthened Foundations of Formal Methods
PLC-Automata: A New Class of Implementable Real-Time Automata
ARTS '97 Proceedings of the 4th International AMAST Workshop on Real-Time Systems and Concurrent and Distributed Software: Transformation-Based Reactive Systems Development
Refinement Calculus, Part II: Parallel and Reactive Programs
Stepwise Refinement of Distributed Systems, Models, Formalisms, Correctness, REX Workshop
An Analyser for Mesage Sequence Charts
TACAs '96 Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems
Programming Industrial Control Systems Using Iec 1131-3 (I E E Control Engineering Series)
Programming Industrial Control Systems Using Iec 1131-3 (I E E Control Engineering Series)
Data Refinement: Model-Oriented Proof Methods and their Comparison
Data Refinement: Model-Oriented Proof Methods and their Comparison
Hi-index | 0.00 |
We present an approach to the design of correct real-time software for Programmable Logic Controllers (PLCs), a widespread hard-ware platform in the area of traffic and automation control [19,26]. Requirements are formulated in a graphical formalism called Constraint-Diagrams (CDs) [12]. A CD consists of waveforms that describe the time-wise behaviour of observables and of arrows that describe the timed interdependencies between these waveforms. Design specifications are formulated as so-called PLC-Automata [7]. These can be understood as a special class of timed automata that model in an abstract way the cyclic behaviour of PLCs. Programs are formulated in ST (Structured Text), a dedicated programming language for PLCs. PLC-Automata can be easily compiled into ST code. The semantic link between CDs and PLC-Automata is stated in terms of the Duration Calculus [37], a logic and calculus for specifying realtime behaviour. This enables us to formally establish the correctness of designs with respect to the requirements. The approach is illustrated by a case study defined by an industrial partner engaged in designing railway signalling systems [23]. It is supported by a tool called Moby/plc [11].