Submitted to IEEE Transactions on Computers
投稿成功经验介绍

祝福+几篇论坛投稿至接收全过程小弟我是做阵列信号处理及在雷达、声纳、通信领域的应用,目前在IEEE Trans/Letters,IEE Proceedings,Elsevier Signal Processing/Digital Signal Processing,电子学报,电子与信息学报,通信学报,航空学报等期刊都有过灌水的记录。
MS我们这个领域不是很讲究IF,周围的很少谈论IF的问题,我也偷偷查过我发表文章的期刊没有IF>1的。
那些高IF大牛们别笑话小弟哈。
9月份以来又启动了新一轮灌水,在这里为自己祈祷一下,希望能再中个三五篇的。
1、IEEE Journal of Oceanic Engineering,目前状态 Waiting for Potential Reviewer Assignment2、IEEE Antennas and Wireless Propagation Letters 目前状态 Awaiting Reviewer Scores3、IEEE Signal Processing Letters 目前状态 In Peer Review4、IEEE Transactions on Aerospace and Electronic Systems 目前状态修改一次后又Under Review5、IET Signal Processing 目前状态 Under Review6、IET Radar, Sonar & Navigation 目前状态 Under Review7、IET Electronic Letters 目前状态 Under Review8、Elsevier Signal Processing 目前状态 Required Reviews Completed9、Science in China: F 目前状态外审中10、IEEE Transactions on Antennas Propagation 目前状态上传中小弟明年就该滚蛋了,将来可能不再从事科研工作了,曾经在小木虫潜水,收获颇丰,现在把几篇文章的投稿经历拿出来给大家分享。
投稿成功经验介绍

祝福+几篇论坛投稿至接收全过程小弟我是做阵列信号处理及在雷达、声纳、通信领域的应用,目前在IEEE Trans/Letters,IEE Proceedings,Elsevier Signal Processing/Digital Signal Processing,电子学报,电子与信息学报,通信学报,航空学报等期刊都有过灌水的记录。
MS我们这个领域不是很讲究IF,周围的很少谈论IF的问题,我也偷偷查过我发表文章的期刊没有IF>1的。
那些高IF大牛们别笑话小弟哈。
9月份以来又启动了新一轮灌水,在这里为自己祈祷一下,希望能再中个三五篇的。
1、IEEE Journal of Oceanic Engineering,目前状态 Waiting for Potential Reviewer Assignment2、IEEE Antennas and Wireless Propagation Letters 目前状态 Awaiting Reviewer Scores3、IEEE Signal Processing Letters 目前状态 In Peer Review4、IEEE Transactions on Aerospace and Electronic Systems 目前状态修改一次后又Under Review5、IET Signal Processing 目前状态 Under Review6、IET Radar, Sonar & Navigation 目前状态 Under Review7、IET Electronic Letters 目前状态 Under Review8、Elsevier Signal Processing 目前状态 Required Reviews Completed9、Science in China: F 目前状态外审中10、IEEE Transactions on Antennas Propagation 目前状态上传中小弟明年就该滚蛋了,将来可能不再从事科研工作了,曾经在小木虫潜水,收获颇丰,现在把几篇文章的投稿经历拿出来给大家分享。
Complex Signal Processing is Not-Complex

1. Introduction
A complex signal consists of a pair of real signals at an instance in time. If one denotes the complex signal, X ( t ) , as X ( t ) = x r(t) + jxq(t) , where j = – 1 , then a Hilbert Space can be defined using appropriate definitions for addition, multiplication, and an inner-product and norm. In an actual physical system, the signals are both real (but are called the real and imaginary parts) and are found in two distinct signal paths. The multiplier ‘ j ’ is used to help define operations between different complex signals, and is to some degree imaginary, i.e., it doesn’t actually exist in real systems. Often the dependence of signals on time is not shown explicitly. The use of complex signal processing to describe wireless systems is increasingly important and ubiquitous for the following reasons: it often allows for image-reject architectures to be described more compactly and simply, it leads to a graphical or signal-flow-graph (SFG) description of signal-processing systems that gives insight, and it often leads to the development of new systems where the use of high-frequency, highly selective image-reject filters is minimized leading to more highly integrated transceivers using less power and requiring less physical space. As an example, consider the popular ‘image-reject’ mixer having a real input as shown in Fig. 1. In the complex SFG, two real multiplications have been replaced by a single complex multiplication. Furthermore, since in the time domain we have Y(t) = y r(t) + jy q(t) = X(t)e
ieee transactions on automatic control稿件要求 -回复

ieee transactions on automatic control稿件要求-回复[ieee transactions on automatic control稿件要求]IEEE Transactions on Automatic Control (TAC) is a prestigious and highly-regarded journal in the field of automatic control. This article aims to provide a comprehensive overview of the manuscript requirements for submitting a paper to TAC, taking the readers step-by-step through the process.Step 1: Originality of the ManuscriptOne of the primary requirements of TAC is that the submitted manuscript must present original work that has not been published elsewhere. This includes both complete papers and extended versions of conference papers. It is essential to ensure that any prior publications or concurrent submissions are properly acknowledged in the cover letter accompanying the manuscript.Step 2: Manuscript FormatTAC follows a strict format guideline that authors must adhere to. The manuscript should be written in English, double-spaced, with a font size of at least 10 points. The document must have a title page that includes the title of the paper, the names and affiliations of allauthors, and their contact information. Additionally, an abstract of about 200 words should concisely summarize the paper.Step 3: Manuscript ContentThe content of the manuscript should be organized logically, following the conventional structure of an academic paper. It typically includes an introduction, literature review, proposed methodology, experimental or theoretical analysis, results and discussions, and conclusions. Each section should be clearly labeled and organized in a coherent manner.Step 4: Technical SoundnessTAC places a strong emphasis on the technical soundness of the papers it publishes. All claims made in the manuscript must be supported by rigorous theoretical analysis, simulation, and/or experimental results. Moreover, the novelty and significance of the proposed work should be clearly demonstrated. It is essential to present a detailed and thorough analysis that convinces the reviewers of the quality and impact of the research.Step 5: References and CitationsAccurate and complete referencing is crucial in any scholarlypublication. TAC requires authors to provide appropriate citations and references to acknowledge prior works that have influenced the current research. IEEE format should be followed for bothin-text citations and the reference list at the end of the document. It is important to ensure that all references are cited within the text and listed accurately.Step 6: Review and RevisionAfter the initial submission, the manuscript undergoes a rigorous peer-review process. Reviewers, who are experts in the field, evaluate the manuscript for its technical quality, novelty, and significance. Based on the reviewers' comments, the authors may be requested to revise and resubmit the paper. It is important to carefully address all reviewer comments and revise the manuscript accordingly.Step 7: Copyright and PublicationIf the manuscript is accepted for publication, the authors will need to complete an IEEE Copyright Form, transferring the copyright to IEEE. The accepted paper will appear in TAC, both in print and online, after the publication process is complete.In conclusion, submitting a manuscript to IEEE Transactions on Automatic Control requires adherence to a set of specific guidelines. By ensuring originality, following the manuscript format, maintaining technical soundness, providing accurate references, and undergoing a thorough review and revision process, authors maximize their chances of success in publishing their work in this prestigious journal.。
IEEE 投稿中心详细介绍

Peer Review
Resubmit for Review
Decision
Conference Presentation
And?
“Review All” Tradition:
PID & I&CPS All IAS Conferences Some cosponsored conferences
Decision
Using Manuscript Central
The Only People who Enjoy Change are Babies with Wet Diapers
/ieee-ias
Page 1
Why Adopt Manuscript Central?
• Submission of papers for future IAS conference and peer review for publication • Submission of previously presented APEC or ECCE papers • Submission of previously presented papers from cosponsored non-IEEE conferences
Reject
Handoff to Transactions EIC
Overflow
Handoff to Magazine EIC
Author submits text and graphic files
Develop publication plan Author submits text and graphic files Queue for publication Reject
ieee transaction on power system 投稿注意事项

ieee transaction on power system 投稿注意事
项
《IEEE Transaction on Power System》投稿注意事项
IEEE Transaction on Power System是国际上权威的电力系统领域期刊,欢迎各位学者投稿。
投
稿者在投稿前须了解以下注意事项:
1. 投稿内容
投稿应是原创性的研究成果,能够对电力系统领域的理论和实践有所贡献。
投稿内容应当具有独特性,并且未在其他刊物上发表过或同时提交。
投稿涉及的领域包括但不限于电力系统规划、运行、控制、市场和可再生能源等。
2. 格式要求
投稿务必遵循期刊的格式要求,包括但不限于文章长度、结构、引用格式和图表规范。
文章格式要求严格,稿件的排版应符合期刊模板的要求。
3. 技术质量
审稿人将严格审查投稿的技术质量,确保其符合期刊的发表标准。
投稿应当有详尽的实验数据、分析和结论,能够支持作者的观点和结论。
4. 语言要求
投稿必须是准确、流畅的英文,表达清晰,逻辑性强。
如非英语母语的作者,应该邀请英语母语人士进行语言润饰。
5. 投稿流程
在投稿之前,作者应仔细阅读期刊网站上的投稿指南,确保自己的稿件符合投稿要求。
投稿过程中如果有任何疑问,可以向期刊的编辑部咨询。
总之,《IEEE Transaction on Power System》作为电力系统领域的顶级期刊,对投稿要求十分
严格。
希望作者们能够严格按照期刊要求准备稿件,并且能够在投稿中积极配合编辑部和审稿人的工作,确保稿件的质量和准时发表。
ieee trans稿件状态submitted

随着科技的不断发展,学术研究也日益得到重视和关注。
IEEE (Institute of Electrical and Electronics Engineers)作为国际上最大的专业技术组织,其出版的期刊和会议论文一直备受学者们的青睐。
在IEEE旗下的期刊投稿并被接收是许多研究人员心中的梦想与目标。
本文将围绕IEEE投稿的一般流程和稿件状态进行介绍和分析,以帮助初次投稿的学者们更好地了解这一过程。
一、 IEEE投稿流程1. 查找期刊和会议:在投稿之前,作者首先需要查找适合自己研究内容的IEEE期刊或会议。
可以通过IEEE全球信息站或学术搜索引擎进行查询和了解。
2. 撰写论文:在确定投稿期刊或会议后,作者需要撰写符合该期刊或会议要求的论文。
在撰写过程中,需要严格按照期刊或会议的模板和要求进行排版和格式化。
3. 投稿:完成论文撰写后,作者可以登入IEEE的投稿系统,按照系统引导逐步提交论文。
在提交过程中,需要填写相关的作者信息、论文摘要、关键词等内容,并上传论文的电子版。
4. 审稿:论文提交后,编辑部会安排专家进行审稿。
审稿过程一般包括初审、外审和最终决定。
初审主要是看论文是否符合期刊或会议的主题和要求,外审则是由领域内的专家进行论文内容的专业评审。
最终决定则由编辑部根据审稿意见进行接收或拒绝的决定。
5. 修改和再投稿:如果论文被要求进行修改后再投稿,作者需要认真阅读审稿意见,并按照要求进行修改。
修改后的论文再次提交到系统中,经过再次审稿决定。
6. 最终接收:如果论文通过审稿,并且作者按照编辑部的要求进行了修改,那么论文将被最终接收。
同时作者需要按照期刊的要求缴纳出版费用,并与编辑部进行后续的稿件编辑和排版工作。
二、 IEEE稿件状态在IEEE投稿流程中,稿件的状态对于作者来说是非常重要的。
不同的状态代表着不同的审稿进程和最终结果,因此了解和掌握这些状态对于作者来说是非常必要的。
1. Submitted(已提交):这是论文初次提交后的状态。
IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II ANALOG AND DIGITAL SIGNAL PROCESSING Manuscrip

rithm may be too computationally- and memory-intensive to implement. In this paper, we analyze two adaptive algorithms that update only a portion of the coe cients of the adaptive lter per iteration. These algorithms use decimated versions of the error and regressor signals, respectively. Simulations verify the accuracy of the analyses, and the robustness of the algorithms is also explored.
wi;k+1 =
wi;k + el xl?i+1 if (k + i)modN = 0 and l = N bk=N c wi;k otherwise ek = dk ? WT Xk ; k
(
(1) (2)
where Wk = w1;k w2;k wL;k ]T is the coe cient vector of the adaptive lter at time k, Xk = xk xk?1 xk?L+1 ]T is the input signal vector, dk is the desired response signal, ek is the error signal, and b c denotes the truncation operation. For N = 1 and N = L, this algorithm reduces to the LMS and partial update LMS adaptive algorithms, respectively. For N > 1, the number of multiplies and coe cient memory accesses required for this algorithm are fewer than those required for the LMS algorithm. In addition, the coe cient updates for this algorithm are regular, as only L=N coe cients1 are changed at each iteration. By considering N iterations of the updates in (1), it can be shown that this algorithm is mathematically-equivalent to the following N -fold coe cient vector update:
索要文献英文感谢信

索要文献英文感谢信篇一:英文感谢信感谢信开头段常用句式和套话I am writing to extend my sincere gratitude for (I)am writing to express my thanks for...I am writing to show my sincere appreciation for...I would like to convey in this letter my heartfelt thanks to you for...I feel deeply indebted to you and I really don't know how to thank you enough for your help.感谢信结尾段常用句式和套话I must thank you again for your generous help.I am most grateful for your selfless donation.My true gratitude is beyond the word's description.I feel most obliged to thank you once more.Please accept my gratitude, now and always.★例:Directions:After being involved in an accident, you were looked after by another person. Write a letter:1) mentioning what happened in the accident,2) telling the person about your recovery, and3) expressing your thanks.You should write with no less than 100 words on Answer Sheet 2. Do not sign your own name at the end of the letter. Use "Li Ming" instead. You do not need to write the address. 范文:Dear John,I am writing to thank you for looking after me after that unfortunate accident the other day, when I was knocked off my bike by a taxi. If it had not been for your assistance in giving me first aid and taking me to a nearby hospital, I fear that the consequences might have been much more seriousDear staff,I am writing to show my sincere gratitude for all of you. Now that I am home and on my own again I feel extremely happy. During the time I lived at the Rehabilitation center and was under your tender care, I promised myself I would write a letter of thanks as soon as I was able.Abundant thanks to each one of you for your patience, expertise and genuine concern. It was you who helped me believe in myself and gave me assurance that I could walk again. I would never forget each word you said tome and the things you have done to me. Forgive me for the times I lashed out at you in frustration and thank you for understanding and remaining firm with me.Never stop your beautiful way of working with people. Your help really means a lot to me and anyone who in trouble as well.Affectionately,Wang Fang译文亲爱的全体工作人员:我写这封信是为了表达我对你们的真诚感谢。
iet投稿流程

iet投稿流程IEEE Transactions on Industrial Electronics (IET)是一个高影响因子的国际期刊,是电气电子领域的一个重要杂志。
IET的投稿流程相对来说比较复杂,需要投稿人仔细阅读稿件要求并按照其要求进行投稿。
下面将详细阐述IET的投稿流程,并为读者提供帮助。
第一步:登录官网投稿者应该先访问IET的官方网站,了解最新的投稿要求和流程。
打开IET官网后,进入"Submit a Paper"栏目,这个栏目可以注册登录账号,关注最新学术研究,以便于后续的操作。
第二步:选择投稿类别投稿者在选择投稿类别时,可根据自己的研究领域,选择适合自己研究的分类。
第三步:检查投稿要求IET对稿件的格式和文件要求比较严格,如字体、页边距等方面的要求都有详细规定。
因此,在进行投稿之前,投稿人要认真阅读IET的投稿要求文件,并仔细查看每一条要求。
第四步:提交摘要或概述在主页的"Submit a Paper"栏目下,点击"Abstracts or Outlines",会弹出一个新的页面,投稿人需要输入摘要或概述,以便于IET判断是否可接受该论文的投稿,同时判断该论文的正确性和原创性。
第五步:提交全文稿件如果摘要或概述被IET接受,投稿人将得到通知,可以进入"Submit a Paper"栏目下的"Manuscript",上传完整的文章并填写有关信息,如作者信息、结果、研究方法、结论等。
第六步:等待审核在投稿之后,IET会对稿件进行审核,审核的过程中可能会联系到投稿者,要求作出一些修改或补充等。
如果文章最终被IET接受,将会通过邮件通知投稿人。
总之,IET投稿流程需要投稿者花费一定的时间和精力,按照要求提交文章,并在审核过程中积极与IET联系。
只有经过严格的审核和审核后的修改之后,才能有机会被IET接受,并在该权威期刊刊出自己的重要成果。
ieee tc审稿流程

ieee tc审稿流程英文回答:IEEE Transactions on Control Systems Technology (TCST) is a peer-reviewed academic journal that publishes original research in the field of control systems technology. The journal's scope includes all aspects of control systems, from theoretical foundations to practical applications.TCST has a rigorous peer-review process that ensures the quality of the published research. All submissions are initially screened by the editor-in-chief, who may reject the submission if it is deemed to be outside the scope of the journal or if it is of poor quality. The remaining submissions are then sent to at least two reviewers for peer review. The reviewers evaluate the submission based on its originality, significance, and technical correctness.The editor-in-chief makes the final decision on whether to accept or reject the submission based on the reviewers'reports. The acceptance rate for TCST is around 30%.中文回答:IEEE 控制系统技术学报 (TCST) 是一份经同行评审的学术期刊,专门发表控制系统技术领域的原创研究成果。
ieee transactions on automatic control稿件要求 -回复

ieee transactions on automatic control稿件要求-回复[ieee transactions on automatic control稿件要求],以中括号内的内容为主题,写一篇1500-2000字文章,一步一步回答Introduction:IEEE Transactions on Automatic Control is a prestigious journal in the field of automatic control systems. In this article, we will explore the manuscript requirements for this journal and provide astep-by-step guide on how to prepare a submission that adheres to these guidelines.Step 1: Title and AbstractThe first step in preparing your manuscript for IEEE Transactions on Automatic Control is to craft a concise and informative title that accurately reflects the content of your research. The title should be no more than 15 words and should capture the main focus of your study.Following the title, you should provide an abstract of no more than250 words. The abstract should summarize the main objectives, methods, and findings of your research in a clear and concise manner. It should provide readers with a comprehensive overview of your study and entice them to read further.Step 2: Introduction and BackgroundThe introduction section of your manuscript should provide a clear and well-structured background of the problem you are addressing in your research. It should highlight the significance of the problem and the motivations behind your study. This section should review the relevant literature and identify the research gap that your study aims to fill.Step 3: Problem Statement and ObjectivesAfter establishing the background, you should clearly state the problem you are addressing in your research and clearly define your objectives. The problem statement should be concise and well-defined, allowing readers to understand the specific issue that your study aims to solve.Step 4: Methodology and ResultsIn this section, you should describe the methods and techniques you employed in your research to address the stated problem and achieve the defined objectives. This should include a detailed description of the theoretical models, algorithms, or experiments used, along with sufficient mathematical or technical details to enable readers to reproduce your results.Additionally, you should present your results in a clear and organized manner. This may include tables, figures, or graphs to illustrate your findings. It is important to discuss and interpret your results, highlighting their significance and relevance to the field of automatic control.Step 5: Discussion and ConclusionAfter presenting your results, it is essential to discuss their implications and compare them with existing literature. Identify the strengths and limitations of your study and provide insightful interpretations of your findings. This section should demonstrate your understanding of the broader implications of your researchand its contribution to the field.Finally, conclude your manuscript by summarizing the main findings, restating the significance of your study, and suggesting potential directions for future research in the field of automatic control.Step 6: References and CitationsEnsure that all cited references are accurate and properly formatted in accordance with the IEEE Transactions on Automatic Control guidelines. Use the IEEE citation style, providing sufficient information for readers to locate the cited sources.Step 7: Proofreading and FormattingThoroughly proofread your manuscript for any grammatical or typographical errors. Pay attention to consistent formatting, including headings, subheadings, font size, line spacing, and margins. IEEE Transactions on Automatic Control provides specific formatting guidelines that should be followed strictly.Conclusion:Preparing a manuscript for submission to IEEE Transactions on Automatic Control requires meticulous attention to detail and adherence to specific guidelines. By following the steps outlined in this article, researchers can ensure that their submissions meet the requirements of the journal and present their research in a clear and concise manner.。
ieee tc审稿流程

ieee tc审稿流程### English Response:The IEEE Transactions on Communications (TC) is a peer-reviewed scientific journal that publishes original research findings in the field of communications. The journal covers a wide range of topics, including wireless communications, optical communications, networking, and signal processing.The TC review process is rigorous and designed to ensure that only high-quality research is published. All submitted manuscripts are initially screened by the editor-in-chief to determine if they are within the scope of the journal and meet the minimum quality standards. Manuscripts that pass this initial screening are then assigned to an associate editor, who selects a group of reviewers to evaluate the manuscript.The reviewers are experts in the field ofcommunications and are selected based on their expertise in the specific area of the manuscript. The reviewers provide detailed feedback on the manuscript, including their assessment of the novelty, significance, and technical correctness of the work.The associate editor then makes a decision on whether to accept or reject the manuscript based on the feedback from the reviewers. If the manuscript is accepted, it is revised to address the reviewers' comments and then published in the journal.The TC review process is typically completed within 4-6 months, but can take longer in some cases. The journal publishes 12 issues per year, with each issue containing a collection of original research articles.### Chinese Response:IEEE Transactions on Communications (TC) 是一本经过同行评审的科学期刊,发表通信领域原创研究成果。
ieee transaction under review -回复

ieee transaction under review -回复"IEEE Transaction Under Review: Navigating the Peer Review Process"Introduction (150 words)The peer review process is an essential step in maintaining the quality and integrity of scientific research. For researchers aspiring to publish their work in prestigious journals like the IEEE Transactions, understanding the review process is crucial. In this article, we will provide a step-by-step guide on what happens during the peer review process when an article is submitted to an IEEE Transaction.1. Initial Submission and Evaluation (200 words)The first step after submitting an article to the IEEE Transactions is the initial evaluation. The editor-in-chief or an assigned associate editor reviews the submission to assess its alignment with the journal's scope and the overall quality of the research. If deemed suitable, the paper proceeds to the next stage. Otherwise, it may be rejected or returned to the author for revisions before reconsideration.2. Identification of Reviewers (200 words)Once an article clears the initial evaluation, the editor selects potential reviewers from a pool of experts in the specific field of study covered by the submission. IEEE Transactions typically follow a double-blind peer review process, where the authors' identities are concealed from the reviewers and vice versa. This ensures an impartial evaluation of the research.3. Reviewer Assignment and Evaluation (400 words)The editor assigns the selected reviewers to evaluate the submitted manuscript. Reviewers have expertise in the subject matter and provide critical analysis of the paper's scientific soundness, methodology, novelty, and relevance. They also assess the clarity and coherence of the article, ensuring it meets the journal's high standards.During the evaluation, reviewers may provide constructive feedback, suggestions for improvement, or identify potential ethical concerns. Based on their evaluation, reviewers recommend acceptance, revision with major/minor changes, or rejection of the manuscript. The editor combines these evaluations to make an overall decision on the manuscript.4. Author Notification and Revisions (300 words)Following the review process, the editor communicates the decision to the authors. If the paper requires revisions, authors are given specific feedback from the reviewers and the editor. Authors are typically provided a timeline for revisions, which may range from a few weeks to a couple of months.Authors should consider the reviewers' comments and make necessary revisions to address any concerns raised. It is essential to respond to each comment individually, explaining the changes made or providing a valid rebuttal if disagreement exists. Careful attention to reviewer feedback can significantly improve the manuscript's chances of eventual acceptance.5. Final Decision and Publication (350 words)Once the revised manuscript is submitted, the editor evaluates the revisions and decides on the final outcome. In some cases, the revised manuscript may undergo a second round of reviews. Once the editor is satisfied with the modifications, the paper is accepted for publication.Before the article appears in the IEEE Transactions, the manuscript undergoes the copyediting and proofreading process. This includes language polishing, ensuring consistent formatting, and addressing any technical issues. The authors are involved in this process to ensure accuracy and maintain the integrity of their research.Conclusion (100 words)Submitting an article to the IEEE Transactions is a complex process that involves rigorous peer review. Understanding the step-by-step stages of this process can help researchers navigate the challenges and prepare for the outcomes. While the process may betime-consuming and at times demanding, it ensures the quality and credibility of the published articles.。
我的科研感悟

我的科研感悟先介绍一下我的学术背景,我本科学的是化学工程专业,硕士和博士学的是控制理论与控制工程专业,本硕在一所211工程学校就读,博士毕业于中科院某研究所。
博士在读期间,在本学科国际杂志上发表了两篇SCI文章,获一项发明专利,另有其它科研成果若干。
下面我就结合我的专业背景谈一谈我的科研之路。
希望能对从事科研的人起到一个抛砖引玉的作用。
也希望从事科研的人努力工作,多多创新,为祖国的发展贡献自己的一份力量。
文章中所列均代表本人观点,如觉不适,敬请忽略。
1. 科研好点子从哪里来?1.1选题要做一流的学术,选题非常关键。
一个好的课题,会使你在很短的时间内就能取得一些进展;一个前沿的课题,会使你站在巨人的肩膀上。
为什么国内的一些学者,也做了很多工作,但是却发不出高档次的SCI论文,你可以说他们不屑得发,但其中很大一个原因是他们的选题”Out of date”,很难在国际期刊上激起读者的兴趣,甚至他们做的东东早已经有人做过了,即便其中有一些新东西,也很难让国际审稿人认同,因为审稿人一看到论文题目就会在他们的心里留下“这个问题,我们在七八十年代已经做过了”的印象,最后难逃拒稿的命运。
那么怎么样选题呢?一个简单的办法是阅读国际顶级杂志最新发表的文章,看看他们都在搞什么?再结合自己的专业背景,或进行学科交叉,或查找缺陷、不足,或进行方法移植,这样选择的课题实际上已经和国外同行站在同一跑道上了。
但由于别人已经有了一定的基础了,且稿件有一定的滞后性,他的加速度会比我们大,所以我们在具体搞研究时一定要另辟蹊径。
等到我们自己开辟的路在国际上已经得到别人的认可并且成体系时,我们就可以沿着这条路继续前进了。
总之,我的选题原则是“基于国际前沿,另辟蹊径”。
1.2方法论科学研究是需要方法的,而且是有方法的。
我们在做化学实验时,需要先构思实验方案;在控制被控对象时,需要先设计控制算法。
这些“构思”、“设计”等过程就是一个点子产生的过程。
IEEE投稿指南

IEEE journal 投稿指南T:比拟深入详尽学术研究M:产业新闻、技术动态之类的L:不超过三页的小短文1、IEEE提供的word模板:〔word 6.0 以上版本〕TRANS-JOUR.DOC 或TRANS-JOUR.PDF2、IEEE提供的latex模板:网址同上一、准备篇1、如果是投会议文章,需要和举办方联系,以防人家有特殊的排版要求。
关键字要按字母顺序写。
参考:2、翻开TRANS-JOUR.DOC后, 选择(View | Page Layout), 然后才能看到脚注〔footnotes〕. 这个模板很好用,你把你的文章copy过来后,直接点左上角的格式窗口就可以自动转换格式了,尤其一些标题,它会自动转大小写、斜体、粗体等等,唯一美中缺乏的就是reference中的斜体得手工完成,呵呵。
我使用过程中觉得最大的一个好处就是公式后面的编号,你在怎么推它也不会跳到下一行去,也不用担忧和上下编号不对齐。
公式的位置你任意调整皆可。
解决我一直头疼的一个问题,呵呵3、不要改变默认字体等等。
文章页数不要超过6页,本来每页110刀,超过局部每页要200刀!4、文章里面的出现符号的时候,比方x,y,上标什么的,一定要用公式编辑器或mathtype来完成,千万别用什么改字体的方法。
5、visio生成的图形在转成pdf文档的时候经常会把字体丧失,所以转换后要仔细检查,万无一失的方法是先用hypercram等抓图软件把visio的页面抓下来〔记得关掉链接点和网格〕,然后copy到word里面再转换。
6、压缩包不要超过1Mbytes,记得用.zip格式,老外不认.rar,〔估计是老外太穷,winrar得单买,而.zip 的解压xp已经自带了〕7、图表一定要放大单发,递交的paper里面或者不加图表,或者自己加着玩玩,以便知道自己的paper会有多少页,图表里面不要包含图表名称和边框等8、单位的问题,单位放括号里面,我原来总用冒号...再就是乘号不要用x等等小常识,想起来再补充吧~二、投稿篇〔懒的翻了,就整理一下,大家看英文吧,呵呵〕II.Procedure for Paper SubmissionA.Review StagePlease check with your editor on whether to submit your manuscript by hard copy or electronically for review. If hard copy, submit photocopies such that only one column appears per page. This will giveyour referees plenty of room to write comments. Send the number of copies specified by your editor (typically four). If submitted electronically, find out if your editor prefers submissions on disk or as e-mail attachments.If you want to submit your file with one column electronically, please do the following:--First, click on the View menu and choose Print Layout.--Second, place your cursor in the first paragraph. Go to the Format menu, choose Columns, choose one column Layout, and choose “apply to whole document〞from the dropdown menu.--Third, click and drag the right margin bar to just over 4 inches in width.The graphics will stay in the “second〞column, but you can drag them to the first column. Make the graphic wider to push out any text that may try to fill in next to the graphic.B.Final StageWhen you submit your final version, after your paper has been accepted, print it in two-column format, including figures and tables. Send three prints of the paper; two will go to IEEE and one will be retained by the Editor-in-Chief or conference publications chair.You must also send your final manuscript on a disk, which IEEE will use to prepare your paper for publication. Write the authors’ names on the disk label. If you are using a Macintosh, please save your file on a PC formatted disk, if possible. You may use Zip or CD-ROM disks for large files, or compress files using Compress, Pkzip, Stuffit, or Gzip.Also send a sheet of paper with complete contact information for all authors. Include full mailing addresses, telephone numbers, fax numbers, and e-mail addresses. This information will be used to send each author a complimentary copy of the journal in which the paper appears. In addition, designate one author as the “corresponding author.〞This is the author to whom proofs of the paper will be sent. Proofs are sent to the corresponding author only.C.Figures 〔这段很重要,就是说图表一定要放大单发,递交的paper里面或者不加图表,或者自己加着玩玩,以便知道自己的paper会有多少页〕All tables and figures will be processed as images. However, IEEE cannot extract the tables and figures embedded in your document. (The figures and tables you insert in your document are only to help you gauge the size of your paper, for the convenience of the referees, and to make it easy for you to distribute preprints.) Therefore, submit, on separate sheets of paper, enlarged versions of the tables and figures that appear in your document. These are the images IEEE will scan and publish with your paper.D.Electronic Image Files (Optional)You will have the greatest control over the appearance of your figures if you are able to prepare electronic image files. If you do not have the required computer skills, just submit paper prints as described above and skip this section.1) Easiest Way: If you have a scanner, the best and quickest way to prepare noncolor figure files is to print your tables and figures on paper exactly as you want them to appear, scan them, and then save them to a file in PostScript (PS) or Encapsulated PostScript (EPS) formats. Use a separate file for each image. File names should be of the form “fi g1.ps〞or “fig2.eps.〞2) Slightly Harder Way: Using a scanner as above, save the images in TIFF format. High-contrast line figures and tables should be prepared with 600 dpi resolution and saved with no compression, 1 bit per pixel (monochrome), with file names of the form “fig3.tif〞or “table1.tif.〞To obtain a 3.45-infigure (one-column width) at 600 dpi, the figure requires a horizontal size of 2070 pixels. Typical file sizes will be on the order of 0.5 MB.Photographs and grayscale figures should be prepared with 220 dpi resolution and saved with no compression, 8 bits per pixel (grayscale). To obtain a 3.45-in figure (one-column width) at 220 dpi, the figure should have a horizontal size of 759 pixels.Color figures should be prepared with 400 dpi resolution and saved with no compression, 8 bits per pixel (palette or 256 color). To obtain a 3.45-in figure (one column width) at 400 dpi, the figure should have a horizontal size of 1380 pixels.For more information on TIFF files, please go to and click on the link “Guidelines for Author Supplied Electronic Text and Graphics.〞3) Somewhat Harder Way: If you do not have a scanner, you may create noncolor PostScript figures by “printing〞them to files. First, download a PostScript printer driver from (for Windows) or from (for Macintosh) and install the “Generic PostScript Printer〞definition. In Word,paste your figure into a new document. Print to a file using the PostScript printer driver. File names should be of the form “fig5.ps.〞Use Adobe Type 1 fonts when creating your figures, if possible.4) Other Ways: Experienced computer users can convert figures and tables from their original format to TIFF. Some useful image converters are Adobe Photoshop, Corel Draw, and Microsoft Photo Editor, an application that is part of Microsoft Office 97 and Office 2000 (look for C:\Program Files\Common Files \Microsoft Shared\ PhotoEd\ PHOTOED.EXE. (You may have to custom-install Photo Editor from your original Office disk.)Here is a way to make TIFF image files of tables. First, create your table in Word. Use horizontal lines but no vertical lines. Hide gridlines (Table | Hide Gridlines). Spell check the table to remove any red underlines that indicate spelling errors. Adjust magnification (View | Zoom) such that you can view the entire table at maximum area when you select View | Full Screen. Move the cursor so that it is out of the way. Press “Print Screen〞on your keyboard; this copies the screen image to the Windows clipboard. Open Microsoft Photo Editor and click Edit | Paste as New Image. Crop the table image (click Select button; select the part you want, then Image | Crop). Adjust the properties of the image (File | Properties) to monochrome (1 bit) and 600 pixels per inch. Resize the image (Image | Resize) to a width of 3.45 inches. Save the file (File | Save As) in TIFF with no compression (click “More〞button).Most graphing programs allow you to save graphs in TIFF; however, you often have no control over compression or number of bits per pixel. You should open these image files in a program such as Microsoft Photo Editor and re-save them using no compression, either 1 or 8 bits, and either 600 or 220 dpi resolution (File | Properties; Image | Resize). See Section II-D2 for an explanation of number of bits and resolution. If your graphing program cannot export to TIFF, you can use the same technique described for tables in the previous paragraph.A way to convert a figure from Windows Metafile (WMF) to TIFF is to paste it into Microsoft PowerPoint,save it in JPG format, open it with Microsoft Photo Editor or similar converter, and re-save it as TIFF.Microsoft Excel allows you to save spreadsheet charts in Graphics Interchange Format (GIF). To get good resolution, make the Excel charts very large. Then use the “Save asHTML〞feature (see ). You can then convert from GIF to TIFF using Microsoft Photo Editor,for example.No matter how you convert your images, it is a good idea to print the TIFF files to make sure nothing was lost in the conversion.If you modify this document for use with other IEEE journals or conferences, you should save it as type “Word 97-2000 & 6.0/95 - RTF (*.doc)〞so that it can be opened by any version of Word.E.Copyright FormAn IEEE copyright form should accompany your final submission. You can get a .pdf, .html, or .doc version at or from the first issues in each volume of the IEEE T RANSACTIONS and J OURNALS. Authors are responsible for obtaining any security clearances.III.M ATHIf you are using Word, use either the Microsoft Equation Editor or the MathType add-on ( :// mathtype ) for equations in your paper (Insert | Object | Create New | Microsoft Equation or MathType Equation). “Float over text〞should not be selected.IV.UnitsUse either SI (MKS) or CGS as primary units. (SI units are strongly encouraged.) English units may be used as secondary units (in parentheses). This applies to papers in data storage. For example, write “15 Gb/cm2 (100 Gb/in2).〞An exception is when English units are used as identifiers in trade, such as “3½ in disk drive.〞Avoid combining SI and CGS units, such as current in amperes and magnetic field in oersteds. This often leads to confusion because equations do not balance dimensionally. If you must use mixed units, clearly state the units for each quantity in an equation.The SI unit for magnetic field strength H is A/m. However, if you wish to use units of T, either refer to magnetic flux density B or magnetic field strength symbolized as µ0H. Use the center dot to separate compound units, e.g., “A·m2.〞V.Helpful HintsA.Figures and TablesBecause IEEE will do the final formatting of your paper, you do not need to position figures and tables at the top and bottom of each column. In fact, all figures, figure captions, and tables can be at the end of the paper. Large figures and tables may span both columns. Place figure captions below the figures; place table titles above the tables. If your figure has two parts, incl ude the labels “(a)〞and “(b)〞as part of the artwork. Please verify that the figures and tables you mention in the text actually exist. Please do not include captions as part of the figures. Do not put captions in “text boxes〞linked to the figures. Do not put borders around the outside of your figures. Use the abbreviation “Fig.〞even at the beginning of a sentence. Do not abbreviate “Table.〞Tables are numbered with Roman numerals.Color printing of figures is available, but is billed to the authors (approximately $1300, depending on the number of figures and number of pages containing color). Include a note with your final paper indicating that you request color printing. Do not use color unless it is necessary for the proper interpretation of your figures. If you want reprints of your color article, the reprint order should be submitted promptly. There is an additional charge of $81 per 100 for color reprints.Figure axis labels are often a source of confusion. Use words rather than symbols. As an example, write the quantity “Magnetization,〞or “Magnetization M,〞not just “M.〞Put units in parentheses. Do not label axes only with units. As in Fig. 1, for example, write “Magnetization (A/m)〞or “Magnetization (A m-1),〞not just “A/m.〞Do not label axes with a ratio of quantities and units. For example, write “Temperature (K),〞not “Temperature/K.〞Multipliers can be especially confusing. Write “Magnetization (kA/m)〞or “Magnetization (103A/m).〞Do not write “Magnetization (A/m) ´ 1000〞because the reader would not know whether the top axis label in Fig. 1 meant 16000 A/m or 0.016 A/m. Figure labels should be legible, approximately 8 to 12 point type.B.ReferencesNumber citations consecutively in square brackets [1]. The sentence punctuation follows the brackets [2]. Multiple references [2], [3] are each numbered with separate brackets [1]–[3]. When citing a section in a book, please give the relevant page numbers [2]. In sentences, refer simply to the reference number, as in [3]. Do not use “Ref. [3]〞or “reference [3]〞except at the beginning of a sentence: “Reference [3] shows ... .〞Unfortunately the IEEE document translator cannot handle automatic endnotes in Word; therefore, type the reference list at the end of the paper using the “References〞style.Number footnotes separately in superscripts (Insert | Footnote).[1] Place the actual footnote at the bottom of the column in which it is cited; do not put footnotes in the reference list (endnotes). Use letters for table footnotes (see Table I).Please note that the references at the end of this document are in the preferred referencing style. Give all authors’ names; do not use “et al.〞unless there are six authors or more. Use a space after authors' initials. Papers that have not been published should be cited as “unpublished〞[4]. Papers that have been submitted for publication should be cited as “submitted for publication〞[5]. Papers that have been accepted for publication, but not yet specified for an issue should be c ited as “to be published〞[6]. Please give affiliations and addresses for private communications [7].Capitalize only the first word in a paper title, except for proper nouns and element symbols. For papers published in translation journals, please give the English citation first, followed by the original foreign-language citation [8].C.Abbreviations and AcronymsDefine abbreviations and acronyms the first time they are used in the text, even after they have already been defined in the abstract. Abbreviations such as IEEE, SI, ac, and dc do not have to be defined. Abbreviations that incorporate periods should not have spaces: write “C.N.R.S.,〞not “C. N. R. S.〞Do not use abbreviations in the title unless they are unavoidable (for example, “IEEE〞in the title of this article).D.EquationsNumber equations consecutively with equation numbers in parentheses flush with the right margin, as in (1). First use the equation editor to create the equation. Then select the “Equation〞markup style. Press the tab key and write the equation number in parentheses. To make your equations more compact, you may use the solidus ( / ), the exp function, or appropriate exponents. Use parentheses to avoid ambiguities in denominators. Punctuate equations when they are part of a sentence, as in(1)Be sure that the symbols in your equation have been defined before the equation appears or immediately following. Italicize symbols (T might refer to temperature, but T is the unit tesla). Refer to “(1),〞not “Eq. (1)〞or “equation (1),〞except at the beginning of a sentence: “Equation (1)is ... .〞E.Other RecommendationsUse one space after periods and colons. Hyphenate complex modifiers: “zero-field-cooled magnetization.〞Avoid dangling participles, such as, “Using (1), the potential was calculated.〞[It is not clear who or what used (1).] Write instead, “The potential was calculated by using (1),〞or “Using (1), we calculated the potential.〞Use a zero before decimal poin ts: “0.25,〞not “.25.〞Use “cm3,〞not “cc.〞Indicate sample dimensions as “0.1 cm ´ 0.2 cm,〞not “0.1 ´ 0.2 cm2.〞The abbreviation for “seconds〞is “s,〞not “sec.〞Do not mix complete spellings and abbreviations of units: use “Wb/m2〞or “webers per square meter,〞not “webers/m2.〞When expressing a range of values, write “7 to 9〞or “7-9,〞not “7~9.〞A parenthetical statement at the end of a sentence is punctuated outside of the closing parenthesis (like this). (A parenthetical sentence is punctuated within the parentheses.) In American English, periods and commas are within quotation marks, like “this period.〞Other punctuation is “outside〞! Avoid contractions; for example, write “do not〞instead of “don’t.〞The serial comma is preferred: “A, B, and C〞inste ad of “A,B and C.〞If you wish, you may write in the first person singular or plural and use the active voice (“I observed that ...〞or “We observed that ...〞instead of “It was observed that ...〞). Remember to check spelling. If your native language is not English, please get a native English-speaking colleague to proofread your paper.VI.Some Common MistakesThe word “data〞is plural, not singular. The subscript for the permeability of vacuum µ0 is zero, not a lowercase letter “o.〞The term for residual magnetization is “remanence〞; the adjective is “remanent〞; do not write “remnance〞or “remnant.〞Use the word “micrometer〞instead of “micron.〞A graph within a graph is an “inset,〞not an “insert.〞The word “alternatively〞is prefer red to the word “alternately〞(unless you really mean something that alternates). Use the word “whereas〞instead of “while〞(unless you are referring to simultaneous events). Do not use the word “essentially〞to mean “approximately〞or “effectively.〞Do no t use the word “issue〞as a euphemism for “problem.〞When compositions are not specified, separate chemical symbols byen-dashes; for example, “NiMn〞indicates the intermetallic compound NiMn whereas “Ni–Mn〞indicates an alloy of some composition Ni x Mn1-x.Be aware of the different meanings of the homophones “affect〞(usually a verb) and “effect〞(usually a noun), “complement〞and “compliment,〞“discreet〞and “discrete,〞“principal〞(e.g., “principal investigator〞) and “principle〞(e.g., “principle of measu rement〞). Do not confuse “imply〞and “infer.〞Prefixes such as “non,〞“sub,〞“micro,〞“multi,〞and “"ultra〞are not independent words; they should be joined to the words they modify, usually without a hyphen. There is no period after the “et〞in the Latin abbreviation “et al.〞(it is also italicized). The abbreviation “i.e.,〞means “that is,〞and the abbreviation “e.g.,〞means “for example〞(these abbreviations are not italicized).An excellent style manual and source of information for science writers is [9]. A general IEEE style guide, Information for Authors, is available at。
中国循环杂志稿件状态

1.IEEE,EI,SCI 投稿过程中都有哪些状态您好,PublishExpert很高兴为您服务。
大部分期刊的投稿状态如下,供参考,时间就要看各个期刊了,不同的期刊千差万别。
详情请搜索访问PublishExpert官网进行咨询。
1. Submitted to Journal 刚提交的状态2. Manuscript received by Editorial Office 就是你的文章到了编辑手里了,证明投稿成功3. With editor 如果在投稿的时候没有要求选择编辑,就先到主编那,主编会分派给别的编辑。
这当中就会有另两个状态:3.1. Awaiting Editor Assignment指派责任编辑 Editor assigned是把你的文章分给一个编辑处理了。
3.2. Editor Declined Invitation 也可能编辑会拒绝邀请,这就需要重新指定编辑3.3. technical check in progress 检查你的文章符不符合期刊投稿要求4.编辑接手处理后也会有2种状态4.1. Decision Letter Being Prepared 就是编辑没找审稿人就自己决定了,那根据一般经验,对学生来说估计会挂了 1)英文太差,编辑让修改。
2)内容太差,要拒了。
除非大牛们直接被接收。
4.2. Reviewer(s) invited 找到审稿人了,就开始审稿5. Under review这应该是一个漫长的等待。
当然前面各步骤也可能很慢的,要看编辑的处理情况。
如果被邀请审稿人不想审,就会decline,编辑会重新邀请别的审稿人。
2.生态学杂志的投稿须2、刊登内容:《生态学杂志》刊登有关生态系统生态学、分子生态学、种群生态学、群落生态学、景观生态学等,尤其鼓励生物地球化学循环、生态系统生态学、动植物微生物之间相互作用、微生物生态学、分子生态学、气候变化等方面的研究报告、专论与综述、研究简报、新方法与新技术、书刊评介、学术动态等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Working with Persistent Objects:To Swizzle or Not to Swizzle1J.Eliot B.Moss2Computer and Information ScienceUniversity of MassachusettsAmherst,Massachusetts01003Submitted to IEEE Transactions on ComputersJuly19,1991Abstract.Pointer swizzling3is the conversion of database objects between an external form(object identifiers)and an internal form(direct memory pointers).Swizzling is used in some object-oriented databases,persistent object stores,and persistent and database programming language implementations to speed manipulation of memory resident data.Here we describe a simplifying model of application behavior,revealing those aspects where swizzling is most relevant in both benefits and costs.The model has a number of parameters,which we have measured for a particular instance of the Mneme persistent object store,varying the swizzling technique used.The results confirm most of the intuitive,qualitative tradeoffs,with the quantitative data showing that some performance differences between schemes are smaller than might be expected. However,there are some interesting effects that run counter to naive intuition,most of which we explain using deeper analysis of the algorithms and data structures.Index terms:Mneme(persistent object store),object store,performance measurement, performance modeling,persistent programming,pointer swizzling,work session.1IntroductionWe are concerned with programs that read and write persistent objects maintained in a database or object store.Any given persistent object can refer to other persistent objects within the same database.Such references are expressed via unique object identifiers(oids),as in(for example)[1]. We are specifically concerned with systems in which oids are not virtual memory addresses.The central question we explore is whether it is profitable to replace oid references between memory resident persistent objects with direct pointers.Such conversion is called pointer swizzling;similar techniques were used in LOOM[2,3].The basic tradeoff in swizzling is obvious:the conversion costs something up front(and at the end of the program,to convert pointers back to oids),but saves a little each time a reference is followed.While the qualitative situation is clear,we want to confirm it and describe the tradeoff quantitatively.We also want to relate swizzling costs to other CPU costs in a program and to total costs including I/O time.1.1Related workThe cost of swizzling is relevant to persistent programming languages,database programming languages,object oriented database systems,persistent object stores,and object servers.A persis-tent programming language(PPL)is a programming language that includes a persistent memory area(e.g.,a heap of objects)that outlives the execution of any individual program.PPLs have most often been designed as extensions of non-persistent programming languages.PS-Algol[4] introduced the concept of a PPL.The E language[5,6,7,8]is a more recent PPL based on C++; Alltalk[9,10]is one based on Smalltalk[11].A database programming language(DBPL)is similar to a PPL but adds database features such as bulk data(sets or relations)and attribute based retrieval(queries).Pascal-R[12]is an early DBPL effort based on Pascal that has since moved on to Modula and is now called DBPL[13,14]. Other DBPLs include O++[15,16],ADABTPL[17],FAD[18],Gemstone[19],and CO2[20].E might also be called a DBPL since it has some support for bulk data management;the dividing line between PPLs and DBPLs is fuzzy.General issues of DBPL design for object-oriented languages are discussed in[21],and issues of types and persistence are discussed in [22],which includes a survey of database and persistent programming languages.Swizzling is directly relevant to the implementation of PPLs and DBPLs since such languages support general computation with persistent objects.Swizzling might also benefit execution of compiled queries in object-oriented databases (OODBs),distinguished from traditional databases in that they manage objects having identity,etc.OODBs described in the literature include Exodus[23],DAMOKLES[24],CACTIS[25], VBase[26],Gemstone[19,27],O2[28,29],Orion[30],and Iris[31].OODBs generally include a data manipulation language;such a language may be classified as a DBPL if it is rich enough in programming constructs.Swizzling is also relevant to persistent object stores(POSs)and object servers,since appli-cations using a store or server might benefit from converting objects from the store/server format to a faster in-memory format.POSs and storage managers include the Exodus storage manager [23,32],O2[29],and Mneme4[33,34,35].Mneme is the POS used for this study.There have also been a number of designs related to virtual memory such as[2,3,36,37,38].Object servers include ObServer[39]and Gemstone[40].We know of no prior studies of swizzling performance,and hence can offer no comparison with directly related work.Published OODB benchmarks and performance studies include[41,42,43, 44,45,46].1.2Simplifying assumptionsTo study swizzling and obtain clear results,we focus on application behavior patterns most affected by swizzling,i.e.,where swizzling is on the critical path.Consider a CAD design tool as an example. In an edit session the tool loads an existing designfile(or creates a new one),edits in virtual memory, and then saves thefile back to the database.This edit cycle will tend to be especially revealing of swizzling costs,since swizzling typically occurs while data is being loaded,before the application gains control,and likewise unswizzling occurs during the save operation,adding to its length. On the other hand,designfile editing(and similar operations such as design rule checking)is computation intensive and reveal the benefits of swizzling too.As described later,we consider and compare eager schemes,where all objects needed by the application are loaded and swizzled in advance,and lazy schemes,where objects are loaded and swizzled on demand.We adopted the load-work-save cycle as our application model because it is simple yet reveals swizzling effects clearly.To make the impact of swizzling most clear,we make three assumptions:Loading and saving perform minimal disk seeking or query processing,so I/O and CPU costs are minimal and swizzling costs most visible.There is no significant paging or buffer replacement,for the same reason.Concurrency control and recovery impose no significant overhead.These assumptions are reasonable for significant aspects of interesting applications;CAD design tools are a good example.First,CAD designfiles provide a natural grouping that can be clustered for fast reading and writing,avoiding query processing or significant disk seeking overhead.Second, CAD designfiles are usually loaded into virtual memory backed with enough real memory to prevent substantial paging.Third,concurrency control can occur at the level of whole designfiles or large subsets,adding minimally to the total cost of handlingfiles of significant size.Recovery can also be done at the level of entirefiles.We grant that logging or checkpointing may be desirable for recovering work if a crash occurs during a long session.Logging will impose comparable costs whether or not swizzling is used.Checkpointing can be treated as a save in the load-work-save model,except that a load is not required after a checkpoint.While recovery may be of some relevance,we obtained simpler results without it,and our approach can be extended to handle recovery in the future.We do not claim that these assumptions are realistic for all applications or for all parts of any application.Rather,the assumptions are those conditions that most reveal the costs and benefits of swizzling,and if the assumptions are violated then the costs/benefits are diluted by the additional system overheads.In that sense the assumptions give an upper bound on the costs/benefits of swizzling.Note also we do not claim to offer a general model of PPL,DBPL,OODB,or POS performance,only a model that reveals the maximum impact of swizzling.1.3Plan of the paperOur study of swizzling proceeds as follows.We define the load-work-save application model and an analytic cost model suitable for comparing alternatives over a wide range of application characteristics such as the number of objects loaded.We discuss the swizzling alternatives to be compared,describe simple benchmark programs,and present measurements thatfix the parameters of the cost model for each swizzling alternative.Finally,we analyze and compare the resulting models.2The Application ModelOur load-work-save(LWS)model of application behavior uses three concepts:objects,collections of objects,and sessions of work upon collections.For our purposes an object is a contiguous aggregation of some slots and some bytes.Each slot may contain a reference to another object,a null reference(to no object),or possibly a non-reference value,if the language(data model)allows tagged quantities.The bytes represent non-referencevalues such as integers,floating point numbers,and strings.For simplicity we assume the number of slots and bytes in an object does not change after the object is created.Objects model the individual records,arrays,strings,etc.,of the application,and hence tend to be“small”(average of 40to50bytes in a Smalltalk system for example).We will be concerned with how slots and bytes add bulk to an object,the swizzling costs of references in slots,and the general costs of manipulating slots and bytes within objects.Note that we model only structural properties of objects and do not include any sort of type or class system,inheritance hierarchy,or operation/method invocation mechanism.Our model is adequate because we are not concerned with object semantics but only with implementation costs.A collection is simply the set of objects used during the execution of an application.As previously mentioned,we assume collections are clustered so that I/O costs are minimal and swizzling costs most apparent.However,a collection need not be an entire database orfile,and inter-object references that are not used in a given session need not be considered,except to the extent that they add bulk to the objects.A collection can always be thought of as a set of root objects plus additional objects reachable from those roots via selected edges.In general,the selected edges might be determined dynamically,but the overall collection is certainly known after the fact. That is,the set of objects in a collection may not be known a priori and may be“discovered”as computation proceeds.In some of our experiments we assume the collection is known beforehand and consider the performance effects of eager zy loading.We will characterize collections in terms of the number of objects they contain and average properties of those objects such as size, number of slots,etc.A session is a create-work-save or load-work-save cycle.For simplicity we assume sessions either create a collection,or read and possibly modify an existing collection without creating new objects.It would not be difficult to extend the model to allow incremental addition and removal of objects in collections,but would complicate the presentation and analysis.A load-work-save session breaks down in the obvious three basic activities of loading,working,and saving.Loading and working are separate when all objects are loaded in advance(eager loading),and overlapped in the case of lazy loading.Loading is further broken down into reading and swizzling.Reading is the fetching of objects from persistent storage into buffers,and swizzling is the conversion(if any) of the objects for the application’s use.Saving is similarly separated into preparing,unswizzling objects and getting them into storage manager buffers as necessary,and writing,the actual transfer of the buffers to persistent storage.In a create-work-save session creating replaces loading,and is different in that creating is an in-memory operation,while loading involves persistent storage access and swizzling.3Techniques of Object ManagementWe now describe the various swizzling and object management alternatives relevant to our investi-gation.First we describe the basic approaches,then implementation variations on those approaches, andfinally algorithmic details of the techniques used in our performance studies.Relevant aspects of Mneme are discussed as necessary.3.1Basic approachesThere are three fundamental approaches to swizzling.First,we can simply not swizzle.Second, we can convert objects between in-memory and on-disk formats in-place,in the object manager’s buffers.Third,we can swizzle by making a separate in-memory copy of the object being swizzled, leaving the buffer resident copy undisturbed.We call these schemes non-swizzling(NS),in-place swizzling(IS),and copy swizzling(CS).While the tradeoff between swizzling and not swizzling is fairly obvious,the relative merits of in-place and copy swizzling are more subtle.In-place swizzling avoids making extra copies,and thus has lower CPU and memory cost than copy swizzling.On the other hand,in-place swizzling requires all objects be unswizzled before the object manager’s buffers are written back to persistent storage,whereas copy swizzling requires unswizzling only of new and modified objects.If we swizzle,we may do eager swizzling or lazy swizzling.In eager swizzling we swizzle the entire collection of objects in advance.This requires being able to identify the collection before using it,or at least bounding it.Eager swizzling avoids the overhead of dynamic checks for unswizzled zy swizzling,on the other hand,inserts dynamic checks so that the collection can be“discovered”during execution rather than being identified or bounded in advance.In fact, there is a spectrum between pure eager swizzling and pure lazy swizzling.For example,objects might be aggregated into subgroups,with entire subgroups swizzled at a time,and subgroups loaded and swizzled on demand rather than in advance.We consider only the two extremes since intermediate approaches will be intermediate in cost.In sum we havefive swizzling approaches: non-swizzling,eager and lazy in-place swizzling,and eager and lazy copy swizzling.3.2VariationsIf we do not swizzle,then every time we wish to manipulate an object we must present the oid for the object to the object manager(OM),which must then locate the object(if it is resident)or retrieve it(if it is not resident)and perform the manipulation for us.Instead of calling the OM for each manipulation(a call interface),we might obtain a pointer to the object in the OM’s buffersand then manipulate the object directly(a pointer interface).We consider only the more efficient pointer interface here.Note that while it is possible and reasonable for an application using a pointer interface to cache some pointers,e.g.,for the duration of a procedure call manipulating an object,such pointers cannot be stored into the objects themselves—that would be swizzling.Note also that retaining direct pointers into buffers requires pinning objects,and hence gets into details of the specific OM’s features.If there is a series(one or more)of operations on an object where we can cache a buffer pointer to the object across the entire series,we call that a visit of the object. Each visit requires one oid lookup with a pointer interface,but possibly many lookups with a call interface(one for each call).For eager swizzling,and for unswizzling,there are two fundamental control strategies possible: iteration through a set of objects identified in some other way(e.g.,“all objects infile X”),and recursion through the objects and their references(also called reachability).Recursion is more general since it can be expressed in terms of object manipulations;iteration may have performance advantages.We used recursion,for three reasons:it is more general;it likely costs at least as much as iteration,so it gives a better upper bound on swizzling cost;and iteration was not supported by the OM.Lazy swizzling raises the additional problem of detecting uses of not yet swizzled objects.This problem has many solutions,ranging from hardware support similar to(or built on)virtual memory address translation to software only approaches.We investigated a software approach because it is most general and gives an upper bound on swizzling cost.3.3Algorithms usedThe only algorithm of interest for the non-swizzling scheme is object lookup.Mneme’s object lookup technique is similar to virtual memory address translation.The version of Mneme used here splits a30-bit oid into310-bitfields,as shown in Figure1.The high orderfield indexes a file table to obtain the base of a segment table for thatfile.The middlefield indexes that segment table,giving information about whether the segment is resident,and its memory location if it is. If the segment is not resident,other information is used to locate the segment on disk and retrieve it.In any case,the least significant10bits of the oid then index an object table at the beginning of the segment to obtain an offset to the start of the object.This is shown in Figure2.To allow more objects to be retrieved at once,several of the segments just described can be grouped together into a single physical unit,always stored contiguously.In Mneme parlance,the physical unit is a physical segment,and what we called segments above are termed logical segments.Physical segment layout is illustrated in Figure3.For more information on Mneme see[35].Figure 1:Mneme object id formatFFile table Segment tableObject tableFigure 2:Object lookup scheme usedObjectsLogical segments OTEs LS OTE Logical SegmentObject Table Entry= = Figure 3:Physical segment data structureTurning to swizzling,Figure 4(a)sketches the code for eager in-place swizzling.The Swizzled and MarkSwizzled actions test and set a field containing two bits,encoded as shown in Table 1.The encoding is chosen so that the swizzled/unswizzled test examines one bit and the new/modified versus unmodified test looks at the other.These two bits are stored in a 32-bit word at the start of the object.The other 30bits contain the oid if the object is swizzled (for later use in unswizzling)and are zero otherwise.00011011EagerInPlace(id)returns(pointer) p:pointer:=OMLookup(id)if not Swizzled(p)thenMarkSwizzled(p,id)for x:=each slot offset in p doif p[x]holds an oid thenp[x]:=EagerInPlace(p[x]) return p EagerCopy(id)returns(pointer)p:pointer:=CopyTableLookup(id) if p is nil thenq:pointer:=OMLookup(id)p:=AllocateCopy(SizeOf(q))CopyTableEnter(id,p)Copy contents of q to contents of pMarkSwizzled(p,id)for x:=each slot offset in p doif p[x]holds an oid thenp[x]:=EagerCopy(p[x]) return p(a)EIS(Eager In-place Swizzling)(b)ECS(Eager Copy Swizzling)Figure4:Code sketches for eager swizzlingEager copy swizzling differs in important ways from eager in-place swizzling.First,copy swizzling requires some means for locating the in-memory copy of a swizzled object given its oid, similar to the OM lookup routine.Second,copy swizzling creates andfills in a(swizzled)copy of the object.Figure4(b)sketches the code for eager copy swizzling.Lazy swizzling is more complicated.If object X refers to object Y and both are resident,we want the reference to be a direct pointer.But what if X is resident and Y is not?Can we swizzle X under those circumstances,and if so,what does that mean?One approach is to tag slot contents as to whether they are swizzled:if tagged as swizzled,then the slot contains the actual address of the target object,if tagged as unswizzled,the oid.We call this edge marking.There is a major disadvantage to edge marking.Slot contents can be fetched,passed around,and stored without accessing the target object.Hence,by the time the target is accessed,we may have no idea where the object reference came from,and it is costly to scan through all resident objects tofind the sources and swizzle them.One possibility is to use object lookups as necessary and do occasional swizzling scans to amortize the scanning overhead.Another approach to handling references to non-resident objects is to require that all object references in resident objects be converted to pointers,with small pseudo-objects(we call them fault blocks)standing in for non-resident objects,as shown in Figure5(a).A fault block contains the oid of the target object,and is distinguishable from an ordinary object.We call this approach node marking.When a reference is to be followed,if it refers to a fault block,we locate the targetobject (retrieving it if necessary)and change the fault block to point to the now-resident object (see Figure 5(b)).We call the updated fault block an indirect block .If a reference to be followed refers to an indirect block,we thus locate the target object at the cost of an indirection.Similar to edge marking,occasional scanning (perhaps by a garbage collector)can be used to bypass indirect blocks,as shown in Figure 5(c).Figure 5:Node marking approach to lazy swizzlingA complete study of lazy swizzling would become involved in details of PPL/DBPL imple-mentation,including available compiler optimizations,garbage collection techniques,etc.—well beyond the scope of this study.We measured the cost of dynamic checking and swizzling,omitting scanning.We carried this out using the following three rules.First,every reference in a swizzled object is a direct pointer (i.e.,node marking),to either a swizzled object or a resident,unswizzled object.Second,every reference in an unswizzled object is an oid,which may refer to any object,resident or not.Third,using an object requires that it be swizzled.If an object is unswizzled at the start of a visit,it is immediately swizzled and any non-resident objects it references are made resident (but not swizzled).This approach thus incorporates the effects of dynamic swizzling checks,incremental swizzling,and incremental loading of segments from persistent storage,but not scanning,and it performs some actions in a different order than would a real system.Thus we offer only approximate measures of the real cost of lazy swizzling.4The cost modelWe desired a simple model of the cost of a session that would consider characteristics of both the object collection and the work performed.Our measure of cost is total elapsed time for a session; this is both simple and arguably the most important performance measure.We desired a small number of variables to describe collections and sessions adequately,and settled on4collection variables and3session variables.These variables are adequate,at least for the simple programs we ran;they also have the virtue that they might be measured in practice for actual programs.The variables are presented in Table2.Collection variables n and b are obviously relevant, and p is clearly related to swizzling.Variable i is necessary for modeling null/non-null references. Note that b specifically excludes object headers and other overhead,but includes slots and all other user data.Session variable u is important in considering how much work is done in preparing and writing.Variable v is a measure of the number of times references are traversed(looked up),and thus is important in determining the benefits of swizzling.Finally,w gives us something against which to compare swizzling costs.Collection variablesnpibfraction of objects updated(modified)in the sessionaverage number of times an object is visited and operated uponaverage amount of work per object-visit(in s)Table2:Collection and session descriptive variablesSession cost is a function of the variables,determined by a number of parameters,where the parameter values depend on the swizzling approach selected and its actual implementation.We measured the parameters for several approaches,and present and discuss them in some detail later. We use upper case letters for the parameters to distinguish them from the variables.We consider the create,load,work,and save phases separately,devising an equation for each.The equations are weighted sums of products of the variables(the variables were chosen this way).It turns out that the constant terms of the equations are negligible,so for convenience we omit them from thestart.Note that pb is the average number of bytes devoted to slots in an object and pbi the average number devoted to initialized slots.Creation costs include overhead for each object,CO n,and for initialization:CB nb(per byte costs),CS np(per slot costs),and CI ni(per initialized slot costs).Loading costs are time to read the user data LB nb,overhead for handling each object LO n(including reading headers and other overhead),overhead for handling each slot LS np,and overhead in processing each reference(e.g., swizzling)LI ni.Saving is similar to loading but adds terms depending on the fraction of objects updated,u(this is always1for a create-work-save cycle).The cost of work is rather different, consisting of a visit overhead V nv(i.e.,for following an object reference),and an actual work term nvw(w is defined so that this term is not parameterized).Here are the resulting equations:C=CB nb+CO n+CS np+CI niL=LB nb+LO n+LS np+LI niW=V nv+nvwS=SB nb+SO n+SS np+SI ni+UB nbu+UO nu+US npu+UI niuCWS=C+W+SLWS=L+W+SWe can combine terms in the overall model to reduce thefinal number of parameters.Letting M (for move)replace L and S,and P(for produce)replace C,S,and U(because u1),we obtain:CWS=PB nb+PO n+PS np+PI ni+V nv+nvwLWS=MB nb+MO n+MS np+MI ni+V nv+nvw+UB nbu+UO nu+US npu+UI niuWe summarize the model parameters in Table3for future reference.The linearities assumed in this cost model are reasonable,and they are borne out by the experiments we ran.We note that the UB term is an oversimplification for situations more general than those we actually measured.UB covers the costs of writing changed data back to the database, and we assumed the number of bytes written back is proportional to the number of objects created or updated.This assumption fails if the affected objects are few but are scattered across many segments.The equations given are reasonable if logging is used,if u is close to0or to1,or if modified objects are clustered together.This limitation of the cost model can be overcome by adding a new variable capturing the relative clustering of updates;for simplicity we stick with the model presented above.The model above has13parameters to be measured and expresses cost in terms of7variables. As will be seen,however,some terms drop out for some swizzling approaches,and some turn outTwo letter parameters:xyChoices for y M(move)BU(update)OP(produce)SItime per object visitTable3:Summary of the cost model parametersto be negligible in practice.More speculatively,some of the collection description variables may tend to fall in narrow ranges,allowing further simplification.5Experimental methodology and resultsTo make performance measurements we wrote a simple program to create,traverse,and modify collections of objects.It allowed us to control the independent variables of the cost model,such as number and size of objects.We ran the program in the context of a particular hardware/software configuration—a common workstation using the Mneme persistent object store.We now describe the nature of the collections and sessions supported by the test program,the hardware/software environment of the tests,what tests were performed,and the results of those tests.5.1CollectionsTo form collections,we needed a data structure supportingflexible adjustment of the collection variables over wide ranges.We settled on binary trees augmented with extra edges.The parameters of the trees are their height,properties of the internal nodes,and properties of the leaf nodes.Internal nodes have at least two initialized pointers for supporting the tree structure,but may have more pointers,any number of which may be initialized;such initialized pointers are self-loops,for simplicity.Internal nodes may also have any number of bytes in addition to the pointers,to add bulk to the objects.Tree height determines collection variable n,the number of pointers determines p,the number initialized determines i,and the number of bytes determines b(given p).Trees were chosen for simple construction and work traversal(swizzling considers all pointers);binary trees。