首页 > 最新文献

Proceedings of the 13th ACM International Workshop on Context-Oriented Programming and Advanced Modularity最新文献

英文 中文
First-class concepts: reifying architectural knowledge beyond the dominant decomposition 一流的概念:超越主导分解的建筑知识具体化
Toni Mattis, Tom Beckmann, Patrick Rein, R. Hirschfeld
In software engineering, programs are ideally partitioned into independently maintainable and understandable modules. As a system grows, its architecture gradually loses the capability to modularly accommodate new concepts. While refactoring is expensive and the language might lack appropriate primary language constructs to express certain cross-cutting concerns, programmers are still able to explain and delineate convoluted concepts through secondary means: code comments, use of whitespace and arrangement of code, documentation, or communicating tacit knowledge. Secondary constructs are easy to change and provide high flexibility in communicating cross-cutting concerns and other concepts among programmers. However, they have no reified representation that can be explored and maintained through tools. In this exploratory work, we discuss novel ways to express a wide range of concepts, including cross-cutting concerns, patterns, and lifecycle artifacts independently of the dominant decomposition imposed by an existing architecture. Our concepts are first-class objects inside the programming environment that retain the capability to change as easily as code comments. We explore new tools that allow programmers to view and change programs from conceptual perspectives rather than scattering their attention across existing modules. Our designs are geared towards facilitating multiple secondary perspectives on a system to co-exist alongside the original architecture, hence making it easier to explore, understand, and explain complex contexts and narratives not expressible in traditional modularity constructs.
在软件工程中,程序被理想地划分为可独立维护和可理解的模块。随着系统的增长,其体系结构逐渐失去模块化适应新概念的能力。虽然重构是昂贵的,并且语言可能缺乏适当的主要语言结构来表达某些横切关注点,但程序员仍然能够通过次要手段解释和描述复杂的概念:代码注释、空白的使用和代码的排列、文档或沟通隐性知识。次要构造很容易更改,并且在程序员之间沟通横切关注点和其他概念时提供了高度的灵活性。然而,它们没有可以通过工具探索和维护的具体化表示。在这项探索性工作中,我们讨论了表达广泛概念的新方法,包括横切关注点、模式,以及独立于现有体系结构强加的主要分解的生命周期工件。我们的概念是编程环境中的一等对象,它保留了像代码注释一样容易更改的能力。我们探索允许程序员从概念角度查看和更改程序的新工具,而不是将他们的注意力分散在现有模块上。我们的设计旨在促进系统的多个次要视角与原始建筑共存,从而使探索、理解和解释传统模块化结构中无法表达的复杂背景和叙述变得更容易。
{"title":"First-class concepts: reifying architectural knowledge beyond the dominant decomposition","authors":"Toni Mattis, Tom Beckmann, Patrick Rein, R. Hirschfeld","doi":"10.1145/3464970.3468413","DOIUrl":"https://doi.org/10.1145/3464970.3468413","url":null,"abstract":"In software engineering, programs are ideally partitioned into independently maintainable and understandable modules. As a system grows, its architecture gradually loses the capability to modularly accommodate new concepts. While refactoring is expensive and the language might lack appropriate primary language constructs to express certain cross-cutting concerns, programmers are still able to explain and delineate convoluted concepts through secondary means: code comments, use of whitespace and arrangement of code, documentation, or communicating tacit knowledge. Secondary constructs are easy to change and provide high flexibility in communicating cross-cutting concerns and other concepts among programmers. However, they have no reified representation that can be explored and maintained through tools. In this exploratory work, we discuss novel ways to express a wide range of concepts, including cross-cutting concerns, patterns, and lifecycle artifacts independently of the dominant decomposition imposed by an existing architecture. Our concepts are first-class objects inside the programming environment that retain the capability to change as easily as code comments. We explore new tools that allow programmers to view and change programs from conceptual perspectives rather than scattering their attention across existing modules. Our designs are geared towards facilitating multiple secondary perspectives on a system to co-exist alongside the original architecture, hence making it easier to explore, understand, and explain complex contexts and narratives not expressible in traditional modularity constructs.","PeriodicalId":143989,"journal":{"name":"Proceedings of the 13th ACM International Workshop on Context-Oriented Programming and Advanced Modularity","volume":"582 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-07-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123171568","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
Towards a framework for analyzing context-oriented programming languages 建立一个分析面向上下文的编程语言的框架
Achiya Elyasaf, A. Sturm
Context-aware systems keep on emerging in all of our daily activities. To cope with this new situation, programming languages were extended to support the notion of context. Although context-oriented programming languages exist for over 15 years, they were tested for their suitability in developing context-aware systems only to a limited extent. In this paper, we propose a framework for analyzing context-oriented languages from that viewpoint. In this framework, we refer to context definition and activation, reasoning capabilities, process aspects of how to work with the suggested extension, and pragmatic considerations. To demonstrate the use of the framework, we applied it to a relatively new context-oriented programming paradigm, namely context-oriented behavioral programming. The proposed framework can support users of context-oriented programming languages in deciding on the most fitted language for their purpose. Developers of context-oriented programming languages can also use the framework to improve such languages and their supporting tools.
上下文感知系统不断出现在我们的日常活动中。为了应对这种新情况,编程语言被扩展为支持上下文的概念。尽管面向上下文的编程语言已经存在了超过15年,但它们在开发上下文感知系统方面的适用性仅在有限的范围内进行了测试。在本文中,我们提出了一个从这个角度分析面向上下文语言的框架。在这个框架中,我们提到上下文定义和激活、推理能力、如何使用建议扩展的流程方面,以及实用考虑。为了演示该框架的使用,我们将其应用于一个相对较新的面向上下文的编程范例,即面向上下文的行为编程。所提出的框架可以支持面向上下文编程语言的用户决定最适合其目的的语言。面向上下文编程语言的开发人员也可以使用该框架来改进这些语言及其支持工具。
{"title":"Towards a framework for analyzing context-oriented programming languages","authors":"Achiya Elyasaf, A. Sturm","doi":"10.1145/3464970.3468414","DOIUrl":"https://doi.org/10.1145/3464970.3468414","url":null,"abstract":"Context-aware systems keep on emerging in all of our daily activities. To cope with this new situation, programming languages were extended to support the notion of context. Although context-oriented programming languages exist for over 15 years, they were tested for their suitability in developing context-aware systems only to a limited extent. In this paper, we propose a framework for analyzing context-oriented languages from that viewpoint. In this framework, we refer to context definition and activation, reasoning capabilities, process aspects of how to work with the suggested extension, and pragmatic considerations. To demonstrate the use of the framework, we applied it to a relatively new context-oriented programming paradigm, namely context-oriented behavioral programming. The proposed framework can support users of context-oriented programming languages in deciding on the most fitted language for their purpose. Developers of context-oriented programming languages can also use the framework to improve such languages and their supporting tools.","PeriodicalId":143989,"journal":{"name":"Proceedings of the 13th ACM International Workshop on Context-Oriented Programming and Advanced Modularity","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-07-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122228807","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
Resolving synchronization conflicts in role-based multimodel-synchronization environments 解决基于角色的多模型同步环境中的同步冲突
S. Ebert, Tim Kluge, Sebastian Götz
The ability to collaboratively edit data in distributed environments is essential in our information-based industry. Typically users or systems concurrently access and modify data from different locations for different purposes. Each purpose might require its own representation and subset of the shared data (i.e., a model), for the editor to be productive. Consequently, a multi-model system results, which requires multi-directional synchronization. Although some approaches exist to realize such systems, none of these supports concurrent modifications. To overcome this limitation, we extend previous work on role-oriented model synchronization with a novel conflict detection and resolution approach. Role-oriented programming has been shown to be an adequate paradigm to realize multi-model systems, as it offers separation of concerns at the level of object collaborations and allows to express context-dependent behavior. We evaluate our approach using an employee data management case study and assess the introduced performance overhead.
在分布式环境中协同编辑数据的能力在我们的信息化行业中是必不可少的。通常情况下,用户或系统出于不同的目的从不同的位置并发地访问和修改数据。每个目的都可能需要它自己的表示和共享数据的子集(例如,一个模型),以使编辑器具有生产力。因此,形成了一个多模型的系统,这需要多向同步。虽然有一些方法可以实现这样的系统,但是没有一种方法支持并发修改。为了克服这一限制,我们用一种新的冲突检测和解决方法扩展了先前在面向角色的模型同步方面的工作。面向角色的编程已被证明是实现多模型系统的适当范例,因为它在对象协作级别提供了关注点分离,并允许表达与上下文相关的行为。我们使用一个员工数据管理案例研究来评估我们的方法,并评估引入的性能开销。
{"title":"Resolving synchronization conflicts in role-based multimodel-synchronization environments","authors":"S. Ebert, Tim Kluge, Sebastian Götz","doi":"10.1145/3464970.3468412","DOIUrl":"https://doi.org/10.1145/3464970.3468412","url":null,"abstract":"The ability to collaboratively edit data in distributed environments is essential in our information-based industry. Typically users or systems concurrently access and modify data from different locations for different purposes. Each purpose might require its own representation and subset of the shared data (i.e., a model), for the editor to be productive. Consequently, a multi-model system results, which requires multi-directional synchronization. Although some approaches exist to realize such systems, none of these supports concurrent modifications. To overcome this limitation, we extend previous work on role-oriented model synchronization with a novel conflict detection and resolution approach. Role-oriented programming has been shown to be an adequate paradigm to realize multi-model systems, as it offers separation of concerns at the level of object collaborations and allows to express context-dependent behavior. We evaluate our approach using an employee data management case study and assess the introduced performance overhead.","PeriodicalId":143989,"journal":{"name":"Proceedings of the 13th ACM International Workshop on Context-Oriented Programming and Advanced Modularity","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-07-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121276685","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}
引用次数: 1
期刊
Proceedings of the 13th ACM International Workshop on Context-Oriented Programming and Advanced Modularity
全部 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