@conference {jopera:2010:soca, title = {Exploiting multicores to optimize business process execution}, booktitle = {International Conference on Service-Oriented Computing and Applications (SOCA 2010)}, year = {2010}, month = {December}, pages = {1-8}, publisher = {IEEE}, organization = {IEEE}, address = {Perth, Australia}, abstract = {While modern CPUs offer an increasing number of cores with shared caches, prevailing execution engines for business processes, workflows, or Web service compositions have not been optimized for properly exploiting the abundant processing resources of such CPUs. One factor limiting performance is the inefficient thread scheduling by the operating system, which can result in suboptimal use of shared caches. In this paper we study performance of the JOpera business process execution engine on a recent multicore machine. By analyzing the engine{\textquoteright}s architecture and by binding threads that are likely to access shared data to cores with a common cache, we achieve speedups up to 13\% for a variety of workloads, without modifying the engine{\textquoteright}s architecture and implementation, apart from binding threads to CPUs. As the engine is implemented in Java, we provide a new Java library to manage thread bindings and hardware performance counters. We also leverage hardware performance counters to explain the observed speedup in our performance analysis.}, keywords = {business data processing, business process execution engines, business process execution optimization, hardware performance counters, Java, JOpera, multicores, performance optimization, thread-CPU bindings, Web service composition, Web services, workflow}, doi = {10.1109/SOCA.2010.5707156}, author = {Achille Peternier and Daniele Bonetta and Cesare Pautasso and Walter Binder} } @inbook {jopera:2009:compiler, title = {Compiling Business Process Models into Executable Code}, booktitle = {Handbook of Research in Business Process Management}, year = {2009}, pages = {218-337}, publisher = {IGI Global}, organization = {IGI Global}, chapter = {15}, abstract = {Model-driven architecture (MDA), design and transformation techniques can be applied with success to the domain of business process modeling (BPM) with the goal of making the vision of business-driven development a reality. This chapter is centered around the idea of compiling business process models for executing them, and how this idea has been driving the design of the JOpera for Eclipse workflow management tool. JOpera presents users with a simple, graph-based process modeling language with a visual representation of both control and data-flow aspects. As an intermediate representation, the graphs are converted into Event-Condition-Action rules, which are further compiled into Java bytecode for efficient execution. These transformations of process models are performed by the JOpera process compiler in a completely transparent way, where the generated executable artifacts are kept hidden from users at all times (i.e., even for debugging process executions, which is done by augmenting the original, high level notation). We evaluate our approach by discussing how using a compiler has opened up the several possibilities for performing optimization on the generated code and also simplified the design the corresponding workflow engine architecture.}, keywords = {business process execution engines, model-driven engineering}, issn = {978-1-60566-288-6}, url = {http://www.igi-global.com/book/handbook-research-business-process-modeling/445}, author = {Cesare Pautasso} }