Packages
mozart
0.1.9
1.0.1
1.0.0
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.9
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.8
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Mozart is an Elixir based BPM platform. It provides a powerful and highly readable DSL for implementing executable business process models.
Current section
Files
Jump to
Current section
Files
README.md
# Mozart
Mozart is an open source BPM platform. It is written in Elixir and is in the early stages of development. Currently, process models are defined using a set of Elixir structs providing a modelling language which is somewhat inspired by AWS Step Functions. See [AWS Step Functions](https://docs.aws.amazon.com/step-functions/?icmpid=docs_homepage_appintegration).
In the future, the intent is to provide a text-based BPM modelling language that is highly readable by process experts with no programming experience.
The modeling elements currently supported are:
| Element Type | Description |
|-----|-----|
| User Task | Performed by a user |
| Service Task | Performed by calling a service. |
| Subprocess Task | Performed by calling a subprocess. |
| Timer Task | Waits for expiration of a timer. |
| Receive Task | Waits for a subscribed PubSub event. |
| Send Task | Sends a PubSub event. |
| Rule Task | Perform by evaluating a run block (Tablex) |
| Exclusive Gate | Selects one of many process paths. |
| Parallel Gate | Initiates two or more process paths. |
| Parallel Join | Sychronizes on completion of two or more process paths. |
## What is a Business Process Management
See [Introduction to BPM](https://hexdocs.pm/mozart/intro_bpm.html) in hexdocs
## Documentation
View documentation in hexdocs at [https://hexdocs.pm/mozart/api-reference.html](https://hexdocs.pm/mozart/api-reference.html)
## Installation
The package can be installed
by adding `mozart` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:mozart, "~> 0.1"}
]
end
```
## Major Todo Items
* Code clean up.
* Performance testing (probaly compared with [Camunda](https://camunda.com/) since I am familiar with it.)
* Develop a textual business processs modeling language with will be translated at runtime into native Elixir data structures. The language will be highly readable to process modelers with no programming experience.
* Develop GUIs for:
* Runtime trouble shooting and monitoring.
* User and group administration.
* User task assignment and execution.
## Providing Feedback
If you have questions, comments, suggestions, etc. feel free to open issues in GitHub.
## Collaboration
Yes, it would be great having other developers join the effort (and discussion).