T. Krug, Michael Krisper, Jürgen Dobaj, Georg Macher
{"title":"Arbitration Patterns: Resolving conflicts one network at a time","authors":"T. Krug, Michael Krisper, Jürgen Dobaj, Georg Macher","doi":"10.1145/3424771.3424805","DOIUrl":"https://doi.org/10.1145/3424771.3424805","url":null,"abstract":"Economic aspects of modern engineering lead to more frequent inclusion of mixed-effort networks in system architecture. Which pose the challenge of allowing for a degree of guaranteed delivery while keeping the network schedule dynamic. Introducing an Arbiter as role or component can prevent bus contention, through prioritizing specific categories of telegrams. This publication examines different approaches to arbitration of shared resources. Most commonly bus systems and networks. We propose a pattern called Registration Arbiter for controlling access to the shared medium by passively monitoring the medium, as well as further candidate patterns. The target audience are Embedded System Architects. We examine this pattern in the context of Industrial Control Systems.","PeriodicalId":216842,"journal":{"name":"Proceedings of the European Conference on Pattern Languages of Programs 2020","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114342304","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Shakirullah Waseeb, Waheedullah Sulaiman Khail, Haji Gul Wahaj, V. Vranić
{"title":"Extracting Relations Between Organizational Patterns Using Association Mining","authors":"Shakirullah Waseeb, Waheedullah Sulaiman Khail, Haji Gul Wahaj, V. Vranić","doi":"10.1145/3424771.3424817","DOIUrl":"https://doi.org/10.1145/3424771.3424817","url":null,"abstract":"Patterns are powerful when used in combinations. Identifying relationships between patterns is challenging. The existing approaches and pattern formats reflect the relationships with other patterns in a very informal and traditional way. We are proposing an automatic approach which discover such relationships from the patterns descriptive text using text mining and natural language processing techniques. In this work, we demonstrate how it contributes in inference of relationships and its strength among patterns.","PeriodicalId":216842,"journal":{"name":"Proceedings of the European Conference on Pattern Languages of Programs 2020","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130874270","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
O. Zimmermann, Daniel Lübke, Uwe Zdun, C. Pautasso, Mirko Stocker
{"title":"Interface Responsibility Patterns: Processing Resources and Operation Responsibilities","authors":"O. Zimmermann, Daniel Lübke, Uwe Zdun, C. Pautasso, Mirko Stocker","doi":"10.1145/3424771.3424822","DOIUrl":"https://doi.org/10.1145/3424771.3424822","url":null,"abstract":"Remote Application Programming Interfaces (APIs), as for instance offered in microservices architectures, are used in almost any distributed system today and are thus enablers for many digitalization efforts. It is hard to design such APIs so that they are easy and effective to use; maintaining their runtime qualities while preserving backward compatibility is equally challenging. Finding well suited granularities in terms of the architectural capabilities of endpoints and the read-write semantics of their operations are particularly important design concerns. Existing pattern languages have dealt with local APIs in object-oriented programming, with remote objects, with queue-based messaging and with service-oriented computing platforms. However, patterns or equivalent guidances for the architectural design of API endpoints, operations and their request and response message structures are still missing. In this paper, we extend our microservice API pattern language (MAP) and introduce endpoint role and operation responsibility patterns, namely Processing Resource, Computation Function, State Creation Operation, Retrieval Operation, and State Transition Operation. Known uses and examples of the patterns are drawn from public Web APIs, as well as application development and system integration projects the authors have been involved in.","PeriodicalId":216842,"journal":{"name":"Proceedings of the European Conference on Pattern Languages of Programs 2020","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128076005","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
H. M. Maqsood, E. Guerra, Xiaofeng Wang, A. Bondavalli
{"title":"Patterns for Development of Safety-Critical Systems with Agile: Trace Safety Requirements and Perform Automated Testing","authors":"H. M. Maqsood, E. Guerra, Xiaofeng Wang, A. Bondavalli","doi":"10.1145/3424771.3424800","DOIUrl":"https://doi.org/10.1145/3424771.3424800","url":null,"abstract":"In safety-critical systems keeping complete trace of requirements and detailed testing is an extremely relevant part of software development life cycle. Safety standards like ISO 26262, DO178C and many others prescribe that critical requirements must be completely traceable. These standards also demand detailed and regression testing of system. Here we present some patterns that deal with these concerns in an agile way. First set of patterns describe the key mechanism to list the sources of safety requirements and a mechanism for traceability of those requirements. It uses an approach that satisfies safety standards and adapts agile behavior where possible. The second pattern is about test automation for safety-critical systems, which complements our first set of patterns. It decreases the amount of documentation required for traceability and testing of features but without any compromise on essential testing. These patterns will facilitate the team to perform requirement's traceability and regular, rigorous testing in a timely and cost efficient manner.","PeriodicalId":216842,"journal":{"name":"Proceedings of the European Conference on Pattern Languages of Programs 2020","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121478676","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
O. Zimmermann, C. Pautasso, Daniel Lübke, Uwe Zdun, Mirko Stocker
{"title":"Data-Oriented Interface Responsibility Patterns: Types of Information Holder Resources","authors":"O. Zimmermann, C. Pautasso, Daniel Lübke, Uwe Zdun, Mirko Stocker","doi":"10.1145/3424771.3424821","DOIUrl":"https://doi.org/10.1145/3424771.3424821","url":null,"abstract":"Remote Application Programming Interfaces (APIs) are used in almost any distributed system today, for instance in microservices-based systems, and are thus enablers for many digitalization efforts. API design not only impacts whether software provided as a service is easy and efficient to develop applications with, but also affects the long term evolution of the software system. In general, APIs are responsible for providing remote and controlled access to the functionality provided as services; however, APIs often are also used to expose and share information. We focus on such data-related aspects of microservice APIs in this paper. Depending on the life cycle of the information published through the API, its mutability and the endpoint role, data-oriented APIs can be designed following patterns such as Operational Data Holder, Master Data Holder, Reference Data Holder, Data Transfer Holder, and Link Lookup Resource. Known uses and examples of the patterns are drawn from public Web APIs as well as application development and integration projects we have been involved in.","PeriodicalId":216842,"journal":{"name":"Proceedings of the European Conference on Pattern Languages of Programs 2020","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126618208","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Design Patterns for Blockchain-based Self-Sovereign Identity","authors":"Yue Liu, Q. Lu, Hye-young Paik, Xiwei Xu","doi":"10.1145/3424771.3424802","DOIUrl":"https://doi.org/10.1145/3424771.3424802","url":null,"abstract":"Self-sovereign identity is a new identity management paradigm that allows entities to really have the ownership of their identity data and control their use without involving any intermediary. Blockchain is an enabling technology for building self-sovereign identity systems by providing a neutral and trustable storage and computing infrastructure, and can be viewed as a component of the systems. Both blockchain and self-sovereign identity are emerging technologies which could present a steep learning curve for architects. We collect and propose 12 design patterns for blockchain-based self-sovereign identity systems to help the architects understand and easily apply the concepts in system design. Based on the lifecycles of three main objects involved in self-sovereign identity, we categorise the patterns into three groups: key management patterns, decentralised identifier management patterns, and credential design patterns. The proposed patterns provide a systematic and holistic guide for architects to design the architecture of blockchain-based self-sovereign identity systems.","PeriodicalId":216842,"journal":{"name":"Proceedings of the European Conference on Pattern Languages of Programs 2020","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116631376","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Patterns for Blockchain Data Migration","authors":"H. Bandara, Xiwei Xu, I. Weber","doi":"10.1145/3424771.3424796","DOIUrl":"https://doi.org/10.1145/3424771.3424796","url":null,"abstract":"With the rapid evolution of technological, economic, and regulatory landscapes, contemporary blockchain platforms are all but certain to undergo major changes. Therefore, the applications that rely on them will eventually need to migrate from one blockchain instance to another to remain competitive and secure, as well as to enhance the business process, performance, cost efficiency, privacy, and regulatory compliance. However, the differences in data and smart contract representations, modes of hosting, transaction fees, as well as the need to preserve consistency, immutability, and data provenance introduce unique challenges over database migration. We first present a set of blockchain migration scenarios and data fidelity levels using an illustrative example. We then present a set of migration patterns to address those scenarios and the above data management challenges. Finally, we demonstrate how the effort, cost, and risk of migration could be minimized by choosing a suitable set of data migration patterns, data fidelity level, and proactive system design. Practical considerations and research challenges are also highlighted.","PeriodicalId":216842,"journal":{"name":"Proceedings of the European Conference on Pattern Languages of Programs 2020","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126032745","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}