首页 > 最新文献

Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems最新文献

英文 中文
DISCOPAR: a visual reactive programming language for generating cloud-based participatory sensing platforms DISCOPAR:用于生成基于云的参与式感知平台的视觉反应性编程语言
Jesse Zaman, Kennedy Kambona, W. Meuter
Participatory sensing (PS) platforms enable stakeholders to collect, analyse and visualise data for a particular interest. Despite high societal demand, developing a new PS platform remains a labour-intensive, nonreusable process that requires high technical expertise. We present DISCOPAR, a visual reactive flow-based domain-specific language geared towards the construction of reusable citizen observatories. With DISCOPAR, users interact with visual components to implement the various elements of a PS platforms without having to worry about its underlying technological complexities. We validate our approach through experiments using real-world empirical usability studies of ICT-agnostic users. The results show that DISCOPAR allows users with limited technological knowledge to create their own PS platform.
参与式感知(PS)平台使利益相关者能够收集、分析和可视化特定利益的数据。尽管社会需求很高,但开发一个新的PS平台仍然是一个劳动密集型的、不可重用的过程,需要很高的技术专长。我们提出了DISCOPAR,一种基于可视化反应流的特定领域语言,旨在构建可重复使用的公民天文台。使用DISCOPAR,用户可以与可视化组件进行交互,以实现PS平台的各种元素,而不必担心其底层技术的复杂性。我们通过使用与信息通信技术无关的用户的现实世界经验可用性研究的实验来验证我们的方法。结果表明,DISCOPAR允许技术知识有限的用户创建自己的PS平台。
{"title":"DISCOPAR: a visual reactive programming language for generating cloud-based participatory sensing platforms","authors":"Jesse Zaman, Kennedy Kambona, W. Meuter","doi":"10.1145/3281278.3281285","DOIUrl":"https://doi.org/10.1145/3281278.3281285","url":null,"abstract":"Participatory sensing (PS) platforms enable stakeholders to collect, analyse and visualise data for a particular interest. Despite high societal demand, developing a new PS platform remains a labour-intensive, nonreusable process that requires high technical expertise. We present DISCOPAR, a visual reactive flow-based domain-specific language geared towards the construction of reusable citizen observatories. With DISCOPAR, users interact with visual components to implement the various elements of a PS platforms without having to worry about its underlying technological complexities. We validate our approach through experiments using real-world empirical usability studies of ICT-agnostic users. The results show that DISCOPAR allows users with limited technological knowledge to create their own PS platform.","PeriodicalId":430762,"journal":{"name":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122730410","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
Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems 第五届ACM SIGPLAN响应式和基于事件的语言和系统国际研讨会论文集
{"title":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","authors":"","doi":"10.1145/3281278","DOIUrl":"https://doi.org/10.1145/3281278","url":null,"abstract":"","PeriodicalId":430762,"journal":{"name":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131118997","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
RHEA: a reactive, heterogeneous, extensible, and abstract framework for dataflow programming RHEA:用于数据流编程的响应式、异构、可扩展和抽象框架
Orestis Melkonian, A. Charalambidis
Robotics and IoT applications are perfect candidates that can benefit from the functional reactive programming paradigm. Moreover, since a typical program can be represented as a dataflow graph, the application can be conceptually separated and distributed in different machines and the several graph partitions can run in parallel and possibly in different execution stacks. In this paper we propose a general-purpose reactive framework that can express complex applications, seamlessly and transparently integrating different sources and middlewares. The framework is abstract and extensible, making it easy to integrate with well-established technologies that rely on the PubSub model. We demonstrate the usability of the framework by providing application examples in the domain of robotics and IoT.
机器人和物联网应用是可以从函数式响应式编程范式中受益的完美候选人。此外,由于典型的程序可以表示为数据流图,因此应用程序可以在概念上分离并分布在不同的机器中,并且几个图分区可以并行运行,并且可能在不同的执行堆栈中运行。在本文中,我们提出了一个通用的响应式框架,它可以表达复杂的应用程序,无缝地、透明地集成不同的源和中间件。该框架是抽象的和可扩展的,使得它很容易与依赖于PubSub模型的成熟技术集成。我们通过提供机器人和物联网领域的应用示例来演示该框架的可用性。
{"title":"RHEA: a reactive, heterogeneous, extensible, and abstract framework for dataflow programming","authors":"Orestis Melkonian, A. Charalambidis","doi":"10.1145/3281278.3281279","DOIUrl":"https://doi.org/10.1145/3281278.3281279","url":null,"abstract":"Robotics and IoT applications are perfect candidates that can benefit from the functional reactive programming paradigm. Moreover, since a typical program can be represented as a dataflow graph, the application can be conceptually separated and distributed in different machines and the several graph partitions can run in parallel and possibly in different execution stacks. In this paper we propose a general-purpose reactive framework that can express complex applications, seamlessly and transparently integrating different sources and middlewares. The framework is abstract and extensible, making it easy to integrate with well-established technologies that rely on the PubSub model. We demonstrate the usability of the framework by providing application examples in the domain of robotics and IoT.","PeriodicalId":430762,"journal":{"name":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128099138","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
Composable higher-order reactors as the basis for a live reactive programming environment 可组合的高阶反应器作为实时响应式编程环境的基础
Bjarno Oeyen, Humberto Rodríguez-Avila, Sam Van den Vonder, W. Meuter
A live programming environment allows programmers to edit programs while they are running. This means that successive "edit steps" must not allow a programmer to bring the program in a form that does not make any sense to the underlying language processor (i.e., parser, compiler,...). Many live programming environments therefore rely on disciplined edit steps that are based on language elements such as objects, classes, and methods. Textual modifications to these elements are not seen as edit steps until some "accept" button is hit. Unfortunately, no such elements exist in current reactive languages. We present a new reactive language, called Haai, that is based on first-class higher-order reactors. Linguistically, Haai programs correspond to reactors or compositions of reactors. At run-time, reactors produce an infinite stream of values just like signals and behaviours in existing languages. Haai's live programming environment relies on textual modifications of entire reactors as its basic edit steps. Changing a reactor automatically updates all occurrences of that reactor in the reactive program, while it is running.
实时编程环境允许程序员在程序运行时编辑程序。这意味着连续的“编辑步骤”必须不允许程序员以一种对底层语言处理器(即解析器、编译器等)没有任何意义的形式编写程序。因此,许多实时编程环境依赖于基于语言元素(如对象、类和方法)的规则编辑步骤。在点击“接受”按钮之前,对这些元素的文本修改不会被视为编辑步骤。不幸的是,在当前的响应式语言中不存在这样的元素。我们提出了一种新的反应语言,称为Haai,它基于一级高阶反应堆。在语言上,Haai程序对应于反应器或反应器的组成。在运行时,反应器产生无限的值流,就像现有语言中的信号和行为一样。Haai的实时编程环境依赖于整个反应堆的文本修改作为其基本编辑步骤。当反应炉运行时,改变反应炉会自动更新反应炉中发生的所有事件。
{"title":"Composable higher-order reactors as the basis for a live reactive programming environment","authors":"Bjarno Oeyen, Humberto Rodríguez-Avila, Sam Van den Vonder, W. Meuter","doi":"10.1145/3281278.3281284","DOIUrl":"https://doi.org/10.1145/3281278.3281284","url":null,"abstract":"A live programming environment allows programmers to edit programs while they are running. This means that successive \"edit steps\" must not allow a programmer to bring the program in a form that does not make any sense to the underlying language processor (i.e., parser, compiler,...). Many live programming environments therefore rely on disciplined edit steps that are based on language elements such as objects, classes, and methods. Textual modifications to these elements are not seen as edit steps until some \"accept\" button is hit. Unfortunately, no such elements exist in current reactive languages. We present a new reactive language, called Haai, that is based on first-class higher-order reactors. Linguistically, Haai programs correspond to reactors or compositions of reactors. At run-time, reactors produce an infinite stream of values just like signals and behaviours in existing languages. Haai's live programming environment relies on textual modifications of entire reactors as its basic edit steps. Changing a reactor automatically updates all occurrences of that reactor in the reactive program, while it is running.","PeriodicalId":430762,"journal":{"name":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114151820","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}
引用次数: 6
Skitter: a DSL for distributed reactive workflows Skitter:用于分布式响应式工作流的DSL
Mathijs Saey, Joeri De Koster, W. Meuter
Writing real-time applications that react to vast amounts of incoming data is a hard problem, as the volume of incoming data implies the need for distributed execution on a cluster architecture. We envision such an application can be created as a data processing pipeline which consists of a set of generic, reactive components, which may be reused in other applications. However, there is currently no programming model or framework that enables the reactive, scalable execution of such a pipeline on a cluster architecture. Our work introduces the notion of reactive workflows, a technique that combines concepts from scientific workflows and reactive programming. Reactive workflows enable the integration of these generic components into a single workflow that can be executed on a cluster architecture in a reactive, scalable way. To deploy these reactive workflows, we introduce a domain specific language, called Skitter. Skitter enables developers to write reactive components and compose these into reactive workflows, which can be distributed over a cluster by Skitter’s runtime system.
编写对大量传入数据作出反应的实时应用程序是一个难题,因为传入数据的数量意味着需要在集群架构上进行分布式执行。我们设想这样一个应用程序可以被创建为一个数据处理管道,它由一组通用的、反应性的组件组成,这些组件可以在其他应用程序中重用。然而,目前还没有编程模型或框架支持在集群架构上响应式地、可伸缩地执行这种管道。我们的工作介绍了响应式工作流的概念,这是一种结合了科学工作流和响应式编程概念的技术。响应式工作流支持将这些通用组件集成到单个工作流中,该工作流可以以响应式、可扩展的方式在集群架构上执行。为了部署这些响应式工作流,我们引入了一种领域特定的语言,称为Skitter。Skitter允许开发人员编写响应式组件,并将这些组件组合成响应式工作流,这些工作流可以通过Skitter的运行时系统分布在集群上。
{"title":"Skitter: a DSL for distributed reactive workflows","authors":"Mathijs Saey, Joeri De Koster, W. Meuter","doi":"10.1145/3281278.3281281","DOIUrl":"https://doi.org/10.1145/3281278.3281281","url":null,"abstract":"Writing real-time applications that react to vast amounts of incoming data is a hard problem, as the volume of incoming data implies the need for distributed execution on a cluster architecture. We envision such an application can be created as a data processing pipeline which consists of a set of generic, reactive components, which may be reused in other applications. However, there is currently no programming model or framework that enables the reactive, scalable execution of such a pipeline on a cluster architecture. Our work introduces the notion of reactive workflows, a technique that combines concepts from scientific workflows and reactive programming. Reactive workflows enable the integration of these generic components into a single workflow that can be executed on a cluster architecture in a reactive, scalable way. To deploy these reactive workflows, we introduce a domain specific language, called Skitter. Skitter enables developers to write reactive components and compose these into reactive workflows, which can be distributed over a cluster by Skitter’s runtime system.","PeriodicalId":430762,"journal":{"name":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133111972","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
Reactive chatbot programming 响应式聊天机器人编程
Guillaume Baudart, Martin Hirzel, Louis Mandel, Avraham Shinnar, Jérôme Siméon
Chatbots are reactive applications with a conversational interface. They are usually implemented as compositions of client-side components and cloud-hosted services, including artificial-intelligence technology. Unfortunately, programming such reactive multi-tier applications with traditional programming languages is cumbersome. This paper introduces wcs-ocaml, a new multi-tier chatbot generator library designed for use with the reactive language ReactiveML. The paper explains our library with small didactic examples throughout, and closes with a larger case-study of a chatbot for authoring event-processing rules.
聊天机器人是具有会话接口的响应式应用程序。它们通常作为客户端组件和云托管服务(包括人工智能技术)的组合来实现。不幸的是,使用传统编程语言编写这种响应式多层应用程序非常麻烦。本文介绍了wcs-ocaml,一个新的多层聊天机器人生成器库,设计用于响应式语言ReactiveML。这篇论文用一个小的说教性示例解释了我们的库,并以一个用于编写事件处理规则的聊天机器人的更大的案例研究结束。
{"title":"Reactive chatbot programming","authors":"Guillaume Baudart, Martin Hirzel, Louis Mandel, Avraham Shinnar, Jérôme Siméon","doi":"10.1145/3281278.3281282","DOIUrl":"https://doi.org/10.1145/3281278.3281282","url":null,"abstract":"Chatbots are reactive applications with a conversational interface. They are usually implemented as compositions of client-side components and cloud-hosted services, including artificial-intelligence technology. Unfortunately, programming such reactive multi-tier applications with traditional programming languages is cumbersome. This paper introduces wcs-ocaml, a new multi-tier chatbot generator library designed for use with the reactive language ReactiveML. The paper explains our library with small didactic examples throughout, and closes with a larger case-study of a chatbot for authoring event-processing rules.","PeriodicalId":430762,"journal":{"name":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114978230","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
A reactive language for analyzing cloud logs 用于分析云日志的响应式语言
Guillaume Baudart, Louis Mandel, O. Tardieu, M. Vaziri
Log analysis is required in many domains, and especially in the emerging field of cloud computing. Cloud applications are often built by composing diverse services. When something goes wrong, finding the root cause of the problem can be difficult. Many services are only reachable through their Application Programming Interfaces (APIs) with no possibility for live introspection. In this context, logs become an essential tool for monitoring and debugging. Cloud services typically generate very large quantities of log messages, with formats that may not be well specified and may vary over time. In this paper, we present CloudLens, a language for the analysis of semi-structured textual data as found in logs, and specify its formal semantics. CloudLens is a reactive language and views logs as streams of objects. Our objective is to facilitate exploring the contents of logs interactively and to write reusable analyses succinctly, using familiar constructs. We implemented an interpreter for the Apache Zeppelin notebook to provide an interactive IDE. Our prototype implementation is open source and we report on a detailed case study using logs from the Apache OpenWhisk project.
日志分析在许多领域都是必需的,尤其是在云计算这个新兴领域。云应用程序通常是通过组合各种服务来构建的。当出现问题时,找到问题的根本原因可能很困难。许多服务只能通过它们的应用程序编程接口(Application Programming interface, api)访问,不可能进行实时自省。在这种情况下,日志成为监视和调试的重要工具。云服务通常生成非常大量的日志消息,其格式可能没有很好地指定,并且可能随着时间的推移而变化。在本文中,我们提出了CloudLens,一种用于分析日志中发现的半结构化文本数据的语言,并指定了其形式语义。CloudLens是一种响应式语言,它将日志视为对象流。我们的目标是促进交互式地探索日志内容,并使用熟悉的结构简洁地编写可重用的分析。我们为Apache Zeppelin笔记本实现了一个解释器,以提供一个交互式IDE。我们的原型实现是开源的,我们使用Apache OpenWhisk项目的日志报告了一个详细的案例研究。
{"title":"A reactive language for analyzing cloud logs","authors":"Guillaume Baudart, Louis Mandel, O. Tardieu, M. Vaziri","doi":"10.1145/3281278.3281280","DOIUrl":"https://doi.org/10.1145/3281278.3281280","url":null,"abstract":"Log analysis is required in many domains, and especially in the emerging field of cloud computing. Cloud applications are often built by composing diverse services. When something goes wrong, finding the root cause of the problem can be difficult. Many services are only reachable through their Application Programming Interfaces (APIs) with no possibility for live introspection. In this context, logs become an essential tool for monitoring and debugging. Cloud services typically generate very large quantities of log messages, with formats that may not be well specified and may vary over time. In this paper, we present CloudLens, a language for the analysis of semi-structured textual data as found in logs, and specify its formal semantics. CloudLens is a reactive language and views logs as streams of objects. Our objective is to facilitate exploring the contents of logs interactively and to write reusable analyses succinctly, using familiar constructs. We implemented an interpreter for the Apache Zeppelin notebook to provide an interactive IDE. Our prototype implementation is open source and we report on a detailed case study using logs from the Apache OpenWhisk project.","PeriodicalId":430762,"journal":{"name":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","volume":"637 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116476765","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
Synthesizing manually verifiable code for statecharts 为状态图合成人工验证的代码
Steven Smyth, Christian Motika, R. V. Hanxleden
Statecharts are an established mechanism to model reactive, state-oriented behavior of embedded systems. We here present an approach to automatically generate code from statecharts, with a particular focus on readability and ease of matching the generated code with the original model. This not only saves programming effort and reduces the error rate compared to manual coding, but it also facilitates the task of verifying that the code does what it is supposed to do. We have implemented this approach for the SCCharts language in an open-source framework. A user study confirmed that the generated code tends to be more readable than code from other code generators.
状态图是一种建立的机制,用于模拟嵌入式系统的响应性、面向状态的行为。我们在这里介绍一种从状态图自动生成代码的方法,特别关注可读性和将生成的代码与原始模型匹配的便利性。与手工编码相比,这不仅节省了编程工作并降低了错误率,而且还简化了验证代码是否执行预期任务的任务。我们已经在一个开源框架中为SCCharts语言实现了这种方法。一项用户研究证实,生成的代码往往比其他代码生成器生成的代码更具可读性。
{"title":"Synthesizing manually verifiable code for statecharts","authors":"Steven Smyth, Christian Motika, R. V. Hanxleden","doi":"10.1145/3281278.3281283","DOIUrl":"https://doi.org/10.1145/3281278.3281283","url":null,"abstract":"Statecharts are an established mechanism to model reactive, state-oriented behavior of embedded systems. We here present an approach to automatically generate code from statecharts, with a particular focus on readability and ease of matching the generated code with the original model. This not only saves programming effort and reduces the error rate compared to manual coding, but it also facilitates the task of verifying that the code does what it is supposed to do. We have implemented this approach for the SCCharts language in an open-source framework. A user study confirmed that the generated code tends to be more readable than code from other code generators.","PeriodicalId":430762,"journal":{"name":"Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133172711","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
期刊
Proceedings of the 5th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems
全部 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