首页 > 最新文献

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

英文 中文
Interface Quality Patterns: Communicating and Improving the Quality of Microservices APIs 接口质量模式:沟通和提高微服务api的质量
Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282319
Mirko Stocker, O. Zimmermann, Uwe Zdun, Daniel Lübke, C. Pautasso
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.
微服务架构中应用程序编程接口(api)的设计和发展具有挑战性。自从模式运动开始以来,集成和编程中的一般设计问题已经在许多模式语言中进行了非常详细的讨论,并且在过去十年中也发布了面向服务的基础设施设计模式。然而,接口表示(即消息有效负载的内容)受到的关注较少。我们在之前的工作中提出了五种结构表征模式;在本文中,我们将继续介绍API设计领域,并提出五种接口质量模式,这些模式处理质量属性驱动的接口设计的可观察方面,以提高效率、安全性和可管理性。提供者可能在其响应中提供丰富的数据契约,但并非所有消费者都需要。Wish List允许客户端只请求它感兴趣的响应数据集中的属性。如果客户端进行许多API调用,提供商可以使用速率限制并根据指定的速率计划向客户端计费。提供者必须提供高质量的服务,同时必须经济地利用其可用资源。由此产生的折衷在提供商的服务水平协议中表示。
{"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
Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282342
Andreas Seitz, Felix Thiele, Bernd Bruegge
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.
{"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 带有模式的程序待办事项描述:扩展神奇的待办事项模式集合
Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282338
Lise B. Hvatum, R. Wirfs-Brock
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.
本文用三个额外的模式扩展了我们的Magic Backlog Patterns集合,这些模式用于管理一个项目的工作——或者更确切地说,是如何处理协调作为一个更大的项目的一部分的项目的工作,这些项目可能存在依赖关系和共享部署。虽然程序中的团队可以相当独立地工作,但他们的工作仍然需要协调以产生产品。这三种模式代表了构建工作积压的可选策略,它们是通过业务分析师的通信故事介绍的,因为她的假设程序在不同的积压管理策略中移动。
{"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 索引大型数据集的模式
Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282314
Garima Gaur, S. Kalra, Arnab Bhattacharya
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.
搜索是计算机科学的基本任务之一。一种直观的搜索方法是线性地进行搜索,也就是说,从数据集的开头开始,然后继续搜索,直到找到要搜索的项或什么都没有找到。然而,随着数据量的增加,线性搜索的响应时间不再是可以接受的。索引是用来快速搜索海量数据集的。有许多不同的方法可以构建复杂和高级的索引。根据动态业务需求适当选择和修改索引结构对于数据密集型应用程序至关重要。在这项工作中,我们提出了一些基本的可重用索引结构。这些结构可用于创建高级和复杂的索引结构,花费较少的精力和时间。
{"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 开源业务:通过叙述整合现有模式的案例研究
Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282332
M. Weiss
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.
本文通过叙述为开源业务集成了以前发布的模式(其中许多由作者记录)。开源企业将开源作为一种策略来加强其业务模型。本文做出了三个贡献:它通过创建不同公司如何应用这些模式的叙述,将模式联系起来;它记录了每个示例的模式序列;它还提出了一种对模式进行分组的方法,这些模式反映了开源对企业的战略意义。
{"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 工程软件的云:自动恢复和调度
Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282315
Tiago Boldt Sousa, H. Ferreira, F. F. Correia, Ademar Aguiar
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.
云软件继续在全球范围内扩张,互联网的普及以及它通过云计算带来的可能性极大地推动了云软件的发展。尽管如此,云开发还是有一些固有的属性,这使得它对没有经验的开发人员来说很复杂。这项研究以一种模式语言的形式捕获了这些复杂性,这种模式语言为面向云的工程软件收集了十种模式。本文通过提供两个新模式详细阐述了这一研究:automatic RECOVERY(检查容器是否正常工作,在出现故障时自动恢复容器)和SCHEDULER(定期在基础设施中执行操作)。所描述的模式对任何为云设计软件的人都很有用,无论是引导还是验证他们的设计决策,最终目标是使他们能够为云创建更好的软件。
{"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 编程语言中数据类型组成的三种模式
Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282341
R. Batdalov, O. Ņikiforova
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.
数据类型组合在编程语言中用于从简单的数据类型构建复杂的数据类型(称为复合类型)。各种编程语言通常使用通用的方法来实现类型组合,但是它们的具体实现和提供的机会可能因语言而异。本文使用模式方法描述了数据类型组合中三个反复出现的主题:遍历一组值(可遍历一次模式)、提供一个槽来赋值(可赋一次模式)和不必包含值的变量(可选值模式)。这些模式是在各种编程语言中用于构建复合数据类型的许多构造的一般情况。编程语言、库和框架的设计者可以使用所描述的模式直接在语言中支持相应的数据类型组合机制,或者在更高的级别上替换它们。语言、库和框架的用户可以使用模式的描述来理解底层机制和相关的好处和缺点。
{"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 运用设计模式进行数学职前教师教育
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
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.
经验丰富的教师通过采用他们通过经验开发的高质量教学策略,有效地解决学生的误解和学习困难。发现有效的策略是很困难的,因为在老师得出某种方法能提高学生学习的结论之前,需要进行大量的试验和错误。研究人员使用教育设计模式来封装促进教学知识转移的高质量策略。本文探讨了三种教育设计模式作为数学职前教师教育的教学工具的可行性:反馈三明治、陷阱诊断与预防和工作实例。具体地说,我们使用设计模式来调查职前教师如何向在给定数学问题上给出常见错误答案的学生提供反馈,并比较他们在引入教育设计模式之前和之后的反馈。结果表明,设计模式有助于职前教师在对数学问题常见错误答案的反馈中考虑学生的自尊、常见误解和先验知识等方面的反馈。研究中介绍的有限的三种设计模式集中在反馈表示上。结果还表明,职前教师可能会受益于解决反馈的其他方面的设计模式,如内容粒度、反馈长度和呈现媒介。本文讨论了本研究的意义,包括利用教育设计模式改善职前教师教育的潜力。
{"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 基于区块链应用程序的模式集合
Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282312
Xiwei Xu, C. Pautasso, Liming Zhu, Q. Lu, I. Weber
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.
区块链是一种新兴技术,它支持新形式的分散软件架构,其中分布式组件可以在不信任中央集成点的情况下就共享系统状态达成协议。区块链提供了一个共享的基础设施来执行程序,称为智能合约,并存储数据。由于区块链技术处于早期阶段,因此在设计使用区块链的软件系统方面缺乏系统和整体的观点。我们将区块链视为更大系统的一部分,这需要在软件架构设计中使用区块链的模式。在本文中,我们收集了基于区块链的应用程序的模式列表。模式集合分为四种类型,包括与外部世界的交互模式、数据管理模式、安全模式和契约结构模式。一些模式的设计考虑了区块链的性质以及如何在现实世界的应用程序中具体引入它。其他则是在基于区块链的应用程序和智能合约的环境中应用的现有设计模式的变体。
{"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
Pub Date : 2018-07-04 DOI: 10.1145/3282308.3282328
Victor Sauermann, Frank J. Frey, Michael Kopf
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.
对于多个并行运行的软件开发计划和产品,必须保持对正在进行的事情的概述,以获得合适的体系结构和技术决策。在几个开发团队没有适当决策过程的环境中,或者没有明确的角色和职责定义的环境中,集中的架构委员会是没有意义的。需要通过专门的成熟度步骤来达到分布式实现环境的目标,并尽可能减少瓶颈,因为要与集中的责任进行相互讨论,以收集有关正在进行的知识,甚至考虑到现有的技术债务。本文值得大型软件开发组织中的cto、首席或企业架构师考虑。
{"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
期刊
Proceedings of the 23rd European Conference on Pattern Languages of Programs
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1