@article {2022:sosym:bpmn, title = {Live process modeling with the BPMN Sketch Miner}, journal = {Software and Systems Modeling}, volume = {21}, year = {2022}, month = {October}, pages = {1877{\textendash}1906}, abstract = {BPMN Sketch Miner is a modeling environment for generating visual business process models starting from constrained natural language textual input. Its purpose is to support business process modelers who need to rapidly sketch visual BPMN models during interviews and design workshops, where participants should not only provide input but also give feedback on whether the sketched visual model represents accurately what has been described during the discussion. In this article, we present a detailed description of the BPMN Sketch Miner design decisions and list the different control flow patterns supported by the current version of its textual DSL. We also summarize the user study and survey results originally published in MODELS 2020 concerning the tool usability and learnability and present a new performance evaluation regarding the visual model generation pipeline under actual usage conditions. The goal is to determine whether it can support a rapid model editing cycle, with live synchronization between the textual description and the visual model. This study is based on a benchmark including a large number of models (1350 models) exported by users of the tool during the year 2020. The main results indicate that the performance is sufficient for a smooth live modeling user experience and that the end-to-end execution time of the text-to-model-to-visual pipeline grows linearly with the model size, up to the largest models (with 195 lines of textual description) found in the benchmark workload.}, keywords = {BPMN, text to visual, Textual Modelling DSL}, issn = {1619-1366}, doi = {10.1007/s10270-022-01009-w}, url = {https://link.springer.com/article/10.1007/s10270-022-01009-w$\#$citeas}, author = {Ana Ivanchikj and Souhaila Serbout and Cesare Pautasso} } @phdthesis {restalk:phd:ana.ivanchikj, title = {RESTalk: A Visual and Textual DSL for Modelling RESTful Conversations}, year = {2021}, month = {January}, school = {USI}, type = {PhD}, address = {Lugano}, abstract = {Digitalization is all around us, even more so in pandemic times where substantial part of our lives has been moved online. One of the key enablers of digitalization are the Application Programming Interfaces (APIs) which enable the communication and exchange of data between different systems. They abstract from the implementation details of the underlying systems and allow for the monetization of digital assets paving the way to innovative services, bringing together different business partners, even in traditionally closed sectors such as banking. In this dissertation we focus on a particular type of APIs which conform to the REpresentation State Transfer (REST) architectural style constraints due to their dominance in the API landscape. Although Fielding defined REST as architectural style back in 2000, our state of the art review has identified a gap when it comes to modeling the behaviour of REST APIs. Existing approaches are not domain specific and as such fail to emphasise important facets in RESTful interactions. Since APIs need to satisfy multiple clients, it is not always possible to provide them with operations dedicated to achieving the specific goals of individual clients. Instead, clients often need to perform multiple interactions in a specific order to achieve their goals. We call the set of possible sequences of interactions to achieve a goal a RESTful conversation. Visualizing complex RESTful conversations in a domain specific model can help streamline their design by facilitating discussion and common knowledge sharing, but also by constraining the supported API behavior from the combinatorial set of all possible interaction sequences. This enables service providers to maintain and evolve their APIs. Visual models can also facilitate client developers{\textquoteright} understanding of a given API, and speed up the identification of the correct sequence of calls to be made given a goal. Based on our study of the characteristics of RESTful conversations, we introduce the design of RESTalk: a Domain Specific Language (DSL) for modelling the behaviour of REST APIs. The language supports single client to single server conversations, but also multiple clients talking to the same server in order to achieve a common goal, as well as composite layered conversations. We have designed RESTalk iteratively with a frequent feedback from users while modelling different use-cases. Since its targeted users are developers, we propose both a graphical and a textual syntax for the language. We take an innovative approach in the design of the textual grammar, which leverages on a mining algorithm to generate the alternative control flow of the RESTful conversation and on a graph layout algorithm to automatically produce the visual diagram. Thus, the textual DSL has a log-like form with a minimal use of keywords. It aims at decreasing the cognitive load of the modeler while increasing the efficiency of model generation. Further evaluations are necessary to verify the actual benefits of the textual DSL over the graphical DSL. We have evaluated the expressiveness of RESTalk with real-world examples of RESTful conversations and patterns, and performed controlled experiments to attempt to determine the effectiveness and efficiency of the visual diagrams in facilitating the understanding of a given API. }, keywords = {REST, RESTalk}, author = {Ana Ivanchikj} } @conference {2020:bpmn-sketch-miner:models, title = {From Text to Visual BPMN Process Models: Design and Evaluation}, booktitle = {23rd International Conference on Model Driven Engineering Languages and Systems (MODELS)}, year = {2020}, month = {October}, pages = {229{\textendash}239}, publisher = {ACM/IEEE}, organization = {ACM/IEEE}, address = {Montreal, Canada}, abstract = {Most existing Business Process Model and Notation (BPMN) editing tools are graphical, and as such based on explicit modeling, requiring good knowledge of the notation and its semantics, as well as the ability to analyze and abstract business requirements and capture them by correctly using the notation. As a consequence, their use can be cumbersome for live modeling during interviews and design workshops, where participants should not only provide input but also give feedback on how it has been represented in a model. To overcome this, in this paper we present the design and evaluation of BPMN Sketch Miner, a tool which combines notes taking in constrained natural language with process mining to automatically produce BPMN diagrams in real time as interview participants describe them with stories. In this work we discuss the design decisions regarding the trade-off between using mining vs. modelling in order to: 1) support a larger number of BPMN constructs in the textual language; 2) target both BPMN beginners and business analysts, in addition to the process participants themselves. The evaluation of the new version of the tool in terms of how it balances the expressiveness and learnability of its DSL with the usability of the text-to-visual sketching environment shows encouraging results. Namely while BPMN beginners could model a non-trivial process with the tool in a relatively short time and with good accuracy, business analysts appreciated the usability of the tool and the expressiveness of the language in terms of supported BPMN constructs.}, keywords = {BPMN, domain specific languages, live modeling, text to visual}, doi = {10.1145/3365438.3410990}, author = {Ana Ivanchikj and Souhaila Serbout and Cesare Pautasso} } @inbook {2020:restalk:ms, title = {Modeling Microservice Conversations with RESTalk}, booktitle = {Microservices}, year = {2020}, pages = {129--146}, publisher = {Springer}, organization = {Springer}, abstract = {Microservices are characterized by their small size and low degree of coupling. As a consequence, building microservice architectures requires composing multiple microservices and determine how they interact to achieve a given client{\textquoteright}s goal. In this chapter we introduce the concept of RESTful conversation, whereby clients or API gateways perform multiple basic HTTP request/response interactions with one or more microservice APIs. To represent possible sequences of interactions, we introduce the RESTalk visual notation, as well as its textual DSL, and the corresponding metamodel, and show how it can be used to complement existing structural approaches to represent RESTful APIs, such as the OpenAPI Specification. To reveal the degree of coupling between clients and microservices, the language supports the concept of hyperlink flow, showing whether, within a conversation, the links embedded into responses provided by a microservice are used by the client/API gateway to form the subsequent requests.}, keywords = {API, conversation, Microservices, RESTalk}, doi = {10.1007/978-3-030-31646-4_6}, author = {Ana Ivanchikj and Cesare Pautasso} } @conference {2019:bpm, title = {Sketching Process Models by Mining Participant Stories}, booktitle = {BPM Forum}, year = {2019}, month = {September}, pages = {3-19}, publisher = {Springer}, organization = {Springer}, address = {Vienna, Austria}, abstract = {Producing initial process models currently requires gathering knowledge from multiple process participants and using modeling tools to produce a visual representation. With traditional tools this can require significant effort and thus delay the feedback cycle where the initial model is validated and refined based on participants{\textquoteright} feedback. In this paper we aim at reducing the effort required to obtain an initial process model by applying existing process mining techniques to sample process logs obtained directly from process participants. To that end, we specify a simple domain-specific language to represent process log fragments with natural language, and we illustrate the architecture of a live modeling tool, which produces a draft representation of the control flow which is updated in real-time as the logs are written down. The draft models generated by the tool can later be refined and completed by the business analysts using traditional tools. We argue that our synthesis of mining with modeling could provide benefits both in terms of efficiency in generating the initial draft model, as well as in terms of reducing the cognitive load of the business analyst during the requirements gathering phase. }, keywords = {Draft Process Model, Process Mining, Process Requirements, Textual Modelling DSL}, doi = {10.1007/978-3-030-26643-1_1}, author = {Ana Ivanchikj and Cesare Pautasso} } @demo {2018:icsoc:demo:electra, title = {ELeCTRA: induced usage limitations calculation in RESTful APIs}, year = {2018}, month = {November}, publisher = {Springer}, address = {Hangzhou, Zhejiang, China}, abstract = {As software architecture design is evolving to microservice paradigms, RESTful APIs become the building blocks of applications. In such a scenario, a growing market of APIs is proliferating and developers face the challenges to take advantage of this reality. For an example, third-party APIs typically define different usage limitations depending on the purchased Service Level Agreement (SLA) and, consequently, do- ing a manual limitation analysis of external APIs and their impact in a microservice architecture is a complex and tedious task. In this demonstration paper, we present ELeCTRA, a tool to automate the analysis of induced limitations in an API, derived from its usage of external APIs with limitations. Specifically, this tools takes the structural, conversational and SLA specifications of the API, generates a visual dependency graph and translates the problem into a constraint satisfaction optimization problem (CSOP) to obtain the optimal usage limitations.}, keywords = {API, demo, REST}, author = {Antonio Gamez-Diaz and Pablo Fernandez and Cesare Pautasso and Ana Ivanchikj and Antonio Ruiz-Cortes} } @inproceedings {2018:restalk:dsldi, title = {Modeling REST API Behaviour with Text, Graphics or Both?}, year = {2018}, month = {November}, address = {Boston, USA}, abstract = {The dissemination of domain specific modeling languages in the software engineering world can be challenging as developers love to code and frequently look at graphical modeling as unnecessary and inefficient. This is less true when they are developing business facing software as the end users are non-technical people, and models become a common language to facilitate the communication with them, which explains the diffusion of modeling languages such as for example the Business Process Modeling Notation (BPMN). However, in Application Programming Interface (API) design, where both the creators and the users of the API are developers, the perceived benefits of modeling using a visual notation can be less evident for the developers. When developing APIs adhering to the REpresentation State Transfer (REST) architectural style, the documentation best practices of the structure of the API, i.e., the exposed resources and the HTTP methods that they support together with the corresponding media types, has been evolving in the past decade across a number of textual Domain Specific Languages (DSLs) currently being standardized within the Open API initiative. However, modeling the dynamics of the REST API showing the request-response interactions leading to conversations between clients and one or more resources exposed within the API is not yet a common practice. Thus, we have been working on designing RESTalk, a visual DSL for modeling RESTful conversations, i.e., sequences of client-server interactions aimed at achieving a certain goal. We have conducted a short exploratory survey where, regardless of the positive feedback on the usefulness of such a DSL and the cognitive characteristics of RESTalk, many of the respondents conditioned the adoption of the language to the existence of a suitable modeling tool. Faced with the challenge of developing such a tool, in this talk we would like to pinpoint a critical issue within the design space concerning the input modalities supported by a modeling tool tailored for RESTful APIs. Our goal is to encourage further discussions and empirical studies on what are the pros and cons of different approaches to modeling tools{\textquoteright} design and whether and how the targeted users of the modeling tool (e.g, business people, software architects, developers) affect the design choices.}, keywords = {dsl, RESTalk}, url = {https://2018.splashcon.org/event/dsldi-2018-talks-modeling-rest-api-behaviour-with-text-graphics-or-both-}, author = {Ana Ivanchikj and Cesare Pautasso} } @demo {2018:icsoc:demo:restalk, title = {RESTalk Miner: Mining RESTful Conversations, Pattern Discovery and Matching}, year = {2018}, month = {November}, publisher = {Springer}, address = {Hangzhou, Zhejiang, China}, abstract = {REST has become the architectural style of choice for APIs, where clients need to instantiate a potentially lengthy sequence of requests to the server in order to achieve their goal, effectively leading to a RESTful conversation between the client and the server. Mining the logs of such RESTful conversations can facilitate knowledge sharing among API designers regarding design best practices as well as API usage and optimization. In this demo paper, we present the RESTalk Miner, which takes logs from RESTful services as an input and uses RESTalk, a domain specific language, to visualize them. It provides interactive coloring to facilitate graph reading, as well as statistics to compare the relative frequency of conversations performed by different clients. Furthermore, it supports searching for predefined patterns as well as pattern discovery. }, keywords = {conversation patterns, mining, RESTalk, RESTful conversation}, author = {Ana Ivanchikj and Cesare Pautasso} } @article {restalk:2016:jssm, title = {Visual modeling of RESTful conversations with RESTalk}, journal = {Journal of Software \& Systems Modeling}, volume = {17}, year = {2018}, month = {July}, pages = {1031-1051}, abstract = {The cost savings introduced by Web services through code re-use and integration opportunities have motivated many businesses to develop Web APIs, with ever increasing numbers opting for the REST architectural style. RESTful Web APIs are decomposed in multiple resources, which the client can manipulate through HTTP interactions with well defined semantics. Getting the resource in the desired state might require multiple client-server interactions, what we define as a RESTful conversation. RESTful conversations are dynamically guided by hypermedia controls, such as links. Thus, when deciding whether and how to use a given RESTful service, the client might not be aware of all the interactions which are necessary to achieve its goal. This is because existing documentation of RESTful APIs describe the static structure of the interface, exposing low-level HTTP details, while little attention has been given to conceptual, high-level, modeling of the dynamics of RESTful conversations. Low-level HTTP details can be abstracted from during the design phase of the API, or when deciding which API to use. We argue that, in these situations, visual models of the required client-server interactions might increase developers{\textquoteright} efficiency and facilitate their understanding. Thus, to capture all possible interaction sequences in a given RESTful conversation, we propose RESTalk, an extension to the BPMN Choreography diagrams to render them more concise and yet sufficiently expressive in the specific REST domain. We also report on the results obtained from an exploratory survey we have conducted to assess the maturity of the field for a domain specific language, and to obtain feedback for future improvements of RESTalk.}, keywords = {RESTalk, RESTful conversation}, issn = {1619-1366}, doi = {10.1007/s10270-016-0532-2}, url = {http://link.springer.com/article/10.1007/s10270-016-0532-2}, author = {Ana Ivanchikj and Cesare Pautasso and Silvia Schreier} } @proceedings {2017:benchflow:bpmds, title = {Performance Comparison Between BPMN 2.0 Workflow Management Systems Versions}, year = {2017}, month = {June}, publisher = {Springer}, address = {Essen, Germany}, abstract = {Software has become a rapidly evolving artifact and Workflow Management Systems (WfMSs) are not an exception. WfMSs{\textquoteright} changes may impact key performance indicators or resource consumption levels may change among different versions. Thus, users considering a WfMS upgrade need to evaluate the extent of such changes for frequently issued workload. Deriving such information requires running performance experiments with appropriate workloads. In this paper, we propose a novel method for deriving a structurally representative workload from a given business process collection, which we later use to evaluate the performance and resource consumption over four versions of two open-source WfMSs, for different numbers of simulated users. In our case study scenario the results reveal relevant variations in the WfMSs{\textquoteright} performance and resource consumption, indicating a decrease in performance for newer versions.}, keywords = {BenchFlow, BPMN, Performance Regression, Performance Testing, workflow engine, Workflow Management Systems}, author = {Vincenzo Ferme and Marigianna Skouradaki and Ana Ivanchikj and Cesare Pautasso and Frank Leymann} } @conference {benchflow:2017:bpm, title = {On the Performance Overhead of BPMN Modeling Practices}, booktitle = {15th International Conference on Business Process Management (BPM2017)}, year = {2017}, month = {September}, pages = {216--232}, publisher = {Springer}, organization = {Springer}, address = {Barcelona, Spain}, abstract = {Business process models can serve different purposes, from discussion and analysis among stakeholders, to simulation and execution. While work has been done on deriving modeling guidelines to improve understandability, it remains to be determined how different modeling practices impact the execution of the models. In this paper we observe how semantically equivalent, but syntactically different, models behave in order to assess the performance impact of different modeling practices. To do so, we propose a methodology for systematically deriving semantically equivalent models by applying a set of model transformation rules and for precisely measuring their execution performance. We apply the methodology on three scenarios to systematically explore the performance variability of 16 different versions of parallel, exclusive, and inclusive control flows. Our experiments with two open-source business process management systems measure the execution duration of each model{\textquoteright}s instances. The results reveal statistically different execution performance when applying different modeling practices without total ordering of performance ranks. }, keywords = {BenchFlow, BPMN, performance}, doi = {10.1007/978-3-319-65000-5_13}, author = {Ana Ivanchikj and Vincenzo Ferme and Cesare Pautasso} } @proceedings {bpm:2017:forum, title = {A Template for Sharing Empirical Business Process Metrics}, year = {2017}, month = {September}, pages = {36-52}, publisher = {Springer}, address = {Barcelona, Spain}, abstract = {Empirical Research is becoming increasingly important for understanding the practical uses and problems with business processes technology in the field. However, no standardization on how to report observations and findings exists. This sometimes leads to research outcomes which report partial or incomplete data and make published results of replicated studies on different data sets hard to compare. In order to help the research community improve reporting on business process models and collections and their characteristics, this paper defines a modular template with the aim of reports{\textquoteright} standardization, which could also facilitate the creation of shared business process repositories to foster further empirical research in the future. The template has been positively evaluated by representatives from both BPM research and industry. The survey feedback has been incorporated in the template. We have applied the template to describe a real-world executable WS-BPEL process collection, measured from a static and dynamic perspective.}, keywords = {BPM, empirical business process management}, author = {Daniel L{\"u}bke and Ana Ivanchikj and Cesare Pautasso} } @conference {benchflow:2016:closer, title = {A Container-centric Methodology for Benchmarking Workflow Management Systems}, booktitle = {6th International Conference on Cloud Computing and Service Science (CLOSER 2016)}, year = {2016}, month = {April}, pages = {74-84}, publisher = {SciTePress}, organization = {SciTePress}, address = {Rome, Italy}, abstract = {Trusted benchmarks should provide reproducible results obtained following a transparent and well-defined process. In this paper, we show how Containers, originally developed to ease the automated deployment of Cloud application components, can be used in the context of a benchmarking methodology. The proposed methodology focuses on Workflow Management Systems (WfMSs), a critical service orchestration middleware, which can be characterized by its architectural complexity, for which Docker Containers offer a highly suitable approach. The contributions of our work are: 1) a new benchmarking approach taking full advantage of containerization technologies; and 2) the formalization of the interaction process with the WfMS vendors described clearly in a written agreement. Thus, we take advantage of emerging Cloud technologies to address technical challenges, ensuring the performance measurements can be trusted. We also make the benchmarking process transparent, automated, and repeatable so that WfMS vendors can join the benchmarking effort.}, keywords = {BenchFlow, benchmarking, Docker}, doi = {10.5220/0005908400740084}, author = {Vincenzo Ferme and Ana Ivanchikj and Cesare Pautasso and Marigianna Skouradaki and Frank Leymann} } @conference {benchflow:2016:bpm, title = {Estimating the Cost for Executing Business Processes in the Cloud}, booktitle = {BPM Forum}, year = {2016}, month = {September}, pages = {72--88}, publisher = {Springer}, organization = {Springer}, address = {Rio de Janeiro, Brazil}, abstract = {Managing and running business processes in the Cloud changes how Workflow Management Systems (WfMSs) are deployed. Consequently, when designing such WfMSs, there is a need of determining the sweet spot in the performance vs. resource consumption trade-off. While all Cloud providers agree on the pay-as-you-go resource consumption model, every provider uses a different cost model to gain a competitive edge. In this paper, we present a novel method for estimating the infrastructure costs of running business processes in the Cloud. The method is based on the precise measurement of the resources required to run a mix of business process in the Cloud, while accomplishing expected performance requirements. To showcase the method we use the BenchFlow framework to run experiments on a widely used open-source WfMS executing custom workload with a varying number of simulated users. The experiments are necessary to reliably measure WfMS{\textquoteright}s performance and resource consumption, which is then used to estimate the infrastructure costs of executing such workload on four different Cloud providers.}, keywords = {BenchFlow, cloud computing, cloud workflows}, doi = {10.1007/978-3-319-45468-9_5}, author = {Vincenzo Ferme and Ana Ivanchikj and Cesare Pautasso} } @conference {restalk:2016:europlop, title = {A Pattern Language for RESTful Conversations}, booktitle = {Proceedings of the 21st European Conference on Pattern Languages of Programs (EuroPLoP)}, year = {2016}, month = {July}, pages = {4:1{\textendash}4:22}, publisher = {ACM}, organization = {ACM}, address = {Kloster Irsee, Germany}, abstract = {As a good user interface design is important for the success of an app, so is a good API for the success of a Web service. Within the RESTful Web services community there is a need for a systematic approach in knowledge sharing, for which patterns are particularly suitable. Using a RESTful service to achieve a certain goal often requires multiple client-server interactions, i.e., to have a conversation. While patterns of such RESTful conversations can be uncovered from existing APIs{\textquoteright} usage scenarios, or the service engineering literature, they have never been gathered in a pattern language, nor properly visualized with a Domain Specific Modeling Language (DSML). These patterns provide valuable input for API designers, as well as API consumers, by establishing a common vocabulary to describe recurring conversations. To do so, this paper uses RESTalk, a DSML, to model the basic RESTful conversation patterns structured around the life cycle of a resource (create, discover, read, edit, delete, protect) by showing the corresponding sequences of HTTP request-response interactions. We show how the resulting pattern language can be applied to individual resources, or also collections of resources.}, keywords = {conversation composition, conversation patterns, pattern language, RESTalk, RESTful conversation, RESTful web services}, isbn = {978-1-4503-4074-8}, doi = {10.1145/3011784.3011788}, url = {http://doi.acm.org/10.1145/3011784.3011788}, author = {Cesare Pautasso and Ana Ivanchikj and Silvia Schreier} } @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} } @conference {benchflow:2015:bpm, title = {A Framework for Benchmarking BPMN 2.0 Workflow Management Systems}, booktitle = {13th International Conference on Business Process Management (BPM 2015)}, year = {2015}, month = {August}, publisher = {Springer}, organization = {Springer}, address = {Innsbruck, Austria}, keywords = {BenchFlow, BPMN, Workflow Benchmarking}, doi = {10.1007/978-3-319-23063-4_18}, author = {Vincenzo Ferme and Ana Ivanchikj and Cesare Pautasso} } @conference {ecsa2015:restcon, title = {Modeling RESTful Conversations with extended BPMN Choreography diagrams}, booktitle = {9th European Conference on Software Architecture (ECSA 2015)}, year = {2015}, month = {September}, publisher = {Springer}, organization = {Springer}, address = {Dubrovnik, Croatia}, abstract = {RESTful Web APIs often make use of multiple basic HTTP interactions to guide clients towards their goal. For example, clients may get redirected towards related resources by means of hypermedia controls such as links. Existing modeling approaches for describing RESTful APIs expose low-level HTTP details that help developers construct individual requests and parse the corresponding responses. However, very little attention has been given to high-level modeling of RESTful conversations, which abstracts the structure of multiple HTTP interactions. To address such issue in this paper we introduce an extension of the notation used in BPMN choreography diagrams. Its purpose is to represent concisely all possible interaction sequences in a given RESTful conversation.}, keywords = {BPMN Choreography, REST, RESTful conversation}, author = {Cesare Pautasso and Ana Ivanchikj and Silvia Schreier} }