1 / 16

Evaluation of Abstraction Techniques

Evaluation of Abstraction Techniques. 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 .

annora
Download Presentation

Evaluation of Abstraction Techniques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Evaluation of Abstraction Techniques

  2. 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

  3. proView frameworkA 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

  4. Proviewframework • 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

  5. Slider ApproachPolyvyanyy 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

  6. 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.

  7. Complexity metrics for BPMsby 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 “2n -1”

  8. Complexity metrics for BPMsby 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 MNDc=1 CFC=8 MNDc=3

  9. 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.

  10. 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 Wi =1 • Call of a user-defined function Wi =2 • Branching with if-then or if-then-else Wi =2 • Branching with arbitrary number of selectable case Wi =3 • Iteration Wi =3 • *Recursive function call Wi =3 • Execution of control flows in parallel Wi = 4 • InteruptWi =4

  11. Complexity Metricsby 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

  12. 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

  13. 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

  14. 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

  15. Interface ComplexityCardoso 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

  16. 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 rij. • RT = 2 ∑ rij- 6(N-1)/ (N-2)(N-3)

More Related