Proceedings of the 24th European Conference on Pattern Languages of Programs最新文献

筛选
英文 中文
Chain of builders: a pattern of variable syntax processing for internal DSLs 构建器链:用于内部dsl的变量语法处理模式
Proceedings of the 24th European Conference on Pattern Languages of Programs Pub Date : 2019-07-03 DOI: 10.1145/3361149.3361179
Stefan Sobernig
{"title":"Chain of builders: a pattern of variable syntax processing for internal DSLs","authors":"Stefan Sobernig","doi":"10.1145/3361149.3361179","DOIUrl":"https://doi.org/10.1145/3361149.3361179","url":null,"abstract":"chain of builders is a language-implementation pattern at the centre of realising variable textual syntaxes for internal domain-specific languages (DSL). An internal DSL is built on top of a general-purpose software language (GPL; Java) and uses the GPL infrastructure for processing and for enacting DSL scripts. A DSL is said to be variable when it allows for deriving a family of DSL variants (a.k.a. a language-product line), varying at the levels of abstract syntax, concrete syntax, semantics, and execution (e.g., interpretation or generation). chain of builders combines the chain of responsibility and expression builder patterns. With this, the paper adds to known pattern languages for DSL development (e.g., Fowler's). Its known use has been in development systems for internal DSLs such as DjDSL, but also applies to applications processing mixed syntaxes (XML and JSON).","PeriodicalId":294665,"journal":{"name":"Proceedings of the 24th European Conference on Pattern Languages of Programs","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114869452","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
Reflecting pattern relationships in a pattern format 以模式格式反映模式关系
Proceedings of the 24th European Conference on Pattern Languages of Programs Pub Date : 2019-07-03 DOI: 10.1145/3361149.3361180
Waheedullah Sulaiman Khail, V. Vranić
{"title":"Reflecting pattern relationships in a pattern format","authors":"Waheedullah Sulaiman Khail, V. Vranić","doi":"10.1145/3361149.3361180","DOIUrl":"https://doi.org/10.1145/3361149.3361180","url":null,"abstract":"Patterns can be applied in isolation. However, the power of patterns lies in using them in sequences. Identifying pattern relationships with other patterns is difficult. The existing pattern formats reflect the relationships with other patterns in a very informal way. We are proposing changes to the pattern format so that it reflects the relationships with other patterns in a more sophisticated way. These relationships can be used in pattern composition. We demonstrate the new pattern format on organizational patterns of agile software development.","PeriodicalId":294665,"journal":{"name":"Proceedings of the 24th European Conference on Pattern Languages of Programs","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124507646","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 to escape the #ifdef hell 模式来逃避#ifdef
Proceedings of the 24th European Conference on Pattern Languages of Programs Pub Date : 2019-07-03 DOI: 10.1145/3361149.3361151
C. Preschern
{"title":"Patterns to escape the #ifdef hell","authors":"C. Preschern","doi":"10.1145/3361149.3361151","DOIUrl":"https://doi.org/10.1145/3361149.3361151","url":null,"abstract":"There are many things one can do wrong when using the C pre-processor's #ifdef statements. Such statements are often used to distinguish between hardware variants or operating system variants in the C code and when not used carefully, the C code easily becomes a mess of #ifdef cascades. This paper addresses this issue and provides best practices in form of patterns on how to organize variants in C code and on how to get rid of #ifdef statements.","PeriodicalId":294665,"journal":{"name":"Proceedings of the 24th European Conference on Pattern Languages of Programs","volume":"50 20","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114005995","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
Design patterns for angular hotdraw 设计模式的角度热图
Proceedings of the 24th European Conference on Pattern Languages of Programs Pub Date : 2019-07-03 DOI: 10.1145/3361149.3361185
Kirita-Rose Escott, J. Noble
{"title":"Design patterns for angular hotdraw","authors":"Kirita-Rose Escott, J. Noble","doi":"10.1145/3361149.3361185","DOIUrl":"https://doi.org/10.1145/3361149.3361185","url":null,"abstract":"The number of web frameworks available for use is growing. Web developers need to learn how to use them effectively and efficiently. Working through the design patterns presented in this paper for the Angular Hotdraw application assists web developers in this task. Web developers should be able to make a start with a the Angular web framework and have a foundation to learn from.","PeriodicalId":294665,"journal":{"name":"Proceedings of the 24th European Conference on Pattern Languages of Programs","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133265910","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
Software process anti-patterns catalogue 软件过程反模式目录
Proceedings of the 24th European Conference on Pattern Languages of Programs Pub Date : 2019-07-03 DOI: 10.1145/3361149.3361178
Přemek Brada, P. Pícha
{"title":"Software process anti-patterns catalogue","authors":"Přemek Brada, P. Pícha","doi":"10.1145/3361149.3361178","DOIUrl":"https://doi.org/10.1145/3361149.3361178","url":null,"abstract":"For software project managers and other practitioners, an important activity is to detect, and consequently find solutions to, insufficiencies and mistakes in process and other project management (PM) activities. Particularly interesting among these are anti-patterns: commonly occurring solutions with known negative effects. Their detection in running, as well as finished, projects is often hard as it needs to be performed by specialists, demands expertise and skill, and is prone to biases. Obtaining the expertise is a long-time effort and the sources of relevant knowledge are scattered and vary in the depth of treatment. These issues could be alleviated by detecting PM and software process anti-patterns in data available in project Application Life-cycle Management tools. To facilitate the work towards such an approach, we have performed a review of academic, professional and grey literature sources to collect currently known and defined software PM anti-patterns. The collected set shows that they vary in terminology and description format which can lead to misunderstandings, different interpretations and other difficulties, especially when trying to devise a universally acceptable method of detection. In this paper we describe the findings of the review and the design of a catalogue of PM and process anti-patterns, based on the knowledge obtained. It uses a description template designed to support data-driven detection of anti-pattern occurrence. An initial version of the catalogue has been made publicly accessible, with the aim to reconcile the various sources and foster community discussion on understanding and descriptions of the individual anti-patterns.","PeriodicalId":294665,"journal":{"name":"Proceedings of the 24th European Conference on Pattern Languages of Programs","volume":"175 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121209433","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}
引用次数: 5
Documenting recurring concerns and patterns in large-scale agile development 记录大规模敏捷开发中反复出现的关注点和模式
Proceedings of the 24th European Conference on Pattern Languages of Programs Pub Date : 2019-07-03 DOI: 10.1145/3361149.3361176
Ömer Uludağ, Nina-Mareike Harders, F. Matthes
{"title":"Documenting recurring concerns and patterns in large-scale agile development","authors":"Ömer Uludağ, Nina-Mareike Harders, F. Matthes","doi":"10.1145/3361149.3361176","DOIUrl":"https://doi.org/10.1145/3361149.3361176","url":null,"abstract":"The introduction of agile methods at scale entails unique concerns such as inter-team coordination, dependencies to other organizational units, or distribution of work without a defined architecture. Compared to the rich body of agile software development literature describing typical challenges and best practices, recurring concerns and patterns in large-scale agile development are not yet documented extensively. We aim to fill this gap by presenting a pattern language for large-scale agile software development as part of our larger research initiative in close collaboration with 10 companies. The structure and practical relevance of the proposed language were evaluated by 14 interviews. In this paper, we showcase our pattern language by presenting four patterns.","PeriodicalId":294665,"journal":{"name":"Proceedings of the 24th European Conference on Pattern Languages of Programs","volume":"258 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115872447","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}
引用次数: 11
Managing security risks: template-based specification of controls 管理安全风险:基于模板的控制规范
Proceedings of the 24th European Conference on Pattern Languages of Programs Pub Date : 2019-07-03 DOI: 10.1145/3361149.3361159
Roman Wirtz, M. Heisel
{"title":"Managing security risks: template-based specification of controls","authors":"Roman Wirtz, M. Heisel","doi":"10.1145/3361149.3361159","DOIUrl":"https://doi.org/10.1145/3361149.3361159","url":null,"abstract":"Threats that harm the security of software become more and more frequent. Such incidents can lead to substantial damage, not only financially, but also in terms of reputation loss. The combination of that consequence and the likelihood of an incident is called risk. Risk management processes describe coordinated activities to identify, evaluate and treat those risks. To reduce costs, it is necessary to concentrate on the most severe risks and to address those risks as early as possible by following the principle of security-by-design. In this paper, we introduce a template that enables security analysts to specify controls to treat risks in a systematic manner. Instances of the template make knowledge about controls reusable in future development projects. We designed our template for an application during requirements engineering. Our aim is to bridge the gap between functional requirements engineering and security. To do so, we consider controls as early aspects and relate them to relevant functional requirements and threats which can be treated by the control. Our template makes explicit how those aspects can be integrated into a requirements model by using a problem-based approach. To simplify the evaluation of controls, we adapt the concept of the Common Vulnerability Scoring System. The defined attributes will later allow a semi-automatic suggestion and evaluation of suitable controls.","PeriodicalId":294665,"journal":{"name":"Proceedings of the 24th European Conference on Pattern Languages of Programs","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131967061","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
Patterns for returning error information in C C语言中返回错误信息的模式
Proceedings of the 24th European Conference on Pattern Languages of Programs Pub Date : 2019-07-03 DOI: 10.1145/3361149.3361152
C. Preschern
{"title":"Patterns for returning error information in C","authors":"C. Preschern","doi":"10.1145/3361149.3361152","DOIUrl":"https://doi.org/10.1145/3361149.3361152","url":null,"abstract":"Error handling is part of any industrial strength code. In programming languages like C, which have no support for enhanced error handling mechanisms like exceptions, error handling is a non-trivial task and many decisions on how to implement it have to be made. This paper documents best practices for these decisions as well as their benefits and liabilities in form of design patterns on the topic of how to return error information in the C programming language.","PeriodicalId":294665,"journal":{"name":"Proceedings of the 24th European Conference on Pattern Languages of Programs","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130497069","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
C patterns on data lifetime and ownership 关于数据生命周期和所有权的C模式
Proceedings of the 24th European Conference on Pattern Languages of Programs Pub Date : 2019-07-03 DOI: 10.1145/3361149.3361187
C. Preschern
{"title":"C patterns on data lifetime and ownership","authors":"C. Preschern","doi":"10.1145/3361149.3361187","DOIUrl":"https://doi.org/10.1145/3361149.3361187","url":null,"abstract":"Design patterns are well known for object-oriented languages. However, when it comes to procedural programming languages, like for example C, then most of the knowledge documented in form of design patterns cannot be used, because these patterns focus on object-oriented languages and in C you do not have mechanisms like a constructor, a destructor, inheritance, or public and private variables in form of memory dedicated to an object. Despite of that, also C programmers group their functionality into object-like elements which have their own dedicated memory and in C the programmers then have to put special attention on the lifetime and ownership of these object-like elements. This paper shows in form of patterns how C programmers can do that. The pattern Stateless Software-Module describes, how related functions, which don't share any information between the function calls, can be put together. Software-Module with Global State describes, how related functions can be put together as soon as they share information. Caller-Owned Instance describes how multiple object-like elements can be created and distributed to different callers. Shared Instance describes how the same can be achieved with additionally making it possible to share object-like elements between callers. The four presented patterns are throughout the paper applied to a running code example, to give hands-on advice on how C programmers can apply these patterns.","PeriodicalId":294665,"journal":{"name":"Proceedings of the 24th European Conference on Pattern Languages of Programs","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115877922","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 innovation: 6 patterns for idea implementation 创新模式:实现创意的6种模式
Proceedings of the 24th European Conference on Pattern Languages of Programs Pub Date : 2019-07-03 DOI: 10.1145/3361149.3361156
Christian Kohls
{"title":"Patterns for innovation: 6 patterns for idea implementation","authors":"Christian Kohls","doi":"10.1145/3361149.3361156","DOIUrl":"https://doi.org/10.1145/3361149.3361156","url":null,"abstract":"Creative thinking is a key skill in more and more domains. Creativity is required to innovate, develop new ideas, get deeper insights, address challenges and resolve conflicts. In this context, we understand creativity as the process of creating and developing new and original ideas as one step in the innovation process. The patterns in this paper are about implementing ideas. They are part of a larger language for innovation and idea generation. After finding good ideas and selecting the bests, one has to find strategies to actually implement ideas.","PeriodicalId":294665,"journal":{"name":"Proceedings of the 24th European Conference on Pattern Languages of Programs","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115276714","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}
引用次数: 4
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学术文献互助群
群 号:604180095
Book学术官方微信
小红书