@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 {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} }