Model-Driven Engineering Made Easy


BlokIDE is an immersive design environment for Model-Driven Engineering of programmable electronics. Integration with the most efficient IEC 61499 compiler in the world allows BlokIDE to auto-generate ISO-C code that can run on a variety of platforms, ranging from Programmable ICs to Programmable Logic Controllers.


Automatic Code Generation, Simulation and Device Deployment

Model-Driven Design Using IEC 61499

A Synchronous Approach for Embedded and Automation Systems. Preview Book

  • Describes a mathematically rigorous, model-driven approach for designing embedded / automation systems using IEC 61499
  • Demonstrates how correct-by-construction code can be automatically derived from IEC 61499 models
  • Provides a methodology for static timing analysis and model checking of IEC 61499 specifications
  • Provides a pedagogical introduction to formal methods in embedded systems for non-experts and industrial practitioners

Device Deployment

The output of automatic code generation is compatible with a wide range of C compilers. Depending on the service interface function blocks used in a BlokIDE project, the generated code may be compiled into native x86 executables and run on the PC. However, in some cases the generated code may be platform-specific e.g., use of IO pins on a PLC. For such cases, the code must be compiled by a platform-specific GNU C Compiler (GCC). BlokIDE supports cross-compliers (e.g., avr-gcc) as well as onboard
GCC for platform-specific compilation over SSH/SFTP connection.


BlokIDE is equipped with a discrete-step design simulator for of IEC 61499 function blocks. The simulation is performed by generating simulation-ready code, which contains any external code that is included in the project e.g., a 3rd party pre-compiled library. A further enhanced mode of this feature enables hardware in-loop simulation in the presence of platform specific libraries. In addition to the visualization, a range of inspection tools are also available that are used to track values of various variables and events in the system.

Automatic Code Generation

BlokIDE is integrated with the world’s most efficient code generator for IEC 61499. The output of code generation is a set of human readable ISO-C files along with Makefile scripts, which compiles out of the box. The generated code does not require any runtime or scheduler and is compiled to a native binary executable. Due to a small memory footprint, the generated code can execute on a variety of devices ranging from light-weight Programmable ICs (PICs) to industrial Programmable Logic Controllers (PLCs).

Synchronous Execution

Based on mathematically sound synchronous execution semantics, BlokIDE generates code that is deterministic and guaranteed to be causal-by-construction. The resultant systems and free from ambiguities, deadlocks and race conditions.


Formal Verification

Formal verification is the name of applying mathematical techniques in order to prove or disprove the correctness of a system against an intended functional behaviour. BlokIDE integrates with formal verifiers and model checkers for ensured correct functional behaviour.


Static Timing Analysis

BlokIDE allows design of real-time applications, where the time taken to respond to the environment is extremely important. Static timing analysis computes the worst case execution time (WCET) of the systems, which can be used to determine if the timing requirements are met.


Our Team

Precision Timed Research Group (PRETzel)
Partha S. Roop
Associate Professor and Programme Director of Computer Systems Engineering
Li Hsien Yoong
Embedded and Applications Engineer
Zeeshan Bhatti
Software Engineer
Matthew Kuo
Electrical Engineer


PRETzel in our context signifies the Precision Timed (PRET) Architecture research that brings together three different research groups, namely the University of Auckland in New Zealand, INRIA Research Lab in Grenoble France and the real-time systems research group in Kiel University, Germany.

Drop us a line!

TimeMe © 2017