# General Workflow

The Following steps will guide you through a complete resource cycle in Rembrandt.

### General Workflow&#x20;

To take full advantage of Rembrandts functionality, we recommend using a BPMN modeling tool. (e.g. [Gryphon](https://github.com/bptlab/gryphon)) and a business process managment system (BPMS) (e.g. [Chimera](https://github.com/bptlab/chimera)).\
Working with Rembrandt follows a certain sequence of steps:

1. model all resource types
2. instantiate resources (can also be done during run-time)
3. model the optimization problem
   1. register Algorithms
   2. create transformers
   3. build the recipe
4. model the BPMN process including resource instantiation and allocation tasks
5. deploy the modeled process to the BPMS
6. execute the process&#x20;

Below you can see the workflow using the BPMN modeling tool Gryphon and the BPMS Chimera.

![](/files/-Lm5o7ps64f2vWC372NW)

### Resource Modeling and Management

The organization component in Rembrandt is used to:

* model resource types
* instantiate resources
* modify resources&#x20;
* delete resources and types

See [Resource Modeling and Management](/docs/concepts/resource-modeling-and-management.md) for further information.

### Resource Assignment

Resource Assignment is done in the optimization component.\
Here you can:

* register algorithms
* create transformers
* build recipes

See [Resource Assignment ](/docs/user-guide-1/resource-assignment.md)for further information.

### Resource Allocation

The Allocation is normally done during run-time but can be started manually from the recipe view.\
The Executions tab in the optimization section shows the current status of all started resource allocations.

See [Resource Allocation](/docs/user-guide-1/resource-allocation.md) for further information.

### REST API

Communication between Frontend and Backend is handles via REST requests, which are documented in a [swagger file](https://github.com/bptlab/rembrandt-backend/blob/master/src/swagger.json). This means that all queries and tasks can be started without use of the front end.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rembrandt.gitbook.io/docs/user-guide-1/user-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
