@conference {2025:fc4mc:icsoc, title = {BPMN4BC: A Simple BPMN Extension for Blockchain-Enabled Business Process Modeling}, booktitle = {23rd International Conferene on Service-Oriented Computing (ICSOC)}, year = {2025}, month = {December}, publisher = {Springer}, organization = {Springer}, address = {Shenzhen, China}, author = {Hassan Atwi and Cesare Pautasso} } @inbook {sa:2023:education, title = {A Better Way to Teach Software Architecture}, booktitle = {Software Architecture - Research Roadmaps from the Community}, year = {2023}, pages = {101 - 110}, publisher = {Springer}, organization = {Springer}, abstract = {Software architecture education is a weak spot in many undergraduate programs in computer science and software engineering. While the concepts and practices used by software architects in industry are rich and varied, transferring this expertise into a university classroom has proved problematic. Bridging the gap between industry and academia requires ongoing, often heroic, effort. This is a {\textquotedblleft}chicken and egg{\textquotedblright} problem: Because there is a lack of good teaching materials, architecture is seldom taught, and because it is seldom taught, there has been little incentive to create good materials. We would like to change that. Our goal is to establish guidelines for how software architecture practices should be taught{\textemdash}both technical and non-technical topics{\textemdash}and to suggest appropriate teaching methods to best prepare students to be software architects in practice.}, keywords = {Education, software architecture}, isbn = {978-3-031-36846-2}, doi = {10.1007/978-3-031-36847-9_6}, url = {https://link.springer.com/10.1007/978-3-031-36847-9_6}, author = {Kazman, Rick and Cai, Yuanfang and Godfrey, Michael W. and Cesare Pautasso and Liu, Anna}, editor = {Pelliccione, Patrizio and Kazman, Rick and Weber, Ingo and Liu, Anna} } @conference {liquid:2023:iedge, title = {A brief history of liquid software}, booktitle = {iEDGE Symposium on Intelligent Edge Computing and Communications}, year = {2023}, month = {July}, pages = {354--363}, publisher = {IEEE}, organization = {IEEE}, address = {Chicago, USA}, abstract = {The concept of liquid software, i.e., software with flexible deployment, over the past two decades has appeared in the fields of edge computing, Internet of Things (IoT), Human-Computer Interaction, DevOps and Web engineering. In this paper, we survey, compare, and provide a comprehensive definition of liquid software by analyzing how the metaphor has been used in existing literature and identifying gaps and inconsistencies in the current vs. past understanding of the concept. Overall, liquid software can be seamlessly deployed and redeployed within a dynamic and distributed runtime environment in response to changes applied to the set of available devices and to the software itself. Liquid software has been introduced in the context of active networks and intelligent environments, it has been applied to describe the user interaction with multi and cross-device user interfaces, it has found a promising foundation in Web technology, continuous software delivery pipelines, as well as isomorphic software architectures running across the IoT, edge and Cloud continuum.}, keywords = {liquid software}, doi = {10.1109/EDGE60047.2023.00058}, author = {Cesare Pautasso} } @book {2021:bapie, title = {Beautiful API Evolution}, year = {2021}, publisher = {LeanPub}, organization = {LeanPub}, abstract = {This book presents the catalog of a virtual exhibition featuring different visualizations of the structural evolution of 51 Web APIs of different sizes and shapes, showing how they mostly grow but sometimes also shed some dead branches over the years. The diagrams are drawn based on the exact OpenAPI specifications as they were versioned on some open source repository. While there are many books on how to improve the design of existing APIs, the goal of this book is to show a small sample of actual API designs undergoing change. Learn from these examples to avoid false starts and discover which structures turn out to be stable over the years. All APIs represented are Web APIs: they come from the age when many attempted with very different results to use the HTTP protocol to remotely invoke software delivered as a service. The APIs have been selected mainly due to their visual appearance.}, keywords = {API, API Evolution, visualization}, url = {https://leanpub.com/beautiful-api-evolution/}, author = {Cesare Pautasso} } @book {bapis2021, title = {Beautiful APIs}, year = {2021}, publisher = {LeanPub}, organization = {LeanPub}, abstract = {This book presents the catalog of a virtual exhibition featuring the structural visualizations of 93 Web APIs of different sizes and shapes. The diagrams are drawn based on the exact API specification found on some open source repository. While there are many books on how to design good APIs, the goal of this book is to show a small sample of actual API designs. There is a lot that can be learned from them. All APIs represented are Web APIs: they come from the time when many attempted with very different results to use the HTTP protocol to remotely invoke software delivered as a service. The APIs have been selected mainly due to their visual appearance.}, keywords = {API visualization, software architecture}, url = {https://leanpub.com/beautiful-apis/}, author = {Cesare Pautasso} } @book {2021:bpm, title = {Business Process Modeling, Management, and Mining: visual lecture notes}, year = {2021}, publisher = {LeanPub}, organization = {LeanPub}, abstract = {Processes are everywhere. Learn how to recognize them using process modeling, reconstruct them with process mining, improve them with process simulation, and run them with process automation. And yes, also visualize them with the Business Process Model and Notation (BPMN). These are the revised and illustrated notes of the BPM3 lecture of the Master in Management and Informatics held at the Faculty of Informatics and Economics at USI Lugano, Switzerland during the Spring of 2020. The book includes the slides and the script for all lectures:
  1. Introduction
  2. Modeling
  3. BPMN
  4. Mining
  5. Improvement
  6. Simulation
  7. Automation
}, url = {leanpub.com/business-process-management/}, author = {Cesare Pautasso} } @conference {2019:icpe:benchflow, title = {Behavior-driven Load Testing Using Contextual Knowledge {\textemdash} Approach and Experiences}, booktitle = {10th ACM/SPEC International Conference on Performance Engineering (ICPE 2019)}, year = {2019}, month = {April}, pages = {265-272}, publisher = {ACM/SPEC}, organization = {ACM/SPEC}, address = {Mumbai, India}, abstract = {Load testing is widely considered a meaningful technique for performance quality assurance. However, empirical studies reveal that in practice, load testing is not applied systematically, due to the sound expert knowledge required to specify, implement, and execute load tests. Our Behavior-driven Load Testing (BDLT) approach eases load test specification and execution for users with no or little expert knowledge. It allows a user to describe a load test in a template based on natural language and to rely on an automated framework to execute the test. Utilizing the system{\textquoteright}s contextual knowledge such as workload-influencing events, the framework automatically determines the workload and test configuration. We investigated the applicability of our approach in an industrial case study, where we were able to express four load test concerns using BDLT and received positive feedback from our industrial partner. They understood the BDLT definitions well and proposed further applications, such as the usage for software quality acceptance criteria.}, keywords = {BenchFlow, Performance Testing}, doi = {10.1145/3297663.3309674}, author = {Henning Schulz and Du{\v s}an Okanovi{\'c} and Andr{\'e} van Hoorn and Vincenzo Ferme and Cesare Pautasso} } @conference {blockchain:2016:wicsa, title = {The Blockchain as a Software Connector}, booktitle = {13th Working IEEE/IFIP Conference on Software Architecture (WICSA 2016)}, year = {2016}, month = {April}, address = {Venice, Italy}, abstract = {Blockchain is an emerging technology for decentralized and transactional data sharing across a large network of untrusted participants. It enables new forms of distributed software architectures, where components can find agreements on their shared states without trusting a central integration point or any particular participating components. Considering the blockchain as a software connector helps make explicitly important architectural considerations on the resulting performance and quality attributes (for example, security, privacy, scalability and sustainability) of the system. Based on our experience in several projects using blockchain, in this paper we provide rationales to support the architectural decision on whether to employ a decentralized blockchain as opposed to other software solutions, like traditional shared data storage. Additionally, we explore specific implications of using the blockchain as a software connector including design trade-offs regarding quality attributes.}, keywords = {blockchain, software connector}, author = {Xiwei Xu and Cesare Pautasso and Liming Zhu and Vincent Gramoli and Alexander Ponomarev and An Binh Tran and Shiping Chen} } @conference {benchflow:2015:closer, title = {"BPELanon": Protect Business Processes on the Cloud}, booktitle = {5th International Conference on Cloud Computing and Service Science (CLOSER 2015)}, year = {2015}, month = {May}, pages = {241-250}, publisher = {SciTePress}, organization = {SciTePress}, address = {Lisbon, Portugal}, abstract = {The advent of Cloud computing supports the offering of many Business Process Management applications on a distributed, per-use basis environment through its infrastructure. Due to the fact that privacy is still an open issue in the Cloud, many companies are reluctant to move their Business Processes on a public Cloud. Since the Cloud environment can be beneficiary for the Business Processes, the investigation of privacy issues needs to be further examined. In order to enforce the Business Process sharing on the Cloud we propose a methodology ({\textquotedblleft}BPELanon{\textquotedblright}) for the anonymization of Business Processes expressed in the Web Service Business Process Execution Language (BPEL). The method transforms a process to preserve its original structure and run-time behavior, while completely anonymizing its business semantics. In this work we set the theoretical framework of the method and define a five management layers architecture to support its realization. We developed a tool that implements the {\textquotedblleft}BPELanon{\textquotedblright} method, validate its functionality and evaluate its performance against a collection of real-world process models that were conducted in the scope of research projects.}, keywords = {Anonymization, BenchFlow, BPEL}, doi = {10.5220/0005427502410250}, author = {Marigianna Skouradaki and Vincenzo Ferme and Frank Leymann and Cesare Pautasso and Dieter Roller} } @demo {benchflow:2015:bpmeter, title = {BPMeter: Web Service and Application for Static Analysis of BPMN 2.0 Collections}, year = {2015}, month = {August}, pages = {30-34}, publisher = {Springer}, address = {Innsbruck, Austria}, abstract = {The number of business process models is constantly increasing as companies realize the competitive advantage of managing their processes. Measuring their size and structural properties can give useful insights. With the BPMeter tool, process owners can quickly compare their process with company{\textquoteright}s process portfolio, researchers can statically analyze a process to see which modeling language features have been used in practice, while modelers can obtain an aggregated view over their processes. In this demonstration we show how to use BPMeter, which provides a simple Web application to visualize the results of applying over 100 different size and structure metrics to BPMN 2.0 process models. The visualization features measurements, statistics and the possibility to compare the measurements with the ones obtained from the entire portfolio. Moreover we show how to invoke its RESTful Web API so that the BPMeter analyzer can be easily integrated with existing process management tools.}, keywords = {BenchFlow, BPMN, Workflow Static Analysis}, author = {Ana Ivanchikj and Vincenzo Ferme and Cesare Pautasso} } @inproceedings {benchflow:zeus2014, title = {"BPELanon": Anonymizing BPEL Processes}, year = {2014}, month = {February}, address = {Potsdam, Germany}, abstract = {We are currently developing a performance benchmark for Workflow Management System. As a first activity we are collecting real-world processes. However, to protect their competitive advantage, some companies are not willing to share their corporate assets. This work{\textquoteright}s objective is to propose a method ("BPELanon") for BPEL process anonymization in order to deal with the problem. The method transforms a process to preserve its original structure and runtime behaviour, while completely anonymizing its business semantics. Anonymization is a complicated task that must meet the requirements we outline in this paper. Namely, we need to preserve the structural and executional information while anonymizing information such as namespaces, names (activity names, variable names, partner link names etc.), and XPATH expressions that may reveal proprietary information. Furthermore, the names contained in the anonymized process should be chosen carefully in order to avoid conflicts, preserve privacy, and file-readability. Multiple dependency relations among process artifacts raise the challenge of fulfilling the aforementioned requirements, as a unique change in a file potentially leads to a flow of changes to other related process artifacts. }, keywords = {Anonymization, BenchFlow, BPEL, business process modeling}, author = {Marigianna Skouradaki and Dieter Roller and Cesare Pautasso and Frank Leymann} } @conference {rest:bpmn2011, title = {BPMN for REST}, booktitle = {Third International Business Process Modeling Notation Workshop (BPMN 2011)}, year = {2011}, month = {November}, pages = {74-87}, address = {Lucerne, Switzerland}, abstract = {The Representational State Transfer (REST) architectural style has seen substantial growth and adoption for the design of modern Resource-Oriented Architectures. However, the impact of fundamental constraints such as stateful resources, stateless interactions, and the uniform interface have had only limited uptake and impact in the Business Process Modeling (BPM) community in general, and in the standardization activities revolving around the BPMN notation. In this paper we propose a simple and minimal extension of the BPMN 2.0 notation to provide first-class support for the concept of resource. We show several examples of how the extended notation can be used to externalize the state of a process as a resource, as well as to describe process-driven composition of resources.}, keywords = {business process modeling notation, REST, RESTful business process management}, doi = {10.1007/978-3-642-25160-3_6}, author = {Cesare Pautasso} } @conference {bpel4rest:2008:bpm, title = {BPEL for REST}, booktitle = {7th International Conference on Business Process Management (BPM08)}, volume = {5240}, year = {2008}, month = {September}, pages = {278-293}, publisher = {Springer}, organization = {Springer}, address = {Milan, Italy}, abstract = {Novel trends in Web services technology challenge the assumptions made by current standards for process-based service composition. Most RESTful Web service APIs, which do not rely on the Web service description language (WSDL), cannot easily be composed using the BPEL language. In this paper we propose a lightweight BPEL extension to natively support the composition of RESTful Web services using business processes. We also discuss how to expose the execution state of a business process so that it can be manipulated through REST primitives in a controlled way.}, keywords = {BPEL, REST, RESTful business process management}, doi = {10.1007/978-3-540-85758-7_21}, author = {Cesare Pautasso} } @conference {92, title = {BioOpera: cluster-aware computing}, booktitle = {IEEE International Conference on Cluster Computing (CLUSTER 2002)}, year = {2002}, month = {September}, pages = {99 - 106}, publisher = {IEEE}, organization = {IEEE}, address = {Chicago, IL, USA}, abstract = {In this paper we present BioOpera, an extensible process support system for cluster-aware computing. It features an intuitive way to specify computations, as well as improved support for running them over a cluster providing monitoring, persistence, fault tolerance and interaction capabilities without sacrificing efficiency and scalability.}, keywords = {BioOpera, cluster computing, scientific workflow management}, doi = {10.1109/CLUSTR.2002.1137734}, url = {http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1137734}, author = {Win Bausch and Cesare Pautasso and Reto Schaeppi and Gustavo Alonso} }