A graphical web-based editor for the creation and editing of BatchML/B2MML-compliant general- and master recipes in accordance with ANSI/ISA-88. The application offers drag-and-drop workspaces for process, material, and sequence structures, import and export of XML and Workspace JSON files, as well as XSD validation of the generated recipes. Ontologies, Asset Administration Shell (AAS) files, and Module Type Package (MTP) files can be integrated to incorporate semantic process and material classes, capabilities, equipment information, parameters, and value ranges into recipe modeling.
The repository provides a research-oriented software prototype for modelling recipe structures in the context of modular process automation. Its main purpose is to support the transition from formal and semantically enriched process descriptions towards executable or resource-dependent recipe representations.
The tool is intended to support workflows such as:
- graphical modelling of process and recipe structures,
- creation of general recipes and master recipes according to ISA-88,
- generation and validation of BatchML/B2MML XML files,
- enrichment of recipe elements with semantic capability information,
- import and processing of ontology-based process capabilities,
- use of AAS and MTP files as resource descriptions,
- Drag-and-drop modelling of recipe and process elements.
- Visual connection of elements to define process or recipe flow.
- Support for begin/end elements, process elements, material elements, chart elements, and recipe elements.
- Editing of element properties through an interactive property window.
- Workspace navigation with zooming and panning.
- Support for nested or secondary workspaces for macro or subprocess structures.
The general recipe editor supports apparatus-neutral recipe modelling. It can be used to describe process requirements independently of a concrete plant configuration.
Typical functionality includes:
- modelling of general recipes,
- semantic annotation of process capabilities,
- ontology upload and capability extraction,
- export of general recipe information to BatchML/B2MML,
- validation of generated XML against BatchML schema definitions.
The general recipe editor is available at:
http://127.0.0.1:5000/
http://127.0.0.1:5000/general-recipe-editor
The master recipe editor extends the graphical modelling approach towards plant- or resource-dependent recipe structures.
Typical functionality includes:
- modelling of master recipes,
- configuration of master recipe metadata,
- MTP-file upload
- editing of parameters,
- export of master recipes as BatchML/B2MML XML,
- server-side XSD validation,
The master recipe editor is available at:
http://127.0.0.1:5000/master-recipe-editor
The repository is structured as a client-server application.
RecipeEditor/
├── client/ # Vue.js frontend
└── server/ # Python/Flask backend
Recommended versions:
Python 3.10
Node.js 18.17.1
npm
From the repository root:
cd server
pip install -r requirements.txt
python server.pyThe backend starts on:
http://127.0.0.1:5000
The API documentation is available at:
http://127.0.0.1:5000/apidocs
For frontend development without rebuilding the static files served by Flask:
cd client
npm install
npm run devThe Vite development server is usually available at:
http://localhost:5173
This mode is useful for frontend development because it supports fast rebuilds and browser-based debugging.
After frontend changes, the client must be rebuilt so that the Flask backend can serve the updated static files.
cd client
npm install
npm run buildThe generated frontend build is copied into the backend static folder and can then be served by the Flask application.
On Windows, the repository provides a batch script for rebuilding the frontend and starting the backend:
./build_run.batRun this command from the repository root.
- Start the backend.
- Open the general recipe editor.
- Upload or select ontology-based capabilities.
- Drag process and material elements into the workspace.
- Connect elements to define the process flow.
- Edit element properties and semantic annotations.
- Export the general recipe as BatchML/B2MML.
- Validate the generated XML.
- Start the backend.
- Open the master recipe editor.
- Configure the recipe metadata.
- Optionally use AAS or MTP data for resource-related information.
- Add recipe elements to the workspace.
- Connect recipe steps in the intended order.
- Define conditions, formula parameters, and equipment requirements.
- Export the master recipe as BatchML/B2MML.
- Validate the generated XML against the schema.
This repository is developed at the Chair of Information and Automation Systems, RWTH Aachen University, in the context of research on formal recipe modelling, semantic process descriptions, modular automation, capability-based engineering, and ISA-88/BatchML-based recipe exchange.
Please refer to the repository license file.
For questions regarding the research context or further development, please contact the maintainers of the repository.