Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "VIATRA/DSE/UserGuide/BPMNExample"

< VIATRA‎ | DSE
(Intro to the BPMN example)
 
(Description of the problem: typo)
Line 5: Line 5:
 
== Description of the problem ==
 
== Description of the problem ==
  
As an example a simplified business process of a web shop is presented, see the image below. After ''authorization'' (i.e. the user is signed in) the request can be about either a ''purchasing'' (e.g.editing user information, paying with a bank card, etc.) or about browsing items. In the later case ''recommendations'' are calculated in parallel with ''fetching item data'' and ''logging''. All tasks need a particular resource either a ''web server'', a ''SQL'' or a ''NoSQL database''.
+
As an example a simplified business process of a web shop is presented, see the image below. After ''authorization'' (i.e. the user is signed in) the request can be either about ''purchasing'' (e.g. editing user information, paying with a bank card, etc.) or about browsing items. In the later case ''recommendations'' are calculated in parallel with ''fetching item data'' and ''logging''. All tasks need a particular resource either a ''web server'', a ''SQL'' or a ''NoSQL database''.
  
 
(insert web shop business process image here)
 
(insert web shop business process image here)

Revision as of 10:16, 4 March 2015

The BPMN example of the VIATRA-DSE framework

This page gives an introduction to the usage of the VIATRA-DSE framework based on the BPMN domain.

Description of the problem

As an example a simplified business process of a web shop is presented, see the image below. After authorization (i.e. the user is signed in) the request can be either about purchasing (e.g. editing user information, paying with a bank card, etc.) or about browsing items. In the later case recommendations are calculated in parallel with fetching item data and logging. All tasks need a particular resource either a web server, a SQL or a NoSQL database.

(insert web shop business process image here)

Resources can have multiple variants, which have different characteristics. For example the SQL and the NoSQL resources hava a second variant which perform better (i.e. they have shorter execution time) but has extra costs:

Resource Type Variant 1

(factor/cost)

Variant 2

(factor/cost)

Web server 1 / 1 -
SQL 1 / 3 0.75 / 5
NoSQL 1 / 3 0.75 / 5

The problem is to optimize the business process on response time, resource utilization and cost by assigning resource variants to each task and create enough resource instances for the variants' pools. Furthermore the business process can suffer from bad design which could pull back the performance of the system. For example, the Fetch data and Log tasks could be executed in parallel.

However, optimizing a process with respect to multiple objectives (e.g. response time, resource usage, etc.) is a time consuming and erroneous task. Running simulations with different parameters is required to find an optimal solution, while evaluating results to identify a promising configuration is essential. In addition, contradicting objectives may be present (e.g. increasing resource utilization can lead to reduced throughput) and design flaws could prevent better performance. VIATRA-DSE can automate the process to go through different design candidates and find optimal one.

Modeling the problem

Domain model

Objectives

Transformation rules

Using the VIATRA-DSE framework

Download the example

Back to the top