Presentation on theme: "Evaluation of Abstraction Techniques. Uses for the complexity metrics in our framework Comparing the complexity of the reference model with the abstracted."— Presentation transcript:
Uses for the complexity metrics in our framework Comparing the complexity of the reference model with the abstracted models Comparing the complexity of the abstracted models at the same level of abstraction
proView framework A flexible approach for abstracting and personalizing large business process models, Jens Kolb and Manfred Reichert, ACM 2013 SIGAPP Applied Computing Review, vol.13, no.1, pp. 6-18. A tool for – Creating personalized process views. – Changing and propagating the changes. Differences to our approach – Each abstraction results in one process view. – An abstraction can not be performed automatically based on an abstraction criteria. – Although support for task’s attributes are provided, data flow consistency is not supported – Behaviour consistency is not consider while creating a view. – A demo of the tool: http://www.uni-ulm.de/in/iui-dbis/forschung/projekte/proview- project.html http://www.uni-ulm.de/in/iui-dbis/forschung/projekte/proview- project.html
Proview framework Evaluation criteria: – # Activities = no of executable statements in a software – # Gateways = no of choices – McCabe’s Cyclomatic Complexity Is a complexity (comprehensibility and maintainability) metric for business processes. It counts the number of all possible control flow. McCabe= e-n+2 e: is number of all control flows n: is the number of nodes
Slider Approach Polyvyanyy et. al. 2010 An abstraction technique for creating views. A business process model can be abstracted based on one of numeric task’s attribute. BPMA function – Input: a detailed model and abstraction criteria Abstraction criteria is a task attribute and must be numeric – Output: is an abstracted model
Slider Approach Evaluation Strategy 1: Basic sequential abstraction Strategy 2: Sequential and then block abstraction *Strategy 3: Sequential, dead end, and then loop abstraction Comparison coefficient – Shows the relation between the number of nodes in abstracted and detailed models.
Complexity metrics for BPMs by Volker Gruhn and Ralf Laue, BIS2006 CFC (control flow complexity of processes): (Cardoso 2005 “how to measure the control-flow complexity of web-processes and workflows”) – is a generalization of McCabe’s cyclomatic number – In BPM AND-split adds 1 XOR-split with “n” outgoing transitions adds “n” OR-split with “n” outgoing transitions adds “2 n -1”
Complexity metrics for BPMs by Volker Gruhn and Ralf Laue, BIS2006 Nesting depth of a control structure – Maximum nesting depth (MND) The nesting depth of an action is the number of decisions in the control flow that are necessary to perform this action. CFC=8 MND c =1 CFC=8 MND c =3
Other Factors Well-nested, well-structured (Van der Aalst 1998 The application of Petri nets to workflow management) – Splits and joins must be pairwise. Knot count (number of handles) (Woodward and Hedley 1979, A measure of control-flow complexity in program text) – A control graph of a program has a knot whenever the paths associated with transfer of control intersect.
Other factors Cognitive weight (Shao and Wang 2003, a new measure of software complexity based on cognitive weight, Journal of IIS) – Refers to the effort for understanding a piece of software Sequence W i =1 Call of a user-defined function W i =2 Branching with if-then or if-then-else W i =2 Branching with arbitrary number of selectable case W i =3 Iteration W i =3 *Recursive function call W i =3 Execution of control flows in parallel W i = 4 Interupt W i =4
Complexity Metrics by Cardaso, Mendling, Neumann, Reijers, BPM 2006 LOC (Line of Code) metric: – In BPM: – M1:NOA = No of activities – M2: NOAC = No of activities and control flows – M3: NOAJS= No of activities, joins, and splits
Halstead Complexity metric In software: (Halstead 1987, Elements of software science) [out of print!] – n1= number of unique operators (if, while, etc) – n2= number of unique operands (variables or constants) – N1= total number of operator occurrences – N2= total number of operand occurrences In BPM: (Cardaso, Mendling, Neumann, Reijers, BPM 2006) – n1= number of unique activities, splits, joins, and control flow elements. – n2= number of unique data variable that are manipulated by the process and its activities
Halstead-based Process Complexity (HPC) HPC estimates – Process length: N= n1*log2(n1) + n2*log2(n2) – Volume: V= (N1+N2)*log2(n1+n2) – Difficulty: D= (n1/2)* (N2/n2) Advantages: – No in-depth analysis of process structure – Rate of errors and maintenance efforts can be predicted – Simple to calculate – Can be used for most process modelling language
Fan-in/ Fan-out (Henry and Kafura 1981, Software structure metrics based on information flow) Measures the impact of the information flow in a program structure – Fan-in is a count of all other modules that call a given module (how many times a sub-process/an activity is called) – Fan-out is a count of all other modules that are called from the model under investigation (how many sub- processes/activities are called from a model) Complexity of a procedure (PC) is: PC= Length * ((Fan-in)*(Fan-out))^2
Interface Complexity Cardoso et al. 2006 Activities are invoked when their inputs (fan-in) are available and the activities are scheduled for execution. When an activity completes its output data is transferred to the activities connected to it. IC= Length* (number of inputs * number of outputs) ^2 Advantages: – Considers data-driven processes – Can be calculated at design time
Complexity of a graph Coefficient of Network Complexity (CNC) – Estimates the complexity of a graph: CNC= number of arcs/ (number of activities, joins, and splits) Complexity Index (CI) Is the minimal number of node reductions that reduces a graph to a single node. (is the number of structured activities) Restrictiveness estimator (RT) estimates the number of feasible sequences in a graph, which requires the reachability matrix r ij. RT = 2 ∑ r ij - 6(N-1)/ (N-2)(N-3)