API Reference Mozart v0.1.11

Modules

defstruct [:name, :tasks, :initial_task]

This struct is used to create business process models. Once created, a process model can be loaded into a Mozart.ProcessEngine.html and executed.

defstruct [
    :uid,
    :parent,
    :model_name,
    :start_time,
    :end_time,
    :execute_duration,
    open_tasks: %{},
    completed_tasks: [],
    data: %{},
    complete: false
  ]
end

This struct is used to represent the state of a Mozart.ProcessEngine execution.

A ProcessEngine is dynamically spawned for the purpose of executing a Mozart.Data.ProcessModel.

This modeule provides services required by individual Mozart.ProcessEngine instances. Currently, it has no user level functions. Subject to change.

Used to define a process model Choice Task. Serves the same purpose as a BPMN2 Exclusive Gate. The choices field is used to specify the multiple execution paths.

Used to join parallel execution paths.

Use to create paralled execution paths.

Used to model a task that waits for a PubSub message. Functional but needs some work.

Used to model a Mozart run task. Called a Business Rule in BPMN2. Uses the Elixir rule_table library.

Used to send a PubSub message to a waiting Receive task. Functioal but needs some work.

Used to model a Service task. A service task calls a function and returns data that is into the state data.

Used to model a task that is completed by executing and completing a subprocess. Called a call activity in BPMN2.

Used to model a task waits a specified duration and automatically completes.

Used to model a task that must be completed by a system user.

Provides client applications with functionality related to users and groups. Much more functionality to come.