@book {book:sa, title = {Software Architecture: visual lecture notes}, year = {2020}, publisher = {LeanPub}, organization = {LeanPub}, abstract = {From quality attributes to how to design and model components, interfaces, connectors, containers, all the way to services and microservices. These are the revised and illustrated notes of the Software Architecture lecture of the Master in Software and Data Engineering held at the Software Institute at USI Lugano, Switzerland during the Spring of 2020. The book includes the script for these lectures:
  1. Introduction
  2. Quality Attributes
  3. Definitions
  4. Modeling Software Architecture
  5. Modularity and Components
  6. Reusability and Interfaces
  7. Composability and Connectors
  8. Compatibility and Coupling
  9. Deployability, Portability and Containers
  10. Scalability
  11. Availability and Services
  12. Flexibility and Microservices
}, keywords = {software architecture}, url = {https://leanpub.com/software-architecture/}, author = {Cesare Pautasso} } @article {2019:rest:sawq, title = {SAW-Q: a dynamic composition approach of REST services based on queue model}, journal = {International Journal of Web and Grid Services}, volume = {15}, year = {2019}, month = {January}, pages = {29 - 58}, abstract = {Service composition is one of the principles of service-oriented architecture; it enables reuse and allows developers to combine existing services in order to create new services that in turn can be part of another composition. Dynamic composition requires that service components are chosen from a set of services with equal or similar functionality at runtime and possibly automatically. The adoption of the REST services in the industry has led to a growing number of services of this type, many with similar functionality. The existing dynamic composition techniques are method-oriented whereas REST is resource-oriented and consider only traditional (WSDL/SOAP) services. We propose SAW-Q, an extension of simple additive weighting (SAW), as a novel dynamic composition technique that follows the principles of the REST style. Additionally, SAW-Q models quality attributes as a function of the actual service demand instead of the traditional constant values. Our model is much more accurate when compared to real implementation, positively improving the quality of dynamic service compositions.}, keywords = {automatic composition, dynamic composition, quality of service, REST, SOA, Web services}, doi = {10.1504/IJWGS.2019.096555}, author = {Bellido, Jesus and Rosa Alarc{\'o}n and Cesare Pautasso and Carla Vairetti} } @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} } @conference {2018:asq:disa, title = {Short Texts Analysis for Teacher Assistance during Live Interactive Classroom Presentations}, booktitle = {World Symposium on Digital Intelligence for Systems and Machines (DISA2018)}, year = {2018}, month = {August}, publisher = {IEEE}, organization = {IEEE}, address = {Ko{\v s}ice, Slovakia}, abstract = {We aim to improve the communication process of a teacher with students during lectures using question answering. Our work is focused on the analysis of students{\textquoteright} answers to support the teacher in his or her lecturing. We work with students{\textquoteright} answers to open questions, where it is impossible to identify finite number of solutions. In large classes it is impossible to react in real time to such answers since their evaluation is time consuming. We propose our own approach that helps the teacher by grouping similar answers. These groups are created based on proposed method employing text classification and clustering. Proposed method automatically estimates a number of clusters in answers using combination of k-Nearest Neighbors (KNN) algorithm and affinity propagation. We evaluated the method on real data in Slovak language collected from the course Principles of Software Engineering using real time presentation system ASQ.}, keywords = {ASQ, clustering}, author = {Michal Hucko and Peter Gaspar and Matus Pikuliak and Vasileios Triglianos and Cesare Pautasso and Maria Bielikova} } @article {2015:ieeesoftware:insights, title = {Seeking Your Insights}, volume = {32}, year = {2015}, month = {March-April}, pages = {7--9}, keywords = {Software Engineering Practice}, issn = {0740-7459}, doi = {http://dx.doi.org/10.1109/MS.2015.47}, url = {https://ieeexplore.ieee.org/document/7057623/?arnumber=7057623}, author = {Cesare Pautasso and Olaf Zimmermann} } @conference {lisa:wicsa2014, title = {The Stream Software Connector Design Space: Frameworks and Languages for Distributed Stream Processing}, booktitle = {11th Working IEEE/IFIP Conference on Software Architecture (WICSA 2014)}, year = {2014}, month = {April}, address = {Sydney, Australia}, abstract = {In recent years we witnessed the rise of applications in which data is continuously generated and pushed towards consumers in real time through complex processing pipelines. Software connectors like remote procedure call (RPC) do not fit with the needs of such applications, for which the publish/subscribe and the stream connectors are more suitable. This paper introduces the design space of the stream software connector by analyzing recent stream processing engine frameworks and domain specific languages featuring native streaming support. On the one side, we want to classify and compare streaming systems based on a taxonomy derived from the wide range of features they offer (i.e., pipeline dynamicity and representation, load balancing and deployment flexibility). On the other side, the gaps in the design space we identify point at future research directions in the area of distributed stream processing. To do so, we gather valuable architectural knowledge in terms of architectural issues and alternatives, elicited by surveying the most important architectural decisions made by the designers of several representative streaming framework architectures.}, keywords = {design space, software connector, streaming, survey}, author = {Masiar Babazadeh and Cesare Pautasso} } @book {soawithrest:2013, title = {SOA with REST - Principles, Patterns and Constraints for Building Enterprise Solutions with REST}, series = {The Prentice Hall service technology series}, year = {2013}, pages = {I-XXXII, 1-577}, publisher = {Prentice Hall}, organization = {Prentice Hall}, keywords = {REST, service oriented architectures, Web services}, isbn = {978-0-13-701251-0}, author = {Thomas Erl and Benjamin Carlyle and Cesare Pautasso and Raj Balasubramanian} } @conference {s:2012:ppopp, title = {S: a scripting language for high-performance RESTful web services}, booktitle = {17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming (PPoPP 2012)}, year = {2012}, month = {February}, pages = {97{\textendash}106}, publisher = {ACM}, organization = {ACM}, address = {New Orleans, USA}, abstract = {There is an urgent need for novel programming abstractions to leverage the parallelism in modern multicore machines. We introduce S, a new domain-specific language targeting the server-side scripting of high-performance RESTful Web services. S promotes an innovative programming model based on explicit (control-flow) and implicit (process-level) parallelism control, allowing the service developer to specify which portions of the control-flow should be executed in parallel. For each service, the choice of the best level of parallelism is left to the runtime system. We assess performance and scalability by implementing two non-trivial composite Web services in S. Experiments show that S-based Web services can handle thousands of concurrent client requests on a modern multicore machine.}, keywords = {REST, scripting, Web service composition}, isbn = {978-1-4503-1160-1}, doi = {10.1145/2145816.2145829}, author = {Daniele Bonetta and Achille Peternier and Cesare Pautasso and Walter Binder} } @demo {2012:wicsa:saw, title = {Software Architecture Warehouse: live and collaborative architectural decision making}, year = {2012}, address = {Helsinki, Finland}, author = {Marcin Nowak and Cesare Pautasso} } @conference {6227125, title = {Specification patterns from research to industry: A case study in service-based applications}, booktitle = {Proc. of the 34th International Conference on Software Engineering (ICSE2012), SeIP track}, year = {2012}, month = {June}, pages = {968-976}, address = {Zurich, Switzerland}, abstract = {Specification patterns have proven to help developers to state precise system requirements, as well as formalize them by means of dedicated specification languages. Most of the past work has focused its applicability area to the specification of concurrent and real-time systems, and has been limited to a research setting. In this paper we present the results of our study on specification patterns for service-based applications (SBAs). The study focuses on industrial SBAs in the banking domain. We started by performing an extensive analysis of the usage of specification patterns in published research case studies - representing almost ten years of research in the area of specification, verification, and validation of SBAs. We then compared these patterns with a large body of specifications written by our industrial partner over a similar time period. The paper discusses the outcome of this comparison, indicating that some needs of the industry, especially in the area of requirements specification languages, are not fully met by current software engineering research.}, keywords = {banking case study, formal specification, industry research, pattern matching, real-time systems, requirements specifications, service contracts, software engineering, specification patterns, Web services}, issn = {0270-5257}, doi = {10.1109/ICSE.2012.6227125}, author = {Domenico Bianculli and Carlo Ghezzi and Cesare Pautasso and Patrick Senti} } @conference {www:wsrest2011, title = {Second international workshop on RESTful design (WS-REST 2011)}, booktitle = {WWW (Companion Volume)}, year = {2011}, month = {March}, pages = {311-312}, publisher = {ACM}, organization = {ACM}, address = {Hyderabad, India}, keywords = {proceedings, REST}, isbn = {978-1-4503-0637-9}, doi = {http://doi.acm.org/10.1145/1963192.1963327}, author = {Cesare Pautasso and Erik Wilde and Rosa Alarc{\'o}n} } @article {DBLP:journals/bioinformatics/QuandtHMHMPAL08, title = {swissPIT: a novel approach for pipelined analysis of mass spectrometry data}, journal = {Bioinformatics}, volume = {24}, number = {11}, year = {2008}, pages = {1416-1417}, abstract = {The identification and characterization of peptides from tandem mass spectrometry (MS/MS) data represents a critical aspect of proteomics. Today, tandem MS analysis is often performed by only using a single identification program achieving identification rates between 10-50\% (Elias and Gygi, 2007). Beside the development of new analysis tools, recent publications describe also the pipelining of different search programs to increase the identification rate (Hartler et al., 2007; Keller et al., 2005). The Swiss Protein Identification Toolbox (swissPIT) follows this approach, but goes a step further by providing the user an expandable multi-tool platform capable of executing workflows to analyze tandem MS-based data. One of the major problems in proteomics is the absent of standardized workflows to analyze the produced data. This includes the pre-processing part as well as the final identification of peptides and proteins. The main idea of swissPIT is not only the usage of different identification tool in parallel, but also the meaningful concatenation of different identification strategies at the same time. The swissPIT is open source software but we also provide a user-friendly web platform, which demonstrates the capabilities of our software and which is available at http://swisspit.cscs.ch upon request for account.}, keywords = {bioinformatics, scientific workflow management}, doi = {10.1093/bioinformatics/btn139}, url = {http://www.ncbi.nlm.nih.gov/pubmed/18436540}, author = {Andreas Quandt and Patricia Hernandez and Alexandre Masselot and C{\'e}line Hernandez and Sergio Maffioletti and Cesare Pautasso and Ron D. Appel and Fr{\'e}d{\'e}rique Lisacek} } @inbook {jopera:2006:acbook, title = {A Self-Configuring Service Composition Engine}, booktitle = {Autonomic Computing: Concepts, Infrastructure, and Applications}, year = {2006}, pages = {237-252}, publisher = {CRC Press}, organization = {CRC Press}, chapter = {12}, keywords = {autonomic computing}, isbn = {0-8493-9367-1}, doi = {10.1201/9781420009354.ch12}, author = {Thomas Heinis and Cesare Pautasso and Gustavo Alonso}, editor = {Manish Parashar and Salim Hariri} }