Open and Extensible Business Process Simulator

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Open and Extensible Business Process Simulator"

Transcription

1 UNIVERSITY OF TARTU FACULTY OF MATHEMATICS AND COMPUTER SCIENCE Institute of Computer Siene Karl Blum Open and Extensible Business Proess Simulator Master Thesis (30 EAP) Supervisors: Luiano Garía-Bañuelos, PhD Marlon Dumas, PhD Author:..... June 2010 Supervisor:..... June 2010 Supervisor:..... June 2010 Professor:..... June 2010 TARTU 2010

2 Contents 1. Introdution Business Proess Management Simulation of Business Proess State of the art Proess simulation in researh prototypes Proess simulation in ommerial tools Conlusions Simulation of BPMN with CPN BPMN to plain Petri nets BPMN to CPN with simulation support Case generation Control flow Exeution time Resoure management Advaned onstruts Intermediate events Task boundary events Event-based gateways Sub-proesses Sub-proess timer Sub-proess messages Sub-proess error events Conlusions Arhiteture Independene from proess input format Independene from the simulation data file format

3 5.3. Independene from modelling notation Our onverter in an end-to-end simulation system Conlusions Case of study Preparing the proess model and simulation data Converting the proess Simulating the proess Simulation result analysis Conlusions Conlusion and future work Abstrat (in Estonian) Referenes Apendies A. BPMN B. Coloured Petri Nets C. CPN Tools D. Simulation shema E. CD Contents

4 1. Introdution Business proess simulation is a widely used tehnique for analyzing business proess models with respet to performane metris suh as yle time, ost and resoure utilization. There are many ommerial proess simulation tools available that also inorporate a simulation engine, e.g. ARIS, Orale Business Proess Arhitet (Orale BPA), FirstSTEP, TIBCO Business Studio, IBM Websphere Business Modeler and many others. Most of the urrently available tools have two important arhitetural limitations that will be disussed within this thesis. These limitations are: They allow to simulate proesses that are designed only in the same tool; The simulation engine is built-in and it is not extendable. The aim of this thesis is to move towards overoming these problems in existing tools. The ore of this thesis is twofold. First we provide some of the ommonly used Business Proess Notation (BPMN) mappings to Coloured Petri Net (CPN) modules while onsidering the need to use these onverted models for simulation purposes. This means that the mappings have to be able to handle simulation data and an generate simulation output into log files. Seondly we provide a new proess model onverter arhiteture that is open and extendable and it is responsible for generating a ready to simulate CPN models. The following of this thesis is strutured as follows. In setion 2 we give an overview of business proess management and proess simulation. We disuss what they are and why are they important. In setion 3 we give an overview of existing state of the art tools and onlude their shortomings. In setion 4 we disuss proess mappings from BPMN elements to CPN modules with simulation support and also show how we an benefit from this onversion. In setion 5 we provide an overview of our new simulation framework that has been developed with extendibility and openness in mind. In setion 6 we look at how our onverter arhiteture an play a part in an end-to-end proess simulation lifeyle. After that in setion 7 we desribe the potential future work to extend our arhiteture and use it in an end-to-end proess simulation environment. 4

5 2. Business Proess Management Business proess is a olletion of ativities that take inputs and reates an output that is of value to the ustomer. Business proesses onsist of oordinated set of ativities arried out by both automated systems and people to ahieve a desired outome. Mihael Porter in his book [8] suggested that the ativities within the organization and thus in the proesses an be split into primary ativities and support ativities. Primary ativities are essential for the ompany and support ativities assist the primary ativities. Primary ativities are usually ustomer entri and ustomers interat with these ativities diretly (e.g. marketing and sales). Supporting ativities provide more of the bak-offie and administrative ativities (e.g. prourement). People use the term BPM in many different ways. Some use BPM to refer to Business Proess Management and others use BPM to refer to Business Performane Management. Some use BPM to refer to a general approah to the management of business proess hange, while others use it more narrowly, to refer to the use of software tehniques to ontrol the runtime exeution of business proesses [19]. In this thesis we use BPM as Business Proess Management to refer to a top-down methodology that is designed to organize, manage and measure the organization, based on the organization s proesses. In this ase business proess management provides governane of a business proess environment to improve performane through the optimization of business proesses. Business proesses are the key instruments to organizing ativities in the proess and to improve the understanding of their interrelationships [3]. Business proess management ativities an be grouped into four different ategories as seen on Figure 1. Proess Modelig Proess Analysis Proess Implementation Proess Exeution Figure 1 - BPMN lifeyle. 5

6 The lifeyle of BPM begins with proess modelling where the order of tasks is speified in the urrently used proesses. This means that urrently used proesses will be modelled in some representable format. This is often alled as-is modelling. In proess implementation phase the proesses will be onverted into exeutable form. This an be done in the software simulation environment for example. In the next phase the implemented business proesses will be exeuted and the outomes will be reorded for analyzing in the next phase. In proess analysis phase, business experts review the business issues to be resolved and in that ontext evaluate the end-to-end proesses of the ompany, along with its strategy, governane douments and other proess information. By defining key performane indiators and reating business ases, the business proess expert identifies the needs of the business and defines the requirements to reate and implement the new or enhaned proesses and appliations [2]. Business proess modelling and simulation are an important part of BPM disipline. Proess modelling allows abstrating real world proesses and representing them in a graphial form. Graphial models an be used in disussions between different stakeholders as it provides understanding of the proesses in a ommon way. Simulation is important part of BPM disipline beause it gives the ability to test the outome of a ertain proess. With simulation it is possible to evaluate the performane of the existing proess model (as-is model) and to ompare the urrent model with its modified versions to verify the inrease in some key performane indiator. 6

7 3. Simulation of Business Proess Proess model is a simplified representation of the atual proess. It draws the boundaries in the proess and is intended to promote understanding of how the real system works. Proess simulation is a tool for validating and getting answers from the provided proess model. Simulation an also be seen as a tool for managing hange and it is an important part of BPM life-yle. Pratitioners of BPM know the ritial importane of arefully leading organizations and people from old to new ways of doing business, and simulation is one way to aelerate hange. This apability derives largely from the ability of simulation to bring larity to the reasons for hange. Simulation provides more than an answer: it shows you how the answer was derived; it enables you to trae from ause to effet; and it allows you to generate explanations for deisions [13]. It an be used in the design phase to support dynami experiments with the proess and evaluate the deisions that have been made to see how the proess behaves under various irumstanes, where the problems may lie and how should the proess be improved. Simulation gives the proess manager the possibility to experiment with different variables like staff size, working hours, et. and it makes easier to orret problems or disover weaknesses before the new model is implemented and put into exeution. The needs for the simulator tool an vary depending on the modelled proess, but the ore requirements remain the same. A range of features desired from a simulation tool are: modelling flexibility, ease of use, animation, general simulation funtions (e.g. warm-up period, multiple runs), statistial funtions, interfae with other software, produt help and support, prie and expandability [9]. The study presented in this artile [9] also provides a list of 70 evaluation riteria or even the whole evaluation framework for simulation software seletion methodology. Amongst other things the framework inludes riteria regarding oding aspets (e.g. programming flexibility, aess to soure ode, support, of programming onepts) and software ompatibility (e.g. integration with statistial pakages, integration with DBMS). Flexibility and aess to the soure ode are onsidered to be of high importane if models are to be used for modelling omplex or real time systems. It is not realisti to expet any of the urrently available tools to satisfy all these riteria. Inreasing funtionality tends to inrease also the omplexity of the tool. It then beomes 7

8 reasonable to hoose the right tool with right funtionality for given models. In the following we will disuss the extensibility aspet in urrent state of the art tools State of the art Extensibility is a systemi measure of the ability to extend a system and the level of effort required to implement the extension. Extensions an be through the addition of new funtionality or through modifiation of existing funtionality. The entral theme is to provide support for hange while minimizing impat to existing system funtions [10]. With an extendable tool it would mean that it is not so important whether it supports all of the needed funtionality workflow elements, simulation apabilities, analysis apabilities beause the tool an be extended to support what is needed. Currently most available simulation tools aim to provide end to end apabilities without any speifi business domain in mind, e.g. TIBCO Business Studio and ARIS Business Simulation. Despite the list of urrently available simulation tools, there has been made onlusions that most of them have arhitetural limitations [20] that derease their support for extensibility. It ould mean that the availability of different ontrol flows, resoure patterns or simulation measurements is fixed by the tool provider. We an see an evaluation of different ommerial tools regarding the support of different workflow patterns here [23]. The limitations are not only in the inability to use some workflow pattern due to the lak of its support in the used simulation tool. Problems may also arise if the simulation to be done needs to measure something speifi. For example most of the urrent tools use task duration and exeution ost as the primary simulation data, but if we would like to add some speifi tax alulation to the analysis, then implementing it might be ompliated or even impossible. It is arguable that most of suh analysis an be done later by a separate analysis tool from the data on the simulation logs, but this solution has another problem. That is beause many of the urrent tools do not provide standardized simulation log output and therefore the analysis is limited to the funtionality provided in the tool. In the following we will disuss some of the state of the art researh prototypes and also some of the ommerial tools. 8

9 Proess simulation in researh prototypes In [5] and [6] some of the state of the art business proess management tools were evaluated in respet of their simulation apabilities. In [5] the tools were divided into three different areas based on their apabilities. First ategory ontains business proess modelling tools that are speially developed to desribe and analyze business proesses. Protos was evaluated in this ategory. The seond ategory was for business proess management tools whih ore funtionality is in the automation of the workflow proesses. In this ategory FileNet and FLOWer where evaluated, although FLOWer laks of simulation failities. In the third ategory general purpose simulation tools were evaluated. General purpose tools are not tailored towards a partiular domain, suh as logistis, military or any other. In this ategory CPN Tools and Arena were evaluated. The overall onlusion in this study [5] is that the tools in business proess management and proess modelling ategory fell short on their simulation apabilities. Protos provides simulation apabilities based on the ExSpet simulation engine, but the interfae between the two parts of the system omit important details with respet to data and resoures. Within a researh disussed in paper [16] a transformation from Protos models to CPNs was developed to provide extensive measurement and verifiation for proesses. Protos2CPN is able to onvert Protos XML output to CPN Tools file with XSL transformation. The simulation of Protos models in CPN Tools makes the running proess visible by depiting the moving ases as tokens within the proess model. It therefore allows for a detailed inspetion of the running proess. In addition, the monitoring features of CPN Tools enable the generation of omplex statistis. The models reated by Protos2CPN transformation already inlude some basi measurements whih an be extended by experiened users [16]. The onlusion was that the resulting CPN model has omplex modelling and simulation apabilities, but although the simulation apabilities of CPN Tools is its good side, it requires profound knowledge to model in Petri Nets and the resulting models are hard to understand, espeially by a non-tehnial bakground business analyst. Despite this shortoming CPN Tools is based on the formal modelling tehnique and opens many possibilities for omplex proess simulations. The thesis [6] also disussed proess simulation in CPN and provided a omplete simulation data metamodel. One of the differrenes with this paper is that here we will provide more advaned CPN mappings and onentrate on building an extendable onverter arhiteture and implementing a version of the onverter prototype. 9

10 Proess simulation in ommerial tools IBM WebSphere Business Modeler (WebSphere) is one of the omprehensive ommerial business proess analysis tool that offers modelling, simulation and analysis apabilities. In WebSphere it is possible to model, assemble and deploy business proesses, then monitor and take ations based on key performane indiators (KPIs), alerts and triggers to ontinually optimize these proesses. WebSphere also supports the apabilities of simulation, analysis and redesign. WebSphere offers robust funtions for business proess analysis as well as modelling apabilities for business proesses, enterprises, essential data, artefats, organizations, resoures, timetables and loations [6]. It is possible to perform dynami and stati analyses. Stati analyses are performed on proess simulation profiles and also on proesses without atually running the simulation. With this it is possible to reognize deisions and loops in the proess flow and get a omprehensive idea of the possible paths through proesses inluding osts and revenue generated by eah possible path. Dynami analysis is performed on the data from a simulation run and it an be done at three levels of granularity: 1. Aggregated analysis Most broadly soped of the dynami analyses. They use all the data from the entire simulation run for their information. This analysis is used to gain understanding of the behaviour of the whole proess. 2. Proess ase analysis This analysis uses the data from speifi proess ase and it is used to gain understanding of a ertain proess flow. 3. Proess instane analysis It is the most granular of the dynami analysis and it uses data from a single proess ase instane for their information. WebSphere proess modelling notation is not fully BPMN-ompliant, but it is influened by BPMN. Some of the ions used in WebSphere proess modelling environment are based on those from the BPMN speifiation. An example of a proess model in WebSphere an be seen on Figure 2. 10

11 Figure 2 - Example proess in IBM WebSphere Business Modeler. Proess simulation attributes that define onditions and behaviour for the whole proess during a simulation run an be set from the settings dialog as seen on Figure 3. Setting the simulation data for ativities is rather limited as an be seen on Figure 4 and Figure 5. Figure 3 - Adding simulation data in IBM WebSphere 11

12 Figure 4 - Adding simulation data to a task. Figure 5 - Adding ost and revenue data to a task. Although the modelling notation used in WebSphere is influened from BPMN, it does support only small subset of modelling elements like: start events, end events; forks; loops; merges; joins; timers and some others. With this subset of elements it is ompliated or even impossible to model omplex business proesses to ahieve more detailed simulation 12

13 results for further analysis. For example, it is not possible to model intermediate events as they are desribed in BPMN speifiation and thus suh proess annot also be simulated. Another state of the art ommerial tool for business proess modelling and simulation is TIBCO Business Studio. It has a better support for different BPMN elements as it laims to be 100% BPMN version 1.2 ompliant. On the other hand, it only means that it is able to build proess models with using all of the BPMN elements, but it does not mean that all of the BPMN elements an be used in models for simulation purposes. For example it is not possible to add an intermediate timer or message boundary event to a task for simulation purposes. Also it is not possible to use event based gateways or any other intermediate gateway in a simulation model. Example of a business proess model in TIBCO an be seen on Figure 6. Figure 6 - Proess model in TIBCO modelling environment. ITP Commere is another tool for proess modelling in BPMN notation and it also provides full support for BPMN 1.2 and also BPMN 2.0 elements. Although it provides simulation support for also intermediate events and event-based gateway it is not possible to use boundary events for tasks. The simulation support for intermediate message events is also rather limited beause for example it is not possible to use intermediate message with message reeiving probability. The overage for intermediate events and event-based 13

14 gateways for proess simulation is a problem for all of these disussed tools. The support for this has been summarized in Table 1. BPMN 1.2 overage for modelling Intermediate events in simulation Event-based gateways in simulation TIBCO Full support. No simulation support. No simulation support. IBM WebSphere Almost none No modelling support. No modelling support. ITP Commere 100% Limited simulation support. Limited simulation support. Table 1 - BPMN events overage overage in state of the art tools Conlusions The tools desribed here are either researh prototypes or expensive ommerial tools that are the flagships of urrently available business proess simulation environments. Most of them provide support for the whole business proess management lifeyle and have a huge number of features inluding support for proess simulation. They also have good graphial interfaes with a drag and drop funtionality for easy proess modelling. Despite this they all tend to have limited support for simulation apabilities and they mostly use their own losed and built-in simulators that annot be extended by the end user to satisfy their needs. CPN Tools is onsidered to have good support for omplex proess simulation, but it an be too diffiult to use for business persons. In the following we will disuss how it would be possible to onvert BPMN models to CPN models by presenting a set of mappings for different BPMN onstruts. 14

15 4. Simulation of BPMN with CPN Business Proess Modelling Notation (BPMN) gives the possibility to model all kinds of business proesses in a way that is easily readable to people with no tehnial bakground. It is a de-fato standard for modelling business proesses. Although BPMN is the most widely used notation, it laks the support for proess simulation. Current version of BPMN provides only a few properties in elements that an be onsidered as simulation data (timer exeution time for example). In the forthoming BPMN version 2.0 there will be some additional support for simulation data but it will not be as omplete as the modelling notation itself. BPMN provides only the visual representation of a business proess model and it does not have any formal semantis. Without formal semantis it is impossible to automatially simulate an existing proess model. To overome this problem there have been made some proposals of formal semantis [11], but there is no standard semantis urrently available. Coloured Petri Net (CPN) is another graphial oriented modelling language that is used for designing and simulating proesses. CPN syntax and semantis have a formal definition whih is the basis for simulation of a proess model. CPN an be used in plaes where formal semantis is essential in the modelling projet. It is possible to model very omplex business proesses in CPN, but the modelling notation has only a small set of low level elements. The graphial representation of the model will not be as readable as BPMN model and might not be as understandable for business persons with no tehnial bakground. In the following we will disuss the mappings from BPMN elements to Petri net modules. We start with the mappings to plain Petri nets and then disuss the mappings to CPN modules inrementally starting from the simple elements. Short introdution to BPMN and CPN an be seen in appendix A and 0 aordingly BPMN to plain Petri nets An example of a BPMN model for order proessing an be seen on Figure 7.Figure 7 - Example of proess model in BPMN. It is a simplified model with five tasks, exlusive gateway, and gateway, join, end event and start event. The leftmost irle represents the proess start and the irles on the right represent proess endpoints. The first gateway after the task Chek availability is an exlusive gateway and exatly one of the two 15

16 output paths is always taken. The seond gateway after order onfirmation is a split gateway. It means that all the paths will be taken onurrently. Not available Rejet order End Start Chek availability Available Ship produt Confirm order End Send invoie Figure 7 - Example of proess model in BPMN. The onversion from BPMN to plain Petri net model is done in a way that eah ontrol flow element has usually at least on entral transition that is able to apture their routing behaviour. Examples of onversion mappings an be seen on Table 2. Mapping from BPMN start event to Petri net is straightforward and it has been also disussed in earlier papers, for example here [20], [11]. Most of the onversions an be done by adding a silent transition to a Petri net for eah BPMN element. For example the start event in BPMN will have a transition in Petri net that moves tokens out of the start plae. In Petri net it is not possible to onnet two plaes with an ar and this means that the tokens from the starting plae an move only via the existing transition. Converting an end element is similar to the start event as there is an end plae and the transition that is able to put a token to this plae. There is no outgoing ar from the plae beause it represents the end of a proess. 16

17 BPMN Objet Petri-net module BPMN Objet Petri-net module Note: x,x1 and x2 represents an inoming objet. y,y1 and y2 represent an outgoing objet. Table 2 - Petri net mappings. BPMN Task an be simply represented as a transition in Petri net module as an be seen in Table 2. The transition in Petri net is needed to apture the behaviour of the model. AND gateways in BPMN mean that an inoming ase will take all of the outgoing branhes onurrently. Modelling AND gateway in Petri net is also done with a entral transition and the splitting is done with two or more outgoing ars. Eah outgoing ar orresponds to one outgoing branh in BPMN model. In Petri net it means that the transition will onsume one inoming token and generate two or more outgoing tokens (depending on the amount of outgoing branhes. Data based exlusive gateways an be modelled in Petri net using several transitions. If we have a separate transition for all of the outgoing ars then it means that eah branh an be taken and if one of them fires then a token is onsumed and the other transitions are not enabled anymore. Joining two proess branhes has to be done with one entral Petri net transition that is able to fire only if there is a token from eah inoming ar. This means that the transition will onsume a token from all of the inoming plaes and produe only one output token. 17

18 Using these onversion patterns disussed before, we are able to onvert a simple proess modelled in BPMN as seen on Figure 7. The orresponding Petri net model an be seen on Figure 8. As Petri net uses only a small set of elements (plae, transition, ar), it may sometimes not be as simple to read as a BPMN model. In this ase if we use only simple tasks and gateways the CPN model is not omplex. If we would add boundary events and resoure management then the model would beome more omplex. Start Chek availability Available Deision Not available Confirm Rejet Fork End Ship produt Send invoie Join End Figure 8 - Proess model in Petri net. The mappings previously disussed provide an easy way of onverting BPMN proesses to plain Petri Nets. This onversion is straightforward but this onversion does not help muh 18

19 as it is not possible to do proper model simulation. In the onverted model, as seen on Figure 8, it is only possible to manually play with the ontrol flow by moving the token from the start plae towards the end. To do this, we have to plae a token to the first plae on the left in our model. This token represents the proess instane and the start transition is able to exeute. This way we an manually simulate different proess situations but it is not usable for advaned proess analysis. One aim of this thesis is to provide the mapping solutions from BPMN modelling elements to Petri net onstruts in a way that the onverted model is ready for simulation. In some ases the basi mappings an be still used but most of the mappings will beome more omplex if we add support for simulation data and resoure onsumption for example. In the following paragraph we disuss the solutions developed within this thesis for adding simulation and resoure handling support. Beause Petri net is very onstraining for advaned proess modelling, we deided to use higher level version of Petri net alled Coloured Petri net (CPN) BPMN to CPN with simulation support In the following we disuss the proess onversion mappings to get a CPN model with simulation and resoure management support. The mappings that were developed as part of this thesis have been done in a way that when doing a model onversion with any traversal method, then in eah next onversion we do not have to remove CPN elements from the previous mappings. This means, that for example after mapping a gateway we start mapping a task, then we do not remove plaes or transitions from the gateway. This makes our mappings robust and stable beause onneting the next element to the previous mapping does not hange its struture although it an modify the ar insriptions and transition texts or reate a new struture by adding elements Case generation In proess simulation we an onsider the start element as a proess initiator. This is the starting point for the whole proess. With this in mind we inorporated the proess ase generator into the start event itself and to model it in CPN we used a sub-page to enapsulate the whole generator into one virtual transition. It basially means that the start event produes proess tokens or ases. Our implementation of the proess generator is derived from the work [6] and the proess generator itself onsists of a entral CPN 19

20 transition that after firing will generate a new ase to an output port. The frequeny of ases reated and other variables in the proess generator an be defined with the ar insriptions as seen on Figure 9. [generatorguard(i) = true] i 1`1 Counter ID Generator gen_start input (i); output (); Out ation ( generatecase(i) ); ( if i mod nooftokensperbundle = 0 then aldisvalue(timebetweenbundles) else 0 ) CASE Figure 9 - Case generator in CPN. The generator transition itself is onneted to the ounter plae where exists only one token. This token is a simple integer type ase identifier and after eah time the generator transition uses it, the identifiation number (ID) is inreased by one. If the generator transition puts the token bak to the ounter plae, it inreases also the timing to simulate a delay between two proess instanes. If the simulation needs a bundle of ases to be generated in the same time unit, the time is not inreased when the full bundle has not yet been reated. The generator transition has an assigned funtion generatecase(i) that is responsible for initializing the logging funtionality. In this plae the log file in a file system for this proess ase is generated and this file an be later updated to add more simulation events Control flow In BPMN there are several ways to do branhing in a proess. One of the most used elements for proess branhing in BPMN is data based exlusive gateway [12] and an example of this an be seen on Figure 10. To use this branhing in a simulation model we have to add branhing probabilities to know how many times eah of the branhes will be taken. To onvert this kind of bran- 20

21 hing to a CPN model we developed a version of mapping that also supports branhing probabilities. A simple example of this mapping an be seen on Figure 11. Path 1 Path 2 XOR Gateway Figure 10 - Exlusive gateway in BPMN. CASE IN Exlusive gateway input (); output (path); ation ( let val p = disrete(0, 99); in if p>0 andalso p<75 then 139 else 141 end ); (if path=137 then 1` else empty) (if path=148 then 1` else empty) OUT 1 OUT 2 CASE CASE Figure 11 - Exlusive gateway in CPN. The CPN model has one entral transition that is responsible of determining the path to be taken. The simulation information will be added there to the transition ation funtion. This funtion will pik a random value between 0 and 99 and with this number the 21

22 outgoing path is determined. Eah outgoing ar from the transition has a onditional expression that will allow the token to pass only if it the token was intended to take this path Exeution time Extending our previously defined Petri-net onversion pattern for a task to support simple simulation with the ability to model proessing time is really straightforward. In CPN we an define a delay in the outgoing ar insription whih means that after the transition fires the token will have its time hanged. On Figure 12 we an see a task that has an exeution time of 100 time units. IN OUT Figure 12 - Simple task in CPN. In our mappings we use a method assigned to a task to alulate the total time onsumed. If we add for example the resoure management then the outgoing ar insription also has to onsider the resoure waiting time. Instead of using fixed time values it is possible to used time funtions in the ar insriptions Resoure management To support resoures in simulation we had to extend our mapping model a bit further. Our proposed solution for a task mapping an be seen on Figure 13. To add support for tasks that also need resoures to exeute, there has to be made a few enhanements that we will disuss in the following. 22

23 IN CASE [hek_roles(#roles(r),["worker"])] r 3`WORKER RESOURCES RES Task1 input (,r); output (pt); ation (let val transparams = { pt={dtype=speifi, speifivalue=100, mean=0, std=0}, pcost={dtype=speifi, speifivalue=0, mean=0,std=0}, scost={dtype=speifi, speifivalue=0, mean=0,std=0}, revenue={dtype=speifi, speifivalue=0, mean=0,std=0}, pwaittimedur=0, pwaittimecost=0, transitionname="task1", NoOfResoures=1} in transitionationr(,r, transparams) end); CASE.set_ts OUT CASE Figure 13 - Task with resoure management support in CPN. In our mapping we use only one entral resoure pool and its initial marking shows all of the available resoures. In CPN it is possible to assign a olour to token and this an be used to differentiate between different types of resoures. In eah task transition there has to be a guard that heks the availability of a needed resoure and an fire only if a ertain resoure is available. When a task uses a resoure to exeute then it will put the resoure bak to the resoure pool after it has finished and also sets a new time to the used resoure token. This way the resoure is not available to other elements while the task is exeuting. In our example model on Figure 13 the Task1 also uses resoures to exeute. The funtion defined to the right from the task is the transition funtion. This funtion alls the simulation logger with the defined parameters to generate log trail. This funtion we used is taken from [6] Advaned onstruts Besides the previously disussed simple proess modelling onstruts there are also a lot of elements that an be onsidered more omplex. In the following we disuss the mappings of some of these elements. 23

24 Intermediate events Events an happen between any other ativities and these are alled intermediate events. Examples of timer intermediate event between two tasks and its orresponding CPN mapping an be seen on Figure 15. On Figure 14 we have a timer intermediate event between two tasks and its orresponding CPN mapping. Task A Task B Timer IN CASE CASE OUT Figure 14 - CPN mapping (bottom) for BPMN intermediate timer event (top). Intermediate events in the proess flow mean that the exeution of the proess has to pause and wait for the ertain event to happen before the exeution an ontinue. Timer event means that the proess has to wait for a speifi amount of time and message event means that the proess has to wait until the message has arrived before ontinuing. For the message event there an be various implementations of how to define the reeiving of a message. Our implementation in the CPN mapping is done in a way that the messages will be reeived periodially after every defined amount of time. Considering this assumption we an also say that the messages are reeived in uniform distribution between 0 and period time. An example of intermediate message event and its mapping to CPN an be seen on Figure

25 Task A Task B Message IN CASE Message CASE OUT Figure 15 - CPN mapping (bottom) for BPMN intermediate message event (top). Mapping for timer event is straightforward beause an intermediate timer is intended to generate a fixed delay in proess exeution and therefore in CPN mapping we have to add a fixed time delay to the timer transition outgoing ar insription as an be seen on Figure Task boundary events We onsider a task as an atomi transation that annot be anelled while the exeution has already started. This means that a ertain task an be represented as a single transition in CPN. While simulating a model where resoures are involved we might want to anel an ativity that has been waiting too long for a free resoure and has not been started yet. This kind of behaviour an be modelled in BPMN with boundary events and these events an fire any time while waiting for the task to start exeuting. Another type of boundary event for a task is reeiving a message. Example of a BPMN task with a timer and message boundary event an be seen on Figure

26 Task Message Timer Figure 16 - BPMN task with message and timer boundary events. To model this kind of behaviour in CPN, we used pre-empting time stamps in ar insriptions. These timestamps are used in inoming ars and it means, that the token an be onsumed the expressed amount of time ahead of model time. On Figure 17 we an see the CPN mapping for a BPMN task with boundary timer and message events. If the task reeives an input token then it is first evaluated if a message will arrive. This is done with a probability funtion before timer and task itself. It is so beause the arriving of the message is derived from the probability from simulation data and it does not depend on the availability of resoures. If the message will arrive, then the message transition will generate a delay that is between 0 and message arrival interval and the message output will be taken. The values for arrival time are taken in uniform distribution. If a message does not arrive then the timer is started by putting a token with the added timer delay to the plae just before timer event transition. It means that the timer an fire if the time has in our example. The task is still able to fire beause in its inoming ar insription we use pre-emptive timing with the same amount of added time whih means that the token is available before urrent simulation time. In our example if the token will arrive at time x. Then after the transition Timer Events the token will be available at time x But for the transition Task the token is available 1000 time units before and this means the token is available for task at time: x = x. This gives to the task the ability to exeute before the timeout. If the task is not exeuted within a given time then the timer output path will be taken. The time delay for timeout has then already been added. 26

27 CASE Task IN if p>=0 andalso p<10 then 1` else empty MESSAGE EVENTS input (); output (p); ation (round(uniform(0.0,100.0)) ); if p>= 10 then 1` else empty CASE Message IN CASE TIMER Task Timer EVENT CASE.set_ts CASE OUT OUT CASE CASE OUT Figure 17 CPN Mapping for a task with boundary timer and message events Event-based gateways An event-based gateway is a BPMN flow ontrol gateway where the path to be taken is deided on the event that ours first. Event-based gateway an have different types of events onneted to it, but only one timer. It is not prohibited to use more than one timer but if fixed time timers are used then we know that one of them fires always first and thus the others are never used. From this onlusion we an say that the event-based gateway output path an be derived from the ourrene probabilities of eah event. Eah event fires with some fixed probability and the timer fires when no other events our. If the timer path is taken, we add the fixed timer delay. Message events an our at a time between arriving to the gateway and timer triggering time. If we have more than one 27

28 message event, they all have the same delay funtion. An example of event-based gateway with a timer and two message events an be seen on Figure 18. Timer Message 1 Message 2 Figure 18 - BPMN event-based gateway with at timer and two message events. The mapping for event-based gateway is rather straightforward when supporting timers and message events. For an example if we would have a proess model with an event based gateway as seen on Figure 17, then we know that the branhing probability an be predefined and is independent from the timer timeout limit. This allows us to alulate the branh taken right after the ase has arrived in the gateway. It means that when both messages have a reeiving probability of 25% of the ases, then the timeout ours 50% of the time (100% - 25% - 25%). If the timeout is set to 1000 time units then if the timeout path is taken the delay will be exatly 1000 time units. But if any of the messages are reeived then it means the time delay is evenly distributed between 0 and timeout time. An example of this mapping an be seen on Figure

29 CASE Event Gateway input (); output (path); ation ( let val p = disrete(0, 99); in if p>0 andalso p<75 then 175 else if p>75 andalso p<50 then 176 else 182 end ); (if path=182 then 1` else empty) (if path=175 then 1` else empty) CASE (if path=176 then 1` else empty) CASE CASE Confirm purhase order Canel purhase order Modify @+round(uniform(0.0,1000.0)) OUT CASE OUT CASE OUT CASE Figure 19 - CPN mapping for BPMN event based exlusive gateway Sub-proesses Another ommonly used onstrut in a BPMN model is a sub-proess. A sub-proess is a olletion of ativities that an be viewed as a whole and it provides a natural way to draw a ondensed top-down view. Proess flow in the sub-ativity annot ross the boundaries of the sub-proess. Example of a simple sub-proess in BPMN an be seen on Figure 20. A sub-proess is in onnetion with the parent proess through events. Most basi flow in a sub-proess an be modelled with a start and end event and the mapping to a CPN model is then straightforward. The sub-proess start has to be onneted diretly with the ativity before the sub-proess in the main proess. The sub-proess an also use intermediate events to throw events outside the sub-proess boundaries. For example a output BPMN (pt); subproess an have an error, message or timer events that will be aught from the boundary of the sub-proess. This means that the sub-proess annot be seen as an atomi ativity CASE.set_ts input (); CASE output (pt); ation (let val transparams = { T2 (ID1041) CASE 29 CASE.set_ts CASE T1 (ID1108) CASE input (); ation (let val transparams = { pt={dtype=speifi, speifivalue=0, m pcost={dtype=speifi, speifivalue scost={dtype=speifi, speifivalue revenue={dtype=speifi, speifivalu pwaittimedur=0, pwaittimecost=0, transitionname="t1", NoOfResoures=1} in transitionation(, transparams) end);

30 and the mapping for sub-proesses with these events is more omplex. We will disuss these mappings in more depth in the following hapters. Sub-proess Canel order Start Start Register order Approve order End End Figure 20 - Simple BPMN sub-proess Sub-proess timer We an also attah a timer to a sub-proess to ontrol the amount of time the sub-proess an run. If the ertain amount of time has passed the proess exeution will be interrupted. Interrupting the sub-proess flow with an intermediate timer event means that the whole exeution of the sub-proess needs to be anelled just after already exeuting tasks will finish. This means that if timeout ours, we annot start new tasks and in a CPN model the tokens in a sub-proess have to be taken out to stop exeuting the normal flow. To model this kind of behaviour we have to add some additional onstruts to the model. 30

31 Sub-proess Task A Task B Start Start End End Timer End Figure 21 - Simple sub-proess with a timer boundary event. Eah task in a sub-proess with a timer boundary event has to have a skipper funtion as seen on the Figure 22. The orresponding BPMN model an be seen on Figure 21. At the input of the sub-proess the token goes to a plae where it indiates, that the proess is ready to exeute and the timeout has not happened yet. In our example this plae is named OK. This status plae is onneted to eah task in the sub-proess and eah task an start exeuting if a orresponding token is in the OK plae. The token is put bak after the exeution of the task has been ended. If the task has finished it allows the timer event to exeute if timeout has ourred. For this the exeption transition fires and takes the token from OK (OK to ontinue) plae and moves it to NOK (Not OK to ontinue) plae. With a token in NOK plae no other tasks an exeute and all the task skip transitions are ative. This means that artifiial transitions transfer the tokens through the model without exeuting the real tasks and this way it is possible to move tokens out of the model and start an alternative flow (e.g. timeout). This also means that the time does not advane anymore in this sub-proess beause no task an exeute and therefore no delay an happen. 31

32 1 C A C [#ID = (#ID 1)] Task A C.set_ts 1 [#ID = (#ID 1)] Task B C.set_ts OUT C Input [#ID = (#ID 1)] Skip C [#ID = (#ID 1)] Skip 2 C 1 1 [#ID = (#ID OK 1 NOK 1 Timer EX C C C 1 B 1 Ex 1 C Figure 22 - CPN sub-proess timer mapping. It is important to note that the onnetion between task and OK plae, and between task and NOK plae, has to use different ar variables. Also the skip transitions and task transitions have to have additional guard funtions. This funtion allows to fire either of these transitions if there is a token with a needed identifier in either OK or NOK plae. It is important to use different variables in the inoming ars to tasks and skip funtions, beause this allows us to use guard funtions to hek if only the identifiers mah. If the variables would be the same (e.g. only ), then without the guard funtion the transition will be ative only if all inoming plaes have the same token available. It will be a problem when for the ase token has been hanged (for example after the exeution of the first task). The last skip transition is diretly onneted to the timeout exeption output and the proess flow goes to the event handler from there. If the timeout does not happen, then the proess flow goes to the normal output. With this kind of mapping solution we an be sure that the model is able to handle onurrently running proesses although it does not behave properly if the sub-proess itself is part of a loop. If we have to support more than one alternate path (e.g. when using sub-proess boundary message event), then this solution has to be extended. We will disuss this extension in the next hapter when we introdue message event mappings. 32

33 Sub-proess messages During the exeution of a sub-proess we an also model the arrival of different messages. For this sub-proess boundary message events are used. These messages an be interrupting and non-interrupting. Interrupting message will anel the normal sub-proess exeution exatly like the timer event we disussed earlier. The only differene between the timer and message event is that messages an arrive during the sub-proess exeution with some kind of time funtion. To add support for multiple sub-proess boundary events we have to extend our previously introdued CPN mapping. An example model with two message events and a timer an be seen Figure 23. Sub-proess Task A Task B Start Start End End Message 1 Message 2 Timer End End End Figure 23 - BPMN model with multiple boundary events. We previously introdued task skip funtions to transfer proess instane tokens out of the sub-proess to the timer exeption output. We do not have to add more skip funtions if we are using more than one boundary event but we have to add additional data to the token that will go to the ontrol flow (OK plae, NOK plae et). The result of this extended mapping an be seen on Figure 24. First if the proess instane token enters the subproess the exeption path will be seleted immediately, beause we are able to alulate the first ourring event in ase any of them is able to fire. The ability to fire depends on how muh time it takes for the tasks to exeute and on other time onsuming ativities. 33

34 This seletion is done in the transition ation as an be seen in our example. The ation funtion will deorate the token with the output exeption path identifier that will be used when the exeption ours. For example if the arrival time for the seond message will be 10 time units, then after the first task the exeption will our, the seond task will be skipped and Message 2 transition will fire. 1`{ID=1,ts=0} A C [#ID = (#ID (#pr tsb))] Task A C.set_ts C [#ID = (#ID (#pr tsb))] Task B C.set_ts OUT C tsb [#ID = (#ID (#pr tsb))] Skip C [#ID = (#ID (#pr tsb))] Skip 2 tsb tsb C [#ID = (#ID (#pr tsb)),(#path tsb) = 10] Path tsb OK tsb NOK tsb Timer EX input (); output (tsb,dl); ation ( let val paths = [10,20,30] val timings = [ 100, round(uniform(0.0,200)), round(normal(0.0,75.0) ] B TS TS tsb tsb Ex tsb TS [#ID = (#ID (#pr tsb)),(#path tsb) = 30] tsb Message1 [#ID = (#ID (#pr tsb)), (#path tsb) = 20] tsb Message 2 C MES1 C MES2 C val delay = minl(timings,[]) val p = List.nth(paths, findlo(timings,delay,0)) val result : TS = {pr=,path=p} in (result,delay) end ); Figure 24 - CPN mapping for multiple sub-proess boundary events Sub-proess error events Error events are used in a sub-proess to anel the exeution in a sub-proess instane. In a BPMN proess model an error is represented as a speial type of end node as an be seen on Figure 25, where we have an error event after the Canel order task. The Error will be aught by the intermediate Error event whih is on the boundary of the sub-proess. Converting this kind of error throwing and athing to a CPN module is rather omplex, beause we have to make sure that after an error has ourred, none of the tokens in a subproess will move to the normal end. For example, if we have an error event after an AND split, then the path without error event has to be anelled and the token has to be taken out 34

35 from the sub-proess without exeuting any tasks and the token is also not allowed to ontinue its flow after the normal sub-proess end event. To ahieve this we have extended our previous mapping model on Figure 24. The result of this extension an be seen Figure 6, where we provide only the added exeption task and status plaes. Sub-proess Canel order Error Start Start Register order Approve order End End Error End Figure 25 - Sub-proess with an error event. First when we trigger an error event after reeiving a token in Error IN plae, as seen on Figure 26, we have to ativate the skip funtions by moving the proess instane token from OK plae to NOK plae. This is done by the error event transition. Note that the error transition an move the proess instane diretly to the error event output. Seondly we have to make sure that if there are more tokens in the sub-proess then they do not start more tasks and do not go to the normal sub-proess end event also via the skip transitions. To ahieve this we plae the status token from OK plae to NOK plae and set its path identifier to 0. This means that in the end of the sub-proess flow this orresponding ase token will not take normal output and is destroyed. On Figure 26, there is a transition Clean that will take the token from NOK plae and from the last skip funtion end plae and destroys them both, beause the proess flow has already ontinued from the exeption handler. Note that this solution behaves orretly, but it does leave a token in the plae B if the error ours, beause the error event does not wait until the timeout has ourred. This problem an be solved by adding another leaner funtion. 35

36 Figure 26 CPN Mapping of sub-proess error event Conlusions BPMN is a widely used proess modelling notation, but it laks a standardized support for proess simulation. To overome this problem it is useful to onvert BPMN proess models into CPN models to support advaned simulation tehniques. These previously presented mappings show us that it is possible to onvert different BPMN elements into Petri net onstruts. When using plain Petri nets then the end result is not usable for simulation purposes and the mappings are only important to gain understanding of the BPMN to CPN onversion method. To overome the limitations and add support for advaned simulation models, some higher level Petri net has to be used. Coloured Petri net is highly flexible and allows us to onvert more sophistiated onstruts with also simulation support. Some of these mappings provided in this thesis have already been disussed in various papers. Our ontribution is mostly in the advaned mapping onstruts like task boundary events and sub-proess boundary events. 36

37 Interfae 5. Arhiteture As a part of this thesis we designed and also implemented open and extensible proess onverter arhiteture. The arhiteture is designed in a way that it would be dependent on only a small subset of tools (e.g. CPN, CPN Tools simulator) and allow it to be used with many other existing software pakages available. The ore and fixed part of this arhiteture deals with a CPN model that will be the basis for this arhiteture. It means that the input proess modelling notation; input file type; output format and even the CPN simulator itself are exhangeable and only the usage of CPN as the intermediate proess desription language is mandatory. This allows us to overome the problematial limitations of urrent tools desribed also in the paper [20]. Element CPN Mappings Element Fatories Proess file Proess file parser Interfae Simulation data file Simulation data parser Interfae Relay Fatory Proess CPN onverter CPN file Figure 27 - Proess onverter arhiteture. Converter An overview of the arhiteture an be seen on Figure 27. The first part is the proess onverter that takes a proess model and simulation data files as an input. The purpose of onverter is to generate a simulation ready CPN model that an be handed over to the simulator. Simulation data an also be in the same file, but we have designed the arhiteture in a way that the simulation data an be also added independently from the proess model itself. The file parsers have to implement an interfae to assure a ommon interfae 37

38 between the onverter and the file parser. The same is also true for the element in-memory CPN mapping generation. This solution is disussed in more depth in the following. In the onverter arhitetural design we used design patterns to assure openness and extendibility. The design patterns we used inlude abstrat/onrete fatory pattern and strategy pattern. With abstrat/onrete fatory pattern we ensured that eah model mapping an be hanged to another implementation. For example it is possible to define the used mapping implementations from text file. This allows us to swith quikly and easily between different mappings. To assure extendibility we had to make our arhiteture independent from proess input file format, simulation data input file format and also from the modelling language. An overview of these extendibility aspets an be seen in Table 3. Extendibility aspet Motivation Solution Proess input format. Simulation data input format. To support different proess serialization formats. To support different simulation data input formats. Can be from the proess model file or from a separate file. Data file is handled through a separate and independent parser that follows the predefined ommuniation rules. Modelling language. To support various available modelling notation and different subsets of their modelling elements. Modelling notation is independent from the file parsers and the generation of modelling elements is handled through fatories to allow hanging and extending. Different subsets of modelling elements. Different proesses need different subsets of modelling elements. It is possible to add, remove or modify modelling elements that have to be onverted. Table 3 - Different extendibility aspets. 38

39 5.1. Independene from proess input format The arhiteture does not rely on any urrently available proess exhange file format. Currently there are various proess serialization formats available, e.g. Business Proess Modelling Language (BPML), Business Proess Exeution Language and XML Proess Definition Language (XPDL). They are all developed with a different target usage in mind and eah of them is good for a ertain purpose (e.g. using in an exeution environment to automate the proess). Despite the differenes in the target usage there is often a need to simulate the proess regardless of its serialization format. This is why we need an extensible arhiteture for proess simulation to handle any of these available proess file formats. In our arhiteture the proess file is read into memory through a onrete file parser. This parser is independent from the other parts of the system and therefore it is easily extendable and hangeable. The other parts an ommuniate with the parser through the ommuniation rules defined in the interfae file. It basially means, that any proess file parser has to be able to answer simple questions like: what are the elements in the file; what is the type of a ertain element and the parser itself does not have to know what will be onverted and how. As a proof of onept to show how this arhiteture works, we have implemented an XPDL 2.0 parser in our prototype solution [17] (The prototype is also available on the aompanied CD-ROM. Look appendix CD ContentsE for more information). It is possible to start using the upoming BPMN 2.0 standard serialization model by just reating a new onrete parser implementation. Figure 28 - Parser lass diagram. 39

40 Part of this Java ode is represented on Figure 28 as a lass diagram. Class Parser is the entral starting point for the whole onversion proess and it has a referene to the onrete proess file parser. In our example the XPDL2ElementParser is the onrete parser that implements ElementParser interfae and is thus exhangeable. To use another onrete proess file parser (e.g. BPMN 2.0), another parser lass has to be reated that implements ElementParser interfae. The onrete element parser referene is set in the Parser lass before the parse() method an be run Independene from the simulation data file format Not all urrently available proess model serialization formats and modelling environments support adding simulation data. Usually when there is no simulation engine built into the modelling environment it is also not possible to add simulation data. Therefore our arhiteture supports simulation data from a separate input file. Although some of the proess exhange file formats support adding extended attributes, it is good if the original proess file does not have to be hanged. Therefore we have a separate simulation file parser interfae defined in our arhitetural solution. It means that the parser for simulation data is independent from the proess model parser, but it is also possible to use the same file for both parsers. If we onsider BPMN 2.0 where there is support for some simulation data, this same file an be handled to both proess parser and to simulation data parser. This part of the implementation in Java ode is represented on Figure 29. Figure 29 - Parser lass diagram. 40

41 5.3. Independene from modelling notation As our goal was to design a proess onverter that is open and extensible, it must not impede the usage of any advaned modelling onstrut. It is important to support different modelling notations urrently available and to be prepared for future hanges in urrent modelling standards. For example in the next version of BPMN a new type of intermediate event will be introdued non-interrupting event. Adding onversion support for this kind of event would be easy in our proess onverter. The reation of CPN mappings for different modelling notation elements is handled through abstrat/onrete fatory pattern. The main parser instane has a referene to a entral relay fatory that handles the olletion of different fatories, one for eah ertain modelling notation element. For instane as seen on Figure 30 we have the abstrat relay fatory RelayFatory and this is extended by a onrete BPMNRelayFatory whih is responsible for the registration of different BPMN element fatories. BPMNRleayFatory is responsible for seleting the right fatory to generate a needed CPN mapping for ertain BPMN elements. To do this the onrete fatory has to register the needed element fatories (e.g. BPMNTaskFatory, BPMNGatewayFatory). When the fatories are registered, then it is easy for the parser to just ask the relay fatory, whih it has referene to, to reate CPN mapping for a ertain element. This makes the main parser independent from the element fatories and thus the mappings and fatories are easily exhangeable. Eah modelling notation element has a CPN mapping in a separate Java lass and instanes of these lasses will be generated through the element fatories. In our prototype solution BPMN element Task CPN mapping is reated from BPMNTaskFatory. To add support for another type of modelling notation there has to be made another relay fatory that will handle fatories for eah new modelling element. Also for eah modelling element there has to be the CPN mapping lass. For example if we are adding support for Event-driven Proess Chain (EPC) models we would reate EPCRelayFatory. From this new relay fatory we would referene to the element fatories (e.g. EPCEventFatory, EPCFuntionFatory). Eah of these element fatories would be responsible for generating one ertain EPC modelling elements. In this way we an set the main parser to referene EPCRelayFatory to handle all the element generation. To add support for a new element we only have to make a new mapping implementation. 41

42 Figure 30 - Parser fatories lass diagram Our onverter in an end-to-end simulation system We onsider end-to-end simulation system to onsist of three main omponents: 1. Modelling environment; 2. Proess simulator; 3. Analytial apability. There are different ommerial and also open soure tools available that implement at least one of these omponents. Some of the well known tools are for example: 1. Oryx-editor Web-based proess modelling environment that has the support for various modelling languages (e.g. BPMN, EPC); 2. CPN Tools simulator Supports simulation of the Coloured Petri Net models and is able to generate simulation log output as a standardized MXML format; 3. ProM Generi open-soure proess mining and analysis tool. 42

43 This list is just an example of one speifi tool for eah part of the proess modelling environment. In this thesis we propose an extended version of this previously disussed simulation system. We have extended the initial end-to-end system in a way to support using these already available and previously mentioned freely available tools. CPN model Proess modeling environment Proess onverter (part of this thesis) CPN simulator Log analysis software Proess model Simulation logs Figure 31 - Extended simulation system. This system has been extended in a way that all of the business proesses will be onverted into CPN modelling language to support advaned simulation funtionality that most urrent end-to-end tools lak of. CPN gives us enough flexibility to support almost any imaginable workflow pattern and simulation need. An overview of this extended system an be seen on Figure 31. We also implemented a prototype version of this onverter Conlusions Most of urrent simulation tools provide a built-in simulation engine that has limited support for simulation funtionality and is not extendable. Here we provided a proess onverter arhiteture that is the basis for building proess model CPN onverter for different modelling notations. Proess models in CPN an be extended with the onversion mappings and thus an support advaned simulation onstruts. In this thesis we also implemented a version of a onverter prototype built on this arhiteture. It is able to onvert BPMN models to simulation ready CPN models, based on the mappings provided in previous hapter. 43

44 6. Case of study In the following we demonstrate the usage of our proess onverter as a part in the whole end-to-end simulation system. To support an end-to-end simulation system, we used different tools. These tools that we used throughout the ase study are the following: 1. Modelling the proess model We used an open-soure projet Skethpad BPMN as our modelling environment. This tool is urrently under development and is available here [18]. 2. Simulation data To add simulation data for the proess model we used a simple XML file reated with text editor. 3. Proess onverter We onverted our BPMN model to a CPN simulation ready model with our prototype onverter. 4. Simulation To simulate the onverted CPN model we used proess simulator from the CPN Tools projet. This simulator an be used separately from the CPN Tools editor, but as we did the simulation manually, we used the editor to exeute the simulation. 5. Simulation log onversion - The simulator tool generated one file for eah proess instane. To merge these separate files we used ProM Import Framework. This tool has speial support for merging log files that were generated from CPN Tools simulator. 6. Results analysis To analyze the simulation results we used ProM 5.2. This is an open soure projet and it is available here [15] Preparing the proess model and simulation data To demonstrate the whole simulation lifeyle we use a BPMN proess model that is omplete and ready for simulation and it an be seen on Figure

45 Purhase order reeived Order not approved Confirmation Start Register purhase order Verify purhase order Order approved Confirm purhase order End Modify purhase order Modified purhase order Timer Error Order timed out End End End Figure 32 - Example BPMN model. It is a simplified purhase order management proess that after modelling in BPMN inludes different BPMN elements whih onversion is urrently supported by our prototype CPN onverter. It inludes tasks, different gateways, a sub-proess, sub-proess timer and different end events. The proess starts when a new purhase order is reeived. The purhase is first automatially registered in the system (task in the model: Register purhase order). As this registration is done by the system automatially, it does not need the interation of any worker and thus we onsider the exeution time as 0 minutes. After the registration there is a manual approval proess that will be handled by a lerk. This task takes 20 minutes on average and after that the purhase order is either approved and the proess ontinues or the order is not approved and the proess ends with an error output in our BPMN model. 45

46 As an be seen on Figure 32, the error ours in the sub-proess and it is handled with the sub-proess boundary event. This error handling ends the proess as it is diretly onneted to the proess end event. We also know that 30% of the approval requests are not approved and 70% of the time the ase is approved aordingly. This is in our proess modelled as an exlusive gateway. After the order has been approved it an be onfirmed or modified by the order submitter. This onfirmation or modifiation proposal is sent to the lerk as a written doument. We also know that 20% of the time after the order has been approved the ustomer writes a modifiation proposal. 80% of the time the purhase order does not have to be hanged anymore and the ustomer approves the order. The onfirmation and modifiations to the purhase order are reeived in uniform distribution between 0 and 1.5 hours. This part is in our BPMN model represented as an event-based gateway with two intermediate message events onneted to it. If the onfirmation is reeived from the buyer then it takes 10 minutes for the lerk to finally onfirm the purhase order. If the buyer sends modifiations, then it takes the lerk 20 minutes to proess these modifiations and this new modified version of this purhase order will be again verified. This verifiation an be done by any of the available lerks. This proess starting from registering the purhase order and ending with a non-approval or onfirmation an take a maximum of 4 hours. If this time has passed after the order is registered, this order is not valid anymore and the whole approval proess has to be anelled. This means that after the time has passed no new ativities in the proess will be started and the proess ends with a timeout. We also assume that the initial orders are reeived after every 10 minutes and we have always 4 lerks working. This simulation data an be also seen in Table 4 and Table 5. If the proess has been modelled in BPMN Skethpad tool, it allows saving the proess into XPDL 2.0 file format. Our prototype onverter has an implementation of XPDL 2.0 parser and therefore this file an be onverted after adding the simulation data from a separate file. To add simulation data we use separate XML file whih has referenes to the previous BPMN model elements in the XPDL file. An example of this XML file an be also seen on Figure 33. We used our own simulation data metamodel and it only supports the values that were needed to run basi simulations with our prototype onverter. The ompletion of 46

47 simulation shema was not part of this thesis beause our onverter arhiteture is independent from the simulation data input format and an be extended in the future. This example metamodel XSD shema an be seen in Appendix D. Task Performer Duration Register purhase order System 0 (automati proess) Verify purhase order Clerk 20 minutes (1200 seonds) Confirm purhase order Clerk 10 minutes (600 seonds) Modify purhase order Clerk 20 minutes (1200 seonds) Order not approved - These tasks are needed only Order approved - for generating log events. Order timed out - Table 4 - BPMN tasks simulation data. Element Simulation data XOR gateway Order not approved 30% Order approved 70% Event-based gateway Confirmation message 80% Modifiations message 20% Confirmation message Reeived in uniform distribution between 0 and 1.5 hours Modifiation message Table 5 - Control flow simulation data. 47

48 <SimulationData> <SimulationProfile> <StartTime>2000,1,1,0,0,0</StartTime> <EndTime>2001,1,1,0,0,0</EndTime> <TokensInBundle>1</TokensInBundle> <TotalTokens>100</TotalTokens> <CostPerToken>0</CostPerToken> <TimeBetweenBundles>600</TimeBetweenBundles> </SimulationProfile> <Tasks> <Task> <Id>53</Id> <ProessingTime>1200</ProessingTime> <ResoureType>CLERK</ResoureType> </Task> </Tasks> <Gateways> <Gateway> <Id>48</Id> <GateRefs> <GateRef> <IdRef>58</IdRef> <Probability>20</Probability> </GateRef> </GateRefs> </Gateway> </Gateways> <MessageEvents> <MessageEvent> <Id>64</Id> <Time>5400</Time> </MessageEvent> </MessageEvents> <Resoures> <Resoure> <ResoureType>CLERK</ResoureType> <ResoureAmount>4</ResoureAmount> </Resoure> </Resoures> </SimulationData> Figure 33 Simulation data in XML file Converting the proess To onvert our proess into CPN representation, we used our prototype onverter. It is possible to run the onversion diretly from the Java ode. To do this we have to define the 48

49 loation of the input simulation proess file and simulation data files reated previously. Doing this from Java ode is straightforward and an example of this an be seen on Figure 34. To do the same from a preompiled Java jar file, we would have to exeute the following ommand: java jar pnconverter.jar proess.xpdl output.pn simulation_data.xml. File xpdlfile = new File("proess.xpdl"); File simdatafile = new File("simulation_data.xml"); Parser p = new Parser(); p.setelementfatory(new BPMNRelayFatory(p)); p.setelementparser(new XPDL2ElementParser(xpdlFile)); p.setsimdataparser(new KBSimDataParser(simDataFile)); p.parse(); p.save("output.pn", true); Figure 34 Part of the Java ode to start the onversion proess Simulating the proess There are different options to run the simulation on the generated CPN. We did this by using CPN Tools graphial environment beause if the simulation is to be exeuted manually it is easier to use GUI than to use the same simulator from a plain system onsole environment. Short introdution to CPN Tools an also be seen in appendix 0. CPN Tools generates a separate log file for eah exeuted proess instane. This log onsists of audit trail entries that are generated in eah BPMN task. It is possible to generate log entries from every element but the entries from tasks are the most important ones. An example of a log entry an be seen on Figure

50 <AuditTrailEntry> <Data> <Attribute name="waitingtime">0</attribute> <Attribute name="waittimecost">0</attribute> <Attribute name="modeltimestamp">0</attribute> </Data> <WorkflowModelElement>Approve purhase order</workflowmodelelement> <EventType>start</EventType> <Timestamp> T00:00: :00</Timestamp> <Originator>CLERK</Originator> </AuditTrailEntry> <AuditTrailEntry> <Data> <Attribute name="proessingtime">1200</attribute> <Attribute name="noofresoures">1</attribute> <Attribute name="modeltimestamp">1200</attribute> </Data> <WorkflowModelElement>Approve purhase order</workflowmodelelement> <EventType>omplete</EventType> <Timestamp> T00:20: :00</Timestamp> <Originator>CLERK</Originator> </AuditTrailEntry> Figure 35 Simulation log trail entries. As a final result we only need on MXML standard simulation log file. To onvert all these log files generated from CPN tools simulator, we used ProM Import utility. A sreenshot of this tool an be seen on Figure

51 Figure 36 - Sreenshot of ProM Import tool. This utility asks for a diretory where the proess instane log files are and then generates a new ombined log file as an output Simulation result analysis As a result of running the simulation and merging the log files we now have one standard MXML log file that an be analyzed with ProM. This tool allows us to open the log file and do different analysis with it. First thing when you open the log file is a dashboard where you an see the summary of key data in your log file. This is also presented on Figure 37. From there we an see the number of ases that were exeuted and how many events these ases generated in total. To see the basi information about how the order proess ended, we an use log summary analysis. It finds all the end events and shows their ourrene probabilities. An example of this an be seen on Figure

52 Figure 37 - ProM dashboard. Figure 38 - Log summary in ProM Conlusions In this hapter we demonstrated our proess onverter arhiteture and showed how it an be part of an end to end simulation environment to support advaned simulation onstruts. First a proess model was designed in SkethpadBPMN and exported into XPDL file format. This file format is supported our prototype and it onverted our model to a CPN simulation ready proess model. Simulation data was added separately from another XML file. The onverted CPN file was then simulated in CPN Tools environment whih produed an output in multiple log files. Then ProM Import framework was used to ombine these log files to one log file that we ould analyze later in ProM proess mining tool. 52

53 7. Conlusion and future work In this thesis we analyzed several general purpose simulation tools and we onluded that most of these produts provide only a fix set of simulation apabilities and that they over only a subset of onstruts of the underlying modelling notation. They mostly support defato standard proess modelling notation BPMN, but lak the support for its simulation. Some of the tools allow to simulate only the minimum set of BPMN elements (tasks, gateways, start event, end event) and do not provide simulation support for other elements like intermediate events. Also the simulation data that an be added to the supported elements is usually very limited and in ase there is a need to onstrut and simulate a proess model in some speifi domain, it an turn out to be impossible. The seond problem with these tools is that besides the limited support for proess model simulation, they also do not provide any extensibility mehanisms to add the needed funtionality. To overome these problems our ontribution is two-fold. We defined an open and extensible arhiteture for proess onverter and a set of advaned BPMN to CPN mappings. Proess onversion to a CPN model allows the proess to be extended with a omprehensive simulation support. Some of these mappings have also been disussed before in different papers (e.g. [6], [11] and [20]). Our main ontribution in this part of the thesis is the mappings of boundary and intermediate events for tasks and sub-proesses. The proess onverter arhiteture we implemented is able to solve the problems that are seen in urrent tools. It makes use of the powerful CPN modelling language and CPN Tools simulator to handle omplex simulation models. Upon this arhiteture it is possible to build a domain speifi or general purpose proess simulation framework. The CPN mappings we provided in the first part of this thesis are also used in a prototype built on our proess onverter arhiteture. This prototype already supports many BPMN elements like: tasks, start events, end events, different gateways, intermediate message and timer events, sub-proesses and sub-proess boundary events. All of these elements also have support for simulation. Firstly future researh should be done to extend the list of BPMN element to CPN mappings to gain full support for BPMN elements. Also the upoming BPMN 2.0 should be onsidered as it adds some new modelling onstruts (e.g. non-interrupting events) and extends the notation modelling apabilities. 53

54 The simulation shema that we used in our onverter prototype supports only the main simulation data elements (e.g. task duration, branhing probabilities, simulation profiles, et). Implementing an extensive support for simulation data was not part of this thesis and is onsidered an important future work. Our arhitetural solution is built to be extendable also for adding simulation data and it an be extended based on the work [6] for example. Thirdly the implemented prototype an be extended in the future to work as a RESTful servie, or even Software as a Servie. This allows it to be integrated into a full-fledged simulation environment to support end-to-end proess simulation. 54

55 Avatud ja laiendatav äriprotsesside simulator Abstrat (in Estonian) Magistritöö (30 EAP) Karl Blum Äriprotesesside haldamise üheks väga oluliseks osaks on protsesside simuleerimine. Simuleerimine annab hea võimaluse kontrollida protsesside toimimist ning leida muutmist vajavaid kitsaskohti. Käesolevas magistritöös vaatleme olemasolevaid protsesside simuleerimise keskkondi, mida peetakse hetkel selle valdkonna tippudeks (näiteks TIBCO, IBM WebSphere jt), ning uurime nendes esinevaid probleeme seoses funktsionaalsuse ja laiendatavuse puudumisega. Praktiliselt kõikidel uuritud vahenditel oli probleeme keerukama ülesehitusega protsesside simuleerimisel ning puudub võimalus töövahendit äridomeeni spetsiifikast lähtuvalt vajadusel muuta või täiendada. Magistritöö põhiosa on jagatud kaheks. Esimeses osas toome välja protsessielementide teisendused defato standard modelleerimisnotatsioonist BPMN, madalama taseme modelleerimiselementideks CPN keeles. Teisenduse kasulikkus seisneb selles, et CPN keeles olev protsess on simuleeritav vahendiga CPN Tools, ning konverteerimist on võimalik kohendada vastavalt vajadustele. Näiteks on võimalus lisada ärispetsiifilisi simulatsiooniandmeid või kasutada mittestandardseid tööde jaotamise mustreid. Magistritöö teises osas töötame välja täiesti uue protsesside konverteerimise arhitektuuri, mis on kättesaadav avatud lähtekoodina, ning on kergesti laiendatav. Siinkohal tähendab laiendatavus seda, et välja töötatud arhitektuuri on võimalik kasutada erinevatest modelleerimiskeeltest protsesside konverteerimiseks CPN keelde. Näidisena oleme loonud ka prototüübi, mis on suuteline teisendama enamlevinud BPMN elemente simuleerimisvalmidusega CPN elementideks. Edasiste töödena näeme me võimalust laiendada olemasolevat prototüüpi toetamaks kõiki BPMN elemente ning keerulisi simulatsiooniandmeid. Prototüüpi on võimalik ka edasi arendada simuleerimise veebiteenuseks, mida saaksid edukalt kasutada erinevad modelleerimiskeskkonnad simulatsioonide läbiviimiseks. 55

56 Referenes 1. W.M.P. van der Aalst. The Appliation of Petri Nets to Workflow Management. The Journal of Ciruits, Systems and Computers, 8(1):21-66, Business Proess Cyle: Analyze Phase. (last visited: ). 3. M. Weske. Business Proess Management: Conepts, Languages, Arhitetures. Springer, Objet Management Group, Business Proess Model and Notation (BPMN) Version M.H. Jansen-Vullers, M. Netjes. Business Proess Simulation - A Tool Survey. In Workshop and Tutorial on Pratial Use of Coloured Petri Nets and the CPN, University of Aarhus, Denmark, M. Zäuram. Business Proess Simulation Using Coloured Petri Nets. Master Thesis, Insitute of Computer Siene, University of Tartu, June K. Jensen, L. M. Kristensen, L. Wells. Coloured Petri Nets and CPN Tools for Modelling and Validation of Conurrent Systems. International Journal on Software Tools for Tehnology Transfer (STTT), 9(3): , M. E. Porter. Competitive Advantage: Creating and Sustaining Superior Performane. Free Press, V.Bosilj-Vuksi, V. Hlupi. Criteria for the Evaluation of business Proess Simulation Tools. Interdisiplinary Journal of Information, Knowledge, and Management, 2: Extensibility. (last visited: ). 11. R. M. Dijkman, M. Dumas, C. Ouyang, Formal Semantis and Automated Analysis of BPMN Proess Models, M. zur Muehlen, J. Reker. How Muh Language is Enough? Theoretial and Pratial Use of the Business Proess Modeling Notation. Proeedings of the 20th international onferene on Advaned Information Systems Engineering, LNCS, 5074: , M. W. Barnett. Modeling & Simulation in Business Proess Management. BP Trends Newsletter, White Papers & Tehnial Briefs, 10(1), Petri net. (last visited: ). 56

57 15. ProM Framework for Proess Mining. (last visited: ). 16. F. Gottshalk, W.M.P. van der Aalst, M.H. Jansen-Vullers, H.M.W. Verbeek. Protos2CPN: Using Colored Petri Nets for Configuring and Testing Business Proesses. Workshop and Tutorial on Pratial Use of Coloured Petri Nets and the CPN, University of Aarhus, Denmark Prototype CPN onverter. (last visited: ). 18. Skethpad BPMN. (last visited: ). 19. C. Wolf, P. Harmon. The State of Business Proess Management BPTrends, L. G. Bañuelos, M. Dumas. Towards an Open and Extensible Business Proess Simulation Engine, Workshop and Tutorial on Pratial Use of Coloured Petri Nets and the CPN, University of Aarhus, Denmark, V. V. Bulitko, D. C. Wilkins. Using Petri Net to Represent Context in Blakboard Sheduling. Proeedings of the Amerian Assoiation for Artifiial Intelligene (AAAI) Workshop on Reasoning in Context for AI Appliations, What is CPN Tools? (last visited: ). 23. W.M.P van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski, and A.P. Barros. Workflow Patterns. Distributed and Parallel Databases, 14(3):5-51, July

58 Apendies A. BPMN BPMN will provide businesses with the apability of understanding their internal business proedures in a graphial notation and will give organizations the ability to ommuniate these proedures in a standard manner. There are sores of proess modelling tools and methodologies. Given that individuals will move from one ompany to another and that ompanies will merge and diverge, it is likely that business analysts are required to understand multiple representations of business proesses potentially different representations of the same proess as it moves through its lifeyle of development, implementation, exeution, monitoring, and analysis. Therefore, a standard graphial notation will failitate the understanding of the performane ollaborations and business transations within and between the organizations [4]. BPMN will follow the tradition of flowharting notations for readability; yet still provide a mapping to the exeutable onstruts. BPMN ontains more than 50 modelling onstruts, but the ore set of onstruts is used most frequently [12]. These onstruts are shown on Figure 39. Figure 39 - Basi BPMN elements. There are different types of events available. Start and end events speify the overall proess starting (start event) and end point (end event). Intermediate events are used in the proess flow to model the arrival of a message event (intermediate message event), ourrene of an error (intermediate error event) or a ertain time being reahed 58

59 (intermediate timer event). An ativity is work that is performed within a business proess. An ativity an be atomi or non-atomi (ompound). The types of ativities that are a part of a Business Proess Diagram are: Proess, Sub-Proess, and Task. [4] Task is a typial workflow ativity that orresponds to some kind of work that has to be done in the real world (e.g. hek validity of appliation, ollet money, deliver goods). Proess is a olletion of these ativities and the ativities in a proess an be grouped into subproesses. Gateways are modelling elements that are used to ontrol how Sequene Flow interats as they onverge and diverge within a Proess. If the flow does not need to be ontrolled, then a Gateway is not needed. The term Gateway implies that there is a gating mehanism that either allows or disallows passage through the Gateway--that is, as Tokens arrive at a Gateway, they an be merged together on input and/or split apart on output as the Gateway mehanisms are invoked. To be more desriptive, a Gateway is atually a olletion of Gates [4]. Gateways are represented as a diamond and an have different markings inside depending on the behaviour of the gateway. Gateways an define different sequene flow behaviour for flow joining and branhing. Different types of gateways an be seen on Figure 40. Figure 40 - BPMN gateway types. 59

60 B. Coloured Petri Nets A Petri net is a graphial tool for the desription and analysis of onurrent proesses whih arise in systems with many omponents (distributed systems). The graphis, together with the rules for their oarsening and refinement, were invented in August 1939 by the German Carl Adam Petri - at the age of 13 [14]. Petri net is a direted bipartite graph with two node types alled plaes and transitions. The nodes are onneted via direted ars. Connetions between two nodes of the same type are not allowed [1]. Plaes are represented by irles and transitions by retangles. An example of a simple Petri net an be seen on Figure 41. Figure 41 - Example of a Petri net. Eah plae an have one or more tokens in it. The plaing of tokens represents some ertain state in the proess. The purpose of transitions is to move tokens from one plae to another plae or plaes. The transition is able to fire if and only if there is a token available in eah plae that is onneted to the transition via an inoming ar. After the transition fires, it onsumes these tokens and generates a new token to eah plae onneted with an outgoing ar. In our example only transition T1 an fire and after firing it will onsume the token in plae P1 and produe two tokens one token to plae P2 and one to plae P3. While being a powerful and attrative modelling tool, the lassial Petri nets lak several features helpful for modelling omplex real-time systems and proesses [21]. Some of these shortfalls when modelling business proesses aording to [21] are: Classial PNs are essentially propositional (i.e. they have no variables or funtions); 60

61 There is no unertainty support in lassial PNs; Every time a transition fires all the enabling tokens are withdrawn from the enabling plaes. Also when onsidering business proesses, there is no support for timing information in lassial Petri net. To overome these problems there are various higher level Petri net versions available. One of them is Coloured Petri Net. Coloured Petri Net (CP-net or CPN) is a graphial language for onstruting models of onurrent systems and analyzing their properties. CP-net is a disrete-event modelling language ombining Petri nets and the funtional programming language CPN ML whih is based on Standard Markup Language (SML). The CPN modelling language is a general purpose modelling language, i.e., it is not foused on modelling a speifi lass of systems, but aimed towards a very broad lass of systems that an be haraterized as onurrent systems [7]. A CPN model of a system desribes the states of the system and the events (transitions) that an ause the system to hange state. By making simulations of the CPN model, it is possible to investigate different senarios and explore the behaviours of the system. Very often, the goal of simulation is to debug and investigate the system design. CP-nets an be simulated interatively or automatially [7]. An example of a CPN model an be seen on Figure

62 Init 1() () UNIT Init Next UNIT () Arrive output (job); ation newjob(); jobs jobs^^[job] I/O Queue Jobs 1 1`[] Figure 42 - Example of a CPN model. CPN has also the ability to extend the model with time onept that is essential in business proess simulation. The ore building bloks in CPN are the same as in Petri Nets, but these elements behaviour an be extended by adding CPN ML funtions and parameters. It is even possible to exeute omplex funtion when a ertain transition is fired. CPN ML as an extension from SML is also used on plae and ar insriptions to desribe initial markings and guards. It also provides a way to implement internal algorithms that an alulate the enabling and ourrene of bindings. 62

63 C. CPN Tools CPN Tools is a tool for managing CPN models. It is possible to edit and simulate these models. The GUI is based on advaned interation tehniques, suh as toolglasses, marking menus, and bi-manual interation. Feedbak failities provide ontextual error messages and indiate dependeny relationships between net elements. The tool features inremental syntax heking and ode generation whih take plae while a net is being onstruted. A fast simulator effiiently handles both untimed and timed nets. Full and partial state spaes an be generated and analyzed, and a standard state spae report ontains information suh as boundedness properties and liveness properties [22]. Example sreenshot of this tool an be seen on Figure 43. Figure 43 - CPN Tools editor. CPN Tools also inludes a simulation engine that is part of the tool itself but an handle inputs from operating system onsole. This gives us the ability to run simulations without even using the CPN Tools GUI. This will beome important, if we want to use some automated simulation engine and we do not want to interat with the CPN proess modelling tool. 63

WORKFLOW CONTROL-FLOW PATTERNS A Revised View

WORKFLOW CONTROL-FLOW PATTERNS A Revised View WORKFLOW CONTROL-FLOW PATTERNS A Revised View Nik Russell 1, Arthur H.M. ter Hofstede 1, 1 BPM Group, Queensland University of Tehnology GPO Box 2434, Brisbane QLD 4001, Australia {n.russell,a.terhofstede}@qut.edu.au

More information

A Holistic Method for Selecting Web Services in Design of Composite Applications

A Holistic Method for Selecting Web Services in Design of Composite Applications A Holisti Method for Seleting Web Servies in Design of Composite Appliations Mārtiņš Bonders, Jānis Grabis Institute of Information Tehnology, Riga Tehnial University, 1 Kalu Street, Riga, LV 1658, Latvia,

More information

An Enhanced Critical Path Method for Multiple Resource Constraints

An Enhanced Critical Path Method for Multiple Resource Constraints An Enhaned Critial Path Method for Multiple Resoure Constraints Chang-Pin Lin, Hung-Lin Tai, and Shih-Yan Hu Abstrat Traditional Critial Path Method onsiders only logial dependenies between related ativities

More information

Deadline-based Escalation in Process-Aware Information Systems

Deadline-based Escalation in Process-Aware Information Systems Deadline-based Esalation in Proess-Aware Information Systems Wil M.P. van der Aalst 1,2, Mihael Rosemann 2, Marlon Dumas 2 1 Department of Tehnology Management Eindhoven University of Tehnology, The Netherlands

More information

Sebastián Bravo López

Sebastián Bravo López Transfinite Turing mahines Sebastián Bravo López 1 Introdution With the rise of omputers with high omputational power the idea of developing more powerful models of omputation has appeared. Suppose that

More information

Table of Contents. Appendix II Application Checklist. Export Finance Program Working Capital Financing...7

Table of Contents. Appendix II Application Checklist. Export Finance Program Working Capital Financing...7 Export Finane Program Guidelines Table of Contents Setion I General...........................................................1 A. Introdution............................................................1

More information

Findings and Recommendations

Findings and Recommendations Contrating Methods and Administration Findings and Reommendations Finding 9-1 ESD did not utilize a formal written pre-qualifiations proess for seleting experiened design onsultants. ESD hose onsultants

More information

Chapter 1 Microeconomics of Consumer Theory

Chapter 1 Microeconomics of Consumer Theory Chapter 1 Miroeonomis of Consumer Theory The two broad ategories of deision-makers in an eonomy are onsumers and firms. Eah individual in eah of these groups makes its deisions in order to ahieve some

More information

Customer Reporting for SaaS Applications. Domain Basics. Managing my Domain

Customer Reporting for SaaS Applications. Domain Basics. Managing my Domain Produtivity Marketpla e Software as a Servie Invoiing Ordering Domains Customer Reporting for SaaS Appliations Domain Basis Managing my Domain Managing Domains Helpful Resoures Managing my Domain If you

More information

Hierarchical Clustering and Sampling Techniques for Network Monitoring

Hierarchical Clustering and Sampling Techniques for Network Monitoring S. Sindhuja Hierarhial Clustering and Sampling Tehniques for etwork Monitoring S. Sindhuja ME ABSTRACT: etwork monitoring appliations are used to monitor network traffi flows. Clustering tehniques are

More information

Using Live Chat in your Call Centre

Using Live Chat in your Call Centre Using Live Chat in your Call Centre Otober Key Highlights Yesterday's all entres have beome today's ontat entres where agents deal with multiple queries from multiple hannels. Live Chat hat is one now

More information

An integrated optimization model of a Closed- Loop Supply Chain under uncertainty

An integrated optimization model of a Closed- Loop Supply Chain under uncertainty ISSN 1816-6075 (Print), 1818-0523 (Online) Journal of System and Management Sienes Vol. 2 (2012) No. 3, pp. 9-17 An integrated optimization model of a Closed- Loop Supply Chain under unertainty Xiaoxia

More information

Computer Networks Framing

Computer Networks Framing Computer Networks Framing Saad Mneimneh Computer Siene Hunter College of CUNY New York Introdution Who framed Roger rabbit? A detetive, a woman, and a rabbit in a network of trouble We will skip the physial

More information

A Context-Aware Preference Database System

A Context-Aware Preference Database System J. PERVASIVE COMPUT. & COMM. (), MARCH 005. TROUBADOR PUBLISHING LTD) A Context-Aware Preferene Database System Kostas Stefanidis Department of Computer Siene, University of Ioannina,, kstef@s.uoi.gr Evaggelia

More information

Agile ALM White Paper: Redefining ALM with Five Key Practices

Agile ALM White Paper: Redefining ALM with Five Key Practices Agile ALM White Paper: Redefining ALM with Five Key Praties by Ethan Teng, Cyndi Mithell and Chad Wathington 2011 ThoughtWorks ln. All rights reserved www.studios.thoughtworks.om Introdution The pervasiveness

More information

Granular Problem Solving and Software Engineering

Granular Problem Solving and Software Engineering Granular Problem Solving and Software Engineering Haibin Zhu, Senior Member, IEEE Department of Computer Siene and Mathematis, Nipissing University, 100 College Drive, North Bay, Ontario, P1B 8L7, Canada

More information

3 Game Theory: Basic Concepts

3 Game Theory: Basic Concepts 3 Game Theory: Basi Conepts Eah disipline of the soial sienes rules omfortably ithin its on hosen domain: : : so long as it stays largely oblivious of the others. Edard O. Wilson (1998):191 3.1 and and

More information

Behavior Analysis-Based Learning Framework for Host Level Intrusion Detection

Behavior Analysis-Based Learning Framework for Host Level Intrusion Detection Behavior Analysis-Based Learning Framework for Host Level Intrusion Detetion Haiyan Qiao, Jianfeng Peng, Chuan Feng, Jerzy W. Rozenblit Eletrial and Computer Engineering Department University of Arizona

More information

From a strategic view to an engineering view in a digital enterprise

From a strategic view to an engineering view in a digital enterprise Digital Enterprise Design & Management 2013 February 11-12, 2013 Paris From a strategi view to an engineering view in a digital enterprise The ase of a multi-ountry Telo Hervé Paault Orange Abstrat In

More information

Supply chain coordination; A Game Theory approach

Supply chain coordination; A Game Theory approach aepted for publiation in the journal "Engineering Appliations of Artifiial Intelligene" 2008 upply hain oordination; A Game Theory approah Jean-Claude Hennet x and Yasemin Arda xx x LI CNR-UMR 668 Université

More information

State of Maryland Participation Agreement for Pre-Tax and Roth Retirement Savings Accounts

State of Maryland Participation Agreement for Pre-Tax and Roth Retirement Savings Accounts State of Maryland Partiipation Agreement for Pre-Tax and Roth Retirement Savings Aounts DC-4531 (08/2015) For help, please all 1-800-966-6355 www.marylandd.om 1 Things to Remember Complete all of the setions

More information

Channel Assignment Strategies for Cellular Phone Systems

Channel Assignment Strategies for Cellular Phone Systems Channel Assignment Strategies for Cellular Phone Systems Wei Liu Yiping Han Hang Yu Zhejiang University Hangzhou, P. R. China Contat: wliu5@ie.uhk.edu.hk 000 Mathematial Contest in Modeling (MCM) Meritorious

More information

An Iterated Beam Search Algorithm for Scheduling Television Commercials. Mesut Yavuz. Shenandoah University

An Iterated Beam Search Algorithm for Scheduling Television Commercials. Mesut Yavuz. Shenandoah University 008-0569 An Iterated Beam Searh Algorithm for Sheduling Television Commerials Mesut Yavuz Shenandoah University The Harry F. Byrd, Jr. Shool of Business Winhester, Virginia, U.S.A. myavuz@su.edu POMS 19

More information

chapter > Make the Connection Factoring CHAPTER 4 OUTLINE Chapter 4 :: Pretest 374

chapter > Make the Connection Factoring CHAPTER 4 OUTLINE Chapter 4 :: Pretest 374 CHAPTER hapter 4 > Make the Connetion 4 INTRODUCTION Developing seret odes is big business beause of the widespread use of omputers and the Internet. Corporations all over the world sell enryption systems

More information

Henley Business School at Univ of Reading. Pre-Experience Postgraduate Programmes Chartered Institute of Personnel and Development (CIPD)

Henley Business School at Univ of Reading. Pre-Experience Postgraduate Programmes Chartered Institute of Personnel and Development (CIPD) MS in International Human Resoure Management For students entering in 2012/3 Awarding Institution: Teahing Institution: Relevant QAA subjet Benhmarking group(s): Faulty: Programme length: Date of speifiation:

More information

Improved SOM-Based High-Dimensional Data Visualization Algorithm

Improved SOM-Based High-Dimensional Data Visualization Algorithm Computer and Information Siene; Vol. 5, No. 4; 2012 ISSN 1913-8989 E-ISSN 1913-8997 Published by Canadian Center of Siene and Eduation Improved SOM-Based High-Dimensional Data Visualization Algorithm Wang

More information

UNIVERSITY AND WORK-STUDY EMPLOYERS WEB SITE USER S GUIDE

UNIVERSITY AND WORK-STUDY EMPLOYERS WEB SITE USER S GUIDE UNIVERSITY AND WORK-STUDY EMPLOYERS WEB SITE USER S GUIDE September 8, 2009 Table of Contents 1 Home 2 University 3 Your 4 Add 5 Managing 6 How 7 Viewing 8 Closing 9 Reposting Page 1 and Work-Study Employers

More information

Static Fairness Criteria in Telecommunications

Static Fairness Criteria in Telecommunications Teknillinen Korkeakoulu ERIKOISTYÖ Teknillisen fysiikan koulutusohjelma 92002 Mat-208 Sovelletun matematiikan erikoistyöt Stati Fairness Criteria in Teleommuniations Vesa Timonen, e-mail: vesatimonen@hutfi

More information

' R ATIONAL. :::~i:. :'.:::::: RETENTION ':: Compliance with the way you work PRODUCT BRIEF

' R ATIONAL. :::~i:. :'.:::::: RETENTION ':: Compliance with the way you work PRODUCT BRIEF ' R :::i:. ATIONAL :'.:::::: RETENTION ':: Compliane with the way you work, PRODUCT BRIEF In-plae Management of Unstrutured Data The explosion of unstrutured data ombined with new laws and regulations

More information

A Design Environment for Migrating Relational to Object Oriented Database Systems

A Design Environment for Migrating Relational to Object Oriented Database Systems To appear in: 1996 International Conferene on Software Maintenane (ICSM 96); IEEE Computer Soiety, 1996 A Design Environment for Migrating Relational to Objet Oriented Database Systems Jens Jahnke, Wilhelm

More information

SLA-based Resource Allocation for Software as a Service Provider (SaaS) in Cloud Computing Environments

SLA-based Resource Allocation for Software as a Service Provider (SaaS) in Cloud Computing Environments 2 th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing SLA-based Resoure Alloation for Software as a Servie Provider (SaaS) in Cloud Computing Environments Linlin Wu, Saurabh Kumar

More information

Neural network-based Load Balancing and Reactive Power Control by Static VAR Compensator

Neural network-based Load Balancing and Reactive Power Control by Static VAR Compensator nternational Journal of Computer and Eletrial Engineering, Vol. 1, No. 1, April 2009 Neural network-based Load Balaning and Reative Power Control by Stati VAR Compensator smail K. Said and Marouf Pirouti

More information

A novel active mass damper for vibration control of bridges

A novel active mass damper for vibration control of bridges IABMAS 08, International Conferene on Bridge Maintenane, Safety and Management, 3-7 July 008, Seoul, Korea A novel ative mass damper for vibration ontrol of bridges U. Starossek & J. Sheller Strutural

More information

A Keyword Filters Method for Spam via Maximum Independent Sets

A Keyword Filters Method for Spam via Maximum Independent Sets Vol. 7, No. 3, May, 213 A Keyword Filters Method for Spam via Maximum Independent Sets HaiLong Wang 1, FanJun Meng 1, HaiPeng Jia 2, JinHong Cheng 3 and Jiong Xie 3 1 Inner Mongolia Normal University 2

More information

OpenScape 4000 CSTA V7 Connectivity Adapter - CSTA III, Part 2, Version 4.1. Developer s Guide A31003-G9310-I200-1-76D1

OpenScape 4000 CSTA V7 Connectivity Adapter - CSTA III, Part 2, Version 4.1. Developer s Guide A31003-G9310-I200-1-76D1 OpenSape 4000 CSTA V7 Connetivity Adapter - CSTA III, Part 2, Version 4.1 Developer s Guide A31003-G9310-I200-1-76 Our Quality and Environmental Management Systems are implemented aording to the requirements

More information

Customer Efficiency, Channel Usage and Firm Performance in Retail Banking

Customer Efficiency, Channel Usage and Firm Performance in Retail Banking Customer Effiieny, Channel Usage and Firm Performane in Retail Banking Mei Xue Operations and Strategi Management Department The Wallae E. Carroll Shool of Management Boston College 350 Fulton Hall, 140

More information

Henley Business School at Univ of Reading. Chartered Institute of Personnel and Development (CIPD)

Henley Business School at Univ of Reading. Chartered Institute of Personnel and Development (CIPD) MS in International Human Resoure Management (full-time) For students entering in 2015/6 Awarding Institution: Teahing Institution: Relevant QAA subjet Benhmarking group(s): Faulty: Programme length: Date

More information

Symmetric Subgame Perfect Equilibria in Resource Allocation

Symmetric Subgame Perfect Equilibria in Resource Allocation Proeedings of the Twenty-Sixth AAAI Conferene on Artifiial Intelligene Symmetri Subgame Perfet Equilibria in Resoure Alloation Ludek Cigler Eole Polytehnique Fédérale de Lausanne Artifiial Intelligene

More information

An Efficient Network Traffic Classification Based on Unknown and Anomaly Flow Detection Mechanism

An Efficient Network Traffic Classification Based on Unknown and Anomaly Flow Detection Mechanism An Effiient Network Traffi Classifiation Based on Unknown and Anomaly Flow Detetion Mehanism G.Suganya.M.s.,B.Ed 1 1 Mphil.Sholar, Department of Computer Siene, KG College of Arts and Siene,Coimbatore.

More information

Board Building Recruiting and Developing Effective Board Members for Not-for-Profit Organizations

Board Building Recruiting and Developing Effective Board Members for Not-for-Profit Organizations Board Development Board Building Reruiting and Developing Effetive Board Members for Not-for-Profit Organizations Board Development Board Building Reruiting and Developing Effetive Board Members for Not-for-Profit

More information

Price-based versus quantity-based approaches for stimulating the development of renewable electricity: new insights in an old debate

Price-based versus quantity-based approaches for stimulating the development of renewable electricity: new insights in an old debate Prie-based versus -based approahes for stimulating the development of renewable eletriity: new insights in an old debate uthors: Dominique FINON, Philippe MENNTEU, Marie-Laure LMY, Institut d Eonomie et

More information

A Survey of Usability Evaluation in Virtual Environments: Classi cation and Comparison of Methods

A Survey of Usability Evaluation in Virtual Environments: Classi cation and Comparison of Methods Doug A. Bowman bowman@vt.edu Department of Computer Siene Virginia Teh Joseph L. Gabbard Deborah Hix [ jgabbard, hix]@vt.edu Systems Researh Center Virginia Teh A Survey of Usability Evaluation in Virtual

More information

Capacity at Unsignalized Two-Stage Priority Intersections

Capacity at Unsignalized Two-Stage Priority Intersections Capaity at Unsignalized Two-Stage Priority Intersetions by Werner Brilon and Ning Wu Abstrat The subjet of this paper is the apaity of minor-street traffi movements aross major divided four-lane roadways

More information

A Comparison of Service Quality between Private and Public Hospitals in Thailand

A Comparison of Service Quality between Private and Public Hospitals in Thailand International Journal of Business and Soial Siene Vol. 4 No. 11; September 2013 A Comparison of Servie Quality between Private and Hospitals in Thailand Khanhitpol Yousapronpaiboon, D.B.A. Assistant Professor

More information

Parametric model of IP-networks in the form of colored Petri net

Parametric model of IP-networks in the form of colored Petri net Parametri model of IP-networks in the form of olored Petri net Shmeleva T.R. Abstrat A parametri model of IP-networks in the form of olored Petri net was developed; it onsists of a fixed number of Petri

More information

INCOME TAX WITHHOLDING GUIDE FOR EMPLOYERS

INCOME TAX WITHHOLDING GUIDE FOR EMPLOYERS Virginia Department of Taxation INCOME TAX WITHHOLDING GUIDE FOR EMPLOYERS www.tax.virginia.gov 2614086 Rev. 07/14 * Table of Contents Introdution... 1 Important... 1 Where to Get Assistane... 1 Online

More information

TRENDS IN EXECUTIVE EDUCATION: TOWARDS A SYSTEMS APPROACH TO EXECUTIVE DEVELOPMENT PLANNING

TRENDS IN EXECUTIVE EDUCATION: TOWARDS A SYSTEMS APPROACH TO EXECUTIVE DEVELOPMENT PLANNING INTERMAN 7 TRENDS IN EXECUTIVE EDUCATION: TOWARDS A SYSTEMS APPROACH TO EXECUTIVE DEVELOPMENT PLANNING by Douglas A. Ready, Albert A. Viere and Alan F. White RECEIVED 2 7 MAY 1393 International Labour

More information

Classical Electromagnetic Doppler Effect Redefined. Copyright 2014 Joseph A. Rybczyk

Classical Electromagnetic Doppler Effect Redefined. Copyright 2014 Joseph A. Rybczyk Classial Eletromagneti Doppler Effet Redefined Copyright 04 Joseph A. Rybzyk Abstrat The lassial Doppler Effet formula for eletromagneti waves is redefined to agree with the fundamental sientifi priniples

More information

Entrepreneur s Guide. Starting and Growing a Business in Pennsylvania FEBRUARY 2015. newpa.com

Entrepreneur s Guide. Starting and Growing a Business in Pennsylvania FEBRUARY 2015. newpa.com Entrepreneur s Guide Starting and Growing a Business in Pennsylvania FEBRUARY 2015 newpa.om The Entrepreneur s Guide: Starting and Growing a Business in Pennsylvania was prepared by the Pennsylvania Department

More information

Suggested Answers, Problem Set 5 Health Economics

Suggested Answers, Problem Set 5 Health Economics Suggested Answers, Problem Set 5 Health Eonomis Bill Evans Spring 2013 1. The graph is at the end of the handout. Fluoridated water strengthens teeth and redues inidene of avities. As a result, at all

More information

Software Ecosystems: From Software Product Management to Software Platform Management

Software Ecosystems: From Software Product Management to Software Platform Management Software Eosystems: From Software Produt Management to Software Platform Management Slinger Jansen, Stef Peeters, and Sjaak Brinkkemper Department of Information and Computing Sienes Utreht University,

More information

Unit 12: Installing, Configuring and Administering Microsoft Server

Unit 12: Installing, Configuring and Administering Microsoft Server Unit 12: Installing, Configuring and Administering Mirosoft Server Learning Outomes A andidate following a programme of learning leading to this unit will be able to: Selet a suitable NOS to install for

More information

CHAPTER 14 Chemical Equilibrium: Equal but Opposite Reaction Rates

CHAPTER 14 Chemical Equilibrium: Equal but Opposite Reaction Rates CHATER 14 Chemial Equilibrium: Equal but Opposite Reation Rates 14.1. Collet and Organize For two reversible reations, we are given the reation profiles (Figure 14.1). The profile for the onversion of

More information

Electrician'sMathand BasicElectricalFormulas

Electrician'sMathand BasicElectricalFormulas Eletriian'sMathand BasiEletrialFormulas MikeHoltEnterprises,In. 1.888.NEC.CODE www.mikeholt.om Introdution Introdution This PDF is a free resoure from Mike Holt Enterprises, In. It s Unit 1 from the Eletrial

More information

INCOME TAX WITHHOLDING GUIDE FOR EMPLOYERS

INCOME TAX WITHHOLDING GUIDE FOR EMPLOYERS Virginia Department of Taxation INCOME TAX WITHHOLDING GUIDE FOR EMPLOYERS www.tax.virginia.gov 2614086 Rev. 01/16 Table of Contents Introdution... 1 Important... 1 Where to Get Assistane... 1 Online File

More information

Exploiting Relative Addressing and Virtual Overlays in Ad Hoc Networks with Bandwidth and Processing Constraints

Exploiting Relative Addressing and Virtual Overlays in Ad Hoc Networks with Bandwidth and Processing Constraints Exploiting Relative Addressing and Virtual Overlays in Ad Ho Networks with Bandwidth and Proessing Constraints Maro Aurélio Spohn Computer Siene Department University of California at Santa Cruz Santa

More information

CARRIER VOICE NETWORK MANAGEMENT

CARRIER VOICE NETWORK MANAGEMENT CARRIER VOICE NETWORK MANAGEMENT Elvis N. Ngah Supervised by: Dr. Sandjai Bhulai Department of Mathematis Vrije Universiteit Amsterdam The Netherlands Deryk Cole Network Operations Center Telesonique Global

More information

Picture This: Molecular Maya Puts Life in Life Science Animations

Picture This: Molecular Maya Puts Life in Life Science Animations Piture This: Moleular Maya Puts Life in Life Siene Animations [ Data Visualization ] Based on the Autodesk platform, Digizyme plug-in proves aestheti and eduational effetiveness. BY KEVIN DAVIES In 2010,

More information

The Basics of International Trade: A Classroom Experiment

The Basics of International Trade: A Classroom Experiment The Basis of International Trade: A Classroom Experiment Alberto Isgut, Ganesan Ravishanker, and Tanya Rosenblat * Wesleyan University Abstrat We introdue a simple web-based lassroom experiment in whih

More information

FIRE DETECTION USING AUTONOMOUS AERIAL VEHICLES WITH INFRARED AND VISUAL CAMERAS. J. Ramiro Martínez-de Dios, Luis Merino and Aníbal Ollero

FIRE DETECTION USING AUTONOMOUS AERIAL VEHICLES WITH INFRARED AND VISUAL CAMERAS. J. Ramiro Martínez-de Dios, Luis Merino and Aníbal Ollero FE DETECTION USING AUTONOMOUS AERIAL VEHICLES WITH INFRARED AND VISUAL CAMERAS. J. Ramiro Martínez-de Dios, Luis Merino and Aníbal Ollero Robotis, Computer Vision and Intelligent Control Group. University

More information

arxiv:astro-ph/0304006v2 10 Jun 2003 Theory Group, MS 50A-5101 Lawrence Berkeley National Laboratory One Cyclotron Road Berkeley, CA 94720 USA

arxiv:astro-ph/0304006v2 10 Jun 2003 Theory Group, MS 50A-5101 Lawrence Berkeley National Laboratory One Cyclotron Road Berkeley, CA 94720 USA LBNL-52402 Marh 2003 On the Speed of Gravity and the v/ Corretions to the Shapiro Time Delay Stuart Samuel 1 arxiv:astro-ph/0304006v2 10 Jun 2003 Theory Group, MS 50A-5101 Lawrene Berkeley National Laboratory

More information

SOFTWARE ENGINEERING I

SOFTWARE ENGINEERING I SOFTWARE ENGINEERING I CS 10 Catalog Desription PREREQUISITE: CS 21. Introdution to the systems development life yle, software development models, analysis and design tehniques and tools, and validation

More information

FOOD FOR THOUGHT Topical Insights from our Subject Matter Experts

FOOD FOR THOUGHT Topical Insights from our Subject Matter Experts FOOD FOR THOUGHT Topial Insights from our Sujet Matter Experts DEGREE OF DIFFERENCE TESTING: AN ALTERNATIVE TO TRADITIONAL APPROACHES The NFL White Paper Series Volume 14, June 2014 Overview Differene

More information

Weighting Methods in Survey Sampling

Weighting Methods in Survey Sampling Setion on Survey Researh Methods JSM 01 Weighting Methods in Survey Sampling Chiao-hih Chang Ferry Butar Butar Abstrat It is said that a well-designed survey an best prevent nonresponse. However, no matter

More information

Dynamic and Competitive Effects of Direct Mailings

Dynamic and Competitive Effects of Direct Mailings Dynami and Competitive Effets of Diret Mailings Merel van Diepen, Bas Donkers and Philip Hans Franses ERIM REPORT SERIES RESEARCH IN MANAGEMENT ERIM Report Series referene number ERS-2006-050-MKT Publiation

More information

CHAPTER 9: FUNDAMENTALS OF HYPOTHESIS TESTING: ONE-SAMPLE TESTS

CHAPTER 9: FUNDAMENTALS OF HYPOTHESIS TESTING: ONE-SAMPLE TESTS 228 CHAPTER 9: FUNDAMENTALS OF HYPOTHESIS TESTING: ONE-SAMPLE TESTS 1. Whih of the following would e an appropriate null hypothesis? a) The mean of a population is equal to 55. ) The mean of a sample is

More information

Trade Information, Not Spectrum: A Novel TV White Space Information Market Model

Trade Information, Not Spectrum: A Novel TV White Space Information Market Model Trade Information, Not Spetrum: A Novel TV White Spae Information Market Model Yuan Luo, Lin Gao, and Jianwei Huang 1 Abstrat In this paper, we propose a novel information market for TV white spae networks,

More information

Availability, Reliability, Maintainability, and Capability

Availability, Reliability, Maintainability, and Capability Availability, Reliability, Maintainability, and Capability H. Paul Barringer, P.E. Barringer & Assoiates, In. Humble, TX Triplex Chapter Of The Vibrations Institute Hilton Hotel Beaumont, Texas February

More information

Masters Thesis- Criticality Alarm System Design Guide with Accompanying Alarm System Development for the Radioisotope Production L

Masters Thesis- Criticality Alarm System Design Guide with Accompanying Alarm System Development for the Radioisotope Production L PNNL-18348 Prepared for the U.S. Department of Energy under Contrat DE-AC05-76RL01830 Masters Thesis- Critiality Alarm System Design Guide with Aompanying Alarm System Development for the Radioisotope

More information

Big Data Analysis and Reporting with Decision Tree Induction

Big Data Analysis and Reporting with Decision Tree Induction Big Data Analysis and Reporting with Deision Tree Indution PETRA PERNER Institute of Computer Vision and Applied Computer Sienes, IBaI Postbox 30 11 14, 04251 Leipzig GERMANY pperner@ibai-institut.de,

More information

university of illinois library AT URBANA-CHAMPAIGN BOOKSTACKS

university of illinois library AT URBANA-CHAMPAIGN BOOKSTACKS university of illinois library AT URBANA-CHAMPAIGN BOOKSTACKS CENTRAL CIRCULATION BOOKSTACKS The person harging this material is responsible for its renewal or its return to the library from whih it was

More information

AUDITING COST OVERRUN CLAIMS *

AUDITING COST OVERRUN CLAIMS * AUDITING COST OVERRUN CLAIMS * David Pérez-Castrillo # University of Copenhagen & Universitat Autònoma de Barelona Niolas Riedinger ENSAE, Paris Abstrat: We onsider a ost-reimbursement or a ost-sharing

More information

Customer Reporting for SaaS Applications

Customer Reporting for SaaS Applications Aelerate. Produtivity Marketplae Software as a Servie Invoiing Navigating Produtivity Marketplae Ordering SaaS Appliations Customer Reporting for SaaS Appliations Managing Domains Helpful Resoures Upgrading/Downgrading/Changing

More information

Account Contract for Card Acceptance

Account Contract for Card Acceptance Aount Contrat for Card Aeptane This is an Aount Contrat for the aeptane of debit ards and redit ards via payment terminals, on the website and/or by telephone, mail or fax. You enter into this ontrat with

More information

Intelligent Measurement Processes in 3D Optical Metrology: Producing More Accurate Point Clouds

Intelligent Measurement Processes in 3D Optical Metrology: Producing More Accurate Point Clouds Intelligent Measurement Proesses in 3D Optial Metrology: Produing More Aurate Point Clouds Charles Mony, Ph.D. 1 President Creaform in. mony@reaform3d.om Daniel Brown, Eng. 1 Produt Manager Creaform in.

More information

Impedance Method for Leak Detection in Zigzag Pipelines

Impedance Method for Leak Detection in Zigzag Pipelines 10.478/v10048-010-0036-0 MEASUREMENT SCIENCE REVIEW, Volume 10, No. 6, 010 Impedane Method for Leak Detetion in igzag Pipelines A. Lay-Ekuakille 1, P. Vergallo 1, A. Trotta 1 Dipartimento d Ingegneria

More information

Agent-Based Grid Load Balancing Using Performance-Driven Task Scheduling

Agent-Based Grid Load Balancing Using Performance-Driven Task Scheduling Agent-Based Grid Load Balaning Using Performane-Driven Task Sheduling Junwei Cao *1, Daniel P. Spooner, Stephen A. Jarvis, Subhash Saini and Graham R. Nudd * C&C Researh Laboratories, NEC Europe Ltd.,

More information

A Three-Hybrid Treatment Method of the Compressor's Characteristic Line in Performance Prediction of Power Systems

A Three-Hybrid Treatment Method of the Compressor's Characteristic Line in Performance Prediction of Power Systems A Three-Hybrid Treatment Method of the Compressor's Charateristi Line in Performane Predition of Power Systems A Three-Hybrid Treatment Method of the Compressor's Charateristi Line in Performane Predition

More information

TECHNOLOGY-ENHANCED LEARNING FOR MUSIC WITH I-MAESTRO FRAMEWORK AND TOOLS

TECHNOLOGY-ENHANCED LEARNING FOR MUSIC WITH I-MAESTRO FRAMEWORK AND TOOLS TECHNOLOGY-ENHANCED LEARNING FOR MUSIC WITH I-MAESTRO FRAMEWORK AND TOOLS ICSRiM - University of Leeds Shool of Computing & Shool of Musi Leeds LS2 9JT, UK +44-113-343-2583 kia@i-maestro.org www.i-maestro.org,

More information

i e AT 3 of 2014 FOREIGN COMPANIES ACT 2014

i e AT 3 of 2014 FOREIGN COMPANIES ACT 2014 i e AT 3 of 2014 FOREIGN COMPANIES ACT 2014 Foreign Companies At 2014 Index i e FOREIGN COMPANIES ACT 2014 Index Setion Page PART 1 OPENING PROVISIONS 5 1 Short title... 5 2 Commenement... 5 3 Interpretation...

More information

BENEFICIARY CHANGE REQUEST

BENEFICIARY CHANGE REQUEST Poliy/Certifiate Number(s) BENEFICIARY CHANGE REQUEST *L2402* *L2402* Setion 1: Insured First Name Middle Name Last Name Permanent Address: City, State, Zip Code Please hek if you would like the address

More information

Discovering Trends in Large Datasets Using Neural Networks

Discovering Trends in Large Datasets Using Neural Networks Disovering Trends in Large Datasets Using Neural Networks Khosrow Kaikhah, Ph.D. and Sandesh Doddameti Department of Computer Siene Texas State University San Maros, Texas 78666 Abstrat. A novel knowledge

More information

Transfer of Functions (Isle of Man Financial Services Authority) TRANSFER OF FUNCTIONS (ISLE OF MAN FINANCIAL SERVICES AUTHORITY) ORDER 2015

Transfer of Functions (Isle of Man Financial Services Authority) TRANSFER OF FUNCTIONS (ISLE OF MAN FINANCIAL SERVICES AUTHORITY) ORDER 2015 Transfer of Funtions (Isle of Man Finanial Servies Authority) Order 2015 Index TRANSFER OF FUNCTIONS (ISLE OF MAN FINANCIAL SERVICES AUTHORITY) ORDER 2015 Index Artile Page 1 Title... 3 2 Commenement...

More information

IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, VOL. 9, NO. 3, MAY/JUNE 2012 401

IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, VOL. 9, NO. 3, MAY/JUNE 2012 401 IEEE TRASACTIOS O DEPEDABLE AD SECURE COMPUTIG, VOL. 9, O. 3, MAY/JUE 2012 401 Mitigating Distributed Denial of Servie Attaks in Multiparty Appliations in the Presene of Clok Drifts Zhang Fu, Marina Papatriantafilou,

More information

Computational Analysis of Two Arrangements of a Central Ground-Source Heat Pump System for Residential Buildings

Computational Analysis of Two Arrangements of a Central Ground-Source Heat Pump System for Residential Buildings Computational Analysis of Two Arrangements of a Central Ground-Soure Heat Pump System for Residential Buildings Abstrat Ehab Foda, Ala Hasan, Kai Sirén Helsinki University of Tehnology, HVAC Tehnology,

More information

VOLUME 13, ARTICLE 5, PAGES 117-142 PUBLISHED 05 OCTOBER 2005 DOI: 10.4054/DemRes.2005.13.

VOLUME 13, ARTICLE 5, PAGES 117-142 PUBLISHED 05 OCTOBER 2005  DOI: 10.4054/DemRes.2005.13. Demographi Researh a free, expedited, online journal of peer-reviewed researh and ommentary in the population sienes published by the Max Plank Institute for Demographi Researh Konrad-Zuse Str. 1, D-157

More information

BUILDING CODE SUMMARY GENERAL NOTES DESIGN BUILD ELECTRICAL DESIGN BUILD MECHANICAL & PLUMBING GENERAL NOTES GENERAL NOTES G101

BUILDING CODE SUMMARY GENERAL NOTES DESIGN BUILD ELECTRICAL DESIGN BUILD MECHANICAL & PLUMBING GENERAL NOTES GENERAL NOTES G101 D D BUILDING CODE SUMMARY GENERAL NOTES PROJECT DESCRIPTION: THIS PROJECT IS THE MINOR RENOVATION OF AN EXISTING OUTPATIENT CLINIC. SCOPE CONSISTS OF PAINT, CARPET, TILE, AND UPGRADE TO DIGITAL X-RAY BUILDING

More information

JEFFREY ALLAN ROBBINS. Bachelor of Science. Blacksburg, Virginia

JEFFREY ALLAN ROBBINS. Bachelor of Science. Blacksburg, Virginia A PROGRAM FOR SOLUtiON OF LARGE SCALE VEHICLE ROUTING PROBLEMS By JEFFREY ALLAN ROBBINS Bahelor of Siene Virginia Polytehni Institute and State University Blaksburg, Virginia 1974 II Submitted to the Faulty

More information

Soft-Edge Flip-flops for Improved Timing Yield: Design and Optimization

Soft-Edge Flip-flops for Improved Timing Yield: Design and Optimization Soft-Edge Flip-flops for Improved Timing Yield: Design and Optimization Abstrat Parameter variations ause high yield losses due to their large impat on iruit delay. In this paper, we propose the use of

More information

Health Savings Account Application

Health Savings Account Application Health Savings Aount Appliation FOR BANK USE ONLY: ACCOUNT # CUSTOMER # Health Savings Aount (HSA) Appliation ALL FIELDS MUST BE COMPLETED. Missing fields may delay the aount opening proess and possibly

More information

Context-Sensitive Adjustments of Cognitive Control: Conflict-Adaptation Effects Are Modulated by Processing Demands of the Ongoing Task

Context-Sensitive Adjustments of Cognitive Control: Conflict-Adaptation Effects Are Modulated by Processing Demands of the Ongoing Task Journal of Experimental Psyhology: Learning, Memory, and Cognition 2008, Vol. 34, No. 3, 712 718 Copyright 2008 by the Amerian Psyhologial Assoiation 0278-7393/08/$12.00 DOI: 10.1037/0278-7393.34.3.712

More information

i e AT 1 of 1918 THE REGISTRATION OF BUSINESS NAMES ACT 1918

i e AT 1 of 1918 THE REGISTRATION OF BUSINESS NAMES ACT 1918 i e AT 1 of 1918 THE REGISTRATION OF BUSINESS NAMES ACT 1918 The Registration of Business Names At 1918 Index i e THE REGISTRATION OF BUSINESS NAMES ACT 1918 Index Setion Page 1 Short title... 5 2 Interpretation

More information

Deliverability on the Interstate Natural Gas Pipeline System

Deliverability on the Interstate Natural Gas Pipeline System DOE/EIA-0618(98) Distribution Category UC-950 Deliverability on the Interstate Natural Gas Pipeline System May 1998 This report was prepared by the, the independent statistial and analytial ageny within

More information

Retirement Option Election Form with Partial Lump Sum Payment

Retirement Option Election Form with Partial Lump Sum Payment Offie of the New York State Comptroller New York State and Loal Retirement System Employees Retirement System Polie and Fire Retirement System 110 State Street, Albany, New York 12244-0001 Retirement Option

More information

Petri nets for the verification of Ubiquitous Systems with Transient Secure Association

Petri nets for the verification of Ubiquitous Systems with Transient Secure Association Petri nets for the verifiation of Ubiquitous Systems with Transient Seure Assoiation Fernando Rosa-Velardo Tehnial Report 2/07 Dpto. de Sistemas Informátios y Computaión Universidad Complutense de Madrid

More information

pss Comparison of AlGaN/GaN MISHEMT powerbar designs solidi status physica

pss Comparison of AlGaN/GaN MISHEMT powerbar designs solidi status physica Phys. Status Solidi C 11, No. 3 4, 906 910 (2014) / DOI 10.1002/pss.201300490 Comparison of AlGaN/GaN MISHEMT powerbar designs physia pss www.pss-.om urrent topis in solid state physis Steve Stoffels *,

More information

Improved Vehicle Classification in Long Traffic Video by Cooperating Tracker and Classifier Modules

Improved Vehicle Classification in Long Traffic Video by Cooperating Tracker and Classifier Modules Improved Vehile Classifiation in Long Traffi Video by Cooperating Traker and Classifier Modules Brendan Morris and Mohan Trivedi University of California, San Diego San Diego, CA 92093 {b1morris, trivedi}@usd.edu

More information

Annual Return/Report of Employee Benefit Plan

Annual Return/Report of Employee Benefit Plan Form 5500 Department of the Treasury Internal Revenue Servie Department of Labor Employee Benefits Seurity Administration Pension Benefit Guaranty Corporation Annual Return/Report of Employee Benefit Plan

More information

Recovering Articulated Motion with a Hierarchical Factorization Method

Recovering Articulated Motion with a Hierarchical Factorization Method Reovering Artiulated Motion with a Hierarhial Fatorization Method Hanning Zhou and Thomas S Huang University of Illinois at Urbana-Champaign, 405 North Mathews Avenue, Urbana, IL 680, USA {hzhou, huang}@ifpuiuedu

More information

The Application of Mamdani Fuzzy Model for Auto Zoom Function of a Digital Camera

The Application of Mamdani Fuzzy Model for Auto Zoom Function of a Digital Camera (IJCSIS) International Journal of Computer Siene and Information Seurity, Vol. 6, No. 3, 2009 The Appliation of Mamdani Fuzzy Model for Auto Funtion of a Digital Camera * I. Elamvazuthi, P. Vasant Universiti

More information