-
-
-
-
+
BPMN to process model in the tool
+ In this exercice, you need to create the BPMN model bellow in the DF-BPMN tool, including the data flow of each
+ activity. In this exercice, we will start by explain where you can find the elements of the process model. Then,
+ you should able to add activities and data within each activity.
+
+

+
+
+
DF-BPMN symbols
+

+
+ This symbols represent the data flow of each activity.
+ There are different data types:
+
+ - Data object there are the process variabels that used during the execution phase.
+ - Data store there are the business data that used stored or retreived from the database (BDM
+ within Bonita studio).
+ - Data user there are the data need to read from the user to continue the activity tasks (Fill
+ information from user to used within the process model).
+ - Data system there are the data that read or send to a server system (Like, auto-sending email,
+ auto check the calender).
+
+ The icon of the data object is to present the data types.
+ (a),(c), (e), (f) and (g) are input data where:
+
+ - (a): is a simple data input. This input object has name, type, also can attached by attributes. The
+ object type can be simple type like string, integer, ... or complex type like the UML object name
+ (Request in this example).
+ - (c): is a multi-instance data input. This input object also has name, type, also can attached by
+ attributes, But it use to present multi-instance object or list of oject from the same data type
+ - (e) and (f): are two data object depend on each other. if we have (e), it should be connected to (f).
+ (e) used to indicate that we need data from a list of from the database. However, (f) is to present that
+ the user need to select one (or more) object from the database.
+
+ - (g): is a static data input. This input object has name, type, and value. This data object is to present
+ a fix value that we need to use within our model.
+
+
+ (b), and (d) are output data where:
+
+ -
+ (b): is a simple data output object. This output object has name, type, also can attached by attributes,
+ indeed to a state to present the opeartion on this object. The
+ object type can be simple type like string, integer, ... or complex type like the UML object name
+ (Request in this example).
+
+ State can be:
+
+ - init: for the creation of new data object.
+ - read: for the read a data object.
+ - delete: for the delete a data object.
+ - update: for the update a data object.
+
+
+ -
+ (d): is a multi-instance data output object. This output object has name, type, also can attached by
+ attributes,
+ indeed to a state to present the opeartion on this object.
+
+
+
+ (h) : is the data processing operator that present the complex data operation like sum, conditions etc.
+
+ This operator is connected to the data input and data output object.
+
+
+ (i): is the flow that connect the inputs by the outputs. Also we can connect the outputs by the outputs and
+ connect the data operator to input and output.
+
+
+
Pool and Lane
+
+ After open your project (double click on project file name), you can start the modelling. You can find all
+ the elements in "Palette".
+ -
+ From the "Palette", click on "Pool", and then click on the whitespace to add the pool.
+
+
+
+ -
+ Then, we should add the lane of our process model. We can do that by click on "Lane" (find it in the
+ "palette") and then click on
+ the name of the "name of your pool to add new lane.
+
+
+
+ -
+ Then, to change the Pool name, click on the pool (on pool name), then, you should open the panel
+ properties, then in
+ "General" tab, you can change the name of your pool.
+
+
+
+ -
+ Then, to change the Lane name, click on the pool (on pool name), then, you should open the panel
+ properties, then in
+ "Lanes" tab, you can change the name of your lanes (it is a list of all your lanes in the selected
+ pool).
+
+
+
+
+
Add Process Model Elements
+
+ -
+ You can find all the process elements in the "palette". In the DF-BPMN tool, we propose to add an
+ activity and
+ then add directly the data element of it. This helpfull for reducing the time of expanding the activity.
+
+
+
+ -
+ From the property panel, you can change the name of the activity, also you can expand and collapse an
+ activity.
+
+
+
+
+
+
Add data within the activity
+
+ -
+ Before adding the data to the activity, make sure that the activity is expanded. Then, you can change
+ the size of it based on your needs.
+
+
+
+ -
+ All the data can be found within the panel. You can select the data object you need and then add to the
+ activity.
+
+
+
+ -
+ you can change the name of the data object from the property panel, also you can change the type, and
+ the state in case of output object.
+
+
+
+
+ -
+ In other case (is not included in this example), you can add the data processing operator. this operator
+ is to define a specific data operations like sum,....
+
+ Todo that, after add the data processing operator, and connect it to the data object inputs and outputs,
+ you should add the description of the operator, by open the property panel, and then within the
+ documents you can add the description using your own world.
+ Following by click on the "Generate Behavior". To express the data operations in other language (after
+ few seconds), that used late to be code in the next exercice.
+
+
+
+
+
+
Add data to the following activtiy
+ In this exercice, you need to create a process model using DF-BPMN tool, also to add the data of
+ each activity.
+ You have some hints for the activities you want to create, dont forget to add sequence flow between activities.
+
+
Process description
+ A user fills a procurement request (summary and description) and identify a supplier. This request is sent to
+ the supplier for quotation. The supplier should add the following inforamtion to the quotation: price, comments,
+ if he is accept or no. The status of quotation will automatically changed to completed.
+ After completed, the quotations are sent back to the requestor for review and selection. Before starting the
+ review process, the status of the request will be changed to "pending for review". In the review quotation, the
+ requestor should accept or reject the quotation. And finally based on the decision of the requestor, the request
+ status changed to completed or abort.
+ To effectively implement the process, developer must understand how the information is conceptually structured
+ and arranged within each class (suppliers, quotation and request) and how the process interacts with it.
+
+
+
+ -
+ Activity "Create request and select supplier"
+
+ We have in this activity 2 main object that we need to create
+
+ -
+ Request within the summary nad the description.
+
+ -
+ Quotation within the create request and selected supplier
+
+
+
+
+ Therefore, we need to get the information of the request from the user, also the supplier should be selected
+ from the database before create the new quotation.
+
+ This activity with the data is the activity that express all this information. Please add it to your process
+ model.
+
+
+ -
+ Activity "Complete quotation"
+
+ In this activity, the supplier (presented by the lane) should add the informations about the quotation,
+ which
+ means that this activity is to update the quotation that created in the first activity.
+
+ From the process description, find the data object of this activity.
+
+ Note: in the first activity you define "quotation" you should use the same name of the data object in
+ all the process model to refere the same data object.
+
+ Hint: in this activity, you have 3 data user inputs and on static input, and you have one data object
+ output with 4 attributes.
+
+ Add the data within this activity in you model.
+
+
+ -
+ Activity "Update request status"
+
+ Add this activity after extract the data information from the process description.
+
+ -
+ Activity "Review quotation"
+
+ After this activity, there is a gateway, therefore, we can add a process variable to use it late in take
+ a dicision after the gateway.
+
+ This activity can be modeled in two way:
+
+ -
+ This first way is only to review the request and update if it accepted or not. Then, use the
+ request attribute (isAccepted) to take a decision.
+
+
+
+ -
+ In other way, we can define the process variable, which will be used later in the gateway and
+ then update the request if it acceted or not.
+
+
+
+
+
+ Add this activity to your model.
+
+ Note: You should always use the same name of the data that you are used before "request".
+
+
+ -
+ Activity "Complete request"
+
+ Add this activity, and extract the data information from the process description.
+
+ Note: You should always use the same name of the data that you are used before.
+
+
+ -
+ Activity "Abort request"
+
+ Add this activity, and extract the data information from the process description.
+
+ Note: You should always use the same name of the data that you are used before.
+
+
+
+
+ At the final of this excercice, you should have all the activity illustrated in the process model (BPMN to
+ DF-BPMN tool), indeed, to the data operations within each activity.
-
+
diff --git a/tutorial/df-bpmn/04-modeling/01-df-bpmn-symbol.png b/tutorial/df-bpmn/04-modeling/01-df-bpmn-symbol.png
new file mode 100644
index 00000000..cf0a9d55
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/01-df-bpmn-symbol.png differ
diff --git a/tutorial/df-bpmn/04-modeling/02-add-pool.png b/tutorial/df-bpmn/04-modeling/02-add-pool.png
new file mode 100644
index 00000000..3b613ad4
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/02-add-pool.png differ
diff --git a/tutorial/df-bpmn/04-modeling/03-add-lane.png b/tutorial/df-bpmn/04-modeling/03-add-lane.png
new file mode 100644
index 00000000..280fec73
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/03-add-lane.png differ
diff --git a/tutorial/df-bpmn/04-modeling/04-change-pool-name.png b/tutorial/df-bpmn/04-modeling/04-change-pool-name.png
new file mode 100644
index 00000000..99f13335
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/04-change-pool-name.png differ
diff --git a/tutorial/df-bpmn/04-modeling/05-change-lane-name.png b/tutorial/df-bpmn/04-modeling/05-change-lane-name.png
new file mode 100644
index 00000000..cb66e122
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/05-change-lane-name.png differ
diff --git a/tutorial/df-bpmn/04-modeling/06-process-element.png b/tutorial/df-bpmn/04-modeling/06-process-element.png
new file mode 100644
index 00000000..0dc8fb65
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/06-process-element.png differ
diff --git a/tutorial/df-bpmn/04-modeling/07-data-element.png b/tutorial/df-bpmn/04-modeling/07-data-element.png
new file mode 100644
index 00000000..667973b7
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/07-data-element.png differ
diff --git a/tutorial/df-bpmn/04-modeling/08-activitypanel.png b/tutorial/df-bpmn/04-modeling/08-activitypanel.png
new file mode 100644
index 00000000..5b9d6fd6
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/08-activitypanel.png differ
diff --git a/tutorial/df-bpmn/04-modeling/09-data-panel.png b/tutorial/df-bpmn/04-modeling/09-data-panel.png
new file mode 100644
index 00000000..f24119dc
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/09-data-panel.png differ
diff --git a/tutorial/df-bpmn/04-modeling/09-gherkin.png b/tutorial/df-bpmn/04-modeling/09-gherkin.png
new file mode 100644
index 00000000..43a17a4b
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/09-gherkin.png differ
diff --git a/tutorial/df-bpmn/04-modeling/10-create-request.png b/tutorial/df-bpmn/04-modeling/10-create-request.png
new file mode 100644
index 00000000..320c0191
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/10-create-request.png differ
diff --git a/tutorial/df-bpmn/04-modeling/16-review-quotation.png b/tutorial/df-bpmn/04-modeling/16-review-quotation.png
new file mode 100644
index 00000000..3e98640c
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/16-review-quotation.png differ
diff --git a/tutorial/df-bpmn/04-modeling/17-review-quotation2.png b/tutorial/df-bpmn/04-modeling/17-review-quotation2.png
new file mode 100644
index 00000000..f17df640
Binary files /dev/null and b/tutorial/df-bpmn/04-modeling/17-review-quotation2.png differ
diff --git a/tutorial/df-bpmn/05-convert-to-bonita.html b/tutorial/df-bpmn/05-convert-to-bonita.html
index 93cb710c..4937f5f5 100644
--- a/tutorial/df-bpmn/05-convert-to-bonita.html
+++ b/tutorial/df-bpmn/05-convert-to-bonita.html
@@ -25,8 +25,81 @@