Skip to main content
Log in

A model-driven method for enacting the design-time QoS analysis of business processes

  • Theme Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Business Process Management (BPM) is a holistic approach for describing, analyzing, executing, managing, and improving large enterprise business processes. A business process can be seen as a flow of tasks that are orchestrated to accomplish well-defined goals such as goods production or services delivery. From an IT perspective, BPM is closely related to a business process automation approach carried out by use of IT standards and technologies, such as service-oriented architectures (SOAs) and Web Services. This paper specifically focuses on fully automated business processes that are defined and executed as orchestrations of software services. In a BPM context, the ability to predict at design time the business process behavior assumes a strategic relevance, both to early assess whether or not the business goals are achieved and to gain a competitive advantage. A business process is typically specified by use of Business Process Modeling Notation (BPMN), the standard language for the high-level description of business processes. Unfortunately, BPMN does not support the characterization of the business process in terms of nonfunctional or QoS properties, such as performance and reliability. To overcome such a limitation, this paper introduces Performability-enabled BPMN (PyBPMN), a lightweight BPMN extension for the specification of performance and reliability properties. PyBPMN enables the design time prediction of the business processes behavior, in terms of performance and reliability properties. Such prediction activity requires the use of models that are to be first built and then evaluated. In this respect, this work introduces a model-driven method that exploits PyBPMN to predict, at design time, the performance and the reliability of a business process, either to select the process configuration that provides the best behavior or to check if a given configuration satisfies the overall requirements. The proposed model-driven method that enacts the automated analysis of a business process behavior embraces the complete business process development cycle, from the specification phase down to the implementation phase. The paper also describes how the proposed model-driven method is implemented. The several model transformations at the core of the method have been implemented by use of QVT, and the standard language for specifying model transformations provided by OMG’s MDA. The availability of such automated model transformations allows business analysts to predict the process behavior with no extra effort and without being required to own specific skills of performance or reliability theory, as shown by use of an example application.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25

Similar content being viewed by others

Notes

  1. The term performability is used to denote a joint property that combines performance and reliability [36, 58].

  2. It should be noted that, in many real-world cases, organizations do not retrieve the WSDL descriptions by enquiring an UDDI repository. More simply, WSDL descriptions are typically provided by known suppliers. This perspective does not alter the validity of the proposed approach.

  3. Q-WSDL descriptions only consider the characterization of workloads in terms of open arrivals. In order to specify closed workload also, Q-WSDL has been here adapted to characterize the workload associated to a given operation in terms of both the population attribute, that is, the number of users invoking the given operation, and the thinktime attribute, that is, the time elapsed between the response to an invocation and the next invocation.

  4. This work assumes that the PyBPMN diagram, and consequently the AD diagram includes a detailed view of the orchestrator behavior, while other participants are represented as black-box entities providing an single service.

  5. In order to show how PyBPMN has been used in the example, the QoS-related tagged-values have been shown as comments associated to a BPMN diagram.

  6. It should be noted that the performance-related characteristics of activities executed by the coordinator (e.g., tripRequest, collectData, and tripProposal) are not specified by a Q-WSDL document. It is assumed that they are directly annotated on the UML AD.

  7. Since the UML-to-LQN transformation yields as output a XML document while the adopted version of LQNS tool expects an ASCII file, a model-to-text transformation has been carried out by use of XSLT.

  8. It is worth noting that the BPMN extension itself has been carried out by use of a model transformation that automates both the production of the extended metamodel and its serialization into an XML Schema, according to the XMI standard [42]. As such, the set of extended metaclasses can be easily customized to fit specific needs. For this reason, the presented set of PyBPMN metaclasses does not pretend to be exhaustive.

Abbreviations

AD:

UML activity diagram

AM:

Accommodation manager (example application)

BP:

Business process

BPEL:

Business process execution language

BPM:

Business process management

BPMN:

Business process modeling notation

FM:

Flights manager (example application)

KPI:

Key performance indicator

LQN:

Layered queueing network

LQNS:

Tool for analyzing LQN models

MARTE:

Modeling and analysis of real-time and embedded systems (UML profile for)

MOF:

Meta-object facility

MDA:

Model-driven architecture

MTTF:

Mean time to failure

MTTR:

Mean time to repair

OMG:

Object management group

PyBPMN:

Performability-enabled business process modeling notation

SLA:

Service level agreement

SOA:

Service-oriented architecture

SoaML:

Service-oriented architecture modeling manguage (UML profile for)

STD:

State transition diagram

TM:

Transportation manager (example application)

UML:

Unified modeling notation

QoS:

Quality of service

QVT:

Query/View/Transformation language

XMI:

XML metadata interchange

XML:

eXtensible markup language

XSLT:

eXtensible stylesheet language transformations

References

  1. Alonso, G., Casati, F., Kuno, H., Machiraju, V.: Web Services: Concepts, Architecture and Applications. Springer, Berline (2004)

    Google Scholar 

  2. Amsden, J.: Modeling with SoaML, the Service-Oriented Architecture Modeling Language. Technical article, IBM, 2010. http://www.ibm.com/developerworks/rational/library/09/modelingwithsoaml-1/index.html

  3. Avizienis, A., Laprie, J.-C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secur. Comput. 1, 11–33 (2004)

    Article  Google Scholar 

  4. Becker, J., Kugeler, M.: Process Management: A Guide for the Design of Business Processes. Springer, Berlin (2003)

    Book  Google Scholar 

  5. Bernardi, S. Merseguer, J., Petriu, , D.C.: Adding dependability analysis capabilities to the MARTE profile. In: Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems, MoDELS ’08, pp. 736–750. Springer, Berlin, Heidelberg (2008)

  6. Bocciarelli, P., D’Ambrogio, A.: Model-driven performability analysis of composite web services. In: SPEC International Performance Evaluation Workshop (SIPEW 2008), Darmstadt, Germany, 27–28 June, 2008. LNCS vol 5119/2008

  7. Bocciarelli, P., D’Ambrogio, A.: A BPMN extension for modeling non functional properties of Business Processes. In: Proceedings of the Symposium On Theory of Modeling and Simulation, DEVS-TMS ’11, (2011)

  8. Bocciarelli, P., D’Ambrogio, A.: A model-driven method for describing and predicting the reliability of composite services. Softw. Syst. Model. 10(2), 265–281 (2011). doi:10.1007/s10270-010-0150-3

    Article  Google Scholar 

  9. Bocciarelli, P., D’Ambrogio, A.: Performability-oriented description and analysis of Business Processes. In: Beckmann, J.A. (ed.) Business Process Modeling: Software Engineering, Analysis and Applications. Nova Publishers, New York (2011)

    Google Scholar 

  10. Braghetto, K.R., Ferreira, J.E., Vincent, J.-M.: Performance evaluation of business processes through a formal transformation to san. In: Proceedings of the 8th European conference on Computer Performance Engineering, EPEW’11, pp. 42–56. Springer-verlag, Berlin, Heidelberg (2011)

  11. Brambilla, M., Ceri, S., Fraternali, P., Manolescu, I.: Process modeling in web applications. ACM Trans. Softw. Eng. Methodol. 15(4), 360–409 (2006)

    Article  Google Scholar 

  12. Calinescu, R., Grunske, L., Kwiatkowska, M., Mirandola, R., Tamburrelli, G.: Dynamic qos management and optimization in service-based systems. IEEE Trans. Softw. Eng. 37(3), 387–409 (2011)

    Google Scholar 

  13. Cardoso, J., Miller, J., Sheth, A., Arnold, J., Krys, K.: Quality of service for workflows and web service processes. J. Web Semant. 1, 281–308 (2004)

    Article  Google Scholar 

  14. Castro, M., Liskov, B.: Practical byzantine fault tolerance. In: Proceedings of the Third Symposium on Operating Systems Design and Implementation, OSDI ’99, pp. 173–186. USENIX Association, Berkeley, CA, USA (1999)

  15. Catley, C., Petriu, D.C., Frize, M.: Software performance engineering of a web service-based clinical decision support infrastructure. In: Proceedings of the 4th International Workshop on Software and Performance, WOSP ’04, pp. 130–138. ACM, New York, NY, USA (2004)

  16. Cheung, R.C.: A user-oriented software reliability model. IEEE Trans. Softw Eng 6, 118–125 (1980)

    Article  MATH  Google Scholar 

  17. Chung, S., Davalos, S., Niiyama, C., Won, D., Baeg, S.-H., Park, S: A uml model-driven business process development methodology for a virtual enterprise using soa & esb. In: Proceedings of 4th IEEE Asia-Pacific Services Computing Conference, IEEE APSCC 2009, Singapore, pp. 246–253. 7–11 Dec 2009

  18. Dahman, K., Charoy, F., Godart, C.: Generation of component based architecture from business processes: model driven engineering for soa. In: European Conference on Web Services, pp. 155–162 (2010)

  19. D’Ambrogio, A.: A model transformation framework for the automated building of performance models from uml models. In: Proceedings of the 5th International Workshop on Software and Performance, WOSP ’05, pp. 75–86. ACM, New York, NY, USA (2005)

  20. D’Ambrogio, A. Bocciarelli, P: A model-driven approach to describe and predict the performance of composite services. In: Proceedings of the 6th International Workshop on Software and Performance, WOSP ’07, pp. 78–89. ACM, New York, NY, USA (2007)

  21. Apache Software Foundation. Apache ODE (Orchestration Director Engine). http://ode.apache.org/

  22. Eclipse Foundation. Eclipse QVT Transformation Engine. http://www.eclipse.org/m2m

  23. Eclipse Foundation. UML2—Eclipse EMF-based implementation of the UML 2.x OMG metamodel. http://www.eclipse.org/modeling/mdt/?project=uml2

  24. Gilmore, S., Haenel, V., Kloul, L., Maidl, M.: Choreographing security and performance analysis for web services. In, Bravetti, M., Kloul, L., Zavattaro, G. (eds) Formal Techniques for Computer Systems and Business Processes. Lecture Notes in Computer Science, vol 3670, pp. 200–214. Springer, Berlin/Heidelberg (2005)

  25. Grefen, P., Aberer, K., Hoffner, Y., Ludwig, H.: Crossflow: cross-organizational workflow management in dynamic virtual enterprises. Comput. Syst. Sci. Eng. 1(5), 277–290 (2000)

    Google Scholar 

  26. Gu, G.P., Petriu, D.C.: From uml to lqn by xml algebra-based model transformations. In Proceedings of the 5th International Workshop on Software and Performance, WOSP ’05, pp. 99–110, ACM, New York, NY, USA (2005)

  27. ikv++ technologies ag. Medini QVT. http://projects.ikv.de/qvt

  28. Jansen-Vullers, M., Netjes, M.: Business process simulation—a tool survey. In: Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN (2006)

  29. Kamrani, F., Ayani, R., Karimson, A.: Optimizing a business process model by using simulation. In: IEEE Workshop on Principles of Advanced and Distributed Simulation (PADS), pp. 1–8. Atlanta, GA May 2010

  30. Kettinger, W.J., Teng, J.T.C.: Business process change: a study of methodologies, techniques, and tools. MIS Q. 21, 55–80 (1997)

    Google Scholar 

  31. Ko, R.K.L.: A computer scientist’s introductory guide to business process management (bpm). Crossroads 15, 11–18 (2009)

    Article  Google Scholar 

  32. Krishnaswamy, S., Zaslasvky, A., Loke, S.W.: Estimating computation times in data intensive e-services. In: International Conference on Web Information Systems Engineering, pp. 72 (2003)

  33. Lyu, M.R. (ed.): Handbook of Software Reliability Engineering. McGraw-Hill, Inc., Hightstown (1996)

    Google Scholar 

  34. Mayerl, C., Huner, K.M., Gaspar, J.-U., Momm, C., Abeck, S.: Definition of metric dependencies for monitoring the impact of quality of services on quality of processes. In: 2nd IEEE/IFIP International Workshop on Business-Driven IT Management, 2007. BDIM ’07. pp. 1–10 (2007)

  35. Menascé, D.A.: Response-time analysis of composite web services. IEEE Internet Comput. 8, 90–92 (2004)

    Article  Google Scholar 

  36. Meyer, J.F.: On evaluating performability of degradable computing systems. IEEE Trans. Comput. 29(8), 720–731 (1980)

    Article  MATH  Google Scholar 

  37. Momm, C., Malec, R., Abeck, S.: Towards a model-driven development of monitored processes. In: Oberweis, A., Weinhardt, C., Gimpel, H. Koschmider, A., Pankratius, V., Schnizler, B. (eds.) Wirtschaftsinformatik (2), pp. 319–336. Universitaetsverlag Karlsruhe (2007)

  38. Van Moorsel, A.: Metrics for the internet age: quality of experience and quality of business. In: 5th International Workshop on Performability Modeling of Computer and Communication Systems, Erlangen, Germany, Sept 2001

  39. Musa, J.D., Iannino, A., Okumoto, K.: Software Reliability: Measurement, Prediction, Application, (professional) edn. McGraw-Hill, Inc., New York (1990)

    Google Scholar 

  40. OASIS: Web Services Business Process Execution Language (WSBPEL), version 2.0. 2007

  41. OMG: MDA Guide, version 1.0.1. 2003

  42. OMG: XML Metadata Interchange (XMI) Specification, version 2.1.1. 2007

  43. OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation, version 1.0. 2008

  44. OMG: Service oriented architecture Modeling Language (SoaML), v. 1.0 Beta 2. 2009

  45. OMG: A UML profile for Modeling and Analysis of Real Time Embedded Systems, v. 1.0. 2009

  46. OMG: Business Process Modeling Notation (BPMN), version 2.0 (2011). http://www.omg.org/spec/BPMN/2.0/

  47. Oussena, S., Barn, B.S.: Layered process models—analysis an implementation (using mda principles). In: Cordeiro, J., Filipe, J., (eds.) Proceedings of the 11th International Conference on Enterprise Information Systems (ICEIS), Institute for Systems and Technologies of Information, Control and Communication, vol. 3, pp. 168–175 (2009)

  48. Ouyang, C., Dumas, M.: From business process models to process-oriented software systems. ACM Trans. Softw. Eng. Methodol. 19(1), 1–37 (2009)

    Article  Google Scholar 

  49. Ouyang, C., Dumas, M., Ter Hofstede, A.H.M., van der Aalst, W.: Pattern-based translation of bpmn process models to bpel web services. Int. J. Web Serv. Res. (JWSR) 5(1), 42–62 (2007)

    Google Scholar 

  50. Papazoglou, M.P.: Georgakopoulos, Dimitrios G.: Service-oriented computing. Commun. ACM 46, 24–28 (2003)

    Article  Google Scholar 

  51. Putnam, L.H., Myers, W. (1991) Measures for Excellence: Reliable Software on Time, within Budget, 1st edn. Prentice Hall Professional Technical Reference

  52. Raedts, I., Petkovic, M., Usenko, Y.S., van der Werf, J.M.E.M., Groote, J.F., Somers, L.J.:. Transformation of bpmn models for behaviour analysis. In: MSVVEIS, pp. 126–137 (2007)

  53. Carleton University Real-Time and Distributed Systems Group: Layered queueing network solver software package. http://www.sce.carleton.ca/rads/lqns/

  54. Braghetto, K.R., Ferreira, J.E., Vincent, J.-M.: Comparison of modeling approaches to business process performance evaluation. Research Report RR-7065, INRIA 2009

  55. Ryan, J., Heavey, C.: Process modeling for simulation. Comput. Ind. 57, 437–450 (2006)

    Article  Google Scholar 

  56. Silver, B.: Optimizing Business Performance with Business Process Management. Bruce Silver Associates (2006)

  57. Silver, G.A., Maduko, A., Jafri, R., Miller, J.A., Sheth, A.P.: Modeling and simulation of quality of service for composite web services. In: Proceedings of the 7th World Multiconference on Systemics, Cybernetics, and Informatics, SCI’03, pp. 420–425 (2003)

  58. Smith, R.M., Trivedi Kishor, S.: Performability analysis: Measures, an algorithm, and a case study. IEEE Trans. Comput. 37(4), 406–417 (1988)

    Article  Google Scholar 

  59. Song, H. Ryu, Y., Chung, T., Jou, W., Lee, K.: Metrics, methodology, and tool for performance-considered web service composition. In: Yolum, P., Gungor, T., Gurgen, F., Ozturan, C. (eds.) Computer and Information Sciences—ISCIS 2005. Lecture Notes in Computer Science, vol. 3733, pp. 392–401. Springer, Berlin/Heidelberg (2005)

  60. Torres, V., Pelechano, V.: Building business process driven web applications. In: Proceedings of the 4th International Conference on Business Process Management, BPM’06, pp. 322–337. Springer-Verlag, Berlin, Heidelberg (2006)

  61. van der Aalst, W.: The application of Petri Nets to workflow management. J. Circuits Syst. Comput. 8(1), 21–66 (1998)

    Article  Google Scholar 

  62. van der Aalst, W., Nakatumba, J., Rozinat, A., Russell, N.: Business Process Simulation: How to get it right? In: Handbook on Business Process Management, International Handbooks on Information Systems, pp. 317–342. Springer-Verlag (2010)

  63. van der Aalst, W., ter Hofstede, A., Weske, M.: Business Process Management: A Survey. In: Weske, M., (ed.) Business Process Management. Lecture Notes in Computer Science, vol. 2678, pp. 1019–1019. Springer Berlin/Heidelberg (2003)

  64. Wang, W.-L., Pan, D., Chen, M.-H.: Architecture-based software reliability modeling. J. Syst. Softw. 79(1), 132–146 (2006)

    Article  Google Scholar 

  65. Wetzstein, B., Karastoyanova, D., Leymann, F.: Towards Management of SLA-Aware Business Processes Based on Key Performance Indicators. In: 9th Workshop on Business Process Modeling, Development and Support (BPMDS’08)—Business Process Life-Cycle: Design, Deployment, Operation & Evaluation (2008)

  66. White, S.A.:. Process modeling notations and workflow patterns. In: Fisher, L. (ed.) Workflow Handbook Future Strategies Inc., pp. 265–294 (2004). ISBN 0970350961

  67. Whittaker, J.A., Thomason, M.G.: A markov chain model for statistical software testing. IEEE Trans. Softw. Eng. 20, 812–824 (1994)

    Article  Google Scholar 

  68. Woodside, M.: Tutorial introduction to layered modeling of software performance. http://www.sce.carleton.ca/rads/lqns/lqn-documentation/tutorialg.pdf

  69. Yacoub, S.M., Cukic, B., Ammar, H.H.: Scenario-based reliability analysis of component-based software. In: Proceedings of the 10th International Symposium on Software Reliability Engineering, p. 22. IEEE Computer Society, Washington, DC, USA 1999

  70. Yang, F., Shen, W., Tan, W., Ghenniwa, H.: A framework for service enterprise workflow simulation based on multi-agent cooperation. In: Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, Istanbul, Turkey, pp. 2587–2594. 10–13 Oct 2010

  71. Zeng, L., Benatallah, B., Ngu, A.H.H., Dumas, M., Kalagnanam, J., Chang, H.: Qos-aware middleware for web services composition. IEEE Trans. Softw. Eng. 30, 311–327 (2004)

    Article  Google Scholar 

  72. Zheng, Z., Lyu, M.R.: Collaborative reliability prediction of service-oriented systems. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering—ICSE ’10, vol. 1, pp. 35–44. ACM, New York, NY, USA 2010

  73. Zheng, Z., Lyu, M.R.: A qos-aware fault tolerant middleware for dependable service composition. In: Proceedings of the 39th International Conference on Dependable Systems and Networks, pp. 239–248. IEEE, Estoril, Lisbon, 209

Download references

Acknowledgments

The authors wish to thank the anonymous reviewers for the substantial contribution they have given to improve the quality of the paper. This work has been partially supported by funds from the University of Roma TorVergata research on Performance Validation of Complex Systems and by the CERTIA Research Center of the University of Roma Tor Vergata.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paolo Bocciarelli.

Additional information

Communicated by Dr. Juan M. Vara, Mike Papazoglou and Il-Yeol Song.

Appendix A: PyBPMN extension details

Appendix A: PyBPMN extension details

The portions of the PyBPMN metamodel shown in Figs. 26 and 27 describe the extensions addressing the workload description and the performability (performance and reliability) properties definition, respectively. More specifically, the workload is described by use of the GaWorkloadEvent and the ArrivalPattern metaclasses. Performance properties are specified by use of the PaQualification, PaResponse and PaService metaclasses. Finally, reliability properties are specified by use of the DaQualification, DaFault, DaFailure, and DaError metaclasses. Classes and associations that have been added to extend the BPMN metamodel are highlighted by use of a different background color. PyBPMN introduces the following additional metaclasses to the BPMN metamodelFootnote 8

Fig. 26
figure 26

PyBPMN extension for workload characterization

Fig. 27
figure 27

PyBPMN extension for performance and reliability characterization

:

  • GaWorkloadEvent: to model the stream of requests representing the workload. It is characterized by the following attributes:

    • trace: request event stream that describes the workload. The type of this attribute is GaEventTrace, described below.

  • ArrivalPattern: abstract metaclass that specifies the arrival pattern.

  • ClosedPattern: to represent the workload in terms of a fixed number of active or potential users/jobs. It is specified by the following attributes:

    • population: number of system users;

    • extDelay: the time elapsed between the end of one response and the start of the next request.

  • OpenPattern: to represent the workload in terms of a stream of requests that arrive at a given rate in some predetermined pattern. It is specified by the following attributes:

    • interArrivalTime: time between successive arrivals. The attribute type is NFP_Duration, specified below;

    • arrivalRate: the average rate of arrivals. The attribute type is NFP_Frequency, specified below;

    • arrivalProcess: string that contains the name of an arrival process. This attribute must be understood by the analysis tool.

  • PeriodicPattern: to represent the workload in terms of a periodic pattern. It is specified by the following attributes:

    • period: pattern period. The attribute type is NFP_Duration, specified below;

    • jitter: maximum deviation of the occurrences. The attribute type is NFP_Duration;

    • phase: delay for the first occurrence of the event. The attribute type is NFP_Duration;

    • occurences: maximum number of occurrences of the periodic arrival event.

  • AperiodicPattern: to represent the workload in terms of an aperiodic (unbounded) pattern. It is specified by the following attributes:

    • distribution: distribution of the arrival pattern. The attribute type is NFP_CommonType, described below;.

  • BurstPattern: to represent the workload in terms of a bursty pattern. It is specified by the following attributes:

    • minInterarrival: minimum interarrival duration between two successive occurrences of an event. The attribute type is NFP_Duration, specified below;

    • maxInterarrival: maximum interarrival duration between two successive occurrences of an event. The attribute type is NFP_Duration;

    • minEventInterval: minimum interval between two occurrences within a burst. The attribute type is NFP_Duration;

    • maxEventInterval: maximum interval between two occurrences within a burst. The attribute type is NFP_Duration;

    • burstSize: maximum number of occurrences of the periodic arrival event.

  • DaQualification: to represent the reliability properties or constraints.

  • DaFault: to represent a property (or a constraint) related to the faults that may affect a single task, a single process or the entire BP. It is specified by the following attributes:

    • rate: fault occurrence rate. The type of this attribute is the complex data type DaFrequency, described below;

    • occurrenceProb: probability of a fault occurrence (time independent);

    • occurrenceDist: probability of a fault occurrence within time t (time dependent).

  • DaFailure: to represent a property (or a constraint) related to the failures that may affect a single task, a single process or the entire BP. It is specified by the following attributes:

    • rate: failure occurrence rate. The type of this attribute is the complex data type DaFrequency, described below;

    • MTTF: mean time to failure. The attribute type is NFP_Duration, specified below;

    • MTTR: mean time to repair. The attribute type is NFP_Duration, specified below.

  • PaQualification: abstract metaclass that models a property or a constraints related to the performance of a single task, a single process or the entire BP.

  • PaResponse: to represent the performance from the perspective of an external user. It is specified by the following attributes:

    • troughput: throughput related to the associated task/ process/collaboration, that is, the time required to complete the execution of the task/process/BP as seen by an external user. The type of this attribute is the complex data type NFP_Frequency, described below;

    • respTime: response time for the related task/process. The type of this attribute is the complex data type NFP_Duration, described below.

  • PaService: to represent the execution demand of tasks. It is specified by the following attributes:

    • serviceTime: service time for the related task, that is, the time demand required for the execution of a single task. The type of this attribute is the complex data type NFP_Duration, described below;

The set of metaclasses introduced by PyBPMN makes use of the following datatypes:

  • GaEventTraceType: to describe the trace that represents the stream of requests. It is specified by the following attributes:

    • content: string that contains the serialization of the event trace according to the file format;

    • format: string that indicates the format of the event trace;

    • location: location that can be used to locate the file as an alternative to embedding it in the stereotype.

  • DaFrequency: to represent both fault and failure rate attributes. It is specified by the following attributes:

    • unit: unit of measure of the attribute. It is an enumerated data type that can assume the values specified in [5], that is, fault/s, fail/s, fault/month, fail/month, fault/day, fail/day, etc.;

    • precision: real value that specifies the degree of precision of the measurement operation.

    • value: value of the attribute.

  • NFP_Duration: to represent time-related attributes such as MTTF or MTTR. It is specified by the following attributes:

    • unit: unit of measure of the attribute. It is an enumerated data type that can assume the following values: s, tick, ms, us, min, hrs, days;

    • precision: real value that specifies the degree of precision of the measurement operation;

    • value: value of the attribute.

  • NFP_Frequency: this it is specified by the following attributes:

    • unit: unit of measure of the attribute. It is an enumerated data type that can assume the following values: Hz, KHz, MHz, GHz.

    • precision: real value that specifies the degree of precision in the performance of a measurement operation;

    • value: value of the attribute.

The above illustrated set of datatypes extends the NFP_CommonType (see [5, 45]), which represents the basic structure of a complex data type, specified by the following attributes:

  • expr: an expression specified in MARTE Value Specification Language (VSL) [45];

  • source: the origin of the attribute. It is an enumerated data type that can assume the following values: estimated, calculated, required, or measured;

  • statQ: the type of statistical value. It is an enumerated data type that can assume the following values: maximum, minimum, mean, percentile, distribution, or other.

  • dir: the type of order relation used to compare value. It is an enumerated data type that can assume the following values: increasing or decreasing.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bocciarelli, P., D’Ambrogio, A. A model-driven method for enacting the design-time QoS analysis of business processes. Softw Syst Model 13, 573–598 (2014). https://doi.org/10.1007/s10270-013-0345-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-013-0345-5

Keywords

Navigation