首页 > 最新文献

OOPSLA/ECOOP '90最新文献

英文 中文
Mixin-based inheritance 基于mixin的继承
Pub Date : 1990-09-01 DOI: 10.1145/97945.97982
Gilad Bracha, W. Cook
The diverse inheritance mechanisms provided by Smalltalk, Beta, and CLOS are interpreted as different uses of a single underlying construct. Smalltalk and Beta differ primarily in the direction of class hierarchy growth. These inheritance mechanisms are subsumed in a new inheritance model based on composition of mixins, or abstract subclasses. This form of inheritance can also encode a CLOS multiple-inheritance hierarchy, although changes to the encoded hierarchy that would violate encapsulation are difficult. Practical application of mixin-based inheritance is illustrated in a sketch of an extension to Modula-3.
Smalltalk、Beta和CLOS提供的各种继承机制被解释为单个底层结构的不同用法。Smalltalk和Beta的主要区别在于类层次结构的发展方向。这些继承机制被包含在一个基于mixin组合或抽象子类的新继承模型中。这种形式的继承还可以对CLOS多继承层次结构进行编码,尽管对编码的层次结构进行违反封装的更改是很困难的。基于mixin的继承的实际应用在Modula-3扩展的草图中得到了说明。
{"title":"Mixin-based inheritance","authors":"Gilad Bracha, W. Cook","doi":"10.1145/97945.97982","DOIUrl":"https://doi.org/10.1145/97945.97982","url":null,"abstract":"The diverse inheritance mechanisms provided by Smalltalk, Beta, and CLOS are interpreted as different uses of a single underlying construct. Smalltalk and Beta differ primarily in the direction of class hierarchy growth. These inheritance mechanisms are subsumed in a new inheritance model based on composition of mixins, or abstract subclasses. This form of inheritance can also encode a CLOS multiple-inheritance hierarchy, although changes to the encoded hierarchy that would violate encapsulation are difficult. Practical application of mixin-based inheritance is illustrated in a sketch of an extension to Modula-3.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"425 1-2","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120929948","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}
引用次数: 972
A framework for visualizing object-oriented systems 用于可视化面向对象系统的框架
Pub Date : 1990-09-01 DOI: 10.1145/97945.97974
V. Haarslev, Ralf Möller
This paper describes a new approach to visualizing program systems within the object-oriented paradigm. This approach is based on a TEX-like notation which has been extended and generalized for specifying graphical layout of arbitrary objects. The CLOS meta-level architecture is used to associate visualization and application objects. We propose several useful techniques such as indirect values, slot and method demons, and instance-specific meta-objects. Our techniques require no modifications to the systems which are selected for visualization. We demonstrate the feasibility of our approach using application domains such as CLOS debugging and constraint systems.
本文描述了在面向对象范式中可视化程序系统的一种新方法。这种方法基于一种类似tex的表示法,这种表示法已被扩展和推广,用于指定任意对象的图形布局。CLOS元级体系结构用于关联可视化和应用程序对象。我们提出了几种有用的技术,如间接值、槽和方法恶魔以及特定于实例的元对象。我们的技术不需要对所选择的可视化系统进行修改。我们使用CLOS调试和约束系统等应用程序域演示了我们的方法的可行性。
{"title":"A framework for visualizing object-oriented systems","authors":"V. Haarslev, Ralf Möller","doi":"10.1145/97945.97974","DOIUrl":"https://doi.org/10.1145/97945.97974","url":null,"abstract":"This paper describes a new approach to visualizing program systems within the object-oriented paradigm. This approach is based on a TEX-like notation which has been extended and generalized for specifying graphical layout of arbitrary objects. The CLOS meta-level architecture is used to associate visualization and application objects. We propose several useful techniques such as indirect values, slot and method demons, and instance-specific meta-objects. Our techniques require no modifications to the systems which are selected for visualization. We demonstrate the feasibility of our approach using application domains such as CLOS debugging and constraint systems.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116915978","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}
引用次数: 25
COOL: kernel support for object-oriented environments COOL:对面向对象环境的内核支持
Pub Date : 1990-09-01 DOI: 10.1145/97945.97978
S. Habert, V. Abrossimov
The Chorus Object-Oriented Layer (COOL) is an extension of the facilities provided by the Chorus distributed operating system with additional functionality for the support of object-oriented environments. This functionality is realized by a layer built on top of the Chorus V3 Nucleus, which extends the Chorus interface with generic functions for object management: creation, deletion, storage, remote invocation and migration. One major goal of this approach was to explore the feasibility of general object management at the kernel level, with support of multiple object models at a higher level. We present the implementation of COOL and a first evaluation of this approach with a C++ environment using the COOL mechanisms.
Chorus面向对象层(COOL)是Chorus分布式操作系统提供的功能的扩展,具有支持面向对象环境的附加功能。该功能是通过建立在Chorus V3 Nucleus之上的一层来实现的,该层扩展了Chorus接口,具有对象管理的通用功能:创建、删除、存储、远程调用和迁移。该方法的一个主要目标是探索在内核级别进行通用对象管理的可行性,并在更高级别上支持多个对象模型。我们介绍了COOL的实现,并在使用COOL机制的c++环境中对该方法进行了首次评估。
{"title":"COOL: kernel support for object-oriented environments","authors":"S. Habert, V. Abrossimov","doi":"10.1145/97945.97978","DOIUrl":"https://doi.org/10.1145/97945.97978","url":null,"abstract":"The Chorus Object-Oriented Layer (COOL) is an extension of the facilities provided by the Chorus distributed operating system with additional functionality for the support of object-oriented environments. This functionality is realized by a layer built on top of the Chorus V3 Nucleus, which extends the Chorus interface with generic functions for object management: creation, deletion, storage, remote invocation and migration. One major goal of this approach was to explore the feasibility of general object management at the kernel level, with support of multiple object models at a higher level. We present the implementation of COOL and a first evaluation of this approach with a C++ environment using the COOL mechanisms.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131706112","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}
引用次数: 82
LO and behold! Concurrent structured processes 瞧!并发结构化进程
Pub Date : 1990-09-01 DOI: 10.1145/97945.97953
J. Andreoli, R. Pareschi
We introduce a novel concurrent logic programming language, which we call LO, based on an extension of Horn logic. This language enhances the process view of objects implementable in Horn-based concurrent logic programming languages with powerful capabilities for knowledge structuring, leading to a flexible form of variable-structure inheritance. The main novelty about LO is a new kind of OR-concurrency which is dual to the usual AND-concurrency and provides us with the notion of structured process. Such OR-concurrency can be nicely characterized with a sociological metaphor as modelling the internal distribution of tasks inside a complex organization; this complements the external cooperation among different entities accounted for by AND-concurrency.
基于霍恩逻辑的扩展,我们提出了一种新的并发逻辑编程语言,我们称之为LO。该语言增强了基于horn并发逻辑编程语言可实现的对象过程视图,具有强大的知识结构化能力,从而实现了灵活的变结构继承形式。LO的主要新颖之处在于一种新的or并发,它与通常的and并发相对应,并为我们提供了结构化过程的概念。这种or -并发性可以很好地用社会学的比喻来描述,即对复杂组织内部任务的内部分布进行建模;这补充了由and并发所占的不同实体之间的外部合作。
{"title":"LO and behold! Concurrent structured processes","authors":"J. Andreoli, R. Pareschi","doi":"10.1145/97945.97953","DOIUrl":"https://doi.org/10.1145/97945.97953","url":null,"abstract":"We introduce a novel concurrent logic programming language, which we call LO, based on an extension of Horn logic. This language enhances the process view of objects implementable in Horn-based concurrent logic programming languages with powerful capabilities for knowledge structuring, leading to a flexible form of variable-structure inheritance. The main novelty about LO is a new kind of OR-concurrency which is dual to the usual AND-concurrency and provides us with the notion of structured process. Such OR-concurrency can be nicely characterized with a sociological metaphor as modelling the internal distribution of tasks inside a complex organization; this complements the external cooperation among different entities accounted for by AND-concurrency.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123163959","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}
引用次数: 51
The point of view notion for multiple inheritance 多重继承的视图概念
Pub Date : 1990-09-01 DOI: 10.1145/97945.97983
B. Carré, J. Geib
We examine several problems related to the preservation of the Independence Principle inheritance. This principle states that all the characteristics of independent superclasses must be inherited by subclasses, even if there are name conflicts. In this context, a conventional approach is to use explicit class selection. We show that this mechanism suffers from serious limitations, and leads to inhibition of refinement and genericity. Our experimental object-oriented language ROME introduces the “Point of View” notion (using an “as-expressions” mechanism) which solves these problems.
我们研究了与独立原则继承的保存有关的几个问题。该原则指出,独立超类的所有特征都必须由子类继承,即使存在名称冲突。在这种情况下,传统的方法是使用显式类选择。我们发现这种机制受到严重的限制,并导致抑制精细化和泛型。我们的实验性面向对象语言ROME引入了“Point”概念(使用“as-expressions”机制)来解决这些问题。
{"title":"The point of view notion for multiple inheritance","authors":"B. Carré, J. Geib","doi":"10.1145/97945.97983","DOIUrl":"https://doi.org/10.1145/97945.97983","url":null,"abstract":"We examine several problems related to the preservation of the Independence Principle inheritance. This principle states that all the characteristics of independent superclasses must be inherited by subclasses, even if there are name conflicts. In this context, a conventional approach is to use explicit class selection. We show that this mechanism suffers from serious limitations, and leads to inhibition of refinement and genericity. Our experimental object-oriented language ROME introduces the “Point of View” notion (using an “as-expressions” mechanism) which solves these problems.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121204071","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}
引用次数: 106
An iterative-design model for reusable object-oriented software 可重用的面向对象软件的迭代设计模型
Pub Date : 1990-09-01 DOI: 10.1145/97945.97949
S. Gossain, B. Anderson
We present an iterative-design approach for reusable object-oriented software that augments existing design methods by incorporating iteration into the design methodology and focuses on the set of problems within the domain, encouraging reuse of existing design information. The model has five separate stages which are described, before an example design is outlined using the model with sample code constructs in C++. Our results have shown a high degree of code reuse when using the model, directly attributable to two distinct design stages. An analysis of these results is also presented.
我们提出了一种可重用的面向对象软件的迭代设计方法,通过将迭代纳入设计方法来增强现有的设计方法,并关注领域内的问题集,鼓励现有设计信息的重用。该模型有五个独立的阶段,在使用c++中的示例代码构造模型来概述示例设计之前进行了描述。我们的结果表明,当使用模型时,代码重用的程度很高,这直接归因于两个不同的设计阶段。本文还对这些结果进行了分析。
{"title":"An iterative-design model for reusable object-oriented software","authors":"S. Gossain, B. Anderson","doi":"10.1145/97945.97949","DOIUrl":"https://doi.org/10.1145/97945.97949","url":null,"abstract":"We present an iterative-design approach for reusable object-oriented software that augments existing design methods by incorporating iteration into the design methodology and focuses on the set of problems within the domain, encouraging reuse of existing design information. The model has five separate stages which are described, before an example design is outlined using the model with sample code constructs in C++. Our results have shown a high degree of code reuse when using the model, directly attributable to two distinct design stages. An analysis of these results is also presented.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"79 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124600013","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}
引用次数: 34
Beyond schema evolution to database reorganization 从模式演化到数据库重组
Pub Date : 1990-09-01 DOI: 10.1145/97945.97956
Barbara Staudt
While the contents of databases can be easily changed, their organization is typically extremely rigid. Some databases relax the rigidity of database organization somewhat by supporting simple changes to individual schemas. As described in this paper, OTGen supports not only more complex schema changes, but also database reorganization. A database administrator uses a declarative notation to describe mappings between objects created with old versions of schemas and their corresponding representations using new versions. OTGen generates a transformer that applies the mappings to update the database to the new definitions, thus facilitating improvements in performance, functionality, and usability of the database.1
虽然数据库的内容可以很容易地更改,但它们的组织通常是非常严格的。一些数据库通过支持对单个模式的简单更改,在一定程度上放松了数据库组织的刚性。如本文所述,OTGen不仅支持更复杂的模式更改,还支持数据库重组。数据库管理员使用声明性符号来描述使用旧版本模式创建的对象与使用新版本模式的对应表示之间的映射。OTGen生成一个转换器,该转换器应用映射将数据库更新为新的定义,从而促进了数据库的性能、功能和可用性的改进
{"title":"Beyond schema evolution to database reorganization","authors":"Barbara Staudt","doi":"10.1145/97945.97956","DOIUrl":"https://doi.org/10.1145/97945.97956","url":null,"abstract":"While the contents of databases can be easily changed, their organization is typically extremely rigid. Some databases relax the rigidity of database organization somewhat by supporting simple changes to individual schemas. As described in this paper, OTGen supports not only more complex schema changes, but also database reorganization. A database administrator uses a declarative notation to describe mappings between objects created with old versions of schemas and their corresponding representations using new versions. OTGen generates a transformer that applies the mappings to update the database to the new definitions, thus facilitating improvements in performance, functionality, and usability of the database.1","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129667639","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}
引用次数: 190
Rewriting as a unified model of concurrency 作为统一的并发模型进行重写
Pub Date : 1990-08-27 DOI: 10.1145/127056.127091
J. Meseguer
The lecture given at the workshop was based on recent work published elsewhere [9, 10, 8, 7]. This abstract gives a brief description of the main results and ideas presented in that work, but does not provide any technical details; such details can be found in the papers mentioned above.
研讨会上的演讲是基于最近在其他地方发表的研究[9,10,8,7]。本摘要简要描述了该工作的主要结果和思想,但不提供任何技术细节;这些细节可以在上面提到的文件中找到。
{"title":"Rewriting as a unified model of concurrency","authors":"J. Meseguer","doi":"10.1145/127056.127091","DOIUrl":"https://doi.org/10.1145/127056.127091","url":null,"abstract":"The lecture given at the workshop was based on recent work published elsewhere [9, 10, 8, 7]. This abstract gives a brief description of the main results and ideas presented in that work, but does not provide any technical details; such details can be found in the papers mentioned above.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"354 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123318574","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}
引用次数: 174
Type substitution for object-oriented programming 面向对象编程的类型替换
Pub Date : 1990-07-01 DOI: 10.1145/97945.97965
J. Palsberg, M. I. Schwartzbach
Genericity allows the substitution of types in a class. This is usually obtained through parameterized classes, although they are inflexible since any class can be inherited but is not in itself parameterized. We suggest a new genericity mechanism, type substitution, which is a subclassing concept that complements inheritance: any class is generic, can be “instantiated” gradually without planning, and has all of its generic instances as subclasses.
泛型允许在类中替换类型。这通常是通过参数化类获得的,尽管它们是不灵活的,因为任何类都可以被继承,但其本身不是参数化的。我们建议一种新的泛型机制——类型替代,这是一种补充继承的子类化概念:任何类都是泛型的,可以在没有计划的情况下逐渐“实例化”,并将其所有的泛型实例作为子类。
{"title":"Type substitution for object-oriented programming","authors":"J. Palsberg, M. I. Schwartzbach","doi":"10.1145/97945.97965","DOIUrl":"https://doi.org/10.1145/97945.97965","url":null,"abstract":"Genericity allows the substitution of types in a class. This is usually obtained through parameterized classes, although they are inflexible since any class can be inherited but is not in itself parameterized. We suggest a new genericity mechanism, type substitution, which is a subclassing concept that complements inheritance: any class is generic, can be “instantiated” gradually without planning, and has all of its generic instances as subclasses.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123678114","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}
引用次数: 48
Strong typing of object-oriented languages revisited 重新审视面向对象语言的强类型
Pub Date : 1990-07-01 DOI: 10.1145/97945.97964
O. Madsen, B. Magnusson, B. Møller-Pedersen
This paper is concerned with the relation between subtyping and subclassing and their influence on programming language design. Traditionally subclassing as introduced by Simula has also been used for defining a hierarchical type system. The type system of a language can be characterized as strong or weak and the type checking mechanism as static or dynamic. Parameterized classes in combination with a hierarchical type-system is an example of a language construct that is known to create complicated type checking situations. In this paper these situations are analyzed and several different solutions are found. It is argued that an approach with a combination of static and dynamic type checking gives a reasonable balance also here. It is also concluded that this approach makes it possible to base the type system on the class/subclass mechanism.
本文讨论了子类型和子类化的关系以及它们对程序设计的影响。传统上,由Simula引入的子类化也被用于定义分层类型系统。语言的类型系统可以分为强或弱,类型检查机制可以分为静态或动态。与分层类型系统相结合的参数化类是一种已知会产生复杂类型检查情况的语言结构的例子。本文对这些情况进行了分析,并找到了几种不同的解决方案。有人认为,静态和动态类型检查相结合的方法在这里也提供了合理的平衡。还得出结论,这种方法使得基于类/子类机制的类型系统成为可能。
{"title":"Strong typing of object-oriented languages revisited","authors":"O. Madsen, B. Magnusson, B. Møller-Pedersen","doi":"10.1145/97945.97964","DOIUrl":"https://doi.org/10.1145/97945.97964","url":null,"abstract":"This paper is concerned with the relation between <italic>subtyping</italic> and <italic>subclassing</italic> and their influence on programming language design. Traditionally subclassing as introduced by Simula has also been used for defining a hierarchical type system. The type system of a language can be characterized as <italic>strong</italic> or <italic>weak</italic> and the type checking mechanism as <italic>static</italic> or <italic>dynamic</italic>. Parameterized classes in combination with a hierarchical type-system is an example of a language construct that is known to create complicated type checking situations. In this paper these situations are analyzed and several different solutions are found. It is argued that an approach with a combination of static and dynamic type checking gives a reasonable balance also here. It is also concluded that this approach makes it possible to base the type system on the class/subclass mechanism.","PeriodicalId":135062,"journal":{"name":"OOPSLA/ECOOP '90","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117317059","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}
引用次数: 90
期刊
OOPSLA/ECOOP '90
全部 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