Proceedings of the 23rd European Conference on Pattern Languages of Programs最新文献

筛选
英文 中文
Interface Quality Patterns: Communicating and Improving the Quality of Microservices APIs 接口质量模式:沟通和提高微服务api的质量
Proceedings of the 23rd European Conference on Pattern Languages of Programs Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282319
Mirko Stocker, O. Zimmermann, Uwe Zdun, Daniel Lübke, C. Pautasso
{"title":"Interface Quality Patterns: Communicating and Improving the Quality of Microservices APIs","authors":"Mirko Stocker, O. Zimmermann, Uwe Zdun, Daniel Lübke, C. Pautasso","doi":"10.1145/3282308.3282319","DOIUrl":"https://doi.org/10.1145/3282308.3282319","url":null,"abstract":"The design and evolution of Application Programming Interfaces (APIs) in microservices architectures is challenging. General design issues in integration and programming have been covered in great detail in many pattern languages since the beginnings of the patterns movement, and service-oriented infrastructure design patterns have also been published in the last decade. However, the interface representations (i.e., the content of message payloads) have received less attention. We presented five structural representation patterns in our previous work; in this paper we continue our coverage of the API design space and propose five interface quality patterns that deal with the observable aspects of quality-attribute-driven interface design for efficiency, security, and manageability: An API Key allows API providers to identify clients. Providers may offer rich data contracts in their responses, which not all consumers might need. A Wish List allows the client to request only the attributes in a response data set that it is interested in. If a client makes many API calls, the provider can employ a Rate Limit and bill clients according to a specified Rate Plan. A provider has to provide a high-quality service while at the same time having to use its available resources economically. The resulting compromise is expressed in a provider's Service Level Agreement.","PeriodicalId":136534,"journal":{"name":"Proceedings of the 23rd European Conference on Pattern Languages of Programs","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117083384","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}
引用次数: 30
Fogxy
Proceedings of the 23rd European Conference on Pattern Languages of Programs Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282342
Andreas Seitz, Felix Thiele, Bernd Bruegge
{"title":"Fogxy","authors":"Andreas Seitz, Felix Thiele, Bernd Bruegge","doi":"10.1145/3282308.3282342","DOIUrl":"https://doi.org/10.1145/3282308.3282342","url":null,"abstract":"Fog computing is an emergent approach that tries to overcome challenges the cloud faces by introducing a fog tier in between the cloud and the edge of the network. With the advent of the cloud, computing power shifted back again to centralized locations. In past decades, we have seen an alternation between centralization and decentralization. Although the cloud is highly scalable and performant, it exhibits limitations such as real-time capabilities. Fog computing is an approach that tries to overcome these shortcomings. The implementation guidelines for fog computing system are vague to be implemented in real-world applications. Smart objects at the edge benefit from low latency responses, location awareness, and higher availability provided by fog computing. In this paper, we present Fogxy, an architectural pattern for fog computing. It serves as an implementation guidance that describes a solution to a recurring problem in a given context. Fogxy is composed of different patterns and is based on the idea of the proxy pattern. Fogxy gives an overview of the implementation of fog computing applications and takes into account the integration of cloud computing and Internet of Things (IoT) technologies.","PeriodicalId":136534,"journal":{"name":"Proceedings of the 23rd European Conference on Pattern Languages of Programs","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121727968","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}
引用次数: 2
A Program Backlog Story with Patterns: Expanding the Magic Backlog Pattern Collection 带有模式的程序待办事项描述:扩展神奇的待办事项模式集合
Proceedings of the 23rd European Conference on Pattern Languages of Programs Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282338
Lise B. Hvatum, R. Wirfs-Brock
{"title":"A Program Backlog Story with Patterns: Expanding the Magic Backlog Pattern Collection","authors":"Lise B. Hvatum, R. Wirfs-Brock","doi":"10.1145/3282308.3282338","DOIUrl":"https://doi.org/10.1145/3282308.3282338","url":null,"abstract":"This paper extends our Magic Backlog Patterns collection with three additional patterns for managing the work of a program- or rather how to deal with coordinating the work of projects which are part of a larger program and where there may be dependencies and shared deployment. While teams within a program may work fairly independently, their work still needs to be coordinated to produce a product. These three patterns, which represent alternative strategies for structuring the backlog of work, are introduced through a story of the correspondence of a business analyst as her hypothetical program moves through different backlog management strategies.","PeriodicalId":136534,"journal":{"name":"Proceedings of the 23rd European Conference on Pattern Languages of Programs","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129417795","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}
引用次数: 3
Patterns for Indexing Large Datasets 索引大型数据集的模式
Proceedings of the 23rd European Conference on Pattern Languages of Programs Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282314
Garima Gaur, S. Kalra, Arnab Bhattacharya
{"title":"Patterns for Indexing Large Datasets","authors":"Garima Gaur, S. Kalra, Arnab Bhattacharya","doi":"10.1145/3282308.3282314","DOIUrl":"https://doi.org/10.1145/3282308.3282314","url":null,"abstract":"Searching is one of the fundamental tasks in Computer Science. An intuitive way to search is to do it linearly, that is, start at the beginning of the dataset and continue till the searched-for item is found or nothing is found. However, as the volume of data increases, the response time of linear search is no longer acceptable. Indexes are designed to search through massive datasets quickly. There are a number of different ways of building complex and advanced indexes. Appropriate selection and modification of indexing structures according to dynamic business requirements is crucial for data-intensive applications. In this work, we present a few basic reusable indexing structures. These structures can be used to create advanced and complex indexing structures with lesser effort and time.","PeriodicalId":136534,"journal":{"name":"Proceedings of the 23rd European Conference on Pattern Languages of Programs","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130448949","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}
引用次数: 0
Business of Open Source: A Case Study of Integrating Existing Patterns Through Narratives 开源业务:通过叙述整合现有模式的案例研究
Proceedings of the 23rd European Conference on Pattern Languages of Programs Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282332
M. Weiss
{"title":"Business of Open Source: A Case Study of Integrating Existing Patterns Through Narratives","authors":"M. Weiss","doi":"10.1145/3282308.3282332","DOIUrl":"https://doi.org/10.1145/3282308.3282332","url":null,"abstract":"This paper integrates previously published patterns (many of them documented by the author) for open source businesses through narratives. An open source business employs open source as a strategy to strengthen its business model. The paper makes three contributions: it links patterns by creating narratives of how they have been applied by different companies; it documents pattern sequences for each example; and it proposes a way to group the patterns that reflects how strategic open source is to a business.","PeriodicalId":136534,"journal":{"name":"Proceedings of the 23rd European Conference on Pattern Languages of Programs","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114151115","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}
引用次数: 2
Engineering Software for the Cloud: Automated Recovery and Scheduler 工程软件的云:自动恢复和调度
Proceedings of the 23rd European Conference on Pattern Languages of Programs Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282315
Tiago Boldt Sousa, H. Ferreira, F. F. Correia, Ademar Aguiar
{"title":"Engineering Software for the Cloud: Automated Recovery and Scheduler","authors":"Tiago Boldt Sousa, H. Ferreira, F. F. Correia, Ademar Aguiar","doi":"10.1145/3282308.3282315","DOIUrl":"https://doi.org/10.1145/3282308.3282315","url":null,"abstract":"Cloud software continues to expand globally, highly motivated by how widespread the Internet is and the possibilities it unlocks with cloud computing. Still, cloud development has some intrinsic properties to it, making it complex to unexperienced developers. This research is capturing those intricacies in the form of a pattern language that gathers ten patterns for engineering software for the cloud. This paper elaborates on that research by contributing with two new patterns: AUTOMATED RECOVERY, which checks if a container is working properly, automatically recovering it in case of failure and SCHEDULER, which periodically executes actions within the infrastructure. The described patterns are useful for anyone designing software for the cloud, either to bootstrap or to validate their design decisions with the end goal of enabling them to create better software for the cloud.","PeriodicalId":136534,"journal":{"name":"Proceedings of the 23rd European Conference on Pattern Languages of Programs","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124946033","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}
引用次数: 12
Three Patterns of Data Type Composition in Programming Languages 编程语言中数据类型组成的三种模式
Proceedings of the 23rd European Conference on Pattern Languages of Programs Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282341
R. Batdalov, O. Ņikiforova
{"title":"Three Patterns of Data Type Composition in Programming Languages","authors":"R. Batdalov, O. Ņikiforova","doi":"10.1145/3282308.3282341","DOIUrl":"https://doi.org/10.1145/3282308.3282341","url":null,"abstract":"Data type composition is used in programming languages to build complex data types (known as compound types) from simpler ones. Various programming languages of ten use common approaches to type composition, but their particular implementation and provided opportunities may differ between languages. The paper uses the patterns methodology to describe three recurring themes in data type composition: traversing a set of values (the Traversable Once pattern), providing a slot to assign a value (the Assignable Once pattern) and variables that do not have to contain a value (the Optional Value pattern). These patterns are general cases of a number of constructs used for building compound data types in various programming languages. The described patterns may be used by designers of programming languages, libraries and frameworks to support the corresponding data type composition mechanisms directly in the language or their replacement at a higher level. Users of languages, libraries and frameworks may use the description of the patterns to understand underlying mechanisms and related benefits and liabilities.","PeriodicalId":136534,"journal":{"name":"Proceedings of the 23rd European Conference on Pattern Languages of Programs","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121758933","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}
引用次数: 2
Using Design Patterns for Math Preservice Teacher Education 运用设计模式进行数学职前教师教育
Proceedings of the 23rd European Conference on Pattern Languages of Programs Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282340
P. Inventado, Sharris Gayle Francisco Inventado, Noboru Matsuda, Yeping Li, P. Scupelli, Korinn S. Ostrow, N. Heffernan, S. Tu, C. Mason, Mary Logue, Patrick McGuire
{"title":"Using Design Patterns for Math Preservice Teacher Education","authors":"P. Inventado, Sharris Gayle Francisco Inventado, Noboru Matsuda, Yeping Li, P. Scupelli, Korinn S. Ostrow, N. Heffernan, S. Tu, C. Mason, Mary Logue, Patrick McGuire","doi":"10.1145/3282308.3282340","DOIUrl":"https://doi.org/10.1145/3282308.3282340","url":null,"abstract":"Experienced teachers effectively address student misconceptions and learning difficulties by employing high-quality pedagogical strategies that they have developed through experience. It is difficult to discover effective strategies because it takes a lot of trial and error before a teacher can conclude that a particular approach improves student learning. Researchers have used educational design patterns to encapsulate high-quality strategies that facilitate the transfer of pedagogical knowledge. In this work, we investigated the feasibility of utilizing three educational design patterns as a teaching tool for math preservice teacher education: Feedback Sandwich, Pitfall Diagnosis and Prevention, and Worked Examples. Specifically, we used design patterns to investigate how preservice teachers provided feedback to students who gave common wrong answers to a given math problem and compared their feedback before and after they were introduced to educational design patterns. Results indicated that design patterns helped preservice teachers consider other aspects of feedback such as students' self-regard, common misconceptions, and prior knowledge into their feedback for common wrong answers on math problems. The limited set of three design patterns introduced in the study focused on feedback presentation. Results also indicated preservice teachers may benefit from design patterns that address other aspects of feedback such as content granularity, feedback length, and presentation medium. Implications of this study, including the potential of using educational design patterns to improve preservice teacher education, are discussed.","PeriodicalId":136534,"journal":{"name":"Proceedings of the 23rd European Conference on Pattern Languages of Programs","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123778725","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}
引用次数: 3
A Pattern Collection for Blockchain-based Applications 基于区块链应用程序的模式集合
Proceedings of the 23rd European Conference on Pattern Languages of Programs Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282312
Xiwei Xu, C. Pautasso, Liming Zhu, Q. Lu, I. Weber
{"title":"A Pattern Collection for Blockchain-based Applications","authors":"Xiwei Xu, C. Pautasso, Liming Zhu, Q. Lu, I. Weber","doi":"10.1145/3282308.3282312","DOIUrl":"https://doi.org/10.1145/3282308.3282312","url":null,"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 blockchain technologies 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 for using blockchain in the design of their software architecture. 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 considering the nature of blockchain and how it can be specifically introduced within real-world applications. Others are variants of existing design patterns applied in the context of blockchain-based applications and smart contracts.","PeriodicalId":136534,"journal":{"name":"Proceedings of the 23rd European Conference on Pattern Languages of Programs","volume":"396 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131679546","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}
引用次数: 108
Architecture Board: Extension to Architecture Management Overview paper on EuroPLoP'17 架构委员会:扩展到架构管理概述论文在EuroPLoP'17
Proceedings of the 23rd European Conference on Pattern Languages of Programs Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282328
Victor Sauermann, Frank J. Frey, Michael Kopf
{"title":"Architecture Board: Extension to Architecture Management Overview paper on EuroPLoP'17","authors":"Victor Sauermann, Frank J. Frey, Michael Kopf","doi":"10.1145/3282308.3282328","DOIUrl":"https://doi.org/10.1145/3282308.3282328","url":null,"abstract":"With multiple parallel running software development initiatives and products, the overview of what is going on has to be kept in sight to derive suitable architectural and technical decisions. In an environment without a proper decision-making process in several development teams, or without a clear definition of roles and responsibilities a centralized architecture board makes no sense. There is need of dedicated maturity steps to traverse through to reach the goal of a distributed realization environment with as few as possible bottlenecks due to mutual discussions with a centralized responsibility to gather knowledge about on goings even considering existing technical debts. This paper is worth considered by CTOs, chief or enterprise architects within greater software development organizations.","PeriodicalId":136534,"journal":{"name":"Proceedings of the 23rd European Conference on Pattern Languages of Programs","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133386920","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}
引用次数: 0
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信