@inbook {sa:2023:education, title = {A Better Way to Teach Software Architecture}, 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 = {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} } @inbook {sa:2023:empirical, title = {An Empirical Basis for Software Architecture Research}, booktitle = { Software Architecture - Research Roadmaps from the Community }, year = {2023}, pages = {87 - 100}, publisher = {Springer}, organization = {Springer}, abstract = {Despite the clear need for and importance of performing empirical studies as part of software architecture research, there is still a lack of curated, standardized, clean, well-maintained, documented, easily accessible, reusable, and shared datasets. In this chapter, we provide an overview of the problems, of the motivations, and of the opportunities currently related to mining and sharing datasets for researchers in software architecture. We first explore and describe which artifacts should be included into such datasets, such as code, documentation, and requirements, but also including other architecturally relevant artifacts, such as architectural decision records, models, and other kinds of documentation. This information can be complemented with revision history logs, social metadata, and email or chat discussion archives. The availability of such datasets would enable not only architectural reconstruction studies but would also help to catalyze broader and more ambitious program of empirical studies in software architecture research.}, keywords = {software architecture}, isbn = {978-3-031-36846-2}, doi = {10.1007/978-3-031-36847-9_5}, url = {https://link.springer.com/chapter/10.1007/978-3-031-36847-9_5}, author = {Rick Kazman and Roberto Tonelli and Cesare Pautasso}, editor = {Pelliccione, Patrizio and Kazman, Rick and Weber, Ingo and Liu, Anna} } @conference {fc4mc:2023:bpm, title = {Loose Collaborations on the Blockchain: Survey and Challenges}, booktitle = {21st International Conference on Business Process Management - Blockchain Forum}, year = {2023}, month = {September}, pages = {21--35}, publisher = {Springer}, organization = {Springer}, address = {Utrecht, the Netherlands}, abstract = {Blockchain technology has emerged as a promising infrastructure for enabling collaboration between mutually distrustful organizations. The enactment of blockchain-based collaborative processes typically requires a profound understanding of the process being executed, limiting support for flexible processes that cannot be fully prespecified at design time. To overcome this limitation, support for looseness, dealing with the configuration and execution of underspecified processes, is essential. In this paper, we conduct a systematic literature review to examine looseness support for blockchain-based collaborative processes from a behavioral and organizational perspective. In addition, we identify open research challenges to pave the way for further research in this area.}, keywords = {blockchain, Collaborative processes, Flexibility, Looseness}, doi = {10.1007/978-3-031-43433-4_2}, url = {https://link.springer.com/chapter/10.1007/978-3-031-43433-4_2}, author = {Tom Lichtenstein and Hassan Atwi and Mathias Weske and Cesare Pautasso} } @inproceedings {2018:wesoacs, title = {May Contain Nuts: The Case for API Labels}, year = {2018}, month = {September}, address = {Como, Italy}, abstract = {As APIs proliferate, managing the constantly growing and evolving API landscapes inside and across organizations becomes a challenge. Part of the management challenge is for APIs to be able to describe themselves, so that users and tooling can use descriptions for finding and filtering APIs. A standardized labeling scheme can help to cover some of the cases where API self-description allows API landscapes to become more usable and scalable. In this paper we present the vision for standardized API labels, which summarize and represent critical aspects of APIs. These aspect allow consumers to more easily become aware of the kind of dependency they are going to establish with the service provider when choosing to use them. API labels not only summarize critical coupling factors, but also can include claims that require to be validated by trusted third parties.}, keywords = {API, API Labels}, author = {Cesare Pautasso and Erik Wilde} } @conference {2018:blockchain:europlop, title = {A Pattern Collection for Blockchain-based Applications}, booktitle = {23rd European Conference on Pattern Languages of Programs (EuroPLoP)}, year = {2018}, month = {July}, publisher = {ACM}, organization = {ACM}, address = {Kloster Irrsee, Germany}, abstract = {Blockchain is an emerging technology that enables new forms of decentralized software architectures, where distributed components can reach agreements on shared system states without trusting a central integration point. Blockchain provides a shared infrastructure to execute programs, called smart contracts, and to store data. Since blockchains are at an early stage, there is a lack of a systematic and holistic view on designing software systems that use blockchain. We view blockchain as part of a bigger system, which requires patterns of using blockchain in the design of the bigger systems. In this paper, we collect a list of patterns for blockchain-based applications. The pattern collection is categorized into four types, including interaction with external world patterns, data management patterns, security patterns and contract structural patterns. Some patterns are designed specifically based on real-world blockchain-based applications considering the nature of blockchain. Others are variants of existing design patterns applied in the context of blockchain-based applications and smart contracts.}, keywords = {blockchain, patterns}, doi = {10.1145/3282308.3282312}, url = {https://dl.acm.org/citation.cfm?id=3282312}, author = {Xiwei Xu and Cesare Pautasso and Liming Zhu and Qinghua Lu and Ingo Weber} } @conference {2017:icsa:blockchain, title = {A Taxonomy of Blockchain-based Systems for Architecture Design}, booktitle = {1st IEEE International Conference on Software Architecture (ICSA 2017)}, year = {2017}, month = {April}, publisher = {IEEE}, organization = {IEEE}, address = {Gothenburg, Sweden}, abstract = {Blockchain is an emerging technology for decentralised and transactional data sharing across a large network of untrusted participants. It enables new forms of distributed software architectures, where agreement on shared states can be established without trusting a central integration point. A major difficulty for architects designing applications based on blockchain is that the technology has many configurations and variants. Since blockchains are at an early stage, there is little product data or reliable technology evaluation available to compare different blockchains. In this paper, we propose how to classify and compare blockchains and blockchain-based systems to assist with the design and assessment of their impact on software architectures. Our taxonomy captures major architectural characteristics of blockchains and the impact of their principal design decisions. This taxonomy is intended to help with important architectural considerations about the performance and quality attributes of blockchain-based systems.}, keywords = {blockchain, software architecture}, author = {Xiwei Xu and Ingo Weber and Liming Zhu and Mark Staples and Jan Bosch and Len Bass and Cesare Pautasso and Paul Rimba} } @article {swinsight:2016:janfeb, title = {A Decade of Enterprise Integration Patterns: A Conversation with the Authors}, journal = {IEEE Software}, volume = {1}, year = {2016}, month = {January-February}, pages = {13-19}, abstract = {Department editors Olaf Zimmerman and Cesare Pautasso interview Gregor Hohpe and Bobby Woolf, authors of Enterprise Integration Patterns. They discuss the book{\textquoteright}s impact, pattern language design, message-oriented middleware, integration technology{\textquoteright}s evolution, and the authors{\textquoteright} future plans. }, keywords = {Enterprise Integration Patterns}, doi = {http://doi.ieeecomputersociety.org/10.1109/MS.2016.11}, url = {http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=\&arnumber=7368007}, author = {Olaf Zimmermann and Cesare Pautasso and Gregor Hohpe and Bobby Woolf} } @inproceedings {wesoa2015, title = {From Choreography Diagrams to RESTful Interactions}, year = {2015}, month = {November}, publisher = {Springer}, address = {Goa, India}, abstract = {Today, business process management is a key approach to organize work, and many companies represent their operations in business process models. Recently, choreography diagrams have been introduced to represent interactions between business processes, run by different partners. While there is considerable work on using process models during process implementation, there is little work on using choreography models to implement interactions between business processes. In this paper, a novel approach to enhance choreography diagrams by execution information is introduced. The approach is based on the REST architecture style, which is the primary way for interacting systems. Using enhanced choreography diagrams allows us to develop REST-based interactions among business partners in an efficient manner. The approach is illustrated by an example of an accommodation reservation service.}, keywords = {BPMN Choreography, RESTful conversation}, author = {Adriatik Nikaj and Sankalita Mandal and Cesare Pautasso and Mathias Weske} } @book {rest:2014, title = {REST: Advanced Research Topics and Practical Applications}, year = {2014}, pages = {1-214}, publisher = {Springer}, organization = {Springer}, keywords = {REST}, isbn = {978-1-4614-9298-6}, url = {http://ws-rest.org/book/2/}, editor = {Cesare Pautasso and Erik Wilde and Rosa Alarc{\'o}n} } @proceedings {wsrest2012, title = {Third International Workshop on RESTful Design (WS-REST 2012)}, year = {2012}, month = {March}, publisher = {ACM}, address = {Lyon, France}, keywords = {proceedings, REST}, isbn = {978-1-4503-1190-8}, doi = {10.1145/2307819.2307821}, url = {http://dl.acm.org/citation.cfm?id=2307819}, editor = {Rosa Alarc{\'o}n and Cesare Pautasso and Erik Wilde} } @inbook {DBLP:books/sp/wilde2011/PautassoW11, title = {Introduction to REST: From Research to Practice}, booktitle = {REST: From Research to Practice}, year = {2011}, pages = {1-18}, publisher = {Springer}, organization = {Springer}, chapter = {1}, keywords = {REST}, doi = {10.1007/978-1-4419-8303-9_0}, url = {http://ws-rest.org/book/}, author = {Cesare Pautasso and Erik Wilde} } @conference {rest:bpm:icsoc2011, title = {Push-Enabling RESTful Business Processes}, booktitle = {9th International Conference on Service-Oriented Computing (ICSOC 2011)}, volume = {7084}, year = {2011}, month = {December}, pages = {32-46}, publisher = {Springer}, organization = {Springer}, address = {Paphos, Cyprus}, abstract = {Representational State Transfer (REST) as an architectural style for service design has seen substantial uptake in the past years. However, some areas such as Business Process Modeling (BPM) and push services so far have not been addressed in the context of REST principles. In this work, we look at how both BPM and push can be combined so that business processes can be modeled and observed in a RESTful way. Based on this approach, clients can subscribe to be notified when certain states in a business process are reached. Our goal is to design an architecture that brings REST{\textquoteright}s claims of loose coupling and good scalability to the area of BPM, and still allow process-driven composition and interaction between resources to be modeled.}, keywords = {business process management, REST, RESTful business process management}, doi = {10.1007/978-3-642-25535-9_3}, author = {Cesare Pautasso and Erik Wilde} } @book {rest:2011, title = {REST: From Research to Practice}, year = {2011}, publisher = {Springer}, organization = {Springer}, address = {New York, NY}, keywords = {REST}, isbn = {978-1-4419-8302-2}, doi = {10.1007/978-1-4419-8303-9}, url = {http://ws-rest.org/book/}, editor = {Erik Wilde and Cesare Pautasso} } @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} } @proceedings {wsrest2010, title = {First International Workshop on RESTful Design (WS-REST 2010)}, year = {2010}, month = {April}, publisher = {ACM}, address = {Raleigh, NC, USA}, doi = {http://doi.acm.org/10.1145/1798354.1798375}, url = {http://portal.acm.org/beta/citation.cfm?id=1798354}, editor = {Cesare Pautasso and Erik Wilde and Alexandros Marinos} } @conference {restws:2009:www, title = {Why is the Web Loosely Coupled? A Multi-Faceted Metric for Service Design}, booktitle = {18th World Wide Web Conference (WWW2009)}, year = {2009}, month = {April}, pages = {911-920}, publisher = {ACM}, organization = {ACM}, address = {Madrid, Spain}, abstract = {Loose coupling is often quoted as a desirable property of systems architectures. One of the main goals of building systems using Web technologies is to achieve loose coupling. However, given the lack of a widely accepted definition of this term, it becomes hard to use coupling as a criterion to evaluate alternative Web technology choices, as all options may exhibit, and claim to provide, some kind of "loose" coupling effects. This paper presents a systematic study of the degree of coupling found in service-oriented systems based on a multi-faceted approach. Thanks to the metric introduced in this paper, coupling is no longer a one-dimensional concept with loose coupling found somewhere in between tight coupling and no coupling. The paper shows how the metric can be applied to real-world examples in order to support and improve the design process of service-oriented systems.}, keywords = {coupling, REST, RESTful Web service interface}, doi = {10.1145/1526709.1526832}, author = {Cesare Pautasso and Erik Wilde} } @conference {ccgrid2008, title = {Initializing a National Grid Infrastructure Lessons Learned from the Swiss National Grid Association Seed Project}, booktitle = {8th IEEE International Symposium on Cluster Computing and the Grid (CCGRID 2008)}, year = {2008}, month = {May}, pages = {169-176}, publisher = {IEEE}, organization = {IEEE}, address = {Lyon, France}, abstract = {In addition to multi-national Grid infrastructures, several countries operate their own national Grid infrastructures to support science and industry within national borders. These infrastructures have the benefit of better satisfying the needs of local, regional and national user communities. Although Switzerland has strong research groups in several fields of distributed computing, only recently a national Grid effort was kick-started to integrate a truly heterogeneous set of resource providers, middleware pools, and users. In the following article we discuss our efforts to start Grid activities at a national scale to combine several scientific communities and geographical domains. We make a strong case for the need of standards that have to be built on top of existing software systems in order to provide support for a heterogeneous Grid infrastructure.}, keywords = {distributed computing, grid computing, middleware, national grid infrastructure}, doi = {10.1109/CCGRID.2008.62}, author = {Nabil Abdennadher and Peter Engel and Derek Feichtinger and Dean Flanders and Placi Flury and Sigve Haug and Pascal Jermini and Sergio Maffioletti and Cesare Pautasso and Heinz Stockinger and Wibke Sudholt and Michela Thi{\'e}mard and Nadya Williams and Christoph Witzig} }