LIBPF® Model Wizard
Interactively generate the C++ code required for a LIBPF® process model
The LIBPF® Model Wizard is a free and open-source, browser-based tool that can be used online or run locally.
The LIBPF® Model Wizard allows the model developer to generate interactively the C++ code required for a process model:
-
the Interface (.h file)
-
the Implementation (.cc file)
-
the Driver (.cc file).
The generated C++ code will not work out of the box: a few bits are missing, mainly due to the limitation of the JSON format that does not support multi-line strings and escaping (see xml's CDATA). Consider it a starting point !
For more information on LIBPF® (the LIBrary for Process Flowsheeting), check the homepage.
For the source code to the LIBPF® Model Wizard itself, check the gitlab repo.
How to use
See the blog posts:
-
Automatic generation of C++ code for process models – 1 of 3: command-line C++ code generation from the JSON representation of process models with the jinja2 template engine
-
Automatic generation of C++ code for process models – 2 of 3: interactive code generation with the LIBPF® model wizard
-
Automatic generation of C++ code for process models – 3 of 3: an example of the complete model development workflow using the LIBPF® model wizard.
and the tutorial videos:
Browser support
Tested on:
-
Google Chrome 44
-
Mozilla Firefox 31
-
Internet Explorer 11 (Windows 8.1) and Edge (Windows 10)
-
Apple Safari 10 (macOS 10.12) and iOS 8
You need to have cookies (because we use local storage) and javascript (of course !) enabled.
Failure to enable cookies results in Firefox in the quite opaque error "SecurityError: The operation is insecure.".
License
The LIBPF® Model Wizard (C) Copyright 2015-2023 simevo s.r.l..
GPLv3 License:
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Contains code borrowed from:
-
Bootstrap, the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web;
-
Jeremy Dorn's JSON Schema Based Editor with a little fix;
-
Mozilla's Nunjucks, a JavaScript implementation of the jinja2 templating language;
-
Viz.js, Mike Daines's port of graphviz to javascript, based on emscripten;
-
highlight.js, JavaScript syntax highlighting library.