Complexity Metrics for Business Process Models
|
|
|
- Aubrie Hensley
- 10 years ago
- Views:
Transcription
1 Complexity Metrics for Business Process Models Volker Gruhn and Ralf Laue Chair of Applied Telematics / e-business Computer Science Faculty, University of Leipzig, Germany {gruhn,laue}@ebus.informatik.uni-leipzig.de Abstract. Business process models, often modelled using graphical languages like UML, serve as a base for communication between the stakeholders in the software development process. To fulfill this purpose, they should be easy to understand and easy to maintain. For this reason, it is useful to have measures that can give us some information about understandability and maintainability of a business process model. Such measures should tell us whether the model has an appropriate size, is clearly structured, easy to comprehend and partitioned into modules in a sensible way. This paper discusses how existing research results on the complexity of software can be extended in order to analyze the complexity of business process models. 1 Introduction One of the main purposes for developing business process models (BPM) is to support the communication between the stakeholders in the software development process (domain experts, business process analysts, software developers to name just a few). To fulfill this purpose, the models should be easy to understand and easy to maintain. If we want to create models that are easy to understand, at first we have to define what easy to understand means: We are interested in complexity metrics, i.e. measurements that can tell us whether a model is easy or difficult to understand. In the latter case, we may conclude from the metrics that the model should be re-engineered, for example by decomposing it into simpler modules. A significant amount of research has been done on the complexity of software programs, and software complexity metrics have been used successfully for purposes like predicting the error rate, estimating maintenance costs or identifying pieces of software that should be re-engineered. In this paper, we discuss how the ideas known from software complexity research can be used for analyzing the complexity of BPMs. To our best knowledge, there is almost no published work about this subject: Other papers like [1] discussed rather simple BPM languages (like process charts) only. Cardoso[2] (whose approach we discuss in section 3) seems to be the only author so far who addresses the problems of measuring The Chair of Applied Telematics / e-business is endowed by Deutsche Telekom AG
2 2 the complexity of more expressive BPM languages. However, we expect that the results of the research by Baroni[3] will be useful for BPM as well. We want to give an overview about factors that have an influence on the complexity of a BPM and metrics that can be used to measure these factors. Validation of the proposed metrics in a case study is beyond of the scope of this paper and has to be be done in future research. Also we restrict our discussion to the control flow of the BPM, neglecting other aspects like data flow and resource utilization. Even if the measurement of the complexity of business process models is the main purpose of this paper, it is worth mentioning that the main ideas should work in the same way for other kinds of models which can express a control flows with parallel activities and decisions. The metrics discussed in this paper are independent from the modeling language. They can be used for models in various formalisms, for example event driven process chains[4], UML activity diagrams[5], BPMN[6] or YAWL[7]. Of course, these graphical languages have different expressiveness. This paper discusses only those elements which can be found in all languages. Additional research would be necessary to address advanced concepts that are supported by some but not all business process modeling languages. In particular, the use of concepts like Exceptions, Cancellation or Compensation can increase the difficulty of a BPM considerably. If we have to depict a BPM in this article, we use the notation of event driven process chains[4], mainly because of its simplicity. EPCs consist of functions (activities which need to be executed, depicted as rounded boxes), events (preand postconditions before / after a function is executed, depicted as hexagons) and connectors (which can split or join the flow of control between the elements). Arcs between these elements represent the control flow. The connectors are used to model parallel and alternative executions. There are two kinds of connectors: Splits have one incoming and at least two outgoing arcs, joins have at least two incoming arcs and one outgoing arc. AND-connectors (depicted as ) are used to model parallel execution. When an AND-split is executed, the elements on all outgoing arcs have to be executed in parallel. The corresponding AND-join connector waits until all parallel control flows that have been started are finished. XOR-connectors (depicted as ) can be used to model alternative execution: A XOR-split has multiple outgoing arcs, but only one of them will be processed. The corresponding XOR-join waits for the completition of the control flow on the selected arc. Finally, OR-connectors (depicted as ) are used to model parallel execution of one or more flows. An OR-split starts the processing of one or more of its outgoing arcs. The corresponding OR-join waits until all control flows that have been started by the coresponding OR-split are finished. In the following sections, we discuss well-known complexity metrics for software programs and their adaption to BPMs. Section 2 discusses the Lines of Code as the simplest complexity metric. Metrics, which take into account the
3 3 Start A B C D E done Error occurred Error processing Fig. 1. almost linear model with CFC=8 control flow and the structure of a model, are discussed in sections 3 and 4. Section 5 presents metrics which measure the cognitive effort to comprehend a model. Metrics for a BPMs that are decomposed into modules are discussed in chapter 6. Finally, chapter 7 gives a summary about the metrics and their usage for analyzing the complexity of BPMs. The related work on software metrics is discussed throughout this paper, for this reason there is no extra related work section. 2 Size of the Model: Lines of Code The IEEE Standard Computer Dictionary defines complexity as the degree to which a system or component has a design or implementation that is difficult to understand and verify [8]. The easiest complexity measurement for software is the lines of code (LOC) count which represents the program size. While for assembler programs a line of code is the same as an instruction statement, for programs written in a modern programming language, the LOC count usually refers to the number of executable statements (ignoring comments, line breaks etc.)[9]. For BPMs, the number of activities in the model can be regarded as an equivalent to the number of executable statements in a piece of software. For this reason, the number of activities is a simple, easy to understand measure for the size of a BPM. However, the number of activities metric does not take into account the structure of the model: A BPM with 50 activities may be written using a wellstructured control flow which is easy to understand or in an unstructured way which makes understanding very hard. For this reason, we will discuss other metrics which measure the complexity of the control flow in the next chapters. 3 Control Flow Complexity of the Model: McCabe-Metric The cyclomatic number, introduced by McCabe[10], is one of the most widely used software metrics. It is calculated from the control flow graph and measures
4 4 the number of linearly-independent paths through a program. For a formal definition, we refer to the literature[9, 10]; informally it is sufficient to say that the cyclomatic number is equal to the number of binary decisions (for example IF-statements in a programming language) plus 1. Non-binary decisions (for example select or case-statements in a programming language) with n possible results are counted as n-1 binary decisions. The cyclomatic number measures the number of all possible control flows in a program. For this reason, a low cyclomatic number indicates that the program is easy to understand and to modify. The cyclomatic number is also an indicator of testability, because it corresponds to the number of test cases needed to achieve full path coverage. [11] found that there is a significant correlation between the cyclomatic number of a piece of software and its defect level. Cardoso[2] (to our knowledge the only other author who has published about complexity analysis of workflows / BPM) has suggested a complexity measure for BPMs which is a generalization of McCabe s cyclomatic number. The controlflow complexity of processes (CFC) as defined by Cardoso is the number of mental states that have to be considered when a designer develops a process. Analogously to the cyclomatic number which is equal to the number of binary decisions plus 1, the corresponding CFC metric for BPMs counts the number of decisions in the flow of control. Every split in the modell adds to the number of possible decisions as follows: AND-split: As always all transitions outgoing from an AND-split must be processed, the designer needs only to consider one state as the result of the execution of an AND-split. For this reason, every AND-split in a model adds 1 to the CFC metric of this model. XOR-split with n outgoing transitions: Exactly one from n possible paths must be taken, i.e. the designer has to consider n possible states that may arise from the execution of the XOR-split. For this reason, every XOR-split with n outgoing transitions adds n to the CFC metric of this model. OR-split with n outgoing transitions: There are 2 n 1 possibilities to process at least one and at most n of the outgoing transitions of an OR-split, i.e. every OR-split with n outgoing transitions adds 2 n 1 to the CFC metric. [2] reports the promising result of a first (yet rather small) experiment to verify the validity of the CFC metric: A correlation was found between the perceived complexity as rated by students and the CFC metric. A shortcoming of this metric is that just counting the number of possible decisions in a model gives only few information about its structure. For example, compare the BPMs in Fig. 1 and Fig. 2. For both models, the CFC is 8, because they contain the same number of binary decisions. Nevertheless, the almost linear model in 1 is obviously much easier to understand. As another example, Fig. 3 shows two models with one OR split/join-block. The left one has a CFC of 3, the right one a CFC of 15. If we want to measure the difficulty to comprehend a model, this difference may be unjustified.
5 5 Start A D B C E Fig. 2. unstructured model with CFC=8 order drink order main dish order drink order main dish order dessert order salad Fig. 3. Two models which different CFC metrics To overcome these shortcomings, we will discuss other metrics in the next chapters. These metrics take into account the structure of the BPM. They can be used additionally to the CFC metrics. 4 Structure of the Model: Nesting Depth and Jumps out of a Control Structure Both models depicted in Fig. 1 and Fig. 2 have a CFC metric of 8. However, there should be no doubt that Fig. 1 shows a much less complex model than Fig. 2. One reason for this lies in the fact that that Fig. 1 shows an almost linear flow of control while in Fig. 2, there are several nested XOR-splits and XORjoins. From the research about software complexity, we know that the metrics maximum nesting depth and mean nesting depth are suitable for measuring this factor which has influence on the overall complexity of the model: A greater nesting depth implies greater complexity. [12] showed that both nesting depth metrics have a strong influence on other structure-related complexity metrics. The definition of the metrics maximum nesting depth and mean nesting depth for BPMs is straightforward: The nesting depth of an action is the number of decisions in the control flow that are necessary to perform this action. The
6 6 A B C A B C jump out of the inner control structure Fig. 4. The left model has properly nested control flow blocks, the right one has not. maximum nesting depth in Fig. 1 is 1 (every error leads to the error handling process), the model in Fig. 2 has a maximum nesting depth of 3 (because three decisions must be made in order to process action C). Using this metric, we conclude that Fig. 2 shows a more complex model than Fig. 1. The nesting depth metric can be calculated additionally to the CFC metric that has been discussed in the last chapter. We have to note that the use of the term nesting depth is a little bit misleading. Other than modern structured programming languages, common graphoriented business modeling languages (for example UML activity diagrams[5] or YAWL[7]) do not require proper nesting, i.e. splits and joins does not have to occur pairwise. This is comparable with programming languages that do not only allow structured loops (like repeat...until etc.) but also arbitrary GOTOjumps. Not without a reason, [13] writes that the current unstructured style of business process modeling, which we can call spaghetti business process modeling, leads to similar problems as spaghetti coding. If we are asking for the complexity of a BPM, we must take into account these difficulties that arise from splits and joins that do not occur pairwise in well-nested constructs. As an example, Fig. 4 shows two similar models. The splits and joins in the left one are properly nested - the inner control structure (XOR-split/XOR-join) is contained completely within the outer control structure. In the right model, there is a jump out of the inner control block, and this jumps leads to a target behind the outer control structure. For software programs, [14] introduced the knot count metric for measuring such (undesirable) jumps out of and into a structured control flow. A control graph of a program has a knot whenever the paths associated with transfer of control intersect. For example, this is the case for the control flow graph shown in Fig. 5. For BPMs, van der Aalst[15] defined the term well-structuredness: A model is well-structured if the split/join constructions are properly nested. Formally,
7 7 Fig. 5. Control flow with a knot well-structuredness is defined in terms of Petri net terminology. [15] models a BPM as workflow net (a special case of a Petri net). It is defined to be wellstructured if this workflow net does not contain handles. 1 This means that the number of handles in the workflow net is a measure for the number of not wellstructured constructs in this model. It is comparable with the knot count metric that has been used successfully for measuring software complexity. In order to compute this metric for a BPM, we have to transform this model into a workflow net. This can be done for example for BPMs modelled as event-driven process chains[17]. In general, using not well-structured models as the one in Fig. 4 can be regarded as bad modeling style which makes understanding of the model more complicate. Mostly, it is possible to redesign such models by using well-structured ones[18]. For example, the language BPEL4WS[19] or the workflow management system ADEPT[20] have semantic restrictions which force the modeler to build well-structured models. 2 For such models, the metric number of handles is always 0, just as the knot count metric is always 0 for programs written in a structured programming language 5 Comprehensiveness of the model: Cognitive Complexity Metrics In chapter 3, we have used two examples to illustrate shortcomings of the CFC[2] metric. The additional metrics proposed in chapter 4 are helpful in the example depicted in Fig. 1 and Fig. 2. They could be used in addition to the CFC metric. Now let s have a look at the other example (Fig. 3). Both models show a control structure in which one or more paths are executed in parallel. If we define complexity as difficulty to test (i.e. number of test cases needed to achieve full path coverage), the CFC metric does a perfect job. However, we argue that this metric is less useful if we define complexity as difficulty to understand a model : The number of control flow paths between the OR-split and the OR-join has not 1 A Petri net has a handle, iff for any pair of nodes x and y such that one of the nodes is a place and the other a transition, there exist two different paths from x to y which have more common elements than just x and y. Details can be found in [16] and [15]. We define the number of handles in a workflow net as the number of pairs of nodes with the mentioned property. 2 It is worth mentioning that the UML 2.0 specification does not require anymore that forks and joins must occur pairwise, which was necessary in the version 1.0 of the standard. We do not think that this can be seen as a progress towards better understandable models with less errors.
8 8 too much influence on the effort that is necessary to comprehend this control structure. Regardless of whether there are 2, 4 or 10 control flow paths between the split and the join, the person who reads the model will always understand everything between the OR-split and the OR-join as only one control structure. Shao and Wang [21] defined the cognitive weight as a metric to measure the effort required for comprehending a piece of software. Based on empirical studies, they defined cognitive weights for basic control structures. Table 1 shows the basic control structures and its cognitive weights which are a measure for the difficulty to understand a control structure. The cognitive weight of a basic control structure is a measure for the difficulty to understand this control structure. control structures W i sequence (an arbitrary number of statements in a sequence without branching) 1 call of an user-defined function 2 branching with if-then or if-then-else 2 branching with case (with an arbitrary number of selectable cases) 3 Iteration (for-do, repeat-until, while-do) 3 recursive function call 3 execution of control flows in parallel 4 Interrupt 4 Table 1. cognitive weights as defined in [21] The cognitive weight of a software component without nested control structures is defined as the sum of the cognitive weights of its control structures according to table 1. It seems to be a promising approach to use the ideas from [21] to define cognitive weights for BPMs. If we want to do so, we have to consider the fact that BPMs may be modelled in an unstructured way as discussed in chapter 4. Also, table 1 should be tailored to the needs of BPMs: While recursion does not play any role in business process modeling, it is necessary to consider other concepts like cancellation or the multi-choice-pattern[22]. This will be subject of our further research, which should include validating experiments as well. The idea behind cognitive weights is to regard basic control structures as patterns that can be understood by the reader as a whole. A similar idea has been proposed by [23]. This approach is based on automatically finding wellknown architectural patterns (for example from [24]) in a UML model. The idea behind this approach is that well-documented patterns have been found highly mature and using them helps to improve code quality, understandability and maintainability. Obviously, this assertion should be regarded with care: Architectural patterns are only useful if they are used by experienced programmers in the right way, and an extensive use of patterns does not have to mean anything for the quality of the code. So, if the approach from [23] is used, a deep knowledge about the patterns and their correct usage is necessary.
9 9 However, [23] does not only discuss the use of good design patterns, it also recognizes so called anti-patterns, i.e. commonly occurring solutions to a problem that are known to have negative consequences. If such an anti-pattern is found in the code, this can be regarded as a sign of bad programming. It seems to be appealing to us to use the ideas from [23] in the context of business process models. In particular, finding anti-patterns should be very useful in order to uncover bad modeling style. An example for such an anti-pattern for BPMs is the Implicit Termination pattern as described in [22]. (Implicit Termination means that a process should be terminated if nothing else is to do - without modeling an explicit end state, see [22] for details). 6 Modularization of the Model: Fan-in / Fan-out-Metrics Modular modeling of business processes is supported by all major BPM languages (for example by nested activity diagrams in UML, sub-processes in BPMN, composite tasks in YAWL or hierarchical event-driven process chains). Dividing a BPM in modular sub-models cannot only help to make the BPM easier to understand, it can also lead to smaller, reusable models if modularization is used in a reasonable way. For analyzing the modularization of a BPM, we can adopt the ideas of Henry and Kafura[25] who developed metrics for reasoning about the structure of modularized software systems. They measure the fan-in and fan out for every module, where fan-in is a count of all other modules that call a given module and fan-out is a count of all other modules that are called from the model under investigation. Usually, the modules with a large fan-in are small submodules doing some simple job that is needed by a lot of other modules. On the other hand, the modules with a large fan-out are large modules on the higher layers of the design structure. If a module with both large fan-in and fan-out is detected, this may indicate that a re-design could improve the model. [25] suggests the metric ((fan in) (fan out)) 2 in order to measure this kind of structural complexity. This metric can be used in the same way for analyzing BPMs: If a submodel of a BPM has a high structural complexity according to the fan-in/fan-out metric, they will be difficult to use and are most likely poorly designed. 7 Conclusion and Directions for Future Research Table 2 summarizes the results from the past chapters: Metrics for measuring the complexity of software are compared with corresponding metrics for business process models. Also, we assess the significance of these metrics for BPM. As the metrics in the left column of the table have been proved to be useful for measuring the complexity of software, we expect that the corresponding metrics in the second column will be useful for measuring the complexity of BPMs. It is one aim of our future research to validate this expectation.
10 10 software corresponding complexity metric for metric BPM Lines of Code number of activities cyclomatic number [10] CFC as defined by Cardoso [2] usage, significance very simple, does not take into account the control-flow measures the number of possible control flow decisions, well-suited for measuring the number of test cases needed to test the model, does not take into account other structure-related information max. / mean max. / mean provides information about structure, can be used complementary nesting depth nesting depth to the CFC metric knot-count number of handles measure of well-structuredness (for example jumps [14] out of or into control-flow structures) is always 0 for well-structured models can be used complementary to the CFC metric cognitive cognitive weight weight [21] (tailored for BPM) (Anti)Patterns (Anti)Patterns [26] for BPM to detect poor modeling Fan-in / Fanout Fan-in / Fan- can indicate poor modularization [25] out Table 2. complexity metrics for software and BPM measures the cognitive effort to understand a model, can indicate that a model should be re-designed experience with the patterns needed counting the usage of anti-patterns in a BPM can help Due to the number of factors that contribute to the complexity of a BPM, we cannot identify a single metric that measures all aspects of a model s complexity. This situation is well-known from the measuring of software complexity. A common solution is to associate different metrics within a metrics suite. Each individual metric in the suite measures one aspect of the complexity, and together they give a more accurate overview. For BPMs, the CFC as defined by Cardoso[2] or a cognitive weight metric (tailored to BPM) seems to be suitable to give some kind of general information about the complexity of a BPM. Nesting depth can be used complementary to both CFC and cognitive weight. Additionally, the number of handles and anti-patterns are useful to uncover bad modeling style, modeling errors and models that are difficult to understand. The fan-in/fan-out metrics can be used to evaluate the decomposition of the model into sub-models. All metrics discussed in this paper can be easily computed by a machine. Also, they are independent from the modeling language, because they use high-level information from the control flow graph of the BPM only. The layout of a graphical model and the comprehensiveness of the texts used in the model are aspects of complexity that cannot be measured with the metrics discussed in this paper. Both play a very important role anyway. Important considerations to good layout include for example:
11 11 choosing size and color of the graphical elements in the model with care modeling time-dependency horizontally from left to right (at least for people who speak languages that read left-to-right) or vertically from top to bottom aligning the edges of the graphical elements avoiding intersecting arrows All these points are important for drawing easy-to-read graphical BPMs. However, they are beyond the scope of this paper. The same holds for the quality of texts that are used in the model, for example to describe the activities. Most metrics discussed in this paper can instantly be used for analyzing BPM, namely the number of activities, Cardoso s CFC[2], the max. / mean nesting depth, the number of handles and the fan-in/fan-out metrics. For defining and using cognitive weights, patterns and anti-patterns, further tailoring to the demands of BPM is necessary. This will be the subject of our ongoing research as well as the study of the relations between data-flow and complexity. References 1. Latva-Koivisto, A.: Finding a complexity measure for business process models (2002) 2. Cardoso, J.: How to measure the control-flow complexity of web processes and workflows. In: The Workflow Handbook. (2005) Baroni, A.L.: Quantitative assessment of UML dynamic models. In: ESEC/FSE- 13: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, New York, NY, USA, ACM Press (2005) Aalst, W.: Formalization and verification of event-driven process chains. Information & Software Technology 41 (1999) Object Management Group: UML 2.0 Superstructure Final Adopted Specification. Technical report (2003) 6. Business Process Management Initiative: Business Process Modeling Notation. Technical report, BPMI.org (2004) 7. Aalst, W., Hofstede, A.: YAWL: Yet another workflow language. Technical Report FIT-TR , Queensland University of Technology, Brisbane (2002) 8. Institute of Electrical and Electronics Engineers: IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries. (1990) 9. Kan, S.H.: Metrics and Models in Software Quality Engineering. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA (2002) 10. McCabe, T.J.: A complexity measure. IEEE Trans. Software Eng. 2 (1976) Grady, R.B.: Successfully applying software metrics. Computer 27 (1994) Schroeder, A.: Integrated program measurement and documentation tools. In: ICSE 84: Proceedings of the 7th international conference on Software engineering, Piscataway, NJ, USA, IEEE Press (1984) Holl, A., Valentin, G.: Structured business process modeling (SBPM). In: Information Systems Research in Scandinavia (IRIS 27) (CD-ROM). (2004) 14. M. R. Woodward, M.A.H., Hedley, D.: A measure of control-flow complexity in program text. IEEE Transactions on Software Engineering SE-5 (1979) 45 50
12 Aalst, W.: The Application of Petri Nets to Workflow Management. The Journal of Circuits, Systems and Computers 8 (1998) Esparza, J., Silva, M.: Circuits, handles, bridges and nets. In: Applications and Theory of Petri Nets. (1989) Dehnert, J., Aalst, W.: Bridging The Gap Between Business Models And Workflow Specifications. Int. J. Cooperative Inf. Syst. 13 (2004) Kiepuszewski, B., ter Hofstede, A.H.M., Bussler, C.: On structured workflow modelling. In: Conference on Advanced Information Systems Engineering. (2000) Andrews, T.: Business process execution language for web services. (2003) 20. Reichert, M., Dadam, P.: ADEPTflex -supporting dynamic changes of workflows without losing control. Journal of Intelligent Information Systems 10 (1998) Shao, J., Wang, Y.: A new measure of software complexity based on cognitive weights. IEEE Canadian Journal of Electrical and Computer Engineering 28 (2003) Aalst, W., Hofstede, A., Kiepuszewski, B., Barros, A.: Workflow patterns. Distributed and Parallel Databases 14 (2003) 23. Gustafsson, J.: Metrics calculation in MAISA (2000) 24. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: Abstraction and reuse of object-oriented design. Lecture Notes in Computer Science 707 (1993) Henry, S., Kafura, K.: Software structure metrics based on information flow. IEEE Transactions on Software Engineering 7(5) (1981) Paakki, J., Karhinen, A., Gustafsson, J., Nenonen, L., Verkamo, A.I.: Software metrics by architectural pattern mining. In: Proc. International Conference on Software: Theory and Practice. (2000)
Process Modeling Notations and Workflow Patterns
Process Modeling Notations and Workflow Patterns Stephen A. White, IBM Corp., United States ABSTRACT The research work of Wil van der Aalst, Arthur ter Hofstede, Bartek Kiepuszewski, and Alistair Barros
A Complexity Measure Based on Cognitive Weights
International Journal of Theoretical and Applied Computer Sciences Volume 1 Number 1 (2006) pp. 1 10 (c) GBS Publishers and Distributors (India) http://www.gbspublisher.com/ijtacs.htm A Complexity Measure
Business Process Quality Metrics: Log-based Complexity of Workflow Patterns
Business Process Quality Metrics: Log-based Complexity of Workflow Patterns Jorge Cardoso Department of Mathematics and Engineering, University of Madeira, Funchal, Portugal [email protected] Abstract. We
Modeling Guidelines Manual
Modeling Guidelines Manual [Insert company name here] July 2014 Author: John Doe [email protected] Page 1 of 22 Table of Contents 1. Introduction... 3 2. Business Process Management (BPM)... 4 2.1.
BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective
BIS 3106: Business Process Management Lecture Two: Modelling the Control-flow Perspective Makerere University School of Computing and Informatics Technology Department of Computer Science SEM I 2015/2016
Business Process Control-Flow Complexity: Metric, Evaluation, and Validation
International Journal of Web Services Research, 5(2), 49-76, April-June 2008 49 Business Process Control-Flow Complexity: Metric, Evaluation, and Validation Jorge Cardoso, University of Madeira, Portugal
BPMN PATTERNS USED IN MANAGEMENT INFORMATION SYSTEMS
BPMN PATTERNS USED IN MANAGEMENT INFORMATION SYSTEMS Gabriel Cozgarea 1 Adrian Cozgarea 2 ABSTRACT: Business Process Modeling Notation (BPMN) is a graphical standard in which controls and activities can
Modeling Workflow Patterns
Modeling Workflow Patterns Bizagi Suite Workflow Patterns 1 Table of Contents Modeling workflow patterns... 4 Implementing the patterns... 4 Basic control flow patterns... 4 WCP 1- Sequence... 4 WCP 2-
Structural Detection of Deadlocks in Business Process Models
Structural Detection of Deadlocks in Business Process Models Ahmed Awad and Frank Puhlmann Business Process Technology Group Hasso Plattner Institut University of Potsdam, Germany (ahmed.awad,frank.puhlmann)@hpi.uni-potsdam.de
Business Process Modeling
Business Process Concepts Process Mining Kelly Rosa Braghetto Instituto de Matemática e Estatística Universidade de São Paulo [email protected] January 30, 2009 1 / 41 Business Process Concepts Process
Methods for the specification and verification of business processes MPB (6 cfu, 295AA)
Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 19 - Event-driven process chains 1 Object We overview EPC and the main
IMPROVING BUSINESS PROCESS MODELING USING RECOMMENDATION METHOD
Journal homepage: www.mjret.in ISSN:2348-6953 IMPROVING BUSINESS PROCESS MODELING USING RECOMMENDATION METHOD Deepak Ramchandara Lad 1, Soumitra S. Das 2 Computer Dept. 12 Dr. D. Y. Patil School of Engineering,(Affiliated
Dr. Jana Koehler IBM Zurich Research Laboratory
Precise Modeling of Business Processes with the Business Process Modeling Notation BPMN 2.0 Dr. Jana Koehler IBM Zurich Research Laboratory ZRL BIT at a Glance Computer Science at ZRL: Security/Cryptography
Different Approaches to White Box Testing Technique for Finding Errors
Different Approaches to White Box Testing Technique for Finding Errors Mohd. Ehmer Khan Department of Information Technology Al Musanna College of Technology, Sultanate of Oman [email protected] Abstract
Business Process Modeling Information Systems in Industry (372-1-4207 )
Business Process Modeling Information Systems in Industry (372-1-4207 ) Arnon Sturm The material of this presentation is adopted from various people including:, Pnina Soffer, Iris Reinhartz-Berger 1 Outline
PLG: a Framework for the Generation of Business Process Models and their Execution Logs
PLG: a Framework for the Generation of Business Process Models and their Execution Logs Andrea Burattin and Alessandro Sperduti Department of Pure and Applied Mathematics University of Padua, Italy {burattin,sperduti}@math.unipd.it
Semantic Analysis of Flow Patterns in Business Process Modeling
Semantic Analysis of Flow Patterns in Business Process Modeling Pnina Soffer 1, Yair Wand 2, and Maya Kaner 3 1 University of Haifa, Carmel Mountain 31905, Haifa 31905, Israel 2 Sauder School of Business,
Business Process Modeling with BPMN. Dr. Darius Šilingas Head of Solutions Department [email protected]
Business Process Modeling with BPMN Dr. Darius Šilingas Head of Solutions Department [email protected] No Magic Europe, 2012 About Instructor Dr. Darius Šilingas q Principal Consultant and Head
Analysis and Validation of Control-Flow Complexity Measures with BPMN Process Models
Analysis and Validation of Control-Flow Complexity Measures with BPMN Process Models Elvira Rolón 1, Jorge Cardoso 2, Félix García 1, Francisco Ruiz 1, Mario Piattini 1 1 Alarcos Research Group, University
Business Independent Model of Mobile Workforce Management
Business Independent Model of Mobile Workforce Management Volker Gruhn and Thomas Richter Chair of Applied Telematics / e-business, University of Leipzig Klostergasse 3, 04109 Leipzig, Germany {gruhn,richter}@ebus.informatik.uni-leipzig.de
From Business World to Software World: Deriving Class Diagrams from Business Process Models
From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254
Diagramming Techniques:
1 Diagramming Techniques: FC,UML,PERT,CPM,EPC,STAFFWARE,... Eindhoven University of Technology Faculty of Technology Management Department of Information and Technology P.O. Box 513 5600 MB Eindhoven The
Activity Mining for Discovering Software Process Models
Activity Mining for Discovering Software Process Models Ekkart Kindler, Vladimir Rubin, Wilhelm Schäfer Software Engineering Group, University of Paderborn, Germany [kindler, vroubine, wilhelm]@uni-paderborn.de
Ontology-Based Discovery of Workflow Activity Patterns
Ontology-Based Discovery of Workflow Activity Patterns Diogo R. Ferreira 1, Susana Alves 1, Lucinéia H. Thom 2 1 IST Technical University of Lisbon, Portugal {diogo.ferreira,susana.alves}@ist.utl.pt 2
Software Design. Software Design. Software design is the process that adds implementation details to the requirements.
Software Design Software Design Software design is the process that adds implementation details to the requirements. It produces a design specification that can be mapped onto a program. It may take several
BPMN VS. UML ACTIVITY DIAGRAM FOR BUSINESS PROCESS MODELING
Accounting and Management Information Systems Vol. 11, No. 4, pp. 637 651, 2012 BPMN VS. UML ACTIVITY DIAGRAM FOR BUSINESS PROCESS MODELING Cristina Venera GEAMBAŞU 1 The Bucharest University of Economic
SECTION 2 PROGRAMMING & DEVELOPMENT
Page 1 SECTION 2 PROGRAMMING & DEVELOPMENT DEVELOPMENT METHODOLOGY THE WATERFALL APPROACH The Waterfall model of software development is a top-down, sequential approach to the design, development, testing
Chapter 2 Introduction to Business Processes, BPM, and BPM Systems
Chapter 2 Introduction to Business Processes, BPM, and BPM Systems This chapter provides a basic overview on business processes. In particular it concentrates on the actual definition and characterization
Pragmatic guidelines for Business Process Modeling
Pragmatic guidelines for Business Process Modeling Moreno-Montes de Oca I, Snoeck M. KBI_1509 Pragmatic guidelines for Business Process Modeling Technical Report Isel Moreno-Montes de Oca Department of
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
Analysis and Evaluation of Quality Metrics in Software Engineering
Analysis and Evaluation of Quality Metrics in Software Engineering Zuhab Gafoor Dand 1, Prof. Hemlata Vasishtha 2 School of Science & Technology, Department of Computer Science, Shri Venkateshwara University,
Business Process Management: A personal view
Business Process Management: A personal view W.M.P. van der Aalst Department of Technology Management Eindhoven University of Technology, The Netherlands [email protected] 1 Introduction Business
From Workflow Design Patterns to Logical Specifications
AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 1 http://dx.doi.org/10.7494/automat.2013.17.1.59 Rados³aw Klimek* From Workflow Design Patterns to Logical Specifications 1. Introduction Formal methods in software
Using UML Part Two Behavioral Modeling Diagrams
UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
Quick Guide Business Process Modeling Notation (BPMN)
Quick Guide Business Process Modeling Notation (BPMN) IDM Technical Team January 2007 Quick Guide: BPMN 2 of 14 The scope of this document is to provide a quick guide to the concepts and usage of the Business
ARIS Design Platform Getting Started with BPM
Rob Davis and Eric Brabander ARIS Design Platform Getting Started with BPM 4y Springer Contents Acknowledgements Foreword xvii xix Chapter 1 An Introduction to BPM 1 1.1 Brief History of Business Process
Process Modelling Notations
Process Modelling Notations Event-driven Process Chains (EPC) Business Process Modelling Notation (BPMN) Workflow Management Agenda Motivation for BPM EPC BPMN Case Study 1 Why Business Process Modelling
Baseline Code Analysis Using McCabe IQ
White Paper Table of Contents What is Baseline Code Analysis?.....2 Importance of Baseline Code Analysis...2 The Objectives of Baseline Code Analysis...4 Best Practices for Baseline Code Analysis...4 Challenges
Eclipse BPMN Modeler Introducing Intalio Designer
Eclipse BPMN Modeler Introducing Intalio Designer Arnaud Blandin Ismael Ghalimi Hugues Malphettes Intalio Inc, EMEA Manager Intalio Inc, CEO Intalio Inc, Lead Developer 6 rue du conseil general 1205 Geneva
A Business Process Driven Approach for Generating Software Modules
A Business Process Driven Approach for Generating Software Modules Xulin Zhao, Ying Zou Dept. of Electrical and Computer Engineering, Queen s University, Kingston, ON, Canada SUMMARY Business processes
Business Process Standards and Modeling
Business Process Standards and Modeling Janne J. Korhonen Helsinki University of Technology STANDARDS Standards Organizations Object Management Group (www.omg.org) Business Process Modeling Notation (BPMN)
MEASURING SOFTWARE FUNCTIONAL SIZE FROM BUSINESS PROCESS MODELS
International Journal of Software Engineering and Knowledge Engineering World Scientific Publishing Company MEASURING SOFTWARE FUNCTIONAL SIZE FROM BUSINESS PROCESS MODELS CARLOS MONSALVE CIDIS-FIEC, Escuela
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note
Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN
A UML 2 Profile for Business Process Modelling *
A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University
Demonstrating WSMX: Least Cost Supply Management
Demonstrating WSMX: Least Cost Supply Management Eyal Oren 2, Alexander Wahler 1, Bernhard Schreder 1, Aleksandar Balaban 1, Michal Zaremba 2, and Maciej Zaremba 2 1 NIWA Web Solutions, Vienna, Austria
An Evaluation of Conceptual Business Process Modelling Languages
An Evaluation of Conceptual Business Process Modelling Languages Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems
Aspect Oriented Strategy to model the Examination Management Systems
Aspect Oriented Strategy to model the Examination Management Systems P.Durga 1, S.Jeevitha 2, A.Poomalai 3, Prof.M.Sowmiya 4 and Prof.S.Balamurugan 5 Department of IT, Kalaignar Karunanidhi Institute of
An Introduction to Business Process Modeling
An Introduction to Business Process Modeling Alejandro Vaisman Université Libre de Bruxelles [email protected] Abstract. Business Process Modeling (BPM) is the activity of representing the processes of
Efficient BPMN: from Anti-Patterns to Best Practices
Efficient BPMN: from Anti-Patterns to Best Practices Architecture Made Simple Kristina Bigelienė, No Magic Europe About Speaker Kristina Bigelienė [email protected] Solution Architect for
Mapping from Business Processes to Requirements Specification
Extended abstract 1/5 Mapping from Business Processes to Requirements Specification Svatopluk Štolfa, Ivo Vondrák Department of Computer Science, VŠB - Technical University of Ostrava, 17.listopadu 15,
Towards an Integration of Business Process Modeling and Object-Oriented Software Development
Towards an Integration of Business Process Modeling and Object-Oriented Software Development Peter Loos, Peter Fettke Chemnitz Univeristy of Technology, Chemnitz, Germany {loos peter.fettke}@isym.tu-chemnitz.de
A Business Process Services Portal
A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru
SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization
SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization Samir Tartir Department of Computer Science University of Georgia Athens, Georgia 30602 USA Email: [email protected] ABSTRACT: A major problem
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
Prediction of Business Process Model Quality based on Structural Metrics
Prediction of Business Process Model Quality based on Structural Metrics Laura Sánchez-González 1, Félix García 1, Jan Mendling 2, Francisco Ruiz 1, Mario Piattini 1 1 Alarcos Research Group, TSI Department,
Instructional Design Framework CSE: Unit 1 Lesson 1
Instructional Design Framework Stage 1 Stage 2 Stage 3 If the desired end result is for learners to then you need evidence of the learners ability to then the learning events need to. Stage 1 Desired Results
Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur
Module 1 Introduction to Software Engineering Lesson 2 Structured Programming Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the important features of
IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS
IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands [email protected] Abstract Packages are an important mechanism to decompose
Chapter 3 Essential Process Modeling
Chapter 3 Essential Process Modeling Essentially, all models are wrong, but some are useful. George E.P. Box (1919 ) Business process models are important at various stages of the BPM lifecycle. Before
Title: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
YAWL: Yet Another Workflow Language (Revised version) 2
YAWL: Yet Another Workflow Language (Revised version) W.M.P. van der Aalst ½ ¾ and A.H.M. ter Hofstede ¾ ¾ ½ Department of Technology Management, Eindhoven University of Technology P.O. Box 513, NL-5600
Software Metrics in Static Program Analysis
www.redlizards.com Software Metrics in Static Program Analysis ICFEM, 11/18/2010 Andreas Vogelsang 1, Ansgar Fehnker 2, Ralf Huuck 2, Wolfgang Reif 3 1 Technical University of Munich 2 NICTA, Sydney 3
08 BPMN/1. Software Technology 2. MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard
MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard Software Technology 2 08 BPMN/1 2 ntro Sequence of (three?) lessons on BPMN and technologies related
Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
Analysis and Implementation of Workflowbased Supply Chain Management System
Analysis and Implementation of Workflowbased Supply Chain Management System Yan Tu 1 and Baowen Sun 2 1 Information School, Central University of Finance and Economics, Beijing, 100081, P.R.China,[email protected]
Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC
Modernized and Maintainable Code Frank Weil, Ph.D. UniqueSoft, LLC UniqueSoft is a provider of next-generation software development tools and services specializing in modernizing legacy software using
Modelling and Verification of Business Processes
Modelling and Verification of Business Processes Costin Bădică Department of Computer Science King s College London, WC2R 2LS, UK [email protected] Chris Fox Department of Computer Science University
Process Mining. ^J Springer. Discovery, Conformance and Enhancement of Business Processes. Wil M.R van der Aalst Q UNIVERS1TAT.
Wil M.R van der Aalst Process Mining Discovery, Conformance and Enhancement of Business Processes Q UNIVERS1TAT m LIECHTENSTEIN Bibliothek ^J Springer Contents 1 Introduction I 1.1 Data Explosion I 1.2
COMPUTER AUTOMATION OF BUSINESS PROCESSES T. Stoilov, K. Stoilova
COMPUTER AUTOMATION OF BUSINESS PROCESSES T. Stoilov, K. Stoilova Computer automation of business processes: The paper presents the Workflow management system as an established technology for automation
Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process
Definitions Software Metrics Software Engineering Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. Number of errors Metric -
A New Cognitive Approach to Measure the Complexity of Software s
, pp.185-198 http://dx.doi.org/10.14257/ijseia.2014.8.7,15 A New Cognitive Approach to Measure the Complexity of Software s Amit Kumar Jakhar and Kumar Rajnish Department of Computer Science and Engineering,
Why are Business Process Models often too complex? Do s and Don ts for Business Process Modelers
Why are Business Process Models often too complex? Do s and Don ts for Business Process Modelers Version 1.0 This document developed by Dr. Juergen Pitschke, BCS-Dr. Juergen Pitschke, www.enterprise-design.eu
A business process metamodel for Enterprise Information Systems automatic generation
A business process metamodel for Enterprise Information Systems automatic generation Luiz Fernando Batista Loja 1, Valdemar Vicente Graciano Neto 1, Sofia Larissa da Costa 1, Juliano Lopes de Oliveira
Bruce Silver Associates Independent Expertise in BPM
Bruce Silver Associates Independent Expertise in BPM BPMN and the Business Process Expert Summary: BPMN has become the standard language of the Business Process Expert, usable for descriptive process modeling,
4.7 Business Process Model and Notation
206 4 Process Orchestrations 4.7 Business Process Model and Notation This section introduces the Business Process Model and Notation (BPMN), developed under the coordination of the Object Management Group.
REQUIREMENTS FOR THE WORKFLOW-BASED SUPPORT OF RELEASE MANAGEMENT PROCESSES IN THE AUTOMOTIVE SECTOR
REQUIREMENTS FOR THE WORKFLOW-BASED SUPPORT OF RELEASE MANAGEMENT PROCESSES IN THE AUTOMOTIVE SECTOR Ulrich Bestfleisch, Joachim Herbst DaimlerChrysler AG Research and Technology Data and Process Management
Quality Metrics for Business Process Models
Quality Metrics for Business Process Models Irene Vanderfeesten 1, Jorge Cardoso 2, Jan Mendling 3, Hajo A. Reijers 1, Wil van der Aalst 1 1 Technische Universiteit Eindhoven, The Netherlands; 2 University
Refactoring BPMN Models: From Bad Smells to Best Practices and Patterns
Refactoring BPMN Models: From Bad Smells to Best Practices and Patterns INTRODUCTION Darius Silingas and Edita Mileviciene, No Magic, Lithuania BPMN is already acknowledged as a de facto standard for business
Flowcharting, pseudocoding, and process design
Systems Analysis Pseudocoding & Flowcharting 1 Flowcharting, pseudocoding, and process design The purpose of flowcharts is to represent graphically the logical decisions and progression of steps in the
The role of Software Metrics on Software Development Life Cycle
The Role of Software Metrics on Software Development Life Cycle 39 The role of Software Metrics on Software Development Life Cycle N. Rajasekhar Reddy 1 and R. J. Ramasree 2 1 Assistant Professor, Department
EXTENDING BUSINESS PROCESS MODELING TOOLS WITH WORKFLOW PATTERN REUSE
EXTENDING BUSINESS PROCESS MODELING TOOLS WITH WORKFLOW PATTERN REUSE Lucinéia Heloisa Thom 1, Jean Michael Lau 1, Cirano Iochpe 1,2, Jan Mendling 3 1 Institute of Informatics, Federal University of Rio
Service Level Agreements based on Business Process Modeling
Service Level Agreements based on Business Process Modeling Holger Schmidt Munich Network Management Team University of Munich, Dept. of CS Oettingenstr. 67, 80538 Munich, Germany Email: [email protected]
Vragen en opdracht. Complexity. Modularity. Intra-modular complexity measures
Vragen en opdracht Complexity Wat wordt er bedoeld met design g defensively? Wat is het gevolg van hoge complexiteit icm ontwerp? Opdracht: http://www.win.tue.nl/~mvdbrand/courses/se/1011/opgaven.html
PERANCANGAN SISTEM INFORMASI
PERANCANGAN SISTEM INFORMASI Session 9 Program Design Based on on System Analysis & Design 2 nd nd Edition Authors :: Alan Dennis & Barbara Haley Wixom Publisher :: John Wiley & Sons Faculty of Computer
Business Process Modelling Languages
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Business Process Modelling Languages Paola Turci AOT Lab - DII - Università di Parma Business
